On Wed, 11 Jan 2017, Richard Biener wrote: > > LTO bootstrapped on x86_64-unknown-linux-gnu, testing in progress. > > (most "gross" are still TS_LIST having a type and TS_VEC having type > and chain, but that's been hard to fix with the C++ FE in place)
Forgot the tree-core.h part. Re-bootstrapping testing on x86_64-unknown-linux-gnu. Richard. 2017-01-11 Richard Biener <rguent...@suse.de> * tree.c (initialize_tree_contains_struct): Make TS_OPTIMIZATION and TS_TARGET_OPTION directly derive from TS_BASE. * tree-core.h (tree_optimization_option): Derive from tree_base. (tree_target_option): Likewise. Index: gcc/tree.c =================================================================== --- gcc/tree.c (revision 244309) +++ gcc/tree.c (working copy) @@ -508,6 +508,8 @@ initialize_tree_contains_struct (void) { case TS_TYPED: case TS_BLOCK: + case TS_OPTIMIZATION: + case TS_TARGET_OPTION: MARK_TS_BASE (code); break; @@ -532,8 +534,6 @@ initialize_tree_contains_struct (void) case TS_VEC: case TS_BINFO: case TS_OMP_CLAUSE: - case TS_OPTIMIZATION: - case TS_TARGET_OPTION: MARK_TS_COMMON (code); break; Index: gcc/tree-core.h =================================================================== --- gcc/tree-core.h (revision 244309) +++ gcc/tree-core.h (working copy) @@ -1794,7 +1794,7 @@ struct GTY(()) tree_statement_list /* Optimization options used by a function. */ struct GTY(()) tree_optimization_option { - struct tree_common common; + struct tree_base base; /* The optimization options used by the user. */ struct cl_optimization *opts; @@ -1815,7 +1815,7 @@ struct GTY(()) target_globals; /* Target options used by a function. */ struct GTY(()) tree_target_option { - struct tree_common common; + struct tree_base base; /* Target globals for the corresponding target option. */ struct target_globals *globals;