summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/other/offsetof3.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.dg/other/offsetof3.C')
-rw-r--r--gcc/testsuite/g++.dg/other/offsetof3.C17
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/other/offsetof3.C b/gcc/testsuite/g++.dg/other/offsetof3.C
new file mode 100644
index 000000000..5946c812c
--- /dev/null
+++ b/gcc/testsuite/g++.dg/other/offsetof3.C
@@ -0,0 +1,17 @@
+/* Verify that offsetof warns if given a non-standard-layout class */
+/* Copyright (C) 2003 Free Software Foundation, Inc. */
+/* Contributed by Matt Austern <austern@apple.com> 15 May 2003 */
+/* { dg-do compile } */
+
+struct X
+{
+ int x, y;
+protected:
+ int z;
+};
+
+typedef X* pX;
+typedef __SIZE_TYPE__ size_t;
+
+size_t yoff = size_t(&(pX(0)->y)); /* { dg-warning "invalid access" "" } */
+/* { dg-warning "macro was used incorrectly" "macro" { target *-*-* } 16 } */