erichkeane added a comment.
Aaron is way more familiar with this code than I am, but I've got some
suggestions for more tests in the parsing, we need to make sure that we handle
pack expansion completely here.
================
Comment at: clang/lib/Parse/ParseDecl.cpp:447
+ }
+ ArgExpr = Actions.ActOnPackExpansion(ArgExpr.get(), ConsumeToken());
+ }
----------------
Do you have a test for something that isn't a pack followed by an ellipsis?
What is the behavior there? I'm also concerned that there doesn't seem to be
anything here that handles complex-pack expansions (like folds), can you test
that as well?
Also, why is this 'if' not up on line 429 (that is, outside of this 'else'?).
I believe ParseAssignmentExpression is going to muck-up the tokens, so I'm not
particularly sure what is going to happen here?
================
Comment at: clang/test/Parser/cxx0x-attributes.cpp:261
-template<typename...Ts> void variadic() {
+template <int... Is> void variadic() {
void bar [[noreturn...]] (); // expected-error {{attribute 'noreturn' cannot
be used as an attribute pack}}
----------------
What is the point of this change?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D114439/new/
https://reviews.llvm.org/D114439
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits