https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120608

            Bug ID: 120608
           Summary: error: cannot tail-call: other reasons when using
                    address sanitizer
           Product: gcc
           Version: 16.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: carlosgalvezp at gmail dot com
  Target Milestone: ---

Hi,

We are bumping our GCC installation from
6db9d4e954bff3dfd926c7c9b71e41e47b7089c8 to
d5050287acd28cbe23df527605449f514a659bba and we encounter this compile error:

src/google/protobuf/generated_message_tctable_lite.cc:310:45: error: cannot
tail-call: other reasons
  310 |     PROTOBUF_MUSTTAIL return table->fallback(PROTOBUF_TC_PARAM_PASS);
      |                              ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~

We have reported this to the protobuf repo
(https://github.com/protocolbuffers/protobuf/issues/21333), and they suggest to
open a bug report here.

Command to reproduce:

g++ -c -fsanitize=address src/google/protobuf/generated_message_tctable_lite.cc
-I src/ 

The error does not appear if we don't compile with sanitizer.

Source file:
https://github.com/protocolbuffers/protobuf/blob/v21.12/src/google/protobuf/generated_message_tctable_lite.cc

Preprocessed source is attached to this bug report.

Let me know if there's anything else I can provide to help triaging the issue!

Reply via email to