[clang] [Clang] Enable -fextend-lifetimes at -Og (PR #118026)

via cfe-commits cfe-commits at lists.llvm.org
Tue Apr 22 19:08:33 PDT 2025


gulfemsavrun wrote:

We started seeing the following failure, and I bisected it to this commit.
```
[1343/43547](319) CXX host_x64/obj/third_party/protobuf/src/google/protobuf/libprotobuf_lite.generated_message_tctable_lite.cc.o
FAILED: [code=1] host_x64/obj/third_party/protobuf/src/google/protobuf/libprotobuf_lite.generated_message_tctable_lite.cc.o 
../../build/rbe/reclient_cxx.sh --working-subdir=out/not-default --exec_strategy=remote_local_fallback --preserve_unchanged_output_mtime --  ../../prebuilt/third_party/clang/linux-x64/bin/clang++ -MD -MF host_x64/obj/third_party/protobuf/src/google/protobuf/libprotobuf_lite.generated_message_tctable_lite.cc.o.d -DTOOLCHAIN_VERSION=xBAWf3R2sN1ViZaJjFVJTCaaAZEuAtpSDTaGs7iC35IC -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES -DGOOGLE_PROTOBUF_NO_RTTI -DHAVE_PTHREAD -I../.. -Ihost_x64/gen -I../../third_party/protobuf/src -I../../third_party/protobuf/third_party/utf8_range -I../../third_party/abseil-cpp -fcolor-diagnostics -fcrash-diagnostics-dir=clang-crashreports -fcrash-diagnostics=all -ffp-contract=off --sysroot=../../prebuilt/third_party/sysroot/linux --target=x86_64-unknown-linux-gnu -ffile-compilation-dir=. -no-canonical-prefixes -fomit-frame-pointer -fdata-sections -ffunction-sections -Og -Xclang -debug-info-kind=constructor -g3 -grecord-gcc-switches -gdwarf-5 -gz=zstd -Wall -Wextra -Wconversion -Wextra-semi -Wimplicit-fallthrough -Wnewline-eof -Wstrict-prototypes -Wwrite-strings -Wno-sign-conversion -Wno-unused-parameter -Wnonportable-system-include-path -Wno-missing-field-initializers -Wno-extra-qualification -Wno-cast-function-type-strict -Wno-cast-function-type-mismatch -Wno-unknown-warning-option -Wno-missing-template-arg-list-after-template-kw -Wno-deprecated-pragma -Wno-nontrivial-memaccess -fvisibility=hidden -Werror -Wa,--fatal-warnings --sysroot=../../prebuilt/third_party/sysroot/linux --target=x86_64-unknown-linux-gnu -Wno-deprecated-pragma -Wno-enum-enum-conversion -Wno-extra-semi -Wno-float-conversion -Wno-implicit-float-conversion -Wno-implicit-int-conversion -Wno-implicit-int-float-conversion -Wno-invalid-noreturn -Wno-missing-field-initializers -Wno-sign-compare -Wno-unused-function -Wno-unused-private-field -Wno-deprecated-declarations -Wno-deprecated-this-capture -Wno-unnecessary-virtual-specifier -Wno-c++98-compat-extra-semi -Wno-shorten-64-to-32 -Wno-sign-compare -Wno-missing-field-initializers -Wno-conversion -Wno-unknown-warning-option -Wno-implicit-int-float-conversion -Wno-array-parameter -Wno-deprecated-builtins -fvisibility-inlines-hidden -stdlib=libc++ -stdlib=libc++ -std=c++20 -Wno-deprecated-this-capture -fno-exceptions -fno-rtti -ftemplate-backtrace-limit=0 -stdlib=libc++ -c ../../third_party/protobuf/src/google/protobuf/generated_message_tctable_lite.cc -o host_x64/obj/third_party/protobuf/src/google/protobuf/libprotobuf_lite.generated_message_tctable_lite.cc.o
../../third_party/protobuf/src/google/protobuf/generated_message_tctable_lite.cc:68:28: error: cannot compile this tail call skipping over cleanups yet
   68 |   PROTOBUF_MUSTTAIL return GenericFallbackImpl<MessageLite, std::string>(
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   69 |       PROTOBUF_TC_PARAM_PASS);
      |       ~~~~~~~~~~~~~~~~~~~~~~~
```

I'm uploading a reproducer.
[clang-crashreports.zip](https://github.com/user-attachments/files/19859700/clang-crashreports.zip)

Any ideas why we might be hitting this issue? This happens during a built with `-Og`, and issue does not remove if I remove `-Og` flag. 


https://github.com/llvm/llvm-project/pull/118026


More information about the cfe-commits mailing list