[PATCH] D63260: [Attr] Support _attribute__ ((fallthrough))
Nick Desaulniers via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Jun 13 11:40:22 PDT 2019
nickdesaulniers added inline comments.
================
Comment at: test/Sema/address_spaces.c:12
{
- _AS2 *x;// expected-warning {{type specifier missing, defaults to 'int'}}
+ _AS2 *x;// expected-error {{use of undeclared identifier 'x'}}
_AS1 float * _AS2 *B;
----------------
efriedma wrote:
> xbolva00 wrote:
> > nickdesaulniers wrote:
> > > efriedma wrote:
> > > > xbolva00 wrote:
> > > > > I think this is an acceptable change..
> > > > This is scary. gcc and clang both parse `void f() { __attribute((aligned)) *x; }` etc. as a declaration; I don't think we want to change that, even if that usage is a bit dubious in modern C. And it's not clear to me if there are other implications here; does this affect the handling of statement/declaration ambiguity in C++?
> > > It's a pointer to implicit int. Either way, I think the change and the comments are polluting this code review, hence the suggestion to submit as a separate individual patch.
> > But this patch causes changes in those files. So I dont know what to split here...
> This is caused by the change to lib/Parse/ParseStmt.cpp, right? You should be able to split that into a separate patch, even if there aren't any usable statement attributes without the other parts of the patch.
Is it because the added call to `MaybeParseGNUAttributes()` in `lib/Parse/ParseStmt.cpp` can eventually produce this error? Your change as is seems to be breaking declarations of implicit integers.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D63260/new/
https://reviews.llvm.org/D63260
More information about the cfe-commits
mailing list