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

            Bug ID: 77750
           Summary: gcc build not working with -O0
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: lkrupp at gcc dot gnu.org
  Target Milestone: ---

Created attachment 39694
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39694&action=edit
Possible patch (correctly formatted magic "fall through" comments)

Within the last day or so, building GCC with this command:

make BOOT_CFLAGS='-O0' CFLAGS_FOR_TARGET='-O0' CFLAGS_FOR_BUILD='-O0'

started failing with these warnings, which are treated as errors:

../../gcc_trunk/gcc/combine.c: In function 'rtx_code
simplify_compare_const(rtx_code, machine_mode, rtx, rtx_def**)':
../../gcc_trunk/gcc/combine.c:11364:7: error: this statement may fall through
[-Werror=implicit-fallthrough]
       if (const_op > 0)
       ^~
../../gcc_trunk/gcc/combine.c:11373:5: note: here
     case LE:
     ^~~~
../../gcc_trunk/gcc/combine.c:11393:7: error: this statement may fall through
[-Werror=implicit-fallthrough]
       if (const_op > 0)
       ^~
../../gcc_trunk/gcc/combine.c:11402:5: note: here
     case GT:
     ^~~~
../../gcc_trunk/gcc/combine.c: In function 'rtx_code
simplify_comparison(rtx_code, rtx_def**, rtx_def**)':
../../gcc_trunk/gcc/combine.c:11924:4: error: this statement may fall through
[-Werror=implicit-fallthrough]
    if (subreg_lowpart_p (op0)
    ^~
../../gcc_trunk/gcc/combine.c:11932:2: note: here
  case ZERO_EXTEND:
  ^~~~
../../gcc_trunk/gcc/combine.c:12340:6: error: this statement may fall through
[-Werror=implicit-fallthrough]
      }
      ^
../../gcc_trunk/gcc/combine.c:12343:2: note: here
  case LSHIFTRT:
  ^~~~
../../gcc_trunk/gcc/fold-const.c: In function 'tree_node*
extract_muldiv_1(tree, tree, tree_code, tree, bool*)':
../../gcc_trunk/gcc/fold-const.c:6276:7: error: this statement may fall through
[-Werror=implicit-fallthrough]
       if ((code == TRUNC_MOD_EXPR || code == CEIL_MOD_EXPR
       ^~
../../gcc_trunk/gcc/fold-const.c:6289:5: note: here
     case TRUNC_DIV_EXPR:  case CEIL_DIV_EXPR:  case FLOOR_DIV_EXPR:
     ^~~~

The build works without the '-O0' flags.

Reply via email to