[AIX] XFAIL CodeGen/Generic/externally_available.ll
authorJinsong Ji <jji@us.ibm.com>
Thu, 13 May 2021 13:24:45 +0000 (13:24 +0000)
committerJinsong Ji <jji@us.ibm.com>
Thu, 13 May 2021 13:24:48 +0000 (13:24 +0000)
    Globals with “available_externally” linkage should never be emitted into the
    object file corresponding to the LLVM module.

    However, AIX system assembler default print error for undefined reference .
    so AIX chose to emit the available externally symbols into .s,
    so that users won't run into errors in situations like:

    clang -target powerpc-ibm-aix -xc -<<<$'extern inline
    __attribute__((__gnu_inline__)) void foo() {}\nvoid bar() { foo(); }' -O
    -Xclang -disable-llvm-passes

Reviewed By: hubert.reinterpretcast

Differential Revision: https://reviews.llvm.org/D102377

llvm/test/CodeGen/Generic/externally_available.ll

index 2376bc7..5bf31c2 100644 (file)
@@ -1,5 +1,11 @@
 ; RUN: llc -verify-machine-dom-info < %s | not grep test_
 
+; XFAIL: aix
+; AIX system assembler default print error for undefined reference .
+; so AIX chose to emit the available externally symbols into .s,
+; so that users won't run into errors in situations like:
+; clang -target powerpc-ibm-aix -xc -<<<$'extern inline __attribute__((__gnu_inline__)) void foo() {}\nvoid bar() { foo(); }' -O -Xclang -disable-llvm-passes
+
 ; test_function should not be emitted to the .s file.
 define available_externally i32 @test_function() {
   ret i32 4