1 /* PR63300 make sure we don't duplicate type qualifiers unneeded. */ 2 /* { dg-do compile } */ 3 /* { dg-options "-std=c99 -gdwarf-4 -dA" } */ 4 5 /* This should give us: 6 - One restrict type pointing to a char pointer. 7 - One volatile type pointing to the restrict type. 8 - One const type pointing to the restrict type. 9 - Either one const type pointing to the volatile type pointing to 10 the restrict type or one volatile type pointing to the const type 11 pointing to the restrict type. But not both. */ 12 13 char * restrict a; 14 char * const restrict b; 15 char * const volatile restrict c; 16 char * volatile restrict d; 17 18 /* { dg-final { scan-assembler-times "DIE \\(\[^\n\]*\\) DW_TAG_restrict_type" 1 } } */ 19 /* { dg-final { scan-assembler-times "DIE \\(\[^\n\]*\\) DW_TAG_(?:const|volatile)_type" 3 } } */ 20