forked from OSchip/llvm-project
b5f2c4e45b
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. |
||
---|---|---|
.. | ||
expr.arith.conv | ||
expr.ass | ||
expr.cast | ||
expr.cond | ||
expr.const | ||
expr.mptr.oper | ||
expr.post | ||
expr.prim | ||
expr.unary | ||
p3.cpp | ||
p8.cpp | ||
p9.cpp | ||
p10-0x.cpp | ||
p13.cpp |