[PATCH] D16219: PR8901: attribute "mode" rejected for enums and dependent types

Denis Zobnin via cfe-commits cfe-commits at lists.llvm.org
Wed Jan 20 09:37:15 PST 2016


d.zobnin.bugzilla updated this revision to Diff 45401.
d.zobnin.bugzilla added a comment.

Updated the patch after committed fix for http://reviews.llvm.org/D16301 (r258213).

This patch:

1. Adds "Enum" Subject to 'mode' attribute to be able to compile code like "typedef enum { X } __attribute__((mode(QI))) T;"
2. Moves handling of the attribute to a new Sema's method in order to support 'mode' attribute on dependent types;
3. Adds several cases to the tests (both for templates and non-dependent types).

Please take a look.


http://reviews.llvm.org/D16219

Files:
  include/clang/Basic/Attr.td
  include/clang/Basic/DiagnosticSemaKinds.td
  include/clang/Sema/AttributeList.h
  include/clang/Sema/Sema.h
  lib/Sema/SemaDeclAttr.cpp
  lib/Sema/SemaTemplateInstantiateDecl.cpp
  test/CodeGen/attr-mode-enums.c
  test/CodeGenCXX/attr-mode-vector-types-tmpl.cpp
  test/Sema/attr-mode-enums.c
  test/Sema/attr-mode.c
  test/SemaCXX/attr-mode-tmpl.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D16219.45401.patch
Type: text/x-patch
Size: 26631 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160120/4e61219e/attachment-0001.bin>


More information about the cfe-commits mailing list