[llvm] [LLVM][CMake] Set LANG to "C" before linker detection. (PR #95913)

Carlo Bramini via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 18 05:48:04 PDT 2024


https://github.com/carlo-bramini created https://github.com/llvm/llvm-project/pull/95913

This PR fixes issue  #62634

>From 6d894b440433696e83e78a843c512f529f8c3c55 Mon Sep 17 00:00:00 2001
From: Carlo Bramini <carlo_bramini at users.sourceforge.net>
Date: Tue, 18 Jun 2024 14:46:37 +0200
Subject: [PATCH] [LLVM][CMake] Set LANG to "C" before linker detection.

This PR fixes issue  #62634
---
 llvm/cmake/modules/AddLLVM.cmake | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake
index 03f4e1f190fd9..d6aa7bb7adc91 100644
--- a/llvm/cmake/modules/AddLLVM.cmake
+++ b/llvm/cmake/modules/AddLLVM.cmake
@@ -220,12 +220,22 @@ if (NOT DEFINED LLVM_LINKER_DETECTED AND NOT WIN32)
     separate_arguments(flags UNIX_COMMAND "${CMAKE_EXE_LINKER_FLAGS}")
     set(command ${CMAKE_C_COMPILER} ${flags} ${version_flag} -o ${DEVNULL})
   endif()
+
+  # Save current LANG environment variable and set it to "C"
+  set(old_LANG $ENV{LANG})
+  unset(ENV{LANG})
+  set(ENV{LANG} "C")
+
   execute_process(
     COMMAND ${command}
     OUTPUT_VARIABLE stdout
     ERROR_VARIABLE stderr
     )
 
+  # Restore original value of LANG
+  unset(ENV{LANG})
+  set(ENV{LANG} ${old_LANG})
+
   if(APPLE)
     if("${stderr}" MATCHES "PROGRAM:ld")
       set(LLVM_LINKER_DETECTED YES CACHE INTERNAL "")



More information about the llvm-commits mailing list