[cfe-commits] r69025 - /cfe/trunk/lib/CodeGen/CodeGenModule.cpp
Fariborz Jahanian
fjahanian at apple.com
Tue Apr 14 08:22:48 PDT 2009
I always wondered what is LLVM's assumption about default visibility
setting and no setting of
visibility. Can you provide and add a test case which highlights these
changes. My concern is
that in the next routine of building projects we start running into
mysterious linkage problems.
Also, on a related note, how do we turn-off 'no dead code stripping'
attribute on globals. It seems
to be set by default.
- Fariborz
On Apr 13, 2009, at 10:27 PM, Chris Lattner wrote:
> Author: lattner
> Date: Tue Apr 14 00:27:13 2009
> New Revision: 69025
>
> URL: http://llvm.org/viewvc/llvm-project?rev=69025&view=rev
> Log:
> do not set visibility on "private" or "available externally" linkage
> objects.
>
> Modified:
> cfe/trunk/lib/CodeGen/CodeGenModule.cpp
>
> Modified: cfe/trunk/lib/CodeGen/CodeGenModule.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenModule.cpp?rev=69025&r1=69024&r2=69025&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- cfe/trunk/lib/CodeGen/CodeGenModule.cpp (original)
> +++ cfe/trunk/lib/CodeGen/CodeGenModule.cpp Tue Apr 14 00:27:13 2009
> @@ -100,7 +100,7 @@
> static void setGlobalVisibility(llvm::GlobalValue *GV,
> VisibilityAttr::VisibilityTypes Vis) {
> // Internal definitions should always have default visibility.
> - if (GV->hasInternalLinkage()) {
> + if (GV->hasLocalLinkage()) {
> GV->setVisibility(llvm::GlobalValue::DefaultVisibility);
> return;
> }
> @@ -122,7 +122,7 @@
> static void setGlobalOptionVisibility(llvm::GlobalValue *GV,
> LangOptions::VisibilityMode
> Vis) {
> // Internal definitions should always have default visibility.
> - if (GV->hasInternalLinkage()) {
> + if (GV->hasLocalLinkage()) {
> GV->setVisibility(llvm::GlobalValue::DefaultVisibility);
> return;
> }
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
More information about the cfe-commits
mailing list