public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/48666] New: [4.5.2/4.6 regression] -Warray-bounds doesn't trigger anymore for simple case
@ 2011-04-18 13:41 franz.sirl-kernel at lauterbach dot com
2011-06-12 12:38 ` [Bug c/48666] " rguenth at gcc dot gnu.org
` (6 more replies)
0 siblings, 7 replies; 8+ messages in thread
From: franz.sirl-kernel at lauterbach dot com @ 2011-04-18 13:41 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48666
Summary: [4.5.2/4.6 regression] -Warray-bounds doesn't trigger
anymore for simple case
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: franz.sirl-kernel@lauterbach.com
Created attachment 24031
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24031
testcase
A simple testcase like
typedef union
{
int val32;
int val32Tab2[4];
int val32Tab3[3];
long long val64;
} SrcVal;
void f(SrcVal *x)
{
x->val32Tab3[4] = 42;
}
doesn't warn anymore when compiled with -O2 -Warray-bounds.
Tested OK (x86_64):
gcc-4.3 (SLES11): gcc (SUSE Linux) 4.3.4 [gcc-4_3-branch revision 152973]
gcc-4.5.1 (FC14): gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4)
Tested NOT OK (x86_64):
gcc-4.5.2 (OBS): gcc-4.5 (SUSE Linux) 4.5.2 20110302 [gcc-4_5-branch revision
170616]
gcc-4.6.0 (OBS): gcc-4.6 (SUSE Linux) 4.6.0 20110314 [gcc-4_6-branch revision
170941]
gcc-4.6.0 (OBS): gcc-4.6 (SUSE Linux) 4.6.0 20110415 [gcc-4_6-branch revision
172496]
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c/48666] [4.5.2/4.6 regression] -Warray-bounds doesn't trigger anymore for simple case
2011-04-18 13:41 [Bug c/48666] New: [4.5.2/4.6 regression] -Warray-bounds doesn't trigger anymore for simple case franz.sirl-kernel at lauterbach dot com
@ 2011-06-12 12:38 ` rguenth at gcc dot gnu.org
2011-06-12 13:09 ` [Bug middle-end/48666] [4.6/4.7 Regression] " rguenth at gcc dot gnu.org
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: rguenth at gcc dot gnu.org @ 2011-06-12 12:38 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48666
Richard Guenther <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |4.5.4
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug middle-end/48666] [4.6/4.7 Regression] -Warray-bounds doesn't trigger anymore for simple case
2011-04-18 13:41 [Bug c/48666] New: [4.5.2/4.6 regression] -Warray-bounds doesn't trigger anymore for simple case franz.sirl-kernel at lauterbach dot com
2011-06-12 12:38 ` [Bug c/48666] " rguenth at gcc dot gnu.org
@ 2011-06-12 13:09 ` rguenth at gcc dot gnu.org
2011-06-27 15:38 ` jakub at gcc dot gnu.org
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: rguenth at gcc dot gnu.org @ 2011-06-12 13:09 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48666
Richard Guenther <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P2
Status|UNCONFIRMED |NEW
Known to work| |4.3.4, 4.4.5
Keywords| |diagnostic
Last reconfirmed| |2011.06.12 13:08:46
Component|c |middle-end
Ever Confirmed|0 |1
Summary|[4.5.2/4.6 regression] |[4.6/4.7 Regression]
|-Warray-bounds doesn't |-Warray-bounds doesn't
|trigger anymore for simple |trigger anymore for simple
|case |case
Target Milestone|4.5.4 |4.6.1
Known to fail| |4.6.0, 4.7.0
--- Comment #1 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-06-12 13:08:46 UTC ---
Array bound warnings with unions are quite fragile.
Warns with 4.5.3 as shipped by Debian, so confirmed only for 4.6.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug middle-end/48666] [4.6/4.7 Regression] -Warray-bounds doesn't trigger anymore for simple case
2011-04-18 13:41 [Bug c/48666] New: [4.5.2/4.6 regression] -Warray-bounds doesn't trigger anymore for simple case franz.sirl-kernel at lauterbach dot com
2011-06-12 12:38 ` [Bug c/48666] " rguenth at gcc dot gnu.org
2011-06-12 13:09 ` [Bug middle-end/48666] [4.6/4.7 Regression] " rguenth at gcc dot gnu.org
@ 2011-06-27 15:38 ` jakub at gcc dot gnu.org
2011-10-26 17:32 ` jakub at gcc dot gnu.org
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-06-27 15:38 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48666
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.6.1 |4.6.2
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-06-27 12:32:46 UTC ---
GCC 4.6.1 is being released.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug middle-end/48666] [4.6/4.7 Regression] -Warray-bounds doesn't trigger anymore for simple case
2011-04-18 13:41 [Bug c/48666] New: [4.5.2/4.6 regression] -Warray-bounds doesn't trigger anymore for simple case franz.sirl-kernel at lauterbach dot com
` (2 preceding siblings ...)
2011-06-27 15:38 ` jakub at gcc dot gnu.org
@ 2011-10-26 17:32 ` jakub at gcc dot gnu.org
2011-12-06 10:27 ` rguenth at gcc dot gnu.org
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-10-26 17:32 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48666
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.6.2 |4.6.3
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-10-26 17:13:32 UTC ---
GCC 4.6.2 is being released.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug middle-end/48666] [4.6/4.7 Regression] -Warray-bounds doesn't trigger anymore for simple case
2011-04-18 13:41 [Bug c/48666] New: [4.5.2/4.6 regression] -Warray-bounds doesn't trigger anymore for simple case franz.sirl-kernel at lauterbach dot com
` (3 preceding siblings ...)
2011-10-26 17:32 ` jakub at gcc dot gnu.org
@ 2011-12-06 10:27 ` rguenth at gcc dot gnu.org
2011-12-06 13:09 ` franz.sirl-kernel at lauterbach dot com
2011-12-06 13:25 ` manu at gcc dot gnu.org
6 siblings, 0 replies; 8+ messages in thread
From: rguenth at gcc dot gnu.org @ 2011-12-06 10:27 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48666
Richard Guenther <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |INVALID
--- Comment #4 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-12-06 10:26:54 UTC ---
By design:
/* Accesses to trailing arrays via pointers may access storage
beyond the types array bounds. */
...
/* If this is the last field in a struct type or a field in a
union type do not warn. */
if (!next)
return;
both val32Tab2 and val32Tab3 might be allocated larger and used
as trailing array. We'd warn during GCC bootstrap for our RTX union
for example.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug middle-end/48666] [4.6/4.7 Regression] -Warray-bounds doesn't trigger anymore for simple case
2011-04-18 13:41 [Bug c/48666] New: [4.5.2/4.6 regression] -Warray-bounds doesn't trigger anymore for simple case franz.sirl-kernel at lauterbach dot com
` (4 preceding siblings ...)
2011-12-06 10:27 ` rguenth at gcc dot gnu.org
@ 2011-12-06 13:09 ` franz.sirl-kernel at lauterbach dot com
2011-12-06 13:25 ` manu at gcc dot gnu.org
6 siblings, 0 replies; 8+ messages in thread
From: franz.sirl-kernel at lauterbach dot com @ 2011-12-06 13:09 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48666
--- Comment #5 from franz.sirl-kernel at lauterbach dot com 2011-12-06 13:09:25 UTC ---
(In reply to comment #4)
I see. Does it make sense to file an enhancement request for something like
-Warray-bounds=strict ? In our case the code was really wrong and the warning
was helpful.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug middle-end/48666] [4.6/4.7 Regression] -Warray-bounds doesn't trigger anymore for simple case
2011-04-18 13:41 [Bug c/48666] New: [4.5.2/4.6 regression] -Warray-bounds doesn't trigger anymore for simple case franz.sirl-kernel at lauterbach dot com
` (5 preceding siblings ...)
2011-12-06 13:09 ` franz.sirl-kernel at lauterbach dot com
@ 2011-12-06 13:25 ` manu at gcc dot gnu.org
6 siblings, 0 replies; 8+ messages in thread
From: manu at gcc dot gnu.org @ 2011-12-06 13:25 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48666
Manuel López-Ibáñez <manu at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |manu at gcc dot gnu.org
--- Comment #6 from Manuel López-Ibáñez <manu at gcc dot gnu.org> 2011-12-06 13:25:11 UTC ---
Clang warns:
pr48666.c:11:3: warning: array index of '4' indexes past the end of an array
(that contains 3 elements) [-Warray-bounds]
x->val32Tab3[4] = 42;
^ ~
pr48666.c:5:3: note: array 'val32Tab3' declared here
int val32Tab3[3];
^
1 warning generated.
It seems they took the opposite view:
http://llvm.org/bugs/show_bug.cgi?id=10871
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2011-12-06 13:25 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-04-18 13:41 [Bug c/48666] New: [4.5.2/4.6 regression] -Warray-bounds doesn't trigger anymore for simple case franz.sirl-kernel at lauterbach dot com
2011-06-12 12:38 ` [Bug c/48666] " rguenth at gcc dot gnu.org
2011-06-12 13:09 ` [Bug middle-end/48666] [4.6/4.7 Regression] " rguenth at gcc dot gnu.org
2011-06-27 15:38 ` jakub at gcc dot gnu.org
2011-10-26 17:32 ` jakub at gcc dot gnu.org
2011-12-06 10:27 ` rguenth at gcc dot gnu.org
2011-12-06 13:09 ` franz.sirl-kernel at lauterbach dot com
2011-12-06 13:25 ` manu at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).