Skip to content

Commit 22ed7eb

Browse files
committed
FortranRuntime -> flang_rt
1 parent c77098f commit 22ed7eb

27 files changed

+97
-60
lines changed

clang/lib/Driver/ToolChains/CommonArgs.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1317,7 +1317,7 @@ void tools::addOpenMPHostOffloadingArgs(const Compilation &C,
13171317
/// Add Fortran runtime libs
13181318
void tools::addFortranRuntimeLibs(const ToolChain &TC, const ArgList &Args,
13191319
llvm::opt::ArgStringList &CmdArgs) {
1320-
// Link FortranRuntime
1320+
// Link flang_rt
13211321
// These are handled earlier on Windows by telling the frontend driver to
13221322
// add the correct libraries to link against as dependents in the object
13231323
// file.
@@ -1333,7 +1333,7 @@ void tools::addFortranRuntimeLibs(const ToolChain &TC, const ArgList &Args,
13331333
if (AsNeeded)
13341334
addAsNeededOption(TC, Args, CmdArgs, /*as_needed=*/false);
13351335
}
1336-
CmdArgs.push_back("-lFortranRuntime");
1336+
CmdArgs.push_back("-lflang_rt");
13371337
addArchSpecificRPath(TC, Args, CmdArgs);
13381338
}
13391339

clang/lib/Driver/ToolChains/Flang.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -356,26 +356,26 @@ static void processVSRuntimeLibrary(const ToolChain &TC, const ArgList &Args,
356356
case options::OPT__SLASH_MT:
357357
CmdArgs.push_back("-D_MT");
358358
CmdArgs.push_back("--dependent-lib=libcmt");
359-
CmdArgs.push_back("--dependent-lib=FortranRuntime.static.lib");
359+
CmdArgs.push_back("--dependent-lib=flang_rt.static.lib");
360360
break;
361361
case options::OPT__SLASH_MTd:
362362
CmdArgs.push_back("-D_MT");
363363
CmdArgs.push_back("-D_DEBUG");
364364
CmdArgs.push_back("--dependent-lib=libcmtd");
365-
CmdArgs.push_back("--dependent-lib=FortranRuntime.static_dbg.lib");
365+
CmdArgs.push_back("--dependent-lib=flang_rt.static_dbg.lib");
366366
break;
367367
case options::OPT__SLASH_MD:
368368
CmdArgs.push_back("-D_MT");
369369
CmdArgs.push_back("-D_DLL");
370370
CmdArgs.push_back("--dependent-lib=msvcrt");
371-
CmdArgs.push_back("--dependent-lib=FortranRuntime.dynamic.lib");
371+
CmdArgs.push_back("--dependent-lib=flang_rt.dynamic.lib");
372372
break;
373373
case options::OPT__SLASH_MDd:
374374
CmdArgs.push_back("-D_MT");
375375
CmdArgs.push_back("-D_DEBUG");
376376
CmdArgs.push_back("-D_DLL");
377377
CmdArgs.push_back("--dependent-lib=msvcrtd");
378-
CmdArgs.push_back("--dependent-lib=FortranRuntime.dynamic_dbg.lib");
378+
CmdArgs.push_back("--dependent-lib=flang_rt.dynamic_dbg.lib");
379379
break;
380380
}
381381
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#===-- unittests/Evaluate/CMakeLists.txt -----------------------------------===#
2+
#
3+
# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4+
# See https://llvm.org/LICENSE.txt for license information.
5+
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6+
#
7+
#===------------------------------------------------------------------------===#
8+
9+
add_flang_nongtest_unittest(reshape
10+
FortranEvaluateTesting
11+
FortranSemantics
12+
FortranEvaluate
13+
flang_rt
14+
)
15+
16+
add_flang_nongtest_unittest(ISO-Fortran-binding
17+
FortranEvaluateTesting
18+
FortranEvaluate
19+
FortranSemantics
20+
flang_rt
21+
)

flang/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ set(FLANG_DEFAULT_LINKER "" CACHE STRING
285285
"Default linker to use (linker name or absolute path, empty for platform default)")
286286

287287
set(FLANG_DEFAULT_RTLIB "" CACHE STRING
288-
"Default Fortran runtime library to use (\"libFortranRuntime\"), leave empty for platform default.")
288+
"Default Fortran runtime library to use (\"libflang_rt\"), leave empty for platform default.")
289289

290290
if (NOT(FLANG_DEFAULT_RTLIB STREQUAL ""))
291291
message(WARNING "Resetting Flang's default runtime library to use platform default.")

flang/docs/FlangDriver.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -175,18 +175,18 @@ like this:
175175

176176
```
177177
$ flang -v -o example example.o
178-
"/usr/bin/ld" [...] example.o [...] "-lFortranRuntime" [...]
178+
"/usr/bin/ld" [...] example.o [...] "-lflang_rt" [...]
179179
```
180180

181181
The automatically added libraries are:
182182

183-
* `FortranRuntime`: Provides most of the Flang runtime library.
183+
* `flang_rt`: Provides most of the Flang runtime library.
184184

185185
If the code is C/C++ based and invokes Fortran routines, one can either use Clang
186186
or Flang as the linker driver. If Clang is used, it will automatically all
187187
required runtime libraries needed by C++ (e.g., for STL) to the linker invocation.
188-
In this case, one has to explicitly provide the Fortran runtime libraries
189-
`FortranRuntime`. An alternative is to use Flang to link.
188+
In this case, one has to explicitly provide the Fortran runtime library
189+
`flang_rt`. An alternative is to use Flang to link.
190190
In this case, it may be required to explicitly supply C++ runtime libraries.
191191

192192
On Darwin, the logical root where the system libraries are located (sysroot)

flang/docs/GettingStarted.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ cmake \
216216
-DCMAKE_CUDA_COMPILER=clang \
217217
-DCMAKE_CUDA_HOST_COMPILER=clang++ \
218218
../runtime/
219-
make -j FortranRuntime
219+
make -j flang-rt
220220
```
221221

222222
Note that the used version of `clang` must [support](https://releases.llvm.org/16.0.0/tools/clang/docs/ReleaseNotes.html#cuda-support)
@@ -239,7 +239,7 @@ cmake \
239239
-DCMAKE_CUDA_HOST_COMPILER=clang++ \
240240
../runtime/
241241

242-
make -j FortranRuntime
242+
make -j flang-rt
243243
```
244244

245245
Note that `nvcc` might limit support to certain
@@ -294,7 +294,7 @@ cmake \
294294
-DFLANG_OMP_DEVICE_ARCHITECTURES="all" \
295295
../runtime/
296296

297-
make -j FortranRuntime
297+
make -j flang-rt
298298
```
299299

300300
The result of the build is a "device-only" library, i.e. the host

flang/docs/OpenACC-descriptor-management.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -427,7 +427,7 @@ The implementation's behavior may be described as (OpenACC 2.7.2):
427427
428428
All the "is-present" checks and the data actions for the auxiliary pointers must be performed atomically with regards to the present counters bookkeeping.
429429
430-
The API relies on the primitives provided by `liboffload`, so it is provided by a new F18 runtime library, e.g. `FortranOffloadRuntime`, that depends on `FortranRuntime` and `liboffload`. The F18 driver adds `FortranOffloadRuntime` for linking under `-fopenacc`/`-fopenmp` (and maybe additional switches like `-fopenmp-targets`).
430+
The API relies on the primitives provided by `liboffload`, so it is provided by a new F18 runtime library, e.g. `FortranOffloadRuntime`, that depends on `flang_rt` and `liboffload`. The F18 driver adds `FortranOffloadRuntime` for linking under `-fopenacc`/`-fopenmp` (and maybe additional switches like `-fopenmp-targets`).
431431
432432
## TODOs:
433433

flang/docs/ReleaseNotes.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ page](https://llvm.org/releases/).
3636

3737
## Build System Changes
3838

39+
* FortranRuntime has been renamed to `flang_rt`.
40+
3941
## New Issues Found
4042

4143

flang/examples/ExternalHelloWorld/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@ add_llvm_example(external-hello-world
55

66
target_link_libraries(external-hello-world
77
PRIVATE
8-
FortranRuntime
8+
flang_rt
99
)

flang/runtime/CMakeLists.txt

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -236,13 +236,13 @@ set(supported_files
236236
utf.cpp
237237
)
238238

239-
enable_cuda_compilation(FortranRuntime "${supported_files}")
239+
enable_cuda_compilation(flang_rt "${supported_files}")
240240
enable_omp_offload_compilation("${supported_files}")
241241

242242
if (NOT TARGET FortranFloat128Math)
243243
# If FortranFloat128Math is not defined, then we are not building
244244
# standalone FortranFloat128Math library. Instead, include
245-
# the relevant sources into FortranRuntime itself.
245+
# the relevant sources into flang_rt itself.
246246
# The information is provided via FortranFloat128MathILib
247247
# interface library.
248248
get_target_property(f128_sources
@@ -270,47 +270,53 @@ if (NOT TARGET FortranFloat128Math)
270270
endif()
271271

272272
if (NOT DEFINED MSVC)
273-
add_flang_library(FortranRuntime
273+
add_flang_library(flang_rt
274274
${sources}
275275

276276
INSTALL_WITH_TOOLCHAIN
277277
)
278278
else()
279-
add_flang_library(FortranRuntime
279+
add_flang_library(flang_rt
280280
${sources}
281281
)
282282
set(CMAKE_MSVC_RUNTIME_LIBRARY MultiThreaded)
283-
add_flang_library(FortranRuntime.static ${sources}
283+
add_flang_library(flang_rt.static ${sources}
284284
INSTALL_WITH_TOOLCHAIN)
285-
set_target_properties(FortranRuntime.static PROPERTIES FOLDER "Flang/Runtime Libraries")
285+
set_target_properties(flang_rt.static PROPERTIES FOLDER "Flang/Runtime Libraries")
286286
set(CMAKE_MSVC_RUNTIME_LIBRARY MultiThreadedDLL)
287-
add_flang_library(FortranRuntime.dynamic ${sources}
287+
add_flang_library(flang_rt.dynamic ${sources}
288288
INSTALL_WITH_TOOLCHAIN)
289-
set_target_properties(FortranRuntime.dynamic PROPERTIES FOLDER "Flang/Runtime Libraries")
289+
set_target_properties(flang_rt.dynamic PROPERTIES FOLDER "Flang/Runtime Libraries")
290290
set(CMAKE_MSVC_RUNTIME_LIBRARY MultiThreadedDebug)
291-
add_flang_library(FortranRuntime.static_dbg ${sources}
291+
add_flang_library(flang_rt.static_dbg ${sources}
292292
INSTALL_WITH_TOOLCHAIN)
293-
set_target_properties(FortranRuntime.static_dbg PROPERTIES FOLDER "Flang/Runtime Libraries")
293+
set_target_properties(flang_rt.static_dbg PROPERTIES FOLDER "Flang/Runtime Libraries")
294294
set(CMAKE_MSVC_RUNTIME_LIBRARY MultiThreadedDebugDLL)
295-
add_flang_library(FortranRuntime.dynamic_dbg ${sources}
295+
add_flang_library(flang_rt.dynamic_dbg ${sources}
296296
INSTALL_WITH_TOOLCHAIN)
297-
set_target_properties(FortranRuntime.dynamic_dbg PROPERTIES FOLDER "Flang/Runtime Libraries")
298-
add_dependencies(FortranRuntime FortranRuntime.static FortranRuntime.dynamic
299-
FortranRuntime.static_dbg FortranRuntime.dynamic_dbg)
297+
set_target_properties(flang_rt.dynamic_dbg PROPERTIES FOLDER "Flang/Runtime Libraries")
298+
add_dependencies(flang_rt flang_rt.static flang_rt.dynamic
299+
flang_rt.static_dbg flang_rt.dynamic_dbg)
300300
endif()
301-
set_target_properties(FortranRuntime PROPERTIES FOLDER "Flang/Runtime Libraries")
301+
set_target_properties(flang_rt PROPERTIES FOLDER "Flang/Runtime Libraries")
302302

303-
# If FortranRuntime is part of a Flang build (and not a separate build) then
303+
# If flang_rt is part of a Flang build (and not a separate build) then
304304
# add dependency to make sure that Fortran runtime library is being built after
305305
# we have the Flang compiler available. This also includes the MODULE files
306306
# that compile when the 'flang' target is built.
307307
#
308308
# TODO: This is a workaround and should be updated when runtime build procedure
309309
# is changed to a regular runtime build. See discussion in PR #95388.
310310
if (TARGET flang AND TARGET module_files)
311-
add_dependencies(FortranRuntime flang module_files)
311+
add_dependencies(flang_rt flang module_files)
312312
endif()
313313

314314
if (FLANG_CUF_RUNTIME)
315315
add_subdirectory(CUDA)
316316
endif()
317+
318+
# Compatibility targets.
319+
add_custom_target(flang-rt)
320+
add_dependencies(flang-rt flang_rt)
321+
add_custom_target(FortranRuntime)
322+
add_dependencies(FortranRuntime flang_rt)

flang/runtime/CUDA/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,6 @@ endif()
3131

3232
target_link_libraries(${CUFRT_LIBNAME}
3333
PRIVATE
34-
FortranRuntime
34+
flang_rt
3535
${CUDA_RT_TARGET}
3636
)

flang/runtime/Float128Math/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ elseif (HAVE_LDBL_MANT_DIG_113)
118118
)
119119
target_sources(FortranFloat128MathILib INTERFACE ${sources})
120120
else()
121-
message(FATAL_ERROR "FortranRuntime cannot build without libm")
121+
message(FATAL_ERROR "flang_rt cannot build without libm")
122122
endif()
123123
else()
124124
# We can use '__float128' version from libc, if it has them.

flang/runtime/time-intrinsic.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ template <typename Unused = void> double GetCpuTime(fallback_implementation) {
6262

6363
#if defined __MINGW32__
6464
// clock_gettime is implemented in the pthread library for MinGW.
65-
// Using it here would mean that all programs that link libFortranRuntime are
65+
// Using it here would mean that all programs that link libflang_rt are
6666
// required to also link to pthread. Instead, don't use the function.
6767
#undef CLOCKID_CPU_TIME
6868
#undef CLOCKID_ELAPSED_TIME

flang/test/CMakeLists.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ set(FLANG_TEST_DEPENDS
7171
llvm-objdump
7272
llvm-readobj
7373
split-file
74-
FortranRuntime
74+
flang_rt
7575
)
7676
if (LLVM_ENABLE_PLUGINS AND NOT WIN32)
7777
list(APPEND FLANG_TEST_DEPENDS Bye)
@@ -119,3 +119,7 @@ if (DEFINED FLANG_TEST_TARGET_TRIPLE)
119119
"to use FLANG_TEST_TARGET_TRIPLE.")
120120
endif()
121121
endif()
122+
123+
# Compatibility targets.
124+
add_custom_target(check-flang-rt)
125+
add_dependencies(check-flang-rt check-flang)

flang/test/Driver/gcc-toolchain-install-dir.f90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
!! Test that --gcc-toolchain and --gcc-install-dir options are working as expected.
2-
!! It does not test cross-compiling (--sysroot), so crtbegin.o, libgcc/compiler-rt, libc, libFortranRuntime, etc. are not supposed to be affected.
2+
!! It does not test cross-compiling (--sysroot), so crtbegin.o, libgcc/compiler-rt, libc, libflang_rt, etc. are not supposed to be affected.
33
!! PREFIX is captured twice because the driver escapes backslashes (occuring in Windows paths) in the -### output, but not on the "Selected GCC installation:" line.
44

55
! RUN: %flang 2>&1 -### -v -o %t %s -no-integrated-as -fuse-ld=ld --target=i386-unknown-linux-gnu --gcc-install-dir=%S/Inputs/basic_cross_linux_tree/usr/lib/gcc/i386-unknown-linux-gnu/10.2.0 | FileCheck %s --check-prefix=CHECK-I386

flang/test/Driver/linker-flags.f90

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,26 +33,26 @@
3333
! SOLARIS-F128NONE-NOT: FortranFloat128Math
3434
! UNIX-F128LIBQUADMATH-SAME: "-lFortranFloat128Math" "--as-needed" "-lquadmath" "--no-as-needed"
3535
! SOLARIS-F128LIBQUADMATH-SAME: "-lFortranFloat128Math" "-z" "ignore" "-lquadmath" "-z" "record"
36-
! UNIX-SAME: "-lFortranRuntime" "-lm"
36+
! UNIX-SAME: "-lflang_rt" "-lm"
3737
! COMPILER-RT: "{{.*}}{{\\|/}}libclang_rt.builtins.a"
3838

3939
! DARWIN-LABEL: "{{.*}}ld{{(\.exe)?}}"
4040
! DARWIN-SAME: "[[object_file]]"
4141
! DARWIN-F128NONE-NOT: FortranFloat128Math
4242
! DARWIN-F128LIBQUADMATH-SAME: "-lFortranFloat128Math" "--as-needed" "-lquadmath" "--no-as-needed"
43-
! DARWIN-SAME: -lFortranRuntime
43+
! DARWIN-SAME: -lflang_rt
4444

4545
! HAIKU-LABEL: "{{.*}}ld{{(\.exe)?}}"
4646
! HAIKU-SAME: "[[object_file]]"
4747
! HAIKU-F128NONE-NOT: FortranFloat128Math
4848
! HAIKU-F128LIBQUADMATH-SAME: "-lFortranFloat128Math" "--as-needed" "-lquadmath" "--no-as-needed"
49-
! HAIKU-SAME: "-lFortranRuntime"
49+
! HAIKU-SAME: "-lflang_rt"
5050

5151
! MINGW-LABEL: "{{.*}}ld{{(\.exe)?}}"
5252
! MINGW-SAME: "[[object_file]]"
5353
! MINGW-F128NONE-NOT: FortranFloat128Math
5454
! MINGW-F128LIBQUADMATH-SAME: "-lFortranFloat128Math" "--as-needed" "-lquadmath" "--no-as-needed"
55-
! MINGW-SAME: -lFortranRuntime
55+
! MINGW-SAME: -lflang_rt
5656

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

flang/test/Driver/msvc-dependent-lib-flags.f90

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,26 +7,26 @@
77
! MSVC-SAME: --dependent-lib=clang_rt.builtins.lib
88
! MSVC-SAME: -D_MT
99
! MSVC-SAME: --dependent-lib=libcmt
10-
! MSVC-SAME: --dependent-lib=FortranRuntime.static.lib
10+
! MSVC-SAME: --dependent-lib=flang_rt.static.lib
1111

1212
! MSVC-DEBUG: -fc1
1313
! MSVC-DEBUG-SAME: --dependent-lib=clang_rt.builtins.lib
1414
! MSVC-DEBUG-SAME: -D_MT
1515
! MSVC-DEBUG-SAME: -D_DEBUG
1616
! MSVC-DEBUG-SAME: --dependent-lib=libcmtd
17-
! MSVC-DEBUG-SAME: --dependent-lib=FortranRuntime.static_dbg.lib
17+
! MSVC-DEBUG-SAME: --dependent-lib=flang_rt.static_dbg.lib
1818

1919
! MSVC-DLL: -fc1
2020
! MSVC-DLL-SAME: --dependent-lib=clang_rt.builtins.lib
2121
! MSVC-DLL-SAME: -D_MT
2222
! MSVC-DLL-SAME: -D_DLL
2323
! MSVC-DLL-SAME: --dependent-lib=msvcrt
24-
! MSVC-DLL-SAME: --dependent-lib=FortranRuntime.dynamic.lib
24+
! MSVC-DLL-SAME: --dependent-lib=flang_rt.dynamic.lib
2525

2626
! MSVC-DLL-DEBUG: -fc1
2727
! MSVC-DLL-DEBUG-SAME: --dependent-lib=clang_rt.builtins.lib
2828
! MSVC-DLL-DEBUG-SAME: -D_MT
2929
! MSVC-DLL-DEBUG-SAME: -D_DEBUG
3030
! MSVC-DLL-DEBUG-SAME: -D_DLL
3131
! MSVC-DLL-DEBUG-SAME: --dependent-lib=msvcrtd
32-
! MSVC-DLL-DEBUG-SAME: --dependent-lib=FortranRuntime.dynamic_dbg.lib
32+
! MSVC-DLL-DEBUG-SAME: --dependent-lib=flang_rt.dynamic_dbg.lib

flang/test/Driver/nostdlib.f90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,5 @@
2424
! in certain cases. But it is not clear that it is worth checking for each
2525
! platform individually.
2626

27-
! CHECK-NOT: "-lFortranRuntime"
27+
! CHECK-NOT: "-lflang_rt"
2828
! CHECK-NOT: "-lgcc"

flang/test/Runtime/no-cpp-dep.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
22
This test makes sure that flang's runtime does not depend on the C++ runtime
3-
library. It tries to link this simple file against libFortranRuntime.a with
3+
library. It tries to link this simple file against libflang_rt.a with
44
a C compiler.
55
66
REQUIRES: c-compiler

flang/test/lit.cfg.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@
167167
# the C++ runtime libraries. For this we need a C compiler. If for some reason
168168
# we don't have one, we can just disable the test.
169169
if config.cc:
170-
libruntime = os.path.join(config.flang_lib_dir, "libFortranRuntime.a")
170+
libruntime = os.path.join(config.flang_lib_dir, "libflang_rt.a")
171171
include = os.path.join(config.flang_src_dir, "include")
172172

173173
if (

0 commit comments

Comments
 (0)