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