summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaDeclAttr.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2012-05-10 03:01:34 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2012-05-10 03:01:34 +0000
commita6b3cd493c0069eab8c0341783c42fb1b859964b (patch)
treeda46e5895df7587c610f6a42bce2871717547e9f /clang/lib/Sema/SemaDeclAttr.cpp
parent5cc6ef9e891f61ead36fc0ebf5d8000da3ae1af2 (diff)
downloadbcm5719-llvm-a6b3cd493c0069eab8c0341783c42fb1b859964b.tar.gz
bcm5719-llvm-a6b3cd493c0069eab8c0341783c42fb1b859964b.zip
Warn about visibility attributes in typedefs.
llvm-svn: 156534
Diffstat (limited to 'clang/lib/Sema/SemaDeclAttr.cpp')
-rw-r--r--clang/lib/Sema/SemaDeclAttr.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaDeclAttr.cpp b/clang/lib/Sema/SemaDeclAttr.cpp
index 280e3d7fca4..9cd72b2e1ef 100644
--- a/clang/lib/Sema/SemaDeclAttr.cpp
+++ b/clang/lib/Sema/SemaDeclAttr.cpp
@@ -1857,6 +1857,10 @@ static void handleAvailabilityAttr(Sema &S, Decl *D,
bool Sema::mergeVisibilityAttr(Decl *D, SourceRange Range,
bool Inherited,
VisibilityAttr::VisibilityType Vis) {
+ if (isa<TypedefNameDecl>(D)) {
+ Diag(Range.getBegin(), diag::warn_attribute_ignored) << "visibility";
+ return false;
+ }
VisibilityAttr *ExistingAttr = D->getAttr<VisibilityAttr>();
if (ExistingAttr) {
VisibilityAttr::VisibilityType ExistingVis = ExistingAttr->getVisibility();
OpenPOWER on IntegriCloud