]> granicus.if.org Git - clang/commit
Restore r117644, this time properly ignoring -fvisibility and type visibility
authorJohn McCall <rjmccall@apple.com>
Fri, 29 Oct 2010 22:22:43 +0000 (22:22 +0000)
committerJohn McCall <rjmccall@apple.com>
Fri, 29 Oct 2010 22:22:43 +0000 (22:22 +0000)
commit110e8e56af30363072c140285961592b0107f789
treec8649da41998db0ac401c3e8872361feb6929fcf
parentfa5fa97a1428e95540cbe95138e781a59bff7e39
Restore r117644, this time properly ignoring -fvisibility and type visibility
for namespace-scope variable declarations.

Apply visibility in IR gen to variables that are merely declared
and never defined.  We were previously emitting these with default
visibility unless they were declared with private_extern.

Ignore global visibility settings when computing visibility for
a declaration's context, and key several conditions on whether a
visibility attribute exists anywhere in the hierarchy as opposed
to whether it exists at the current level.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117729 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/AST/Decl.h
lib/AST/Decl.cpp
lib/CodeGen/CodeGenModule.cpp
test/CodeGenCXX/visibility.cpp