[llvm] CMake: Fix LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING in reentrancy situa… (PR #144331)

via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 16 07:51:23 PDT 2025


https://github.com/penguin-wwy updated https://github.com/llvm/llvm-project/pull/144331

>From ae5ec9d03a2a253cfaa261437f5fd751b62a88ce Mon Sep 17 00:00:00 2001
From: penguin_wwy <940375606 at qq.com>
Date: Mon, 16 Jun 2025 18:50:25 +0800
Subject: [PATCH 1/2] CMake: Fix LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING in
 reentrancy situation

---
 llvm/cmake/modules/HandleLLVMOptions.cmake | 26 +++++++++++++---------
 1 file changed, 15 insertions(+), 11 deletions(-)

diff --git a/llvm/cmake/modules/HandleLLVMOptions.cmake b/llvm/cmake/modules/HandleLLVMOptions.cmake
index 743eb6f5529f2..267c7cf6049be 100644
--- a/llvm/cmake/modules/HandleLLVMOptions.cmake
+++ b/llvm/cmake/modules/HandleLLVMOptions.cmake
@@ -198,17 +198,21 @@ endif()
 
 string(TOUPPER "${LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING}" uppercase_LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING)
 
-if( uppercase_LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING STREQUAL "COVERAGE" )
-  set( LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING 1 )
-elseif( uppercase_LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING STREQUAL "COVERAGE_AND_ORIGIN" )
-  set( LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING 1 )
-  set( LLVM_ENABLE_DEBUGLOC_ORIGIN_TRACKING 1 )
-elseif( uppercase_LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING STREQUAL "DISABLED" OR NOT DEFINED LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING )
-  # The DISABLED setting is default.
-  set( LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING 0 )
-else()
-  message(FATAL_ERROR "Unknown value for LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING: \"${LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING}\"!")
-endif()
+if( NOT ${LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING} EQUAL 0
+      AND NOT ${LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING} EQUAL 1 )
+  string(TOUPPER "${LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING}" uppercase_LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING)
+  if( uppercase_LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING STREQUAL "COVERAGE" )
+    set( LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING 1 )
+  elseif( uppercase_LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING STREQUAL "COVERAGE_AND_ORIGIN" )
+    set( LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING 1 )
+    set( LLVM_ENABLE_DEBUGLOC_ORIGIN_TRACKING 1 )
+  elseif( uppercase_LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING STREQUAL "DISABLED" OR NOT DEFINED LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING )
+    # The DISABLED setting is default.
+    set( LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING 0 )
+  else()
+    message(FATAL_ERROR "Unknown value for LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING: \"${LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING}\"!")
+  endif()
+endif ()
 # LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING (non-cached) is expected to be
 # 1 or 0 here, assuming referenced in #cmakedefine01.
 

>From 7d9428753390940dce5284f71dd6a76528544fe1 Mon Sep 17 00:00:00 2001
From: penguin_wwy <940375606 at qq.com>
Date: Mon, 16 Jun 2025 22:51:14 +0800
Subject: [PATCH 2/2] Clean code

---
 llvm/cmake/modules/HandleLLVMOptions.cmake | 2 --
 1 file changed, 2 deletions(-)

diff --git a/llvm/cmake/modules/HandleLLVMOptions.cmake b/llvm/cmake/modules/HandleLLVMOptions.cmake
index 267c7cf6049be..02900d23c149b 100644
--- a/llvm/cmake/modules/HandleLLVMOptions.cmake
+++ b/llvm/cmake/modules/HandleLLVMOptions.cmake
@@ -196,8 +196,6 @@ else()
   message(FATAL_ERROR "Unknown value for LLVM_ABI_BREAKING_CHECKS: \"${LLVM_ABI_BREAKING_CHECKS}\"!")
 endif()
 
-string(TOUPPER "${LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING}" uppercase_LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING)
-
 if( NOT ${LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING} EQUAL 0
       AND NOT ${LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING} EQUAL 1 )
   string(TOUPPER "${LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING}" uppercase_LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING)



More information about the llvm-commits mailing list