hanchenye-llvm-project/clang/utils/TableGen
Rafael Espindola 7f90b7d4c2 Fix our handling of visibility in explicit template instantiations.
* Don't copy the visibility attribute during instantiations. We have to be able
  to distinguish

 struct HIDDEN foo {};
 template<class T>
 DEFAULT void bar() {}
 template DEFAULT void bar<foo>();

from

 struct HIDDEN foo {};
 template<class T>
 DEFAULT void bar() {}
 template void bar<foo>();

* If an instantiation has an attribute, it takes precedence over an attribute
  in the template.

* With instantiation attributes handled with the above logic, we can now
  select the minimum visibility when looking at template arguments.

llvm-svn: 156821
2012-05-15 14:09:55 +00:00
..
CMakeLists.txt Update the CMake build for clang-tblgen to reflect that it directly 2011-11-02 05:04:43 +00:00
ClangASTNodesEmitter.cpp
ClangASTNodesEmitter.h
ClangAttrEmitter.cpp Fix our handling of visibility in explicit template instantiations. 2012-05-15 14:09:55 +00:00
ClangAttrEmitter.h Refactor Clang sema attribute handling. 2012-03-07 00:12:16 +00:00
ClangDiagnosticsEmitter.cpp Remove DiagGroups from notes, and add a TableGen assertion to catch them. 2012-05-04 19:05:50 +00:00
ClangDiagnosticsEmitter.h
ClangSACheckersEmitter.cpp
ClangSACheckersEmitter.h
Makefile
NeonEmitter.cpp ARM: Support marking intrinsic definitions as 'unavailable' 2012-05-09 18:17:30 +00:00
NeonEmitter.h ARM: Support marking intrinsic definitions as 'unavailable' 2012-05-09 18:17:30 +00:00
OptParserEmitter.cpp
OptParserEmitter.h
TableGen.cpp Refactor Clang sema attribute handling. 2012-03-07 00:12:16 +00:00