Add a struct-size check for modules when dealing with module-private fields
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139597 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/Modules/module-private.cpp b/test/Modules/module-private.cpp
index 539e591..81b2aca 100644
--- a/test/Modules/module-private.cpp
+++ b/test/Modules/module-private.cpp
@@ -43,7 +43,7 @@
struct VisibleStruct {
__module_private__ int field;
- __module_private__ void setField(int f);
+ __module_private__ virtual void setField(int f);
};
#else
@@ -129,4 +129,12 @@
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