doxygen: fix gcc getting stuck in an infinite loop (#21614)
This commit is contained in:
parent
e2084ea6fd
commit
a57598defe
2 changed files with 17 additions and 0 deletions
|
@ -0,0 +1,14 @@
|
||||||
|
--- a/src/CMakeLists.txt 2021-02-10 22:55:14.766411242 -0500
|
||||||
|
+++ b/src/CMakeLists.txt 2021-02-10 23:10:17.651541580 -0500
|
||||||
|
@@ -305,6 +305,11 @@
|
||||||
|
xmldocvisitor.cpp
|
||||||
|
xmlgen.cpp
|
||||||
|
)
|
||||||
|
+# Work aroung for GCC bug getting stuck in an infinite loop
|
||||||
|
+if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||||
|
+set_source_files_properties(doxygen.cpp PROPERTIES COMPILE_FLAGS -fno-partial-inlining)
|
||||||
|
+endif()
|
||||||
|
+
|
||||||
|
add_sanitizers(doxymain)
|
||||||
|
|
||||||
|
# LLVM/clang headers give a lot of warnings with -Wshadow and -Wcast-align so we disable them for
|
|
@ -75,6 +75,9 @@ def determine_variants(cls, exes, version_str):
|
||||||
# Also - https://github.com/doxygen/doxygen/pull/6588
|
# Also - https://github.com/doxygen/doxygen/pull/6588
|
||||||
patch('shared_ptr.patch', when='@1.8.14')
|
patch('shared_ptr.patch', when='@1.8.14')
|
||||||
|
|
||||||
|
# Workaround for gcc getting stuck in an infinite loop
|
||||||
|
patch('gcc-partial-inlining-bug.patch', when='@1.8.20: %gcc@7')
|
||||||
|
|
||||||
def patch(self):
|
def patch(self):
|
||||||
if self.spec['iconv'].name == 'libc':
|
if self.spec['iconv'].name == 'libc':
|
||||||
return
|
return
|
||||||
|
|
Loading…
Reference in a new issue