gcc/testsuite/ChangeLog
2014-12-15  Sebastian Huber  <sebastian.hu...@embedded-brains.de>

        * gcc.dg/typeof-2.c: Add checks for non-atomic types.
---
 gcc/testsuite/gcc.dg/typeof-2.c | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gcc/testsuite/gcc.dg/typeof-2.c b/gcc/testsuite/gcc.dg/typeof-2.c
index e916900..21ef5b0 100644
--- a/gcc/testsuite/gcc.dg/typeof-2.c
+++ b/gcc/testsuite/gcc.dg/typeof-2.c
@@ -2,6 +2,8 @@
 /* { dg-do compile } */
 /* { dg-options "-std=c11" } */
 
+/* Check that the qualifiers are discarded for atomic types. */
+
 extern int i;
 
 extern int * p;
@@ -26,3 +28,32 @@ void f(void)
   __auto_type ari = ri;
   int **pari = &ari;
 }
+
+/* Check that the qualifiers are preserved for non-atomic types. */
+
+extern int const j;
+
+extern int volatile k;
+
+extern int * restrict q;
+
+extern int const nci;
+extern __typeof (nci) j;
+
+extern int volatile nvi;
+extern __typeof (nvi) k;
+
+extern int * restrict nri;
+extern __typeof (nri) q;
+
+void g(void)
+{
+  __auto_type aci = nci;
+  int const *paci = &aci;
+
+  __auto_type avi = nvi;
+  int volatile *pavi = &avi;
+
+  __auto_type ari = nri;
+  int * restrict *pari = &ari;
+}
-- 
1.8.4.5

Reply via email to