[Bug sanitizer/68418] New: ubsan complains about left shifts even with -fwrapv

bonzini at gnu dot org gcc-bugzilla@gcc.gnu.org
Wed Nov 18 16:46:00 GMT 2015


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

            Bug ID: 68418
           Summary: ubsan complains about left shifts even with -fwrapv
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: sanitizer
          Assignee: unassigned at gcc dot gnu.org
          Reporter: bonzini at gnu dot org
                CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org,
                    jakub at gcc dot gnu.org, kcc at gcc dot gnu.org
  Target Milestone: ---

Left shifts into the sign bit is a kind of overflow, and the standard chooses
to treat left shifts of negative values the same way.

However, the -fwrapv option modifies the language to one where integers are
defined as two's complement---which also defines entirely the behavior of
shifts.  Sanitization of left shifts should be disabled when -fwrapv is in
effect.


More information about the Gcc-bugs mailing list