diff options
| author | Rafael Espindola <rafael.espindola@gmail.com> | 2012-02-23 04:17:32 +0000 |
|---|---|---|
| committer | Rafael Espindola <rafael.espindola@gmail.com> | 2012-02-23 04:17:32 +0000 |
| commit | 8093fdfab1d59c4e420d1e1c40549d10f6ae6f60 (patch) | |
| tree | 1f8477e720f26cd18e02685c530f1d11580daf26 /clang/lib/Sema | |
| parent | 18c6be713243a5a4f47036d499bccdc701b04cb3 (diff) | |
| download | bcm5719-llvm-8093fdfab1d59c4e420d1e1c40549d10f6ae6f60.tar.gz bcm5719-llvm-8093fdfab1d59c4e420d1e1c40549d10f6ae6f60.zip | |
Two fixes to how we compute visibility:
* Handle some situations where we should never make a decl more visible,
even when merging in an explicit visibility.
* Handle attributes in members of classes that are explicitly specialized.
Thanks Nico for the report and testing, Eric for the initial review, and dgregor
for the awesome test27 :-)
llvm-svn: 151236
Diffstat (limited to 'clang/lib/Sema')
| -rw-r--r-- | clang/lib/Sema/SemaTemplate.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaTemplate.cpp b/clang/lib/Sema/SemaTemplate.cpp index 2c98d0ab97b..986a4c80817 100644 --- a/clang/lib/Sema/SemaTemplate.cpp +++ b/clang/lib/Sema/SemaTemplate.cpp @@ -5350,6 +5350,7 @@ Decl *Sema::ActOnStartOfFunctionTemplateDef(Scope *FnBodyScope, /// \brief Strips various properties off an implicit instantiation /// that has just been explicitly specialized. static void StripImplicitInstantiation(NamedDecl *D) { + // FIXME: "make check" is clean if the call to dropAttrs() is commented out. D->dropAttrs(); if (FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) { |

