[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 03:57:44 PDT 2025
https://github.com/penguin-wwy created https://github.com/llvm/llvm-project/pull/144331
In the case of re-entrance, an error will be reported for valid values.
```
CMake Error at cmake/modules/HandleLLVMOptions.cmake:210 (message):
Unknown value for LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING: "0"!
```
For example, in downstream projects:
https://github.com/llvm/torch-mlir/pull/4230#issuecomment-2975972970
>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] 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.
More information about the llvm-commits
mailing list