doxygen: fix gcc getting stuck in an infinite loop (#21614)

This commit is contained in:
Chuck Atkins 2021-02-11 10:35:51 -05:00 committed by GitHub
parent e2084ea6fd
commit a57598defe
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 0 deletions

View file

@ -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

View file

@ -75,6 +75,9 @@ def determine_variants(cls, exes, version_str):
# Also - https://github.com/doxygen/doxygen/pull/6588
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):
if self.spec['iconv'].name == 'libc':
return