Skip to content

Commit 83a2770

Browse files
committed
Fixing LIT test and add more coverage for the new option.
1 parent d95d432 commit 83a2770

File tree

2 files changed

+102
-30
lines changed

2 files changed

+102
-30
lines changed

flang/test/Driver/flang-ld-powerpc.f90

Lines changed: 95 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,35 +7,106 @@
77
!! LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON, use
88
!! resource_dir_with_per_target_subdir as inputs.
99

10-
! Check powerpc64-ibm-aix 64-bit linking to static flang-rt
10+
! Check powerpc64-ibm-aix 64-bit linking to static flang-rt by default
1111
! RUN: %flang %s -### 2>&1 \
1212
! RUN: --target=powerpc64-ibm-aix \
1313
! RUN: -resource-dir=%S/../../../clang/test/Driver/Inputs/resource_dir_with_per_target_subdir \
14-
! RUN: | FileCheck %s --check-prefix=AIX64-LD-PER-TARGET
14+
! RUN: | FileCheck %s --check-prefix=AIX64-LD-PER-TARGET-DEFAULT
1515

16-
! AIX64-LD-PER-TARGET-NOT: warning:
17-
! AIX64-LD-PER-TARGET: "-fc1" "-triple" "powerpc64-ibm-aix"
18-
! AIX64-LD-PER-TARGET-SAME: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
19-
! AIX64-LD-PER-TARGET: "{{.*}}ld{{(.exe)?}}"
20-
! AIX64-LD-PER-TARGET-NOT: "-bnso"
21-
! AIX64-LD-PER-TARGET-SAME: "-b64"
22-
! AIX64-LD-PER-TARGET-SAME: "-bpT:0x100000000" "-bpD:0x110000000"
23-
! AIX64-LD-PER-TARGET-SAME: "-lc"
24-
! AIX64-LD-PER-TARGET-SAME: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}powerpc64-ibm-aix{{/|\\\\}}libflang_rt.runtime.a"
25-
! AIX64-LD-PER-TARGET-SAME: "-lm"
26-
! AIX64-LD-PER-TARGET-SAME: "-lpthread"
16+
! AIX64-LD-PER-TARGET-DEFAULT-NOT: warning:
17+
! AIX64-LD-PER-TARGET-DEFAULT: "-fc1" "-triple" "powerpc64-ibm-aix"
18+
! AIX64-LD-PER-TARGET-DEFAULT-SAME: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
19+
! AIX64-LD-PER-TARGET-DEFAULT: "{{.*}}ld{{(.exe)?}}"
20+
! AIX64-LD-PER-TARGET-DEFAULT-NOT: "-bnso"
21+
! AIX64-LD-PER-TARGET-DEFAULT-SAME: "-b64"
22+
! AIX64-LD-PER-TARGET-DEFAULT-SAME: "-bpT:0x100000000" "-bpD:0x110000000"
23+
! AIX64-LD-PER-TARGET-DEFAULT-SAME: "-lc"
24+
! AIX64-LD-PER-TARGET-DEFAULT-SAME: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}powerpc64-ibm-aix{{/|\\\\}}libflang_rt.runtime.a"
25+
! AIX64-LD-PER-TARGET-DEFAULT-SAME: "-lm"
26+
! AIX64-LD-PER-TARGET-DEFAULT-SAME: "-lpthread"
2727

28-
! Check powerpc64le-unknown-linux-gnu 64-bit linking to static flang-rt
28+
29+
! Check powerpc64-ibm-aix 64-bit linking to static flang-rt by option
30+
! RUN: %flang -static-libflangrt %s -### 2>&1 \
31+
! RUN: --target=powerpc64-ibm-aix \
32+
! RUN: -resource-dir=%S/../../../clang/test/Driver/Inputs/resource_dir_with_per_target_subdir \
33+
! RUN: | FileCheck %s --check-prefix=AIX64-LD-PER-TARGET-STATIC
34+
35+
! AIX64-LD-PER-TARGET-STATIC-NOT: warning:
36+
! AIX64-LD-PER-TARGET-STATIC: "-fc1" "-triple" "powerpc64-ibm-aix"
37+
! AIX64-LD-PER-TARGET-STATIC-SAME: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
38+
! AIX64-LD-PER-TARGET-STATIC: "{{.*}}ld{{(.exe)?}}"
39+
! AIX64-LD-PER-TARGET-STATIC-NOT: "-bnso"
40+
! AIX64-LD-PER-TARGET-STATIC-SAME: "-b64"
41+
! AIX64-LD-PER-TARGET-STATIC-SAME: "-bpT:0x100000000" "-bpD:0x110000000"
42+
! AIX64-LD-PER-TARGET-STATIC-SAME: "-lc"
43+
! AIX64-LD-PER-TARGET-STATIC-SAME: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}powerpc64-ibm-aix{{/|\\\\}}libflang_rt.runtime.a"
44+
! AIX64-LD-PER-TARGET-STATIC-SAME: "-lm"
45+
! AIX64-LD-PER-TARGET-STATIC-SAME: "-lpthread"
46+
47+
48+
! Check powerpc64-ibm-aix 64-bit linking to shared flang-rt by option
49+
! RUN: %flang -shared-libflangrt %s -### 2>&1 \
50+
! RUN: --target=powerpc64-ibm-aix \
51+
! RUN: -resource-dir=%S/../../../clang/test/Driver/Inputs/resource_dir_with_per_target_subdir \
52+
! RUN: | FileCheck %s --check-prefix=AIX64-LD-PER-TARGET-SHARED
53+
54+
! AIX64-LD-PER-TARGET-SHARED-NOT: warning:
55+
! AIX64-LD-PER-TARGET-SHARED: "-fc1" "-triple" "powerpc64-ibm-aix"
56+
! AIX64-LD-PER-TARGET-SHARED-SAME: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
57+
! AIX64-LD-PER-TARGET-SHARED: "{{.*}}ld{{(.exe)?}}"
58+
! AIX64-LD-PER-TARGET-SHARED-NOT: "-bnso"
59+
! AIX64-LD-PER-TARGET-SHARED-SAME: "-b64"
60+
! AIX64-LD-PER-TARGET-SHARED-SAME: "-bpT:0x100000000" "-bpD:0x110000000"
61+
! AIX64-LD-PER-TARGET-SHARED-SAME: "-lc"
62+
! AIX64-LD-PER-TARGET-SHARED-SAME: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}powerpc64-ibm-aix{{/|\\\\}}libflang_rt.runtime.a"
63+
! AIX64-LD-PER-TARGET-SHARED-SAME: "-lm"
64+
! AIX64-LD-PER-TARGET-SHARED-SAME: "-lpthread"
65+
66+
67+
! Check powerpc64le-unknown-linux-gnu 64-bit linking to shared flang-rt by default
2968
! RUN: %flang %s -### 2>&1 \
3069
! RUN: --target=powerpc64le-unknown-linux-gnu \
3170
! RUN: -resource-dir=%S/../../../clang/test/Driver/Inputs/resource_dir_with_per_target_subdir \
32-
! RUN: | FileCheck %s --check-prefixes=LOP64-LD-PER-TARGET
33-
34-
! LOP64-LD-PER-TARGET-NOT: warning:
35-
! LOP64-LD-PER-TARGET: "-fc1" "-triple" "powerpc64le-unknown-linux-gnu"
36-
! LOP64-LD-PER-TARGET-SAME: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
37-
! LOP64-LD-PER-TARGET: "{{.*}}ld{{(.exe)?}}"
38-
! LOP64-LD-PER-TARGET-NOT: "-bnso"
39-
! LOP64-LD-PER-TARGET-SAME: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}powerpc64le-unknown-linux-gnu{{/|\\\\}}libflang_rt.runtime.a"
40-
! LOP64-LD-PER-TARGET-SAME: "-lm"
41-
! LOP64-LD-PER-TARGET-SAME: "-lc"
71+
! RUN: | FileCheck %s --check-prefixes=LOP64-LD-PER-TARGET-DEFAULT
72+
73+
! LOP64-LD-PER-TARGET-DEFAULT-NOT: warning:
74+
! LOP64-LD-PER-TARGET-DEFAULT: "-fc1" "-triple" "powerpc64le-unknown-linux-gnu"
75+
! LOP64-LD-PER-TARGET-DEFAULT-SAME: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
76+
! LOP64-LD-PER-TARGET-DEFAULT: "{{.*}}ld{{(.exe)?}}"
77+
! LOP64-LD-PER-TARGET-DEFAULT-NOT: "-bnso"
78+
! LOP64-LD-PER-TARGET-DEFAULT-SAME: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}powerpc64le-unknown-linux-gnu{{/|\\\\}}libflang_rt.runtime.so"
79+
! LOP64-LD-PER-TARGET-DEFAULT-SAME: "-lm"
80+
! LOP64-LD-PER-TARGET-DEFAULT-SAME: "-lc"
81+
82+
83+
! Check powerpc64le-unknown-linux-gnu 64-bit linking to static flang-rt
84+
! RUN: %flang -static-libflangrt %s -### 2>&1 \
85+
! RUN: --target=powerpc64le-unknown-linux-gnu \
86+
! RUN: -resource-dir=%S/../../../clang/test/Driver/Inputs/resource_dir_with_per_target_subdir \
87+
! RUN: | FileCheck %s --check-prefixes=LOP64-LD-PER-TARGET-STATIC
88+
89+
! LOP64-LD-PER-TARGET-STATIC-NOT: warning:
90+
! LOP64-LD-PER-TARGET-STATIC: "-fc1" "-triple" "powerpc64le-unknown-linux-gnu"
91+
! LOP64-LD-PER-TARGET-STATIC-SAME: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
92+
! LOP64-LD-PER-TARGET-STATIC: "{{.*}}ld{{(.exe)?}}"
93+
! LOP64-LD-PER-TARGET-STATIC-NOT: "-bnso"
94+
! LOP64-LD-PER-TARGET-STATIC-SAME: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}powerpc64le-unknown-linux-gnu{{/|\\\\}}libflang_rt.runtime.a"
95+
! LOP64-LD-PER-TARGET-STATIC-SAME: "-lm"
96+
! LOP64-LD-PER-TARGET-STATIC-SAME: "-lc"
97+
98+
99+
! Check powerpc64le-unknown-linux-gnu 64-bit linking to shared flang-rt
100+
! RUN: %flang -shared-libflangrt %s -### 2>&1 \
101+
! RUN: --target=powerpc64le-unknown-linux-gnu \
102+
! RUN: -resource-dir=%S/../../../clang/test/Driver/Inputs/resource_dir_with_per_target_subdir \
103+
! RUN: | FileCheck %s --check-prefixes=LOP64-LD-PER-TARGET-SHARED
104+
105+
! LOP64-LD-PER-TARGET-SHARED-NOT: warning:
106+
! LOP64-LD-PER-TARGET-SHARED: "-fc1" "-triple" "powerpc64le-unknown-linux-gnu"
107+
! LOP64-LD-PER-TARGET-SHARED-SAME: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
108+
! LOP64-LD-PER-TARGET-SHARED: "{{.*}}ld{{(.exe)?}}"
109+
! AIX64-LD-PER-TARGET-NOT: "-bnso"
110+
! LOP64-LD-PER-TARGET-SHARED-SAME: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}powerpc64le-unknown-linux-gnu{{/|\\\\}}libflang_rt.runtime.so"
111+
! LOP64-LD-PER-TARGET-SHARED-SAME: "-lm"
112+
! LOP64-LD-PER-TARGET-SHARED-SAME: "-lc"

flang/test/Driver/linker-flags.f90

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,33 +33,34 @@
3333
! SOLARIS-F128NONE-NOT: flang_rt.quadmath
3434
! UNIX-F128LIBQUADMATH-SAME: "-lflang_rt.quadmath" "--as-needed" "-lquadmath" "--no-as-needed"
3535
! SOLARIS-F128LIBQUADMATH-SAME: "-lflang_rt.quadmath" "-z" "ignore" "-lquadmath" "-z" "record"
36-
! UNIX-SAME: "-lflang_rt.runtime" "-lm"
36+
! UNIX-SAME: "{{.*}}{{\\|/}}libflang_rt.runtime.so"
37+
! UNIX-SAME: "-lm"
3738
! COMPILER-RT: "{{.*}}{{\\|/}}libclang_rt.builtins.a"
3839

3940
! BSD-LABEL: "{{.*}}ld{{(\.exe)?}}"
4041
! BSD-SAME: "[[object_file]]"
4142
! BSD-F128NONE-NOT: flang_rt.quadmath
4243
! BSD-F128LIBQUADMATH-SAME: "-lflang_rt.quadmath" "--as-needed" "-lquadmath" "--no-as-needed"
43-
! BSD-SAME: -lflang_rt.runtime
44-
! BSD-SAME: -lexecinfo
44+
! BSD-SAME: "{{.*}}{{\\|/}}libflang_rt.runtime.so"
45+
! BSD-SAME: "-lexecinfo"
4546

4647
! DARWIN-LABEL: "{{.*}}ld{{(\.exe)?}}"
4748
! DARWIN-SAME: "[[object_file]]"
4849
! DARWIN-F128NONE-NOT: libflang_rt.quadmath
4950
! DARWIN-F128LIBQUADMATH-SAME: "-lflang_rt.quadmath" "--as-needed" "-lquadmath" "--no-as-needed"
50-
! DARWIN-SAME: -lflang_rt.runtime
51+
! DARWIN-SAME: "{{.*}}{{\\|/}}libclang_rt.runtime_osx_dynamic.dylib"
5152

5253
! HAIKU-LABEL: "{{.*}}ld{{(\.exe)?}}"
5354
! HAIKU-SAME: "[[object_file]]"
5455
! HAIKU-F128NONE-NOT: libflang_rt.quadmath
5556
! HAIKU-F128LIBQUADMATH-SAME: "-lflang_rt.quadmath" "--as-needed" "-lquadmath" "--no-as-needed"
56-
! HAIKU-SAME: "-lflang_rt.runtime"
57+
! HAIKU-SAME: "{{.*}}{{\\|/}}libflang_rt.runtime.so"
5758

5859
! MINGW-LABEL: "{{.*}}ld{{(\.exe)?}}"
5960
! MINGW-SAME: "[[object_file]]"
6061
! MINGW-F128NONE-NOT: libflang_rt.quadmath
6162
! MINGW-F128LIBQUADMATH-SAME: "-lflang_rt.quadmath" "--as-needed" "-lquadmath" "--no-as-needed"
62-
! MINGW-SAME: -lflang_rt.runtime
63+
! MINGW-SAME: "{{.*}}{{\\|/}}libflang_rt.runtime.dll.a"
6364

6465
! NOTE: This also matches lld-link (when CLANG_DEFAULT_LINKER=lld) and
6566
! any .exe suffix that is added when resolving to the full path of

0 commit comments

Comments
 (0)