1 /* { dg-do compile } */
2 /* { dg-options "-c -O2 -ftree-vectorize -fdump-tree-ifcvt-stats" { target *-*-* } } */
6 void * (*alloc_subobject
) (int);
8 typedef struct cpp_reader cpp_reader
;
9 typedef struct cpp_token cpp_token
;
10 typedef struct cpp_macro cpp_macro
;
16 __extension__
enum cpp_ttype type
: 8;
27 struct ht
*hash_table
;
30 create_iso_definition (cpp_reader
*pfile
, cpp_macro
*macro
)
32 unsigned int num_extra_tokens
= 0;
35 (cpp_token
*) pfile
->hash_table
->alloc_subobject (sizeof (cpp_token
)
38 cpp_token
*normal_dest
= tokns
;
39 cpp_token
*extra_dest
= tokns
+ macro
->count
- num_extra_tokens
;
41 for (i
= 0; i
< macro
->count
; i
++)
43 if (macro
->exp
.tokens
[i
].type
== CPP_PASTE
)
44 *extra_dest
++ = macro
->exp
.tokens
[i
];
46 *normal_dest
++ = macro
->exp
.tokens
[i
];
52 /* This cannot be if-converted because the stores are to aggregate types. */
53 /* { dg-final { scan-tree-dump-times "Applying if-conversion" 0 "ifcvt" } } */