1 
2 #define import __import_module__
3 import lookup_left_cxx;
4 #define IMPORT(X) __import_module__ X
5 IMPORT(lookup_right_cxx);
6 
7 void test(int i, float f) {
8   // unqualified lookup
9   f0(&i);
10   f0(&f);
11 
12   // qualified lookup into the translation unit
13   ::f0(&i);
14   ::f0(&f);
15 }
16 
17 // RUN: rm -rf %t
18 // RUN: %clang_cc1 -emit-module-from-map -fmodule-cache-path %t -fmodule-name=lookup_left_cxx -x c++ %S/Inputs/module.map -verify
19 // RUN: %clang_cc1 -emit-module-from-map -fmodule-cache-path %t -fmodule-name=lookup_right_cxx -x c++ %S/Inputs/module.map -verify
20 // RUN: %clang_cc1 -x c++ -fmodule-cache-path %t %s -verify
21 // RUN: %clang_cc1 -ast-print -x c++ -fmodule-cache-path %t %s | FileCheck -check-prefix=CHECK-PRINT %s
22 
23 // CHECK-PRINT: int *f0(int *);
24 // CHECK-PRINT: float *f0(float *);
25 // CHECK-PRINT: void test(int i, float f)
26 
27