From 2de0ccc88c54a3dff484fd81138ce3c84880be1c Mon Sep 17 00:00:00 2001 From: Nathan Sidwell Date: Thu, 29 Jun 2017 14:45:44 +0000 Subject: [PATCH] lex.c (maybe_add_lang_type_raw): Exit early, rather than use a flag. * lex.c (maybe_add_lang_type_raw): Exit early, rather than use a flag. From-SVN: r249790 --- gcc/cp/ChangeLog | 3 +++ gcc/cp/lex.c | 26 +++++++++++++------------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index cd1252b..eefc3f0 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,8 @@ 2017-06-29 Nathan Sidwell + * lex.c (maybe_add_lang_type_raw): Exit early, rather than use a + flag. + * call.c (check_dtor_name): Use constructor_name for enums too. (build_new_method_call_1): Use constructor_name for cdtors and show ~ for dtor. diff --git a/gcc/cp/lex.c b/gcc/cp/lex.c index 2fa2673..d763716 100644 --- a/gcc/cp/lex.c +++ b/gcc/cp/lex.c @@ -741,21 +741,21 @@ copy_type (tree type MEM_STAT_DECL) static bool maybe_add_lang_type_raw (tree t) { - bool add = (RECORD_OR_UNION_CODE_P (TREE_CODE (t)) - || TREE_CODE (t) == BOUND_TEMPLATE_TEMPLATE_PARM); - if (add) - { - TYPE_LANG_SPECIFIC (t) - = (struct lang_type *) (ggc_internal_cleared_alloc - (sizeof (struct lang_type))); + if (!(RECORD_OR_UNION_CODE_P (TREE_CODE (t)) + || TREE_CODE (t) == BOUND_TEMPLATE_TEMPLATE_PARM)) + return false; + + TYPE_LANG_SPECIFIC (t) + = (struct lang_type *) (ggc_internal_cleared_alloc + (sizeof (struct lang_type))); - if (GATHER_STATISTICS) - { - tree_node_counts[(int)lang_type] += 1; - tree_node_sizes[(int)lang_type] += sizeof (struct lang_type); - } + if (GATHER_STATISTICS) + { + tree_node_counts[(int)lang_type] += 1; + tree_node_sizes[(int)lang_type] += sizeof (struct lang_type); } - return add; + + return true; } tree -- 2.7.4