11b257afbae854c6817f26b7d61c4fed8ff7aebadDouglas Gregor@import namespaces_top;
2f5c9f9fd6f5e2850b9b0f19283430245b696c6e5Douglas Gregor
3bbcd0f3ba215d5a8857b224e32b0330586a00dc6Richard Smithdouble &global(double);
4bbcd0f3ba215d5a8857b224e32b0330586a00dc6Richard Smithdouble &global2(double);
5bbcd0f3ba215d5a8857b224e32b0330586a00dc6Richard Smith
6bbcd0f3ba215d5a8857b224e32b0330586a00dc6Richard Smithnamespace LookupBeforeImport {
7bbcd0f3ba215d5a8857b224e32b0330586a00dc6Richard Smith  double &f(double);
8bbcd0f3ba215d5a8857b224e32b0330586a00dc6Richard Smith}
9bbcd0f3ba215d5a8857b224e32b0330586a00dc6Richard Smith
10f5c9f9fd6f5e2850b9b0f19283430245b696c6e5Douglas Gregornamespace N2 { }
11f5c9f9fd6f5e2850b9b0f19283430245b696c6e5Douglas Gregor
12f5c9f9fd6f5e2850b9b0f19283430245b696c6e5Douglas Gregornamespace N2 { }
13f5c9f9fd6f5e2850b9b0f19283430245b696c6e5Douglas Gregor
14f5c9f9fd6f5e2850b9b0f19283430245b696c6e5Douglas Gregornamespace N2 { }
15f5c9f9fd6f5e2850b9b0f19283430245b696c6e5Douglas Gregor
16f5c9f9fd6f5e2850b9b0f19283430245b696c6e5Douglas Gregornamespace N2 { }
17f5c9f9fd6f5e2850b9b0f19283430245b696c6e5Douglas Gregor
18f5c9f9fd6f5e2850b9b0f19283430245b696c6e5Douglas Gregornamespace N2 {
19f5c9f9fd6f5e2850b9b0f19283430245b696c6e5Douglas Gregor  double& f(double);
20f5c9f9fd6f5e2850b9b0f19283430245b696c6e5Douglas Gregor}
21f5c9f9fd6f5e2850b9b0f19283430245b696c6e5Douglas Gregor
22f5c9f9fd6f5e2850b9b0f19283430245b696c6e5Douglas Gregornamespace N3 {
23f5c9f9fd6f5e2850b9b0f19283430245b696c6e5Douglas Gregor  double& f(double);
24f5c9f9fd6f5e2850b9b0f19283430245b696c6e5Douglas Gregor}
25f5c9f9fd6f5e2850b9b0f19283430245b696c6e5Douglas Gregor
26c6c8e0ec96bb64f1b9f543d7c8317c6090f80a30Douglas Gregornamespace N5 {
27c6c8e0ec96bb64f1b9f543d7c8317c6090f80a30Douglas Gregor  double &f(double);
28c6c8e0ec96bb64f1b9f543d7c8317c6090f80a30Douglas Gregor}
29c6c8e0ec96bb64f1b9f543d7c8317c6090f80a30Douglas Gregor
30c6c8e0ec96bb64f1b9f543d7c8317c6090f80a30Douglas Gregornamespace N6 {
31c6c8e0ec96bb64f1b9f543d7c8317c6090f80a30Douglas Gregor  double &f(double);
32c6c8e0ec96bb64f1b9f543d7c8317c6090f80a30Douglas Gregor}
33c6c8e0ec96bb64f1b9f543d7c8317c6090f80a30Douglas Gregor
34c6c8e0ec96bb64f1b9f543d7c8317c6090f80a30Douglas Gregornamespace N7 {
35c6c8e0ec96bb64f1b9f543d7c8317c6090f80a30Douglas Gregor  double &f(double);
36c6c8e0ec96bb64f1b9f543d7c8317c6090f80a30Douglas Gregor}
370fdc09fe680787b855cf20183c4bd3b83f2c907fDouglas Gregor
380fdc09fe680787b855cf20183c4bd3b83f2c907fDouglas Gregornamespace N8 {
390fdc09fe680787b855cf20183c4bd3b83f2c907fDouglas Gregor  int &f(int);
400fdc09fe680787b855cf20183c4bd3b83f2c907fDouglas Gregor}
410fdc09fe680787b855cf20183c4bd3b83f2c907fDouglas Gregor
420fdc09fe680787b855cf20183c4bd3b83f2c907fDouglas Gregornamespace N9 {
430fdc09fe680787b855cf20183c4bd3b83f2c907fDouglas Gregor  int &f(int);
440fdc09fe680787b855cf20183c4bd3b83f2c907fDouglas Gregor}
450fdc09fe680787b855cf20183c4bd3b83f2c907fDouglas Gregor
460fdc09fe680787b855cf20183c4bd3b83f2c907fDouglas Gregornamespace N10 {
470fdc09fe680787b855cf20183c4bd3b83f2c907fDouglas Gregor  int &f(int);
480fdc09fe680787b855cf20183c4bd3b83f2c907fDouglas Gregor}
491c3875dab92f3b0a25212c80863e452cb269d3f1Douglas Gregor
501c3875dab92f3b0a25212c80863e452cb269d3f1Douglas Gregor
511c3875dab92f3b0a25212c80863e452cb269d3f1Douglas Gregor
521c3875dab92f3b0a25212c80863e452cb269d3f1Douglas Gregor
531c3875dab92f3b0a25212c80863e452cb269d3f1Douglas Gregor
541c3875dab92f3b0a25212c80863e452cb269d3f1Douglas Gregor
551c3875dab92f3b0a25212c80863e452cb269d3f1Douglas Gregor
561c3875dab92f3b0a25212c80863e452cb269d3f1Douglas Gregornamespace N11 {
571c3875dab92f3b0a25212c80863e452cb269d3f1Douglas Gregor  namespace {
581c3875dab92f3b0a25212c80863e452cb269d3f1Douglas Gregor    class Foo;
591c3875dab92f3b0a25212c80863e452cb269d3f1Douglas Gregor  }
601c3875dab92f3b0a25212c80863e452cb269d3f1Douglas Gregor  void consumeFoo(Foo*);
611c3875dab92f3b0a25212c80863e452cb269d3f1Douglas Gregor}
621c3875dab92f3b0a25212c80863e452cb269d3f1Douglas Gregor
631c3875dab92f3b0a25212c80863e452cb269d3f1Douglas Gregornamespace N12 {
641c3875dab92f3b0a25212c80863e452cb269d3f1Douglas Gregor  namespace {
651c3875dab92f3b0a25212c80863e452cb269d3f1Douglas Gregor    class Foo;
661c3875dab92f3b0a25212c80863e452cb269d3f1Douglas Gregor  }
671c3875dab92f3b0a25212c80863e452cb269d3f1Douglas Gregor  void consumeFoo(Foo*);
681c3875dab92f3b0a25212c80863e452cb269d3f1Douglas Gregor}
69