| !! Testing ld command with flang on POWERPC. |
| !! TODO: The AIX test case is meant to test the behavior of linking the static |
| !! libflang_rt.runtime.a, which will be enabled by a new compiler option |
| !! -static-libflang_rt in the future. Need to add that option here. |
| |
| !! Because flang-rt currently only supports |
| !! LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON, use |
| !! resource_dir_with_per_target_subdir as inputs. |
| |
| ! Check powerpc64-ibm-aix 64-bit linking to static flang-rt by default |
| ! RUN: %flang -Werror %s -### 2>&1 \ |
| ! RUN: --target=powerpc64-ibm-aix \ |
| ! RUN: -resource-dir=%S/../../../clang/test/Driver/Inputs/resource_dir_with_per_target_subdir \ |
| ! RUN: | FileCheck %s --check-prefix=AIX64-LD-PER-TARGET-DEFAULT |
| |
| ! AIX64-LD-PER-TARGET-DEFAULT: "-fc1" "-triple" "powerpc64-ibm-aix" |
| ! AIX64-LD-PER-TARGET-DEFAULT-SAME: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]" |
| ! AIX64-LD-PER-TARGET-DEFAULT: "{{.*}}ld{{(.exe)?}}" |
| ! AIX64-LD-PER-TARGET-DEFAULT-NOT: "-bnso" |
| ! AIX64-LD-PER-TARGET-DEFAULT-SAME: "-b64" |
| ! AIX64-LD-PER-TARGET-DEFAULT-SAME: "-bpT:0x100000000" "-bpD:0x110000000" |
| ! AIX64-LD-PER-TARGET-DEFAULT-SAME: "-lc" |
| ! AIX64-LD-PER-TARGET-DEFAULT-SAME: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}powerpc64-ibm-aix{{/|\\\\}}libflang_rt.runtime.a" |
| ! AIX64-LD-PER-TARGET-DEFAULT-SAME: "-lm" |
| ! AIX64-LD-PER-TARGET-DEFAULT-SAME: "-lpthread" |
| ! AIX64-LD-PER-TARGET-DEFAULT-NOT: "-L/[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}powerpc64-ibm-aix" |
| |
| |
| ! Check powerpc64-ibm-aix 64-bit linking to static flang-rt by option |
| ! RUN: %flang -static-libflangrt -Werror %s -### 2>&1 \ |
| ! RUN: --target=powerpc64-ibm-aix \ |
| ! RUN: -resource-dir=%S/../../../clang/test/Driver/Inputs/resource_dir_with_per_target_subdir \ |
| ! RUN: | FileCheck %s --check-prefix=AIX64-LD-PER-TARGET-STATIC |
| |
| ! AIX64-LD-PER-TARGET-STATIC: "-fc1" "-triple" "powerpc64-ibm-aix" |
| ! AIX64-LD-PER-TARGET-STATIC-SAME: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]" |
| ! AIX64-LD-PER-TARGET-STATIC: "{{.*}}ld{{(.exe)?}}" |
| ! AIX64-LD-PER-TARGET-STATIC-NOT: "-bnso" |
| ! AIX64-LD-PER-TARGET-STATIC-SAME: "-b64" |
| ! AIX64-LD-PER-TARGET-STATIC-SAME: "-bpT:0x100000000" "-bpD:0x110000000" |
| ! AIX64-LD-PER-TARGET-STATIC-SAME: "-lc" |
| ! AIX64-LD-PER-TARGET-STATIC-SAME: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}powerpc64-ibm-aix{{/|\\\\}}libflang_rt.runtime.a" |
| ! AIX64-LD-PER-TARGET-STATIC-SAME: "-lm" |
| ! AIX64-LD-PER-TARGET-STATIC-SAME: "-lpthread" |
| |
| |
| ! Check powerpc64-ibm-aix 64-bit linking to shared flang-rt by option |
| ! RUN: %flang -shared-libflangrt -Werror %s -### 2>&1 \ |
| ! RUN: --target=powerpc64-ibm-aix \ |
| ! RUN: -resource-dir=%S/../../../clang/test/Driver/Inputs/resource_dir_with_per_target_subdir \ |
| ! RUN: | FileCheck %s --check-prefix=AIX64-LD-PER-TARGET-SHARED |
| |
| ! AIX64-LD-PER-TARGET-SHARED: "-fc1" "-triple" "powerpc64-ibm-aix" |
| ! AIX64-LD-PER-TARGET-SHARED-SAME: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]" |
| ! AIX64-LD-PER-TARGET-SHARED: "{{.*}}ld{{(.exe)?}}" |
| ! AIX64-LD-PER-TARGET-SHARED-NOT: "-bnso" |
| ! AIX64-LD-PER-TARGET-SHARED-SAME: "-b64" |
| ! AIX64-LD-PER-TARGET-SHARED-SAME: "-bpT:0x100000000" "-bpD:0x110000000" |
| ! AIX64-LD-PER-TARGET-SHARED-SAME: "-lc" |
| ! AIX64-LD-PER-TARGET-SHARED-SAME: "-lflang_rt.runtime" |
| ! AIX64-LD-PER-TARGET-SHARED-SAME: "-lm" |
| ! AIX64-LD-PER-TARGET-SHARED-SAME: "-lpthread" |
| |
| |
| ! Check powerpc64le-unknown-linux-gnu 64-bit linking to shared flang-rt by default |
| ! RUN: %flang -Werror %s -### 2>&1 \ |
| ! RUN: --target=powerpc64le-unknown-linux-gnu \ |
| ! RUN: -resource-dir=%S/../../../clang/test/Driver/Inputs/resource_dir_with_per_target_subdir \ |
| ! RUN: | FileCheck %s --check-prefixes=LOP64-LD-PER-TARGET-DEFAULT |
| |
| ! LOP64-LD-PER-TARGET-DEFAULT: "-fc1" "-triple" "powerpc64le-unknown-linux-gnu" |
| ! LOP64-LD-PER-TARGET-DEFAULT-SAME: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]" |
| ! LOP64-LD-PER-TARGET-DEFAULT: "{{.*}}ld{{(.exe)?}}" |
| ! LOP64-LD-PER-TARGET-DEFAULT-NOT: "-bnso" |
| ! LOP64-LD-PER-TARGET-DEFAULT-SAME: "-lflang_rt.runtime" |
| ! LOP64-LD-PER-TARGET-DEFAULT-SAME: "-lm" |
| ! LOP64-LD-PER-TARGET-DEFAULT-SAME: "-lc" |
| |
| |
| ! Check powerpc64le-unknown-linux-gnu 64-bit linking to static flang-rt by option |
| ! RUN: %flang -static-libflangrt -Werror %s -### 2>&1 \ |
| ! RUN: --target=powerpc64le-unknown-linux-gnu \ |
| ! RUN: -resource-dir=%S/../../../clang/test/Driver/Inputs/resource_dir_with_per_target_subdir \ |
| ! RUN: | FileCheck %s --check-prefixes=LOP64-LD-PER-TARGET-STATIC |
| |
| ! LOP64-LD-PER-TARGET-STATIC: "-fc1" "-triple" "powerpc64le-unknown-linux-gnu" |
| ! LOP64-LD-PER-TARGET-STATIC-SAME: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]" |
| ! LOP64-LD-PER-TARGET-STATIC: "{{.*}}ld{{(.exe)?}}" |
| ! LOP64-LD-PER-TARGET-STATIC-NOT: "-bnso" |
| ! LOP64-LD-PER-TARGET-STATIC-SAME: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}powerpc64le-unknown-linux-gnu{{/|\\\\}}libflang_rt.runtime.a" |
| ! LOP64-LD-PER-TARGET-STATIC-SAME: "-lm" |
| ! LOP64-LD-PER-TARGET-STATIC-SAME: "-lc" |
| |
| |
| ! Check powerpc64le-unknown-linux-gnu 64-bit linking to shared flang-rt by option |
| ! RUN: %flang -shared-libflangrt -Werror %s -### 2>&1 \ |
| ! RUN: --target=powerpc64le-unknown-linux-gnu \ |
| ! RUN: -resource-dir=%S/../../../clang/test/Driver/Inputs/resource_dir_with_per_target_subdir \ |
| ! RUN: | FileCheck %s --check-prefixes=LOP64-LD-PER-TARGET-SHARED |
| |
| ! LOP64-LD-PER-TARGET-SHARED: "-fc1" "-triple" "powerpc64le-unknown-linux-gnu" |
| ! LOP64-LD-PER-TARGET-SHARED-SAME: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]" |
| ! LOP64-LD-PER-TARGET-SHARED: "{{.*}}ld{{(.exe)?}}" |
| ! LOP64-LD-PER-TARGET-SHARED-NOT: "-bnso" |
| ! LOP64-LD-PER-TARGET-SHARED-SAME: "-lflang_rt.runtime" |
| ! LOP64-LD-PER-TARGET-SHARED-SAME: "-lm" |
| ! LOP64-LD-PER-TARGET-SHARED-SAME: "-lc" |