https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85874
Bug ID: 85874
Summary: gcc points to wrong location when displaying error
Product: gcc
Version: 8.1.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: asn at samba dot org
Target Milestone: ---
Created attachment 44163
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44163=edit
debug.i
Compiling the latest upstream Samba with -O3, -Werror, among other flags, fails
but doesn't point to the correct error location. The line it's giving us
doesn't make any sense for the error printed.
Below is the failing command and error messages.
gcc -O3 -g -ggdb -Wstrict-overflow -Wall -Wcomment -Wpointer-arith -Wcast-align
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations
-Wdeclaration-after-statement -fstrict-aliasing -DDEVELOPER -DDEBUG_PASSWORD
-fPIC -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -fstack-protector -Wshadow
-Wcast-qual -fno-common -Werror=address -Werror=strict-prototypes
-Werror=write-strings -Werror-implicit-function-declaration
-Werror=pointer-arith -Werror=declaration-after-statement -Werror=return-type
-Wreturn-type -Werror=uninitialized -Wuninitialized -Wimplicit-fallthrough
-Werror=strict-overflow -Wstrict-overflow=2 -Wformat=2 -Wno-format-y2k
-Wno-format-zero-length -Werror=format-security -Wformat-security
-Werror=format -Werror -Wno-error=deprecated-declarations
-Wno-error=tautological-compare -DSTATIC_samba_debug_MODULES=NULL
-DSTATIC_samba_debug_MODULES_PROTO='extern void
__samba_debug_dummy_module_proto(void)' -MD -Idefault/include/public
-I../include/public -Idefault/source4 -I../source4 -Idefault/lib -I../lib
-Idefault/source4/lib -I../source4/lib -Idefault/source4/include
-I../source4/include -Idefault/include -I../include -Idefault/lib/replace
-I../lib/replace -Idefault -I.. -I/usr/local/include -D_SAMBA_BUILD_=4
-DHAVE_CONFIG_H=1 -D_GNU_SOURCE=1 -D_XOPEN_SOURCE_EXTENDED=1
../lib/util/debug.c -c -o default/lib/util/debug_11.o
../lib/util/debug.c: In function ‘debug_parse_levels’:
../lib/util/debug.c:788:5: error: assuming pointer wraparound does not occur
when comparing P +- C1 with P +- C2 [-Werror=strict-overflow]
bool debug_parse_levels(const char *params_str)
^~
cc1: all warnings being treated as errors