aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.dg/alias-1.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.dg/alias-1.c')
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.dg/alias-1.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.dg/alias-1.c b/gcc-4.9/gcc/testsuite/gcc.dg/alias-1.c
new file mode 100644
index 000000000..388cb3bf5
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.dg/alias-1.c
@@ -0,0 +1,28 @@
+// { dg-do compile }
+// { dg-options "-Wstrict-aliasing=2 -fstrict-aliasing" }
+
+// Copyright (C) 2002 Free Software Foundation, Inc.
+// Contributed by Nathan Sidwell 29 Sep 2002 <nathan@codesourcery.com>
+
+// 8083. warn about odd casts
+
+typedef int YYSTYPE;
+typedef struct tDefEntry
+{
+ unsigned t;
+
+} tDefEntry;
+struct incomplete;
+
+
+YYSTYPE
+ addSibMacro(
+ YYSTYPE list )
+ {
+ tDefEntry** ppT = (tDefEntry**)&list; // { dg-warning "type-punned pointer will" "" }
+
+ struct incomplete *p = (struct incomplete *)&list; // { dg-warning "type-punning to incomplete" "" }
+
+ return list;
+ }
+