[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