Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/gcc.dg/tree-ssa/ifc-4.c @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 /* { dg-do compile } */ | |
2 /* { dg-options "-c -O2 -ftree-vectorize -fdump-tree-ifcvt-stats" { target *-*-* } } */ | |
3 | |
4 struct ht | |
5 { | |
6 void * (*alloc_subobject) (int); | |
7 }; | |
8 typedef struct cpp_reader cpp_reader; | |
9 typedef struct cpp_token cpp_token; | |
10 typedef struct cpp_macro cpp_macro; | |
11 enum cpp_ttype | |
12 { | |
13 CPP_PASTE, | |
14 }; | |
15 struct cpp_token { | |
16 __extension__ enum cpp_ttype type : 8; | |
17 } cpp_comment_table; | |
18 struct cpp_macro { | |
19 union cpp_macro_u | |
20 { | |
21 cpp_token * tokens; | |
22 } exp; | |
23 unsigned int count; | |
24 }; | |
25 struct cpp_reader | |
26 { | |
27 struct ht *hash_table; | |
28 }; | |
29 void | |
30 create_iso_definition (cpp_reader *pfile, cpp_macro *macro) | |
31 { | |
32 unsigned int num_extra_tokens = 0; | |
33 { | |
34 cpp_token *tokns = | |
35 (cpp_token *) pfile->hash_table->alloc_subobject (sizeof (cpp_token) | |
36 * macro->count); | |
37 { | |
38 cpp_token *normal_dest = tokns; | |
39 cpp_token *extra_dest = tokns + macro->count - num_extra_tokens; | |
40 unsigned int i; | |
41 for (i = 0; i < macro->count; i++) | |
42 { | |
43 if (macro->exp.tokens[i].type == CPP_PASTE) | |
44 *extra_dest++ = macro->exp.tokens[i]; | |
45 else | |
46 *normal_dest++ = macro->exp.tokens[i]; | |
47 } | |
48 } | |
49 } | |
50 } | |
51 | |
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" } } */ |