Revert use of Clang config files
This reverts commit49db4a3a15,9f1f0104f1,4f95c14adf,c34dc64028,570fdcd251,4bff0298c5and6939aee0c0. When relying on Clang config files, two issues appeared: - Running the compiler-rt tests fails, because the compiler-rt tests disable any default config files, breaking the compiler in this case: https://github.com/llvm/llvm-project/blob/llvmorg-19.1.1/compiler-rt/test/lit.common.cfg.py#L983 - Wine fails to build using llvm-mingw as cross compiler, because Wine adds the --no-default-config flag to Clang while compiling, if supported: https://gitlab.winehq.org/wine/wine/-/blob/wine-9.19/configure.ac?ref_type=tags#L866-868 This causes llvm-mingw to omit the -rtlib=compiler-rt option (specified in a config file), making the compiler look for libgcc instead. Doing a check to see that linking succeeds doesn't necessarily help here - such a check already exists, but it tests linking with -nostdlib -nodefaultlibs: https://gitlab.winehq.org/wine/wine/-/blob/wine-9.19/aclocal.m4?ref_type=tags#L193-L206
This commit is contained in:
1 parent
49db4a3a15
commit
e0964ce24c
14 files changed
+119
-31
No files matched your search
@@ -63,7 +63,7 @@ int _tmain(int argc, TCHAR *argv[]) {
|
||||
if (sep)
|
||||
*sep = '\0';
|
||||
TCHAR *dash = _tcsrchr(cmd_exe, '-');
|
||||
int has_target = 0;
|
||||
const TCHAR *target = NULL;
|
||||
if (dash) {
|
||||
*dash = '\0';
|
||||
const TCHAR *cmd_exe_suffix = dash + 1;
|
||||
@@ -76,15 +76,14 @@ int _tmain(int argc, TCHAR *argv[]) {
|
||||
!_tcscmp(cmd_exe_suffix, _T("cc")) ||
|
||||
!_tcscmp(cmd_exe_suffix, _T("c99")) ||
|
||||
!_tcscmp(cmd_exe_suffix, _T("c11"))) {
|
||||
has_target = 1;
|
||||
target = cmd_exe;
|
||||
}
|
||||
}
|
||||
const TCHAR *target = NULL;
|
||||
#ifdef _WIN32
|
||||
// On Windows, we want to set our default target even if no target
|
||||
// was found in cmd_exe, as we want to support running with a foreign
|
||||
// clang-scan-deps-real.exe binary, that could have any default.
|
||||
if (!has_target)
|
||||
if (!target)
|
||||
target = _T(DEFAULT_TARGET);
|
||||
#endif
|
||||
|
||||
@@ -93,6 +92,7 @@ int _tmain(int argc, TCHAR *argv[]) {
|
||||
// -target after cmd_exe.
|
||||
exec_argv[arg++] = _T("-target");
|
||||
exec_argv[arg++] = target;
|
||||
exec_argv[arg++] = _T("-stdlib=libc++");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user