Go to file
Simon Martin d6b418fa0b re PR c++/29475 (incomplete template diagnostics.)
2006-12-16  Simon Martin  <simartin@users.sourceforge.net>

	PR c++/29475
	* cp-tree.h (struct deferred_access_check): New structure to represent a
	deferred access check. It replaces the previous representation as a tree.
	(get_deferred_access_checks): Return a vector of struct
	deferred_access_check instead of a tree list.
	(perform_access_checks): Take a vector of struct deferred_access_check
	instead of a tree list.
	* semantics.c (struct deferred_access): Store the deferred access checks
	as a vector of struct deferred_access_check instead of a tree list.
	(push_deferring_access_checks): Handle the change in struct
	deferred_access.
	(get_deferred_access_checks): Likewise.
	(pop_to_parent_deferring_access_checks): Likewise.
	(perform_or_defer_access_check): Likewise.
	(perform_access_checks): Take a vector of struct deferred_access_check
	instead of a tree list.
	* parser.c (struct tree_check): New structure to store various data
	associated with a CPP_NESTED_NAME_SPECIFIER or CPP_TEMPLATE_ID token.
	(struct cp_token): Changed the value field to be a union with a pointer to
	a struct tree_check for CPP_NESTED_NAME_SPECIFIER or CPP_TEMPLATE_ID
	tokens and a tree field for all other tokens.
	(eof_token): Adjusted due to the change in struct cp_token.
	(cp_lexer_get_preprocessor_token): Likewise.
	(cp_lexer_purge_token): Likewise.
	(cp_lexer_purge_tokens_after): Likewise.
	(cp_lexer_print_token): Likewise.
	(cp_parser_error): Likewise.
	(cp_parser_identifier): Likewise.
	(cp_parser_string_literal): Likewise.
	(cp_parser_primary_expression): Likewise.
	(cp_parser_unqualified_id): Likewise.
	(cp_parser_parenthesized_expression_list): Likewise.
	(cp_parser_storage_class_specifier_opt): Likewise.
	(cp_parser_function_specifier_opt): Likewise.
	(cp_parser_type_specifier): Likewise.
	(cp_parser_simple_type_specifier): Likewise.
	(cp_parser_initializer_list): Likewise.
	(cp_parser_member_specification_opt): Likewise.
	(cp_parser_attribute_list): Likewise.
	(cp_parser_objc_expression): Likewise.
	(cp_parser_objc_protocol_qualifiers): Likewise.
	(cp_parser_objc_selector): Likewise.
	(cp_parser_objc_declaration): Likewise.
	(cp_parser_objc_statement): Likewise.
	(cp_parser_omp_clause_name): Likewise.
	(cp_parser_omp_clause_default): Likewise.
	(cp_parser_omp_clause_schedule): Likewise.
	(cp_parser_omp_parallel): Likewise.
	(cp_parser_initial_pragma): Likewise.
	(pragma_lex): Likewise.
	(cp_parser_pre_parsed_nested_name_specifier): Likewise.
	(cp_parser_nested_name_specifier_opt): Likewise.
	Use cp_token::u::tree_check_value to save the token's value, the
	associated deferred checks and its qualifying scope.
	(cp_parser_template_id): Likewise.
	(cp_parser_template_declaration_after_export): Adjusted the call to
	get_deferred_access_checks.
	(cp_parser_init_declarator): Take the access checks as a vector of struct
	deferred_access_check instead of a tree list.
	(cp_parser_single_declaration): Likewise.
	(cp_parser_perform_template_parameter_access_checks): Likewise.
	(cp_parser_simple_declaration): Adjusted the call to
	cp_parser_init_declarator.
	(cp_parser_explicit_specialization): Adjusted the call to
	cp_parser_single_declaration.

From-SVN: r119961
2006-12-16 08:51:42 +00:00
boehm-gc configure.ac: Fix x86 darwin builds. 2006-12-08 23:54:21 +00:00
config configure.in: Handle spu makefile frag. 2006-12-11 17:13:16 +10:30
contrib
fixincludes mkfixinc.sh: Add "*-*-vxworks*" to the list of targets for which a no-op fixer is appropriate. 2006-12-12 09:47:45 +00:00
gcc re PR c++/29475 (incomplete template diagnostics.) 2006-12-16 08:51:42 +00:00
gnattools
include
INSTALL
intl
libada
libcpp
libdecnumber
libffi configure.ac: Add TARGET for x86_64-*-darwin*. 2006-12-14 08:34:45 +01:00
libgfortran re PR fortran/30145 (Fortran 90: write statement fails to ignore zero-sized array...) 2006-12-15 19:54:52 +00:00
libgomp
libiberty
libjava
libmudflap
libobjc
libssp
libstdc++-v3 re PR c++/19564 (-Wparentheses does not work with the C++ front-end) 2006-12-14 05:49:06 +00:00
maintainer-scripts
zlib
ABOUT-NLS
ChangeLog * MAINTAINERS (Write After Approval): Add myself. 2006-12-15 21:17:51 +00:00
ChangeLog.tree-ssa
compile
config-ml.in
config.guess config.guess: Import latest version. 2006-12-11 15:11:34 +11:00
config.rpath
config.sub config.guess: Import latest version. 2006-12-11 15:11:34 +11:00
configure configure.in: Handle spu makefile frag. 2006-12-11 17:13:16 +10:30
configure.in configure.in: Handle spu makefile frag. 2006-12-11 17:13:16 +10:30
COPYING
COPYING.LIB
depcomp
install-sh
libtool-ldflags
libtool.m4
ltcf-c.sh
ltcf-cxx.sh
ltcf-gcj.sh
ltconfig
ltmain.sh
MAINTAINERS * MAINTAINERS (Write After Approval): Add myself. 2006-12-15 21:17:51 +00:00
Makefile.def
Makefile.in configure.in: Handle spu makefile frag. 2006-12-11 17:13:16 +10:30
Makefile.tpl configure.in: Handle spu makefile frag. 2006-12-11 17:13:16 +10:30
missing
mkdep
mkinstalldirs
move-if-change
README
README.SCO
symlink-tree
ylwrap

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the file COPYING
for copying permission.  The manuals, and some of the runtime
libraries, are under different terms; see the individual source files
for details.

The directory INSTALL contains copies of the installation information
as HTML and plain text.  The source of this information is
gcc/doc/install.texi.  The installation information includes details
of what is included in the GCC sources and what files GCC installs.

See the file gcc/doc/gcc.texi (together with other files that it
includes) for usage and porting information.  An online readable
version of the manual is in the files gcc/doc/gcc.info*.

See http://gcc.gnu.org/bugs.html for how to report bugs usefully.