[Bug 259418] devel/glog: fix build with clang 13

From: <bugzilla-noreply_at_freebsd.org>
Date: Sun, 24 Oct 2021 19:46:24 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259418

            Bug ID: 259418
           Summary: devel/glog: fix build with clang 13
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: sunpoet@FreeBSD.org
          Reporter: dim@FreeBSD.org
             Flags: maintainer-feedback?(sunpoet@FreeBSD.org)
          Assignee: sunpoet@FreeBSD.org

During an exp-run for llvm 13 (see bug 258209), it turned out that devel/glog 
fails to build with clang 13:

FAILED: CMakeFiles/stacktrace_unittest.dir/src/stacktrace_unittest.cc.o 
/usr/bin/c++ -DGFLAGS_IS_A_DLL=0 -DGLOG_NO_SYMBOLIZE_DETECTION
-I/wrkdirs/usr/ports/devel/glog/work/.build
-I/wrkdirs/usr/ports/devel/glog/work/glog-0.5.0/src -isystem /usr/local/include
-O2 -pipe  -fstack-protector-strong -fno-strict-aliasing   -std=c++11 -O2 -pipe
 -fstack-protector-strong -fno-strict-aliasing   -std=c++11 -fvisibility=hidden
-fvisibility-inlines-hidden -Wno-unnamed-type-template-args -MD -MT
CMakeFiles/stacktrace_unittest.dir/src/stacktrace_unittest.cc.o -MF
CMakeFiles/stacktrace_unittest.dir/src/stacktrace_unittest.cc.o.d -o
CMakeFiles/stacktrace_unittest.dir/src/stacktrace_unittest.cc.o -c
/wrkdirs/usr/ports/devel/glog/work/glog-0.5.0/src/stacktrace_unittest.cc
Assertion failed: ((E || !FunctionPass) && "No function transformations should
introduce *new* ref " "edges! Any new ref edges would require IPO which "
"function passes aren't allowed to do!"), function operator(), file
/poudriere/jails/mainamd64PR258209/usr/src/contrib/llvm-project/llvm/lib/Analysis/CGSCCPassManager.cpp,
line 965.
PLEASE submit a bug report to https://bugs.freebsd.org/submit/ and include the
crash backtrace, preprocessed source, and associated run script.

This is due to a clang bug introduced after 13.0 branched, and which has been
reported at https://bugs.llvm.org/show_bug.cgi?id=50881 .

While upstream is working on a fix, I propose to put in a workaround. This
patches CMakeLists.txt to use the -flegacy-pass-manager compiler flag for
stacktrace_unittest.cc, avoiding the assertion.

-- 
You are receiving this mail because:
You are the assignee for the bug.