132ad2ee2618745ce3da51c2ae066ed5f21157c07Ted Kremenek@__experimental_modules_import namespaces_top;
2f5c9f9fd6f5e2850b9b0f19283430245b696c6e5Douglas Gregor
3f5c9f9fd6f5e2850b9b0f19283430245b696c6e5Douglas Gregornamespace N1 { }
4f5c9f9fd6f5e2850b9b0f19283430245b696c6e5Douglas Gregor
5f5c9f9fd6f5e2850b9b0f19283430245b696c6e5Douglas Gregornamespace N1 {
6f5c9f9fd6f5e2850b9b0f19283430245b696c6e5Douglas Gregor  float& f(float);
7f5c9f9fd6f5e2850b9b0f19283430245b696c6e5Douglas Gregor}
8f5c9f9fd6f5e2850b9b0f19283430245b696c6e5Douglas Gregor
9f5c9f9fd6f5e2850b9b0f19283430245b696c6e5Douglas Gregornamespace N2 {
10f5c9f9fd6f5e2850b9b0f19283430245b696c6e5Douglas Gregor  float& f(float);
11f5c9f9fd6f5e2850b9b0f19283430245b696c6e5Douglas Gregor}
12c6c8e0ec96bb64f1b9f543d7c8317c6090f80a30Douglas Gregor
13c6c8e0ec96bb64f1b9f543d7c8317c6090f80a30Douglas Gregor
14c6c8e0ec96bb64f1b9f543d7c8317c6090f80a30Douglas Gregor
15c6c8e0ec96bb64f1b9f543d7c8317c6090f80a30Douglas Gregor
16c6c8e0ec96bb64f1b9f543d7c8317c6090f80a30Douglas Gregor
17c6c8e0ec96bb64f1b9f543d7c8317c6090f80a30Douglas Gregornamespace N5 {
18c6c8e0ec96bb64f1b9f543d7c8317c6090f80a30Douglas Gregor  int &f(int);
19c6c8e0ec96bb64f1b9f543d7c8317c6090f80a30Douglas Gregor}
20c6c8e0ec96bb64f1b9f543d7c8317c6090f80a30Douglas Gregor
21c6c8e0ec96bb64f1b9f543d7c8317c6090f80a30Douglas Gregornamespace N6 {
22c6c8e0ec96bb64f1b9f543d7c8317c6090f80a30Douglas Gregor  int &f(int);
23c6c8e0ec96bb64f1b9f543d7c8317c6090f80a30Douglas Gregor}
24c6c8e0ec96bb64f1b9f543d7c8317c6090f80a30Douglas Gregor
25c6c8e0ec96bb64f1b9f543d7c8317c6090f80a30Douglas Gregornamespace N7 {
26c6c8e0ec96bb64f1b9f543d7c8317c6090f80a30Douglas Gregor  int &f(int);
27c6c8e0ec96bb64f1b9f543d7c8317c6090f80a30Douglas Gregor}
280fdc09fe680787b855cf20183c4bd3b83f2c907fDouglas Gregor
290fdc09fe680787b855cf20183c4bd3b83f2c907fDouglas Gregornamespace N8 {
300fdc09fe680787b855cf20183c4bd3b83f2c907fDouglas Gregor  int &f(int);
310fdc09fe680787b855cf20183c4bd3b83f2c907fDouglas Gregor}
320fdc09fe680787b855cf20183c4bd3b83f2c907fDouglas Gregor
330fdc09fe680787b855cf20183c4bd3b83f2c907fDouglas Gregornamespace N9 {
340fdc09fe680787b855cf20183c4bd3b83f2c907fDouglas Gregor  int &f(int);
350fdc09fe680787b855cf20183c4bd3b83f2c907fDouglas Gregor}
360fdc09fe680787b855cf20183c4bd3b83f2c907fDouglas Gregor
370fdc09fe680787b855cf20183c4bd3b83f2c907fDouglas Gregornamespace N10 {
380fdc09fe680787b855cf20183c4bd3b83f2c907fDouglas Gregor  int &f(int);
390fdc09fe680787b855cf20183c4bd3b83f2c907fDouglas Gregor}
401c3875dab92f3b0a25212c80863e452cb269d3f1Douglas Gregor
411c3875dab92f3b0a25212c80863e452cb269d3f1Douglas Gregornamespace N11 {
421c3875dab92f3b0a25212c80863e452cb269d3f1Douglas Gregor  namespace {
431c3875dab92f3b0a25212c80863e452cb269d3f1Douglas Gregor    class Foo;
441c3875dab92f3b0a25212c80863e452cb269d3f1Douglas Gregor  }
451c3875dab92f3b0a25212c80863e452cb269d3f1Douglas Gregor  Foo *getFoo();
461c3875dab92f3b0a25212c80863e452cb269d3f1Douglas Gregor}
471c3875dab92f3b0a25212c80863e452cb269d3f1Douglas Gregor
481c3875dab92f3b0a25212c80863e452cb269d3f1Douglas Gregornamespace N12 {
491c3875dab92f3b0a25212c80863e452cb269d3f1Douglas Gregor  namespace {
501c3875dab92f3b0a25212c80863e452cb269d3f1Douglas Gregor    class Foo;
511c3875dab92f3b0a25212c80863e452cb269d3f1Douglas Gregor  }
521c3875dab92f3b0a25212c80863e452cb269d3f1Douglas Gregor  Foo *getFoo();
531c3875dab92f3b0a25212c80863e452cb269d3f1Douglas Gregor}
54