aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.c
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2004-02-03 16:53:27 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>2004-02-03 16:53:27 +0000
commit5a98fa7bdb847dc92fdbeddf4dfcff51835aca48 (patch)
treeaad012333fc4dc0d216db7ad633eef56c2ea58ea /gcc/tree.c
parent0263e6bf3c7ccd1cccbc18b5e6cef273878d9e7f (diff)
downloadgcc-5a98fa7bdb847dc92fdbeddf4dfcff51835aca48.zip
gcc-5a98fa7bdb847dc92fdbeddf4dfcff51835aca48.tar.gz
gcc-5a98fa7bdb847dc92fdbeddf4dfcff51835aca48.tar.bz2
re PR c++/13975 (ICE on misplaced visibility specifier.)
PR c++/13975 * tree.h (enum tree_index): Add TI_PUBLIC, TI_PROTECTED, and TI_PRIVATE. (access_public_node): Redefine. (access_protected_node): Likewise. (access_private_node): Likewise. * tree.c (build_common_tree_nodes): Create access_public_node, access_protected_node, and access_private_node. PR c++/13978 * pt.c (build_non_dependent_expr): Do not build NON_DEPENDENT_EXPRs for FUNCTION_DECLs or TEMPLATE_DECLs. PR c++/13968 * semantics.c (finish_id_expression): Do not return an IDENTIFIER_NODE when lookup finds a VAR_DECL. PR c++/13975 * parser.c (cp_parser_simple_declaration): When skipping to the end of the statement swallow the terminating semicolon. PR c++/13978 * g++.dg/template/koenig4.C: New test. PR c++/13968 * g++.dg/template/crash17.C: New test. PR c++/13975 * g++.dg/parse/error13.C: New test. * g++.old-deja/g++.robertl/eb125.C: Tweak error messages. From-SVN: r77176
Diffstat (limited to 'gcc/tree.c')
-rw-r--r--gcc/tree.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/tree.c b/gcc/tree.c
index 47ae7ba..ac0da20 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -4917,6 +4917,10 @@ build_common_tree_nodes (int signed_char)
unsigned_intSI_type_node = make_unsigned_type (GET_MODE_BITSIZE (SImode));
unsigned_intDI_type_node = make_unsigned_type (GET_MODE_BITSIZE (DImode));
unsigned_intTI_type_node = make_unsigned_type (GET_MODE_BITSIZE (TImode));
+
+ access_public_node = get_identifier ("public");
+ access_protected_node = get_identifier ("protected");
+ access_private_node = get_identifier ("private");
}
/* Call this function after calling build_common_tree_nodes and set_sizetype.