This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/67739] New: name clash between builtin functions and local variables when optimization is on


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

            Bug ID: 67739
           Summary: name clash between builtin functions and local
                    variables when optimization is on
           Product: gcc
           Version: 4.9.3
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: milan.durovic at ali dot com.au
  Target Milestone: ---

Created attachment 36404
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36404&action=edit
simple test program illustrating the problem with gcc 4.8.1

This bug also appears in 4.8.1 version.

We have a local static array called 'sincos'. The code is calculating sin() and
cos() of the same value.

Compiler generates a call to 'sincos' method. However, the address of 'sincos'
method is resolved to be the address of the local static variable of the same
name, leading to an error. Compiler hasn't generated ANY warnings about this
name clash.

Identical problem exists in 4.8.1 compiler, except that here the function name
is 'sincosf'. It seems like this is a long standing error.


Compiler invocation:

gcc -O1 -lm test.c -Wall -Wextra -save-temps

Then:

./a.out

does segmentation fault.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]