add new clang option -fnovisibility.

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

add new clang option -fnovisibility.

Valeriy Savchenko via cfe-dev
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  

Thanks
  Digger Lin

_______________________________________________
cfe-dev mailing list
[hidden email]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev