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

            Bug ID: 66751
           Summary: Inline optimizes away function, keeping call to it in
                    code
           Product: gcc
           Version: 5.1.0
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: ipa
          Assignee: unassigned at gcc dot gnu.org
          Reporter: konstantin.vladimirov at gmail dot com
  Target Milestone: ---

Created attachment 35903
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35903&action=edit
reproduction

Using gcc 5.1.0

$ ~/x86-toolchain-5.1/bin/gcc -v
Using built-in specs.
COLLECT_GCC=/home/tilir/x86-toolchain-5.1/bin/gcc
COLLECT_LTO_WRAPPER=/home/tilir/x86-toolchain-5.1/libexec/gcc/x86_64-unknown-linux-gnu/5.1.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-5.1-src/gcc_5_1_0_release/configure
--enable-languages=c,c++ --prefix=/home/tilir/x86-toolchain-5.1/
Thread model: posix
gcc version 5.1.0 (GCC) 

Trying to compile given file (see attachment)

$ ~/x86-toolchain-5.1/bin/gcc -O1 980608-1.c -fdump-tree-all

yields:

/tmp/cczJo9UK.o: In function `main':
980608-1.c:(.text+0x4b): undefined reference to `debug'

Between 980608-1.c.046t.inline_param2 and 980608-1.c.068t.fixup_cfg4 given
function disappears from gimple source (I suspect inliner) but reference to it
is still inside main.

Reply via email to