Skip to content

Commit fcd292d

Browse files
author
git apple-llvm automerger
committed
Merge commit 'be8b2bc45a77' from apple/main into swift/next
2 parents e26bf7b + be8b2bc commit fcd292d

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

clang/lib/Driver/ToolChains/AIX.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,9 @@ void aix::Linker::ConstructJob(Compilation &C, const JobAction &JA,
162162
if (Args.hasArg(options::OPT_pthreads, options::OPT_pthread))
163163
CmdArgs.push_back("-lpthreads");
164164

165+
if (D.CCCIsCXX())
166+
CmdArgs.push_back("-lm");
167+
165168
CmdArgs.push_back("-lc");
166169
}
167170

clang/test/Driver/aix-ld.c

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
// CHECK-LD32: "-L[[SYSROOT]]/usr/lib"
2121
// CHECK-LD32-NOT: "-lc++"
2222
// CHECK-LD32: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc.a"
23+
// CHECK-LD32-NOT: "-lm"
2324
// CHECK-LD32: "-lc"
2425

2526
// Check powerpc64-ibm-aix7.1.0.0, 64-bit.
@@ -41,6 +42,7 @@
4142
// CHECK-LD64: "-L[[SYSROOT]]/usr/lib"
4243
// CHECK-LD64-NOT: "-lc++"
4344
// CHECK-LD64: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc64.a"
45+
// CHECK-LD64-NOT: "-lm"
4446
// CHECK-LD64: "-lc"
4547

4648
// Check powerpc-ibm-aix7.1.0.0, 32-bit. Enable POSIX thread support.
@@ -64,6 +66,7 @@
6466
// CHECK-LD32-PTHREAD-NOT: "-lc++"
6567
// CHECK-LD32-PTHREAD: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc.a"
6668
// CHECK-LD32-PTHREAD: "-lpthreads"
69+
// CHECK-LD32-PTHREAD-NOT: "-lm"
6770
// CHECK-LD32-PTHREAD: "-lc"
6871

6972
// Check powerpc64-ibm-aix7.1.0.0, 64-bit. POSIX thread alias.
@@ -87,6 +90,7 @@
8790
// CHECK-LD64-PTHREAD-NOT: "-lc++"
8891
// CHECK-LD64-PTHREAD: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc64.a"
8992
// CHECK-LD64-PTHREAD: "-lpthreads"
93+
// CHECK-LD64-PTHREAD-NOT: "-lm"
9094
// CHECK-LD64-PTHREAD: "-lc"
9195

9296
// Check powerpc-ibm-aix7.1.0.0, 32-bit. Enable profiling.
@@ -109,6 +113,7 @@
109113
// CHECK-LD32-PROF: "-L[[SYSROOT]]/usr/lib"
110114
// CHECK-LD32-PROF-NOT: "-lc++"
111115
// CHECK-LD32-PROF: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc.a"
116+
// CHECK-LD32-PROF-NOT: "-lm"
112117
// CHECK-LD32-PROF: "-lc"
113118

114119
// Check powerpc64-ibm-aix7.1.0.0, 64-bit. Enable g-profiling.
@@ -131,6 +136,7 @@
131136
// CHECK-LD64-GPROF: "-L[[SYSROOT]]/usr/lib"
132137
// CHECK-LD64-GPROF-NOT: "-lc++"
133138
// CHECK-LD64-GPROF: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc64.a"
139+
// CHECK-LD64-GPROF-NOT: "-lm"
134140
// CHECK-LD64-GPROF: "-lc"
135141

136142
// Check powerpc-ibm-aix7.1.0.0, 32-bit. Static linking.
@@ -153,6 +159,7 @@
153159
// CHECK-LD32-STATIC: "-L[[SYSROOT]]/usr/lib"
154160
// CHECK-LD32-STATIC-NOT: "-lc++"
155161
// CHECK-LD32-STATIC: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc.a"
162+
// CHECK-LD32-STATIC-NOT: "-lm"
156163
// CHECK-LD32-STATIC: "-lc"
157164

158165
// Check powerpc-ibm-aix7.1.0.0, 32-bit. Library search path.
@@ -176,6 +183,7 @@
176183
// CHECK-LD32-LIBP: "-L[[SYSROOT]]/usr/lib"
177184
// CHECK-LD32-LIBP-NOT: "-lc++"
178185
// CHECK-LD32-LIBP: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc.a"
186+
// CHECK-LD32-LIBP-NOT: "-lm"
179187
// CHECK-LD32-LIBP: "-lc"
180188

181189
// Check powerpc-ibm-aix7.1.0.0, 32-bit. nostdlib.
@@ -200,6 +208,7 @@
200208
// CHECK-LD32-NO-STD-LIB-NOT: "-lc++"
201209
// CHECK-LD32-NO-STD-LIB-NOT: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc.a"
202210
// CHECK-LD32-NO-STD-LIB-NOT: "-lpthreads"
211+
// CHECK-LD32-NO-STD-LIB-NOT: "-lm"
203212
// CHECK-LD32-NO-STD-LIB-NOT: "-lc"
204213

205214
// Check powerpc64-ibm-aix7.1.0.0, 64-bit. nodefaultlibs.
@@ -224,6 +233,7 @@
224233
// CHECK-LD64-NO-DEFAULT-LIBS-NOT: "-lc++"
225234
// CHECK-LD64-NO-DEFAULT-LIBS-NOT: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc64.a"
226235
// CHECK-LD64-NO-DEFAULT-LIBS-NOT: "-lpthreads"
236+
// CHECK-LD64-NO-DEFAULT-LIBS-NOT: "-lm"
227237
// CHECK-LD64-NO-DEFAULT-LIBS-NOT: "-lc"
228238

229239
// Check powerpc-ibm-aix7.1.0.0, 32-bit. 'bcdtors' and argument order.
@@ -247,6 +257,7 @@
247257
// CHECK-LD32-CXX-ARG-ORDER-NOT: "-bcdtors:all:0:s"
248258
// CHECK-LD32-CXX-ARG-ORDER: "-lc++"
249259
// CHECK-LD32-CXX-ARG-ORDER: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc.a"
260+
// CHECK-LD32-CXX-ARG-ORDER: "-lm"
250261
// CHECK-LD32-CXX-ARG-ORDER: "-lc"
251262

252263
// Check powerpc-ibm-aix7.1.0.0, 32-bit. lc++ and lc order.
@@ -266,6 +277,7 @@
266277
// CHECK-LD32-CXX-ARG-LCXX: "-L[[SYSROOT]]/usr/lib"
267278
// CHECK-LD32-CXX-ARG-LCXX: "-lc++"
268279
// CHECK-LD32-CXX-ARG-LCXX: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc.a"
280+
// CHECK-LD32-CXX-ARG-LCXX: "-lm"
269281
// CHECK-LD32-CXX-ARG-LCXX: "-lc"
270282

271283
// Check powerpc64-ibm-aix7.1.0.0, 64-bit. lc++ and lc order.
@@ -285,6 +297,7 @@
285297
// CHECK-LD64-CXX-ARG-LCXX: "-L[[SYSROOT]]/usr/lib"
286298
// CHECK-LD64-CXX-ARG-LCXX: "-lc++"
287299
// CHECK-LD64-CXX-ARG-LCXX: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc64.a"
300+
// CHECK-LD64-CXX-ARG-LCXX: "-lm"
288301
// CHECK-LD64-CXX-ARG-LCXX: "-lc"
289302

290303
// Check powerpc-ibm-aix7.1.0.0, 32-bit. -nodefaultlibs.
@@ -305,6 +318,7 @@
305318
// CHECK-LD32-NODEFLIB-LCXX: "-L[[SYSROOT]]/usr/lib"
306319
// CHECK-LD32-NODEFLIB-LCXX-NOT: "-lc++"
307320
// CHECK-LD32-NODEFLIB-LCXX-NOT: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc.a"
321+
// CHECK-LD32-NODEFLIB-LCXX-NOT: "-lm"
308322
// CHECK-LD32-NODEFLIB-LCXX-NOT: "-lc"
309323

310324
// Check powerpc64-ibm-aix7.1.0.0, 64-bit. -nodefaultlibs.
@@ -325,6 +339,7 @@
325339
// CHECK-LD64-NODEFLIB-LCXX: "-L[[SYSROOT]]/usr/lib"
326340
// CHECK-LD64-NODEFLIB-LCXX-NOT: "-lc++"
327341
// CHECK-LD64-NODEFLIB-LCXX-NOT: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc64.a"
342+
// CHECK-LD64-NODEFLIB-LCXX-NOT: "-lm"
328343
// CHECK-LD64-NODEFLIB-LCXX-NOT: "-lc"
329344

330345
// Check powerpc-ibm-aix7.1.0.0, 32-bit. -nostdlib.
@@ -345,6 +360,7 @@
345360
// CHECK-LD32-NOSTDLIB-LCXX: "-L[[SYSROOT]]/usr/lib"
346361
// CHECK-LD32-NOSTDLIB-LCXX-NOT: "-lc++"
347362
// CHECK-LD32-NOSTDLIB-LCXX-NOT: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc.a"
363+
// CHECK-LD32-NOSTDLIB-LCXX-NOT: "-lm"
348364
// CHECK-LD32-NOSTDLIB-LCXX-NOT: "-lc"
349365

350366
// Check powerpc64-ibm-aix7.1.0.0, 64-bit. -nostdlib.
@@ -365,6 +381,7 @@
365381
// CHECK-LD64-NOSTDLIB-LCXX: "-L[[SYSROOT]]/usr/lib"
366382
// CHECK-LD64-NOSTDLIB-LCXX-NOT: "-lc++"
367383
// CHECK-LD64-NOSTDLIB-LCXX-NOT: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc64.a"
384+
// CHECK-LD64-NOSTDLIB-LCXX-NOT: "-lm"
368385
// CHECK-LD64-NOSTDLIB-LCXX-NOT: "-lc"
369386

370387
// Check powerpc-ibm-aix7.1.0.0, 32-bit. -nostdlib++.
@@ -386,6 +403,7 @@
386403
// CHECK-LD32-NOSTDLIBXX-LCXX: "-L[[SYSROOT]]/usr/lib"
387404
// CHECK-LD32-NOSTDLIBXX-LCXX-NOT: "-lc++"
388405
// CHECK-LD32-NOSTDLIBXX-LCXX: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc.a"
406+
// CHECK-LD32-NOSTDLIBXX-LCXX: "-lm"
389407
// CHECK-LD32-NOSTDLIBXX-LCXX: "-lc"
390408

391409
// Check powerpc64-ibm-aix7.1.0.0, 64-bit. -nostdlib++.
@@ -406,6 +424,7 @@
406424
// CHECK-LD64-NOSTDLIBXX-LCXX: "-L[[SYSROOT]]/usr/lib"
407425
// CHECK-LD64-NOSTDLIBXX-LCXX-NOT: "-lc++"
408426
// CHECK-LD64-NOSTDLIBXX-LCXX: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc64.a"
427+
// CHECK-LD64-NOSTDLIBXX-LCXX: "-lm"
409428
// CHECK-LD64-NOSTDLIBXX-LCXX: "-lc"
410429

411430
// Check powerpc64-ibm-aix7.1.0.0, 32-bit. -nostartfiles.
@@ -424,8 +443,9 @@
424443
// CHECK-LD32-NOSTARTFILES-LCXX-NOT: "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0.o"
425444
// CHECK-LD32-NOSTARTFILES-LCXX-NOT: "[[SYSROOT]]/usr/lib{{/|\\\\}}crti.o"
426445
// CHECK-LD32-NOSTARTFILES-LCXX: "-L[[SYSROOT]]/usr/lib"
427-
// CHECK-LD32-NOSTARTFILES-LCXX "-lc++"
446+
// CHECK-LD32-NOSTARTFILES-LCXX: "-lc++"
428447
// CHECK-LD32-NOSTARTFILES-LCXX: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc.a"
448+
// CHECK-LD32-NOSTARTFILES-LCXX: "-lm"
429449
// CHECK-LD32-NOSTARTFILES-LCXX: "-lc"
430450

431451
// Check powerpc64-ibm-aix7.1.0.0, 64-bit. -nostartfiles.
@@ -446,6 +466,7 @@
446466
// CHECK-LD64-NOSTARTFILES-LCXX: "-L[[SYSROOT]]/usr/lib"
447467
// CHECK-LD64-NOSTARTFILES-LCXX: "-lc++"
448468
// CHECK-LD64-NOSTARTFILES-LCXX: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc64.a"
469+
// CHECK-LD64-NOSTARTFILES-LCXX: "-lm"
449470
// CHECK-LD64-NOSTARTFILES-LCXX: "-lc"
450471

451472
// Check powerpc-ibm-aix7.1.0.0, 32-bit. -stdlib=libstdc++ invokes fatal error.
@@ -483,6 +504,7 @@
483504
// CHECK-LD32-SHARED: "-L[[SYSROOT]]/usr/lib"
484505
// CHECK-LD32-SHARED: "-lc++"
485506
// CHECK-LD32-SHARED: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc.a"
507+
// CHECK-LD32-SHARED: "-lm"
486508
// CHECK-LD32-SHARED: "-lc"
487509

488510
// Check powerpc64-ibm-aix7.1.0.0, 64-bit. -shared.
@@ -505,4 +527,5 @@
505527
// CHECK-LD64-SHARED: "-L[[SYSROOT]]/usr/lib"
506528
// CHECK-LD64-SHARED: "-lc++"
507529
// CHECK-LD64-SHARED: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc64.a"
530+
// CHECK-LD64-SHARED: "-lm"
508531
// CHECK-LD64-SHARED: "-lc"

0 commit comments

Comments
 (0)