File tree Expand file tree Collapse file tree 3 files changed +27
-0
lines changed Expand file tree Collapse file tree 3 files changed +27
-0
lines changed Original file line number Diff line number Diff line change @@ -874,6 +874,10 @@ option (LLVM_VERSION_PRINTER_SHOW_HOST_TARGET_INFO
874874option (LLVM_VERSION_PRINTER_SHOW_BUILD_CONFIG
875875 "Show the optional build config flags when tools are invoked with --version." ON )
876876
877+ set (LLVM_CRASH_DIAGNOSTICS "" CACHE STRING "Control when to generate reproducer. Can be OFF, COMPILER, ALL" )
878+ set (LLVM_CRASH_DIAGNOSTICS_DIR "" CACHE STRING "Path to use for crash reproducers" )
879+ set (LLVM_ERROR_REPRODUCERS OFF CACHE BOOL "Generate a reproducer in the case of an error" )
880+
877881# You can configure which libraries from LLVM you want to include in the
878882# shared library by setting LLVM_DYLIB_COMPONENTS to a semi-colon delimited
879883# list of LLVM components. All component names handled by llvm-config are valid.
Original file line number Diff line number Diff line change @@ -1433,3 +1433,22 @@ if(LLVM_ENABLE_LLVM_LIBC)
14331433 message (WARNING "Unable to link against LLVM libc. LLVM will be built without linking against the LLVM libc overlay." )
14341434 endif ()
14351435endif ()
1436+
1437+ if (LLVM_CRASH_DIAGNOSTICS)
1438+ string (TOLOWER "${LLVM_CRASH_DIAGNOSTICS} " LLVM_CRASH_DIAGNOSTICS)
1439+ check_c_compiler_flag("-fcrash-diagnostics=${LLVM_CRASH_DIAGNOSTICS} " SUPPORTS_FCRASH_DIAGNOSTICS)
1440+ append_if(SUPPORTS_FCRASH_DIAGNOSTICS "-fcrash-diagnostics=${LLVM_CRASH_DIAGNOSTICS} "
1441+ CMAKE_C_FLAGS CMAKE_CXX_FLAGS CMAKE_EXE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS)
1442+ endif ()
1443+
1444+ if (LLVM_CRASH_DIAGNOSTICS_DIR)
1445+ check_c_compiler_flag("-fcrash-diagnostics-dir=foo" SUPPORTS_FCRASH_DIAGNOSTICS_DIR)
1446+ append_if(SUPPORTS_FCRASH_DIAGNOSTICS_DIR "-fcrash-diagnostics-dir=${LLVM_CRASH_DIAGNOSTICS_DIR} "
1447+ CMAKE_C_FLAGS CMAKE_CXX_FLAGS CMAKE_EXE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS)
1448+ endif ()
1449+
1450+ if (LLVM_ERROR_REPRODUCERS)
1451+ check_c_compiler_flag("-gen-reproducer=error" SUPPORTS_GEN_REPRODUCER_ERROR)
1452+ append_if(SUPPORTS_GEN_REPRODUCER_ERROR "-gen-reproducer=error"
1453+ CMAKE_C_FLAGS CMAKE_CXX_FLAGS CMAKE_EXE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS)
1454+ endif ()
Original file line number Diff line number Diff line change @@ -139,6 +139,10 @@ set(LLVM_HAVE_OPT_VIEWER_MODULES @LLVM_HAVE_OPT_VIEWER_MODULES@)
139139set (LLVM_CONFIGURATION_TYPES @CMAKE_CONFIGURATION_TYPES @)
140140set (LLVM_ENABLE_SHARED_LIBS @BUILD_SHARED_LIBS @)
141141
142+ set (LLVM_CRASH_DIAGNOSTICS "@LLVM_CRASH_DIAGNOSTICS@" )
143+ set (LLVM_CRASH_DIAGNOSTICS_DIR "@LLVM_CRASH_DIAGNOSTICS_DIR@" )
144+ set (LLVM_ERROR_REPRODUCERS "@LLVM_ERROR_REPRODUCERS@" )
145+
142146set (LLVM_DEFAULT_EXTERNAL_LIT "@LLVM_CONFIG_DEFAULT_EXTERNAL_LIT@" )
143147set (LLVM_LIT_ARGS "@LLVM_LIT_ARGS@" )
144148
You can’t perform that action at this time.
0 commit comments