blob: e1a8d6e8b09c81cb33d031630a8ea97bf64a9205 [file] [log] [blame]
Douglas Gregorf5c9f9f2012-01-07 09:11:48 +00001// RUN: rm -rf %t
2// RUN: %clang_cc1 -x objective-c++ -fmodules -fmodule-cache-path %t -I %S/Inputs %s -verify
3
Douglas Gregorc6c8e0e2012-01-09 17:30:44 +00004namespace N6 {
5 char &f(char);
6}
7
Douglas Gregorf5c9f9f2012-01-07 09:11:48 +00008@import namespaces_left;
9@import namespaces_right;
10
11void test() {
12 int &ir1 = N1::f(1);
13 int &ir2 = N2::f(1);
14 int &ir3 = N3::f(1);
15 float &fr1 = N1::f(1.0f);
16 float &fr2 = N2::f(1.0f);
17 double &dr1 = N2::f(1.0);
18 double &dr2 = N3::f(1.0);
19}
Douglas Gregorc6c8e0e2012-01-09 17:30:44 +000020
21// Test namespaces merged without a common first declaration.
22namespace N5 {
23 char &f(char);
24}
25
26void testMerged() {
27 int &ir1 = N5::f(17);
28 int &ir2 = N6::f(17);
29 int &ir3 = N7::f(17);
30 double &fr1 = N5::f(1.0);
31 double &fr2 = N6::f(1.0);
32 double &fr3 = N7::f(1.0);
33 char &cr1 = N5::f('a');
34 char &cr2 = N6::f('b');
35}
36