diff options
Diffstat (limited to 'test/Modules/module-private.cpp')
-rw-r--r-- | test/Modules/module-private.cpp | 57 |
1 files changed, 6 insertions, 51 deletions
diff --git a/test/Modules/module-private.cpp b/test/Modules/module-private.cpp index 7bd2a205c0..500c587010 100644 --- a/test/Modules/module-private.cpp +++ b/test/Modules/module-private.cpp @@ -1,54 +1,10 @@ -// RUN: mkdir -p %t -// RUN: %clang_cc1 -x c++ -emit-module -o %t/left.pcm %s -D MODULE_LEFT -// RUN: %clang_cc1 -x c++ -emit-module -o %t/right.pcm %s -D MODULE_RIGHT -// RUN: %clang_cc1 -fmodule-cache-path %t -fdisable-module-hash %s -verify +// RUN: rm -rf %t +// RUN: %clang_cc1 -fmodule-cache-path %t -fmodule-name=module_private_left -x c++ -emit-module-from-map %S/Inputs/module.map +// RUN: %clang_cc1 -fmodule-cache-path %t -fmodule-name=module_private_right -x c++ -emit-module-from-map %S/Inputs/module.map +// RUN: %clang_cc1 -fmodule-cache-path %t %s -verify -#if defined(MODULE_LEFT) - -__module_private__ struct HiddenStruct; - -struct HiddenStruct { -}; - - -int &f0(int); - -template<typename T> -__module_private__ void f1(T*); - -template<typename T> -void f1(T*); - -template<typename T> -__module_private__ class vector; - -template<typename T> -class vector { -}; - -vector<float> vec_float; - -typedef __module_private__ int Integer; -typedef int Integer; - -#elif defined(MODULE_RIGHT) -__module_private__ double &f0(double); -double &f0(double); - -__module_private__ int hidden_var; - -inline void test_f0_in_right() { - double &dr = f0(hidden_var); -} - -struct VisibleStruct { - __module_private__ int field; - __module_private__ virtual void setField(int f); -}; - -#else -__import_module__ left; -__import_module__ right; +__import_module__ module_private_left; +__import_module__ module_private_right; void test() { int &ir = f0(1.0); // okay: f0() from 'right' is not visible @@ -137,4 +93,3 @@ struct LikeVisibleStruct { }; int check_struct_size[sizeof(VisibleStruct) == sizeof(LikeVisibleStruct)? 1 : -1]; -#endif |