[cfe-dev] add new option -fnovisibility for clang
Hubert Tong via cfe-dev
cfe-dev at lists.llvm.org
Thu Sep 10 13:33:13 PDT 2020
On Thu, Sep 10, 2020 at 4:01 PM Eli Friedman via cfe-dev <
cfe-dev at lists.llvm.org> wrote:
> That name is terrible; if we’re going to add this, the canonical name
> should be something like -fignore-visibility-attributes. (We can also
> accept an alias if you need it.)
>
We won't require an alias. The XL compiler option was not "-fnovisibility".
>
>
> In terms of the functionality, it seems a little weird; cross-platform
> projects usually use macros for this sort of thing. And I’m a little
> worried we’ll eventually need to add an attribute to override the flag, and
> then we’ll need flag to override that attribute, etc. But if we need it
> for compatibility with existing AIX compilers, it’s hard to argue with that.
>
>
>
> -Eli
>
>
>
> *From:* cfe-dev <cfe-dev-bounces at lists.llvm.org> *On Behalf Of *digger
> lin via cfe-dev
> *Sent:* Thursday, September 10, 2020 7:04 AM
> *To:* cfe-dev at lists.llvm.org
> *Subject:* [EXT] [cfe-dev] add new option -fnovisibility for clang
>
>
>
> Hi All,
>
> In IBM compiler Xlclang , there is option -fnovisibiilty. The option is
> description as
>
> https://www.ibm.com/support/knowledgecenter/SSGH3R_16.1.0/com.ibm.xlcpp161.aix.doc/compiler_ref/opt_visibility.html
>
>
> we need to add the option -fnovisibiilty for clang in the IBM AIX OS(and
> the option is enabled by default in AIX OS).
> I will implement the option in the other OS platform.(but the option is
> disabled by default in other OS).
>
> For example, the file test.c
>
> bash-4.2$ test.c
> __attribute__((visibility ("protected"))) int b;
>
> 1 In AIX OS:
>
> 1.1 Compiled with
>
> * clang -fnovisibility -target powerpc-unknown-aix -emit-llvm -S
> test.c*
> or
> *clang -target powerpc-unknown-aix -emit-llvm -S test.c * ( the
> -fnovisibility is *enabled* by default in AIX OS)
>
> Generate IR as :
>
> *@b = global i32 0, align 4*
>
> 1.2 Compiled with
> (If have "-fnovisibility -fvisibility=*" at the same time. the compile
> will ignore the -fnovisibility).
>
>
> *clang -fnovisibility -fvisibility=default -target
> powerpc-unknown-aix -emit-llvm -S test.c*
>
> Or
>
> *clang -fvisibility=default -target powerpc-unknown-aix -emit-llvm
> -S test.c*
>
> Generate IR as :
> *@b = protected global i32 0, align 4*
>
> 2. In Other OS(not AIX)
> 2.1* clang -fnovisibility -target powerpc-unknown-linux -emit-llvm
> -S test.c*
>
> Generate IR as :
> *@b = global i32 0, align 4*
>
> 2.2
> * clang -target powerpc-unknown-linux -emit-llvm -S test.c* ( the
> -fnovisibility is *disabled *by default in not AIX OS)
> Or
> (if have "-fnovisibility -fvisibility=*" at the same time. the
> compile will ignore the -fnovisibility).
> *clang -fnovisibility -fvisibility=default -target
> powerpc-unknown-linux -emit-llvm -S test.c*
> Or
> *clang -fvisibility=default -target powerpc-unknown-linux
> -emit-llvm -S test.c*
>
> Generate IR as :
> *@b = protected global i32 0, align 4 *
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20200910/af958157/attachment-0001.html>
More information about the cfe-dev
mailing list