[PATCH] D59223: Objective-C++11: Support static_assert() in @interface/@implementation ivar lists and method declarations
Nico Weber via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Mar 11 10:48:11 PDT 2019
thakis created this revision.
thakis added a reviewer: erik.pilkington.
This adds support for static_assert() (and _Static_assert()) in @interface/@implementation ivar lists and in @interface method declarations.
It was already supported in @implementation blocks outside of the ivar lists.
The assert AST nodes are added at file scoped, matching where other (non-Objective-C) declarations at @interface / @implementation level go (cf `allTUVariables`).
Also add a `__has_feature(objc_static_assert)` that's always true after this patch, so it's possible to check if this is supported.
https://reviews.llvm.org/D59223
Files:
clang/include/clang/Basic/Features.def
clang/lib/Parse/ParseDecl.cpp
clang/lib/Parse/ParseObjc.cpp
clang/lib/Sema/SemaExpr.cpp
clang/test/Parser/objc-static-assert.m
clang/test/Parser/objc-static-assert.mm
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D59223.190123.patch
Type: text/x-patch
Size: 5859 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20190311/cfbfe655/attachment-0001.bin>
More information about the cfe-commits
mailing list