8sa1-gcc/gcc/testsuite
Marek Polacek 2cd5333d16 c++: Fix ICE with unexpanded parameter pack [PR99844]
In explicit17.C, we weren't detecting an unexpanded parameter pack in
explicit(bool), so we crashed on a TEMPLATE_PARM_INDEX in constexpr.

I noticed the same is true for noexcept(), but only since my patch to
implement delayed parsing of noexcept.  Previously, we would detect the
unexpanded pack in push_template_decl but now the noexcept expression
has not yet been parsed, so we need to do it a bit later.

gcc/cp/ChangeLog:

	PR c++/99844
	* decl.c (build_explicit_specifier): Call
	check_for_bare_parameter_packs.
	* except.c (build_noexcept_spec): Likewise.

gcc/testsuite/ChangeLog:

	PR c++/99844
	* g++.dg/cpp2a/explicit16.C: Use c++20.
	* g++.dg/cpp0x/noexcept66.C: New test.
	* g++.dg/cpp2a/explicit17.C: New test.
2021-04-08 07:44:44 -04:00
..
ada
brig.dg
c-c++-common
config
g++.dg c++: Fix ICE with unexpanded parameter pack [PR99844] 2021-04-08 07:44:44 -04:00
g++.old-deja
g++.target
gcc.c-torture arm: Various MVE vec_duplicate fixes [PR99647] 2021-04-08 09:36:57 +01:00
gcc.dg
gcc.dg-selftests
gcc.misc-tests
gcc.src
gcc.target
gcc.test-framework
gdc.dg
gdc.test
gfortran.dg
gfortran.fortran-torture
gnat.dg
go.dg
go.go-torture/execute
go.test
jit.dg
lib
obj-c++.dg
objc
objc-obj-c++-shared
objc.dg
selftests
.gitattributes
ChangeLog
ChangeLog-1993-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014
ChangeLog-2015
ChangeLog-2016
ChangeLog-2017
ChangeLog-2018
ChangeLog-2019
ChangeLog-2020
ChangeLog.graphite
ChangeLog.jit
ChangeLog.ptr
ChangeLog.tree-ssa
README
README.compat
README.gcc
substr_9.f90
substr_10.f90

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This is a collection of tests for GCC. For further information about
the C testsuite, see README.gcc.

The driver that runs this testsuite is called DejaGnu and you will
need a current DejaGnu snapshot, which is available from
https://gcc.gnu.org/pub/gcc/infrastructure, for example.

These tests are included "as is". If any of them fails, do not report
a bug.  Bug reports for DejaGnu can go to bug-dejagnu@gnu.org.
Discussion and comments about this testsuite should be sent to
gcc@gcc.gnu.org; additions and changes should be sent to
gcc-patches@gcc.gnu.org.

The entire testsuite is invoked by `make check` at the top level of
the GCC tree. `make check-g++` runs the C++ testsuite only.

STRUCTURE OF THE G++ TESTSUITE

  g++.dg tests:

  All new tests should be placed in an appropriate subdirectory of g++.dg.

  g++.old-deja tests:

  g++.benjamin	Tests by Benjamin Koz
  g++.bob
  g++.brendan	Tests by Brendan Kehoe
  g++.bugs
  g++.eh  	Tests for exception handling
  g++.ext  	Tests for g++ extensions
  g++.gb  	Tests by Gerald Baumgartner
  g++.jason	Tests by Jason Merill
  g++.jeff	Tests by Jeffrey A Law
  g++.martin	Tests by Martin v. Löwis
  g++.mike	Tests by Mike Stump
  g++.niklas	Tests by Niklas Hallqvist
  g++.ns  	Tests for namespaces
  g++.other
  g++.pt  	Tests for templates
  g++.rfg
  g++.robertl	Tests from gcc-bugs@gcc.gnu.org, gathered by Robert Lipe
	
Finally, some random last minute notes by Mike Stump <mrs@cygnus.com>, on
how to run tests (in the GCC 2.7 era):

	runtest --tool g++ --srcdir ./testsuite

where 

	runtest	Is the name used to invoke DejaGnu.   If DejaGnu is not
		installed this will be the relative path name for runtest.

	--tool	This tells DejaGnu which tool you are testing. It is
		mainly used to find the testsuite directories for a
		particular tool when several testsuites are in the
		same directory. (like the gcc and g++ testsuites)

	--srcdir This points to the top level of the directory
		containing the sources of the testsuite. This is
		./testsuite if you are in the directory that has the
		testsuite directory.


Copyright (C) 1998-2021 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.