summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2011-09-13 15:37:05 +0000
committerDouglas Gregor <dgregor@apple.com>2011-09-13 15:37:05 +0000
commita057a58048dd29bd76a4851aa14aa02e7c47da9f (patch)
treea080d03d1a955136e97b7b593474b72e50bd9d11
parent051f5e5cbadb4b60e4c5416dc7a996a28b0f1257 (diff)
downloadbcm5719-llvm-a057a58048dd29bd76a4851aa14aa02e7c47da9f.tar.gz
bcm5719-llvm-a057a58048dd29bd76a4851aa14aa02e7c47da9f.zip
Add a struct-size check for modules when dealing with module-private fields
llvm-svn: 139597
-rw-r--r--clang/test/Modules/module-private.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/clang/test/Modules/module-private.cpp b/clang/test/Modules/module-private.cpp
index 539e591e093..81b2aca3fb6 100644
--- a/clang/test/Modules/module-private.cpp
+++ b/clang/test/Modules/module-private.cpp
@@ -43,7 +43,7 @@ inline void test_f0_in_right() {
struct VisibleStruct {
__module_private__ int field;
- __module_private__ void setField(int f);
+ __module_private__ virtual void setField(int f);
};
#else
@@ -129,4 +129,12 @@ void local_var_private(__module_private__ int param) { // expected-error{{parame
typedef __module_private__ int local_typedef; // expected-error{{typedef 'local_typedef' cannot be declared __module_private__}}
}
+
+// Check struct size
+struct LikeVisibleStruct {
+ int field;
+ virtual void setField(int f);
+};
+
+int check_struct_size[sizeof(VisibleStruct) == sizeof(LikeVisibleStruct)? 1 : -1];
#endif
OpenPOWER on IntegriCloud