[PATCH] D30766: Add support for attribute "enum_extensibility"

Akira Hatanaka via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Mar 8 16:06:17 PST 2017


ahatanak created this revision.

This patch adds support for a new attribute that will be used to distinguish between extensible and inextensible enums. The attribute was discussed on cfe-dev a few weeks ago and I've made a few modifications to the original proposal based on the feedback I received.

http://lists.llvm.org/pipermail/cfe-dev/2017-February/052748.html

In this patch, I didn't include the command line option for setting the default enum style for unannotated enums since I wasn't sure it's something we absolutely need. If it turns the warnings are too noisy, I'll consider adding a command line option for silencing the false positive warnings in a follow-up patch.


https://reviews.llvm.org/D30766

Files:
  include/clang/AST/Decl.h
  include/clang/Basic/Attr.td
  include/clang/Basic/AttrDocs.td
  lib/AST/Decl.cpp
  lib/Sema/SemaDecl.cpp
  lib/Sema/SemaDeclAttr.cpp
  lib/Sema/SemaStmt.cpp
  test/Sema/enum-attr.c
  test/SemaCXX/attr-flag-enum-reject.cpp
  test/SemaCXX/enum-attr.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D30766.91090.patch
Type: text/x-patch
Size: 13690 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170309/5673e249/attachment-0001.bin>


More information about the cfe-commits mailing list