This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/81269] New: wrong color highlighting in -Wrestrict warnings
- From: "msebor at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 30 Jun 2017 19:57:21 +0000
- Subject: [Bug c/81269] New: wrong color highlighting in -Wrestrict warnings
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81269
Bug ID: 81269
Summary: wrong color highlighting in -Wrestrict warnings
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: msebor at gcc dot gnu.org
Target Milestone: ---
Created attachment 41659
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41659&action=edit
Screenshot showing unexpected colors.
While testing an enhancement to -Wrestrict for sprintf (bug 35503) I noticed
some strange effects in the current implementation of the warning.
For the test case below, the first argument caret are pink, the second green,
the third blue, and the fourth green again.
I see even more unusual behavior in my enhancement.
$ cat b.c && gcc -O2 -S -Wall -Wrestrict b.c
extern int sprintf (char* restrict, const char*, ...);
void sink (void*);
void f (void)
{
char d[5] = "1234";
sprintf (d, "%s %s %s", d, d, d);
sink (d);
}
b.c: In function ‘f’:
b.c:8:12: warning: passing argument 1 to restrict-qualified parameter aliases
with arguments 3, 4, 5 [-Wrestrict]
sprintf (d, "%s %s %s", d, d, d);
^ ~ ~ ~