1 // RUN: rm -rf %t 2 // RUN: %clang_cc1 -x objective-c++ -fmodules -fmodule-cache-path %t -I %S/Inputs %s -verify 3 4 namespace N6 { 5 char &f(char); 6 } 7 8 @import namespaces_left; 9 @import namespaces_right; 10 11 void 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 } 20 21 // Test namespaces merged without a common first declaration. 22 namespace N5 { 23 char &f(char); 24 } 25 26 void 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 37