Bug 54664

Summary: expand_gimple_cond warning for predictably small BRANCH_COST
Product: gcc Reporter: Jorn Wolfgang Rennecke <amylaar>
Component: middle-endAssignee: Not yet assigned to anyone <unassigned>
Status: UNCONFIRMED ---    
Severity: normal CC: hp
Priority: P3    
Version: 4.8.0   
Target Milestone: ---   
Host: Target: pdp11-aout
Build: Known to work:
Known to fail: 4.10.0, 4.9.1 Last reconfirmed: 2013-02-25 00:00:00
Bug Depends on:    
Bug Blocks: 44756    

Description Jorn Wolfgang Rennecke 2012-09-21 18:35:45 UTC
g++ -c   -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE  -fno-exceptions -fno-rtti -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common  -DHAVE_CONFIG_H -I. -I. -I../../../gcc/gcc -I../../../gcc/gcc/. -I../../../gcc/gcc/../include -I../../../gcc/gcc/../libcpp/include  -I../../../gcc/gcc/../libdecnumber -I../../../gcc/gcc/../libdecnumber/dpd -I../libdecnumber    ../../../gcc/gcc/cfgexpand.c -o cfgexpand.o
../../../gcc/gcc/cfgexpand.c: In function ‘basic_block_def* expand_gimple_cond(basic_block, gimple)’:
../../../gcc/gcc/cfgexpand.c:1810:65: error: comparison is always true due to limited range of data type [-Werror=type-limits]
    else if (BRANCH_COST (optimize_insn_for_speed_p (), false) < 4)
                                                                 ^
cc1plus: all warnings being treated as errors
make[2]: *** [cfgexpand.o] Error 1

pdp11.h defines BRANCH_COST as a macro that yield either 0 or 1.

cfgexpand.c:expand_gimple_cond compares this to 4.  Because of the warning
options we use for building cfgexpand.o, we cant't build it for pdp11
configured with --emable-werror-always.
Comment 1 Hans-Peter Nilsson 2014-07-29 11:10:41 UTC
Also seen for 4.9.1 and 4.10.0 i.e. trunk r212879.