8sa1-gcc/gcc/cp
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
..
call.c
cfns.gperf
cfns.h
ChangeLog Daily bump. 2021-04-08 00:16:44 +00:00
ChangeLog-1993
ChangeLog-1994
ChangeLog-1995
ChangeLog-1996
ChangeLog-1997
ChangeLog-1998
ChangeLog-1999
ChangeLog-2000
ChangeLog-2001
ChangeLog-2002
ChangeLog-2003
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-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.ptr
ChangeLog.tree-ssa
class.c c++: Add ABI version for PR98481 fix 2021-04-01 10:04:38 -04:00
config-lang.in
constexpr.c
constraint.cc
coroutines.cc
cp-gimplify.c
cp-lang.c
cp-name-hint.h
cp-objcp-common.c
cp-objcp-common.h
cp-tree.def
cp-tree.h c++: lambda pack init-capture within generic lambda 2021-04-02 12:46:54 -04:00
cp-ubsan.c
cvt.c c++: PMF template parm and noexcept [PR90664] 2021-04-03 01:54:03 -04:00
cxx-pretty-print.c
cxx-pretty-print.h
decl2.c
decl.c c++: Fix ICE with unexpanded parameter pack [PR99844] 2021-04-08 07:44:44 -04:00
decl.h
dump.c
error.c
except.c c++: Fix ICE with unexpanded parameter pack [PR99844] 2021-04-08 07:44:44 -04:00
expr.c
friend.c
g++spec.c
init.c c++: access checking in aggregate initialization [PR96673] 2021-04-06 16:08:40 -04:00
lambda.c c++: lambda pack init-capture within generic lambda 2021-04-02 12:46:54 -04:00
lang-specs.h
lex.c
logic.cc
Make-lang.in
mangle.c c++: mangling of lambdas in default args [PR91241] 2021-04-06 00:12:57 -04:00
mapper-client.cc modules : Make sure we include <map> in system.h. 2021-04-01 19:32:16 +01:00
mapper-client.h
mapper-resolver.cc modules : Make sure we include <map> in system.h. 2021-04-01 19:32:16 +01:00
method.c c++: GC collects live data when synthesizing operator== [PR99831] 2021-04-01 17:04:15 -04:00
module.cc c++: Unneeded export query [PR 99380] 2021-04-05 07:55:41 -07:00
name-lookup.c c++: using overloaded with local decl [PR92918] 2021-04-07 15:27:47 -04:00
name-lookup.h
operators.def
optimize.c
parser.c c++: friend with redundant qualification [PR41723] 2021-04-07 17:01:52 -04:00
parser.h
pt.c c++: base template friend [PR52625] 2021-04-07 17:01:36 -04:00
ptree.c c++: Fix print-tree for TEMPLATE_DECL 2021-04-05 08:25:26 -04:00
rtti.c
search.c
semantics.c c++: Refine check for CTAD placeholder [PR99586] 2021-04-02 19:47:09 -04:00
tree.c c++: variadic lambda noexcept-specifier [PR99583] 2021-04-01 16:04:54 -04:00
type-utils.h
typeck2.c c++: array new initialized from a call [PR99643] 2021-04-03 20:59:00 -04:00
typeck.c c++: -Wunused, constant, and generic lambda [PR96311] 2021-04-05 17:27:24 -04:00
vtable-class-hierarchy.c