Bug 1166173

Summary: gcc internal compiler error with -fsanitize=undefined
Product: [Fedora] Fedora Reporter: Erik Helin <erik.helin>
Component: gccAssignee: Jakub Jelinek <jakub>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 21CC: jakub, law, mpolacek
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-02-17 10:20:51 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
A reproducer that causes internal compiler error in gcc 4.9.2 with -fsanitize=undefined none

Description Erik Helin 2014-11-20 13:58:29 UTC
Created attachment 959377 [details]
A reproducer that causes internal compiler error in gcc 4.9.2 with -fsanitize=undefined

Description of problem:

When compiling the following small program, GCC reports an internal compiler error:

  repro.c: In function ´fun´:
  repro.c: internal compiler error: in gimplify_expr, at gimplify.c:8361
      (int)(1.0 < f ? 1.0 : 0.0);
                ^

Version-Release number of selected component (if applicable):
gcc --version:
gcc (GCC) 4.9.2 20141101 (Red Hat 4.9.2-1)

uname -a:
Linux 3.17.1-302.fc21.x86_64 #1 SMP Fri Oct 17 20:05:46 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

How reproducible:


Steps to Reproduce:
1. Write the following small program to a (repro.c, also attached):
   
   void fun()
   {
       double f = 0.0;
       (int)(1.0 < f ? 1.0 : 0.0);
   }
2. Run: gcc -c -fsanitize=undefined repro.c -o repro.o

Actual results:
  repro.c: In function ´fun´:
  repro.c: internal compiler error: in gimplify_expr, at gimplify.c:8361
      (int)(1.0 < f ? 1.0 : 0.0);

Expected results:
An object file called repro.o

Additional info:
I did not succeed in making a smaller reproducer.

Comment 1 Erik Helin 2014-11-20 13:59:19 UTC
I was not able to create an account on GCC's bugzilla instance, https://gcc.gnu.org/bugzilla/, so I could not file an bug upstream :(

Comment 2 Marek Polacek 2015-01-12 16:57:38 UTC
I think this should be already fixed.

Comment 3 Marek Polacek 2015-02-17 10:20:51 UTC
Closing, as gcc-4.9.2-6.fc21 is pushed.