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 target/80303] ICE in output_operand: cannot decompose address w/ -fsanitize=undefined


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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2017-04-11
                 CC|                            |krebbel at gcc dot gnu.org,
                   |                            |vogt at linux dot vnet.ibm.com
     Ever confirmed|0                           |1

--- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> ---
There's a reduced test-case and also reduced flags. Looks it's somehow related
to taking address of a label and the UBSAN is probably not directly involved in
that.

$ cat ice2.f
      double precision function dnrm2 ( n, dx, incx)
      double precision   dx(1), cutlo, cuthi, hitest, sum, xmax,zero,one
   10 assign 30 to next
   20    go to next,(30, 50, 70, 110)
   30 if( dabs(dx(i)) .gt. cutlo) go to 85
      assign 50 to next
   50 if( dx(i) .eq. zero) go to 200
   70 if( dabs(dx(i)) .gt. cutlo ) go to 75
  110 if( dabs(dx(i)) .le. xmax ) go to 115
  115 sum = sum + (dx(i)/xmax)**2
   75 sum = (sum * xmax) * xmax
   85 hitest = cuthi/float( n )
  200 continue
      ix = ix + 1
      if( ix .le. n ) go to 20
      end

$ ./xgcc -B. ice2.f -Os -march=zEC12
-fsanitize=signed-integer-overflow,alignment
...
internal compiler error: output_operand: cannot decompose address
0xb7f717 output_operand_lossage(char const*, ...)
        ../../gcc/final.c:3457
0x13a6665 print_operand_address(_IO_FILE*, rtx_def*)
        ../../gcc/config/s390/s390.c:7325
0xf8bbb2 default_print_operand_address(_IO_FILE*, machine_mode, rtx_def*)
        ../../gcc/targhooks.c:357
0xb8044d output_address(machine_mode, rtx_def*)
        ../../gcc/final.c:3907
0xb7fe53 output_asm_insn(char const*, rtx_def**)
        ../../gcc/final.c:3768
0xb7ed76 final_scan_insn(rtx_insn*, _IO_FILE*, int, int, int*)
        ../../gcc/final.c:3058
0xb7cf20 final(rtx_insn*, _IO_FILE*, int)
        ../../gcc/final.c:2051
0xb815f4 rest_of_handle_final
        ../../gcc/final.c:4489
0xb818c2 execute
        ../../gcc/final.c:4562

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