[PATCH] D27486: Correct class-template deprecation behavior

Erich Keane via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Dec 9 09:16:15 PST 2016


erichkeane updated this revision to Diff 80907.
erichkeane added a comment.

I've been trying to do what @rsmith suggested, so this is a WIP checkpoint, I was hoping you could take a look and tell me if I'm on the right track.  I beleive I'm very nearly done, and all but 1 of the tests pass, which if you have spare cycles and could suggest something, I would much appreciate it.  Currently:

template<Class T> struct C { 
enum [[deprecated]] Enum {c0;}};

void foo() {
C<int>Enum x; // Used to warn, no longer does
x = C<int>::c0; // Used to warn, no longer does
}


https://reviews.llvm.org/D27486

Files:
  include/clang/Basic/Attr.td
  include/clang/Sema/Sema.h
  lib/Sema/SemaTemplate.cpp
  lib/Sema/SemaTemplateInstantiate.cpp
  lib/Sema/SemaTemplateInstantiateDecl.cpp
  test/CXX/dcl.dcl/dcl.attr/dcl.attr.deprecated/p1.cpp
  utils/TableGen/ClangAttrEmitter.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D27486.80907.patch
Type: text/x-patch
Size: 7776 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20161209/659c4063/attachment-0001.bin>


More information about the cfe-commits mailing list