On Tue, Jun 16, 2015 at 7:20 PM, Andrew MacLeod <amacl...@redhat.com> wrote: > tree-core.h won't compile without seeing options.h (which is usually brought > in by tm.h) because a TARGET_OPTION node contains an instance of struct > cl_target_option, defined thru options.h. > > Its fairly straightforward to change it so the tree node simply contains a > pointer to one of these structures, and allocates it whenever the node is > created or copied. This adds an extra allocation, but I don't think this > tree node is extensively utilized. > > This removes the only compilation dependency on options.h from tree-core. > This will hopefully lead to many less instances of tm,h being required. > > THis bootstraps on x86_64-unknown-linux-gnu with no new regressions, and > passes compilation on all the config-list.mk targets. > > OK for mainline?
Something is broken with indenting + case tcc_exceptional: + if (code == TARGET_OPTION_NODE) + { + TREE_TARGET_OPTION(t) = ggc_cleared_alloc<struct cl_target_option> (); + } + break; .... + else if (code == TARGET_OPTION_NODE) + { + TREE_TARGET_OPTION (t) = ggc_alloc<struct cl_target_option>(); + memcpy (TREE_TARGET_OPTION (t), TREE_TARGET_OPTION (node), + sizeof (struct cl_target_option)); + } otherwise ok. Thanks, Richard. > Andrew