Find a file
Marek Polacek 96c35892be Implement P0634R3, Down with typename!
* parser.c (CP_PARSER_FLAGS_TYPENAME_OPTIONAL): New enumerator.
	(cp_parser_type_name): Remove declaration.
	(cp_parser_postfix_expression): Pass CP_PARSER_FLAGS_TYPENAME_OPTIONAL
	to cp_parser_type_id.
	(cp_parser_new_type_id): Pass CP_PARSER_FLAGS_TYPENAME_OPTIONAL to
	cp_parser_type_specifier_seq.
	(cp_parser_lambda_declarator_opt): Pass
	CP_PARSER_FLAGS_TYPENAME_OPTIONAL to
	cp_parser_parameter_declaration_clause.
	(cp_parser_condition): Pass CP_PARSER_FLAGS_NONE to
	cp_parser_declarator.
	(cp_parser_simple_declaration): Pass CP_PARSER_FLAGS_NONE to
	cp_parser_init_declarator.
	(cp_parser_conversion_type_id): Pass CP_PARSER_FLAGS_NONE to
	cp_parser_type_specifier_seq.
	(cp_parser_default_type_template_argument): Pass
	CP_PARSER_FLAGS_TYPENAME_OPTIONAL to cp_parser_type_id.
	(cp_parser_template_parameter): Pass CP_PARSER_FLAGS_TYPENAME_OPTIONAL
	to cp_parser_parameter_declaration.
	(cp_parser_explicit_instantiation): Pass CP_PARSER_FLAGS_NONE to
	cp_parser_declarator.
	(cp_parser_simple_type_specifier): Adjust call to cp_parser_type_name
	to relay if we should treat the typename keyword as optional.  Maybe
	call cp_parser_make_typename_type is parsing a template-id and it's
	not a TYPE_DECL.
	(cp_parser_type_name): Remove unused function.
	(cp_parser_enum_specifier): Pass to CP_PARSER_FLAGS_NONE
	cp_parser_type_specifier_seq.
	(cp_parser_alias_declaration): Pass CP_PARSER_FLAGS_TYPENAME_OPTIONAL
	to cp_parser_type_id.
	(cp_parser_init_declarator): New parameter.  Pass it down to
	cp_parser_declarator.
	(cp_parser_declarator): New parameter.  Pass CP_PARSER_FLAGS_NONE to
	cp_parser_declarator.  Pass the new parameter to
	cp_parser_direct_declarator.
	(cp_parser_direct_declarator): New parameter.  Pass it to
	cp_parser_parameter_declaration_clause and cp_parser_declarator.
	(cp_parser_declarator_id):
	(cp_parser_type_id_1): New parameter.  Pass it to
	cp_parser_type_specifier_seq.  Adjust call to cp_parser_declarator.
	(cp_parser_type_id): New parameter.  Pass it to cp_parser_type_id_1.
	(cp_parser_template_type_arg): Pass CP_PARSER_FLAGS_NONE to
	cp_parser_type_id_1.
	(cp_parser_trailing_type_id): Pass CP_PARSER_FLAGS_TYPENAME_OPTIONAL
	to cp_parser_type_id_1.
	(cp_parser_type_specifier_seq): New parameter.
	(function_being_declared_is_template_p):
	(cp_parser_parameter_declaration_clause): New parameter.  Pass it to
	cp_parser_parameter_declaration_list.
	(cp_parser_parameter_declaration_list): New parameter.  Pass it to
	cp_parser_parameter_declaration.
	(cp_parser_parameter_declaration): New parameter.  Pass it to
	cp_parser_decl_specifier_seq.  Pass CP_PARSER_FLAGS_NONE to
	cp_parser_declarator.
	(cp_parser_member_declaration): Adjust call to
	cp_parser_decl_specifier_seq to also include
	CP_PARSER_FLAGS_TYPENAME_OPTIONAL.  Pass
	CP_PARSER_FLAGS_TYPENAME_OPTIONAL to cp_parser_declarator.
	(cp_parser_exception_declaration): Pass CP_PARSER_FLAGS_NONE to
	cp_parser_type_specifier_seq and cp_parser_declarator.
	(cp_parser_requirement_parameter_list): Pass CP_PARSER_FLAGS_NONE to
	cp_parser_parameter_declaration_clause.
	(cp_parser_constructor_declarator_p): Resolve the TYPENAME_TYPE.
	(cp_parser_single_declaration): Pass CP_PARSER_FLAGS_TYPENAME_OPTIONAL
	to cp_parser_decl_specifier_seq and cp_parser_init_declarator.
	(cp_parser_cache_defarg): Pass CP_PARSER_FLAGS_NONE to
	cp_parser_declarator and cp_parser_parameter_declaration_list.
	(cp_parser_objc_method_tail_params_opt): Pass CP_PARSER_FLAGS_NONE to
	cp_parser_parameter_declaration.
	(cp_parser_objc_class_ivars): Pass CP_PARSER_FLAGS_NONE to
	cp_parser_declarator.
	(cp_parser_objc_try_catch_finally_statement): Pass CP_PARSER_FLAGS_NONE
	to cp_parser_parameter_declaration
	(cp_parser_objc_struct_declaration): Pass CP_PARSER_FLAGS_NONE to
	cp_parser_declarator.
	(cp_parser_omp_for_loop_init): Pass CP_PARSER_FLAGS_NONE to
	cp_parser_declarator and cp_parser_type_specifier_seq.

	* g++.dg/cpp0x/alias-decl-43.C: Adjust dg-error.
	* g++.dg/cpp0x/decltype67.C: Only expect error in c++17_down.
	* g++.dg/cpp1z/typename1.C: New test.
	* g++.dg/cpp2a/typename1.C: New test.
	* g++.dg/cpp2a/typename10.C: New test.
	* g++.dg/cpp2a/typename11.C: New test.
	* g++.dg/cpp2a/typename2.C: New test.
	* g++.dg/cpp2a/typename3.C: New test.
	* g++.dg/cpp2a/typename4.C: New test.
	* g++.dg/cpp2a/typename5.C: New test.
	* g++.dg/cpp2a/typename6.C: New test.
	* g++.dg/cpp2a/typename7.C: New test.
	* g++.dg/cpp2a/typename8.C: New test.
	* g++.dg/cpp2a/typename9.C: New test.
	* g++.dg/diagnostic/missing-typename.C: Only run the test in
	c++17_down.
	* g++.dg/other/crash-9.C: Add template disambiguator.
	* g++.dg/other/nontype-1.C: Only expect error in c++17_down.
	* g++.dg/parse/crash13.C: Likewise.
	* g++.dg/parse/error36.C: Likewise.
	* g++.dg/parse/no-typename1.C: Likewise.
	* g++.dg/parse/typedef2.C: Likewise.
	* g++.dg/parse/typename11.C: Likewise.
	* g++.dg/template/crash48.C: Adjust dg-error.
	* g++.dg/template/dependent-name5.C: Only expect error in c++17_down.
	Add dg-error.
	* g++.dg/template/error29.C: Only expect error in c++17_down.
	* g++.dg/template/nested5.C: Add template disambiguator.
	* g++.dg/template/pr84789.C: Only expect error in c++17_down.
	* g++.dg/template/static30.C: Add dg-error.
	* g++.dg/template/typedef6.C: Adjust dg-error.
	* g++.dg/template/typename3.C: Only expect error in c++17_down.

From-SVN: r266710
2018-12-01 17:56:27 +00:00
config iconv.m4 (AM_ICONV_LINK): Don't overwrite CPPFLAGS. 2018-11-07 15:41:21 -07:00
contrib Add filters for D language sources to contrib/update-copyright.py 2018-11-26 21:59:04 +00:00
fixincludes Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). 2018-10-31 17:03:16 +00:00
gcc Implement P0634R3, Down with typename! 2018-12-01 17:56:27 +00:00
gnattools PR81878: fix --disable-bootstrap --enable-languages=ada 2018-11-20 00:07:47 +00:00
gotools Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). 2018-10-31 17:03:16 +00:00
include builtin-types.def (BT_FN_VOID_BOOL, [...]): New. 2018-11-08 18:13:04 +01:00
INSTALL
intl iconv.m4 (AM_ICONV_LINK): Don't overwrite CPPFLAGS. 2018-11-07 15:41:21 -07:00
libada Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). 2018-10-31 17:03:16 +00:00
libatomic Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). 2018-10-31 17:03:16 +00:00
libbacktrace [libbacktrace] Add tests for unused formats 2018-11-30 15:33:23 +00:00
libcc1 Eliminate source_location in favor of location_t 2018-11-13 20:05:03 +00:00
libcpp PR preprocessor/83173: Enhance -fdump-internal-locations output 2018-11-27 16:04:31 +00:00
libdecnumber Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). 2018-10-31 17:03:16 +00:00
libffi Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). 2018-10-31 17:03:16 +00:00
libgcc [RS6000] libgcc cfi 2018-11-27 12:29:56 +10:30
libgfortran Initialize backtrace state once 2018-11-30 18:44:27 +02:00
libgo compiler: add '$' to names in expression export data 2018-11-27 21:25:58 +00:00
libgomp [PR88288, OpenACC, libgomp] Adjust offsets for present data clauses 2018-11-30 21:39:49 +01:00
libhsail-rt Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). 2018-10-31 17:03:16 +00:00
libiberty Implement P0732R2, class types in non-type template parameters. 2018-11-05 02:47:02 -05:00
libitm Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). 2018-10-31 17:03:16 +00:00
libobjc Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). 2018-10-31 17:03:16 +00:00
liboffloadmic Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). 2018-10-31 17:03:16 +00:00
libphobos libphobos: Merge common version blocks using arch_any conditions 2018-11-28 21:53:06 +00:00
libquadmath Update libquadmath fmaq from glibc, fix nanq issues. 2018-11-07 13:49:03 +00:00
libsanitizer Include patch in LOCAL_PATCHES. 2018-11-09 09:21:56 +00:00
libssp Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). 2018-10-31 17:03:16 +00:00
libstdc++-v3 Implement P0457R2 String Prefix and Suffix Checking. 2018-11-30 16:26:02 +00:00
libvtv Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). 2018-10-31 17:03:16 +00:00
lto-plugin Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). 2018-10-31 17:03:16 +00:00
maintainer-scripts Add new maintainer script for PRs that can be closed. 2018-11-22 14:05:54 +00:00
zlib Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). 2018-10-31 17:03:16 +00:00
.dir-locals.el
.gitattributes
.gitignore
ABOUT-NLS
ar-lib Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). 2018-10-31 17:03:16 +00:00
ChangeLog Add myself to MAINTAINERS 2018-11-28 08:21:15 +00:00
ChangeLog.jit
ChangeLog.tree-ssa
compile
config-ml.in Add D front-end, libphobos library, and D2 testsuite. 2018-10-28 19:51:47 +00:00
config.guess Update config.guess and config.sub 2018-07-06 05:57:35 +00:00
config.rpath
config.sub Update config.sub 2018-07-06 06:22:08 +00:00
configure Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). 2018-10-31 17:03:16 +00:00
configure.ac Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). 2018-10-31 17:03:16 +00:00
COPYING
COPYING.LIB
COPYING.RUNTIME
COPYING3
COPYING3.LIB
depcomp
install-sh
libtool-ldflags
libtool.m4 Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). 2018-10-31 17:03:16 +00:00
ltgcc.m4
ltmain.sh libtool.m4: Sort output of 'find' to enable deterministic builds. 2018-07-05 13:13:45 -06:00
ltoptions.m4
ltsugar.m4
ltversion.m4
lt~obsolete.m4
MAINTAINERS Changed email ID to existing one. 2018-11-28 19:55:28 +05:30
Makefile.def Add D front-end, libphobos library, and D2 testsuite. 2018-10-28 19:51:47 +00:00
Makefile.in Add D front-end, libphobos library, and D2 testsuite. 2018-10-28 19:51:47 +00:00
Makefile.tpl Add D front-end, libphobos library, and D2 testsuite. 2018-10-28 19:51:47 +00:00
missing
mkdep
mkinstalldirs
move-if-change
multilib.am Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). 2018-10-31 17:03:16 +00:00
README
symlink-tree
test-driver Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). 2018-10-31 17:03:16 +00:00
ylwrap

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the files whose
names start with 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/ for how to report bugs usefully.

Copyright years on GCC source files may be listed using range
notation, e.g., 1987-2012, indicating that every year in the range,
inclusive, is a copyrightable year that could otherwise be listed
individually.