llvm-project/clang/test/CXX/dcl.decl/dcl.init
Richard Smith b5f2c4e45b PR23029 / C++ DR2233: Allow expanded parameter packs to follow
parameters with default arguments.

Directly follow the wording by relaxing the AST invariant that all
parameters after one with a default arguemnt also have default
arguments, and removing the diagnostic on missing default arguments
on a pack-expanded parameter following a parameter with a default
argument.

Testing also revealed that we need to special-case explicit
specializations of templates with a pack following a parameter with a
default argument, as such explicit specializations are otherwise
impossible to write. The standard wording doesn't address this case; a
issue has been filed.

This exposed a bug where we would briefly consider a parameter to have
no default argument while we parse a delay-parsed default argument for
that parameter, which is also fixed.

Partially incorporates a patch by Raul Tambre.
2020-06-02 13:48:59 -07:00
..
dcl.init.aggr [c++17] If a class inherits virtual functions from a base class, it is 2018-06-14 20:03:22 +00:00
dcl.init.list P1957R2: conversion from a pointer to bool is considered narrowing. 2020-02-11 06:52:44 -08:00
dcl.init.ref PR23029 / C++ DR2233: Allow expanded parameter packs to follow 2020-06-02 13:48:59 -07:00
dcl.init.string
p5.cpp
p6.cpp
p7.cpp
p14-0x.cpp When diagnosing the lack of a viable conversion function, also list 2020-01-09 15:15:02 -08:00