
The PR is to generalize the re-use of the `compilerRT` code of adding the path of `libflang_rt.runtime.a (so)` from AIX and LoP only to all platforms via a new function `addFlangRTLibPath`. It also added `-static-libflangrt` and `-shared-libflangrt` compiler options to allow users choosing which `flang-rt` to link to. It defaults to shared `flang-rt`, which is consistent with the linker behavior, except on AIX, it defaults to static. Also, PR #134320 exposed an issue in PR #131041 that the the overriding `addFortranRuntimeLibs` is missing the link to `libquadmath`. This PR also fixed that and restored the test case that PR #131041 broke.
39 lines
1.3 KiB
C++
39 lines
1.3 KiB
C++
//===--- PPCLinux.h - PowerPC ToolChain Implementations ---------*- C++ -*-===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_PPC_LINUX_H
|
|
#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_PPC_LINUX_H
|
|
|
|
#include "Linux.h"
|
|
|
|
namespace clang {
|
|
namespace driver {
|
|
namespace toolchains {
|
|
|
|
class LLVM_LIBRARY_VISIBILITY PPCLinuxToolChain : public Linux {
|
|
public:
|
|
PPCLinuxToolChain(const Driver &D, const llvm::Triple &Triple,
|
|
const llvm::opt::ArgList &Args);
|
|
|
|
void
|
|
AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs,
|
|
llvm::opt::ArgStringList &CC1Args) const override;
|
|
|
|
private:
|
|
bool SupportIEEEFloat128(const Driver &D, const llvm::Triple &Triple,
|
|
const llvm::opt::ArgList &Args) const;
|
|
bool supportIBMLongDouble(const Driver &D,
|
|
const llvm::opt::ArgList &Args) const;
|
|
};
|
|
|
|
} // end namespace toolchains
|
|
} // end namespace driver
|
|
} // end namespace clang
|
|
|
|
#endif // LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_PPC_LINUX_H
|