On Fri, Nov 21, 2014 at 12:12 AM, Sean Hunt <[email protected]> wrote:
> A few more comments from Aaron.
>
> On the C++ side, I realized that forward declarations and redeclarations
> possibly break everything. I don't want to think about that now. It could be
> made an error in C++ for the time being if that's a large concern, or I could
> simply work on FIXMEs or a later patch to make it work in C++.
Since this can do the wrong thing in C++, I would make it unavailable
there for now. You can do this by adding a new LangOpt subclass:
def CPlusPlus : LangOpt("CPlusPlus");
and in your attribute, add:
let LangOpts = [CPlusPlus];
Then just add a test to ensure it gives the expected error.
Otherwise, patch LGTM!
~Aaron
>
> http://reviews.llvm.org/D5853
>
> Files:
> include/clang/Basic/Attr.td
> include/clang/Basic/AttrDocs.td
> include/clang/Basic/DiagnosticGroups.td
> include/clang/Basic/DiagnosticSemaKinds.td
> include/clang/Sema/AttributeList.h
> include/clang/Sema/Sema.h
> lib/Sema/SemaDecl.cpp
> lib/Sema/SemaDeclAttr.cpp
> lib/Sema/SemaStmt.cpp
> test/Sema/attr-flag-enum.c
> utils/TableGen/ClangAttrEmitter.cpp
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits