lookup.cpp revision 6aa52ec6b969faabf3764baf79d89810b8249a7e
16aa52ec6b969faabf3764baf79d89810b8249a7eDouglas Gregor
26aa52ec6b969faabf3764baf79d89810b8249a7eDouglas Gregor#define import __import__
36aa52ec6b969faabf3764baf79d89810b8249a7eDouglas Gregorimport lookup_left_cxx;
46aa52ec6b969faabf3764baf79d89810b8249a7eDouglas Gregor#define IMPORT(X) __import__ X
56aa52ec6b969faabf3764baf79d89810b8249a7eDouglas GregorIMPORT(lookup_right_cxx);
66aa52ec6b969faabf3764baf79d89810b8249a7eDouglas Gregor
70d95f77ba180aee35b74f3bf9f8543477f3af543Douglas Gregorvoid test(int i, float f) {
80d95f77ba180aee35b74f3bf9f8543477f3af543Douglas Gregor  // unqualified lookup
90d95f77ba180aee35b74f3bf9f8543477f3af543Douglas Gregor  f0(&i);
100d95f77ba180aee35b74f3bf9f8543477f3af543Douglas Gregor  f0(&f);
110d95f77ba180aee35b74f3bf9f8543477f3af543Douglas Gregor
120d95f77ba180aee35b74f3bf9f8543477f3af543Douglas Gregor  // qualified lookup into the translation unit
130d95f77ba180aee35b74f3bf9f8543477f3af543Douglas Gregor  ::f0(&i);
140d95f77ba180aee35b74f3bf9f8543477f3af543Douglas Gregor  ::f0(&f);
150d95f77ba180aee35b74f3bf9f8543477f3af543Douglas Gregor}
160d95f77ba180aee35b74f3bf9f8543477f3af543Douglas Gregor
176aa52ec6b969faabf3764baf79d89810b8249a7eDouglas Gregor// RUN: %clang_cc1 -emit-module -x c++ -verify -o %T/lookup_left_cxx.pcm %S/Inputs/lookup_left.hpp
186aa52ec6b969faabf3764baf79d89810b8249a7eDouglas Gregor// RUN: %clang_cc1 -emit-module -x c++ -o %T/lookup_right_cxx.pcm %S/Inputs/lookup_right.hpp
196aa52ec6b969faabf3764baf79d89810b8249a7eDouglas Gregor// RUN: %clang_cc1 -x c++ -I %T %s -verify
206aa52ec6b969faabf3764baf79d89810b8249a7eDouglas Gregor// RUN: %clang_cc1 -ast-print -x c++ -I %T %s | FileCheck -check-prefix=CHECK-PRINT %s
21851c75a279bb4441bc6802d0258ceb4ab64738d4Douglas Gregor
22851c75a279bb4441bc6802d0258ceb4ab64738d4Douglas Gregor// CHECK-PRINT: int *f0(int *);
23851c75a279bb4441bc6802d0258ceb4ab64738d4Douglas Gregor// CHECK-PRINT: float *f0(float *);
24851c75a279bb4441bc6802d0258ceb4ab64738d4Douglas Gregor// CHECK-PRINT: void test(int i, float f)
25851c75a279bb4441bc6802d0258ceb4ab64738d4Douglas Gregor
26