This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/31641] [4.1/4.2/4.3 Regression] ICE in s390_expand_setmem, at config/s390/s390.c:3618
- From: "krebbel at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 23 Apr 2007 11:22:01 -0000
- Subject: [Bug target/31641] [4.1/4.2/4.3 Regression] ICE in s390_expand_setmem, at config/s390/s390.c:3618
- References: <bug-31641-12387@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #2 from krebbel at gcc dot gnu dot org 2007-04-23 12:21 -------
In your example the memset function is called with -1 as length argument. When
GCC tries to expand this as a builtin function an assertion in the s390 back
end function s390_expand_setmem is triggered. Although an ICE is the wrong
thing to respond I would consider it a code bug as well. I've proposed a patch
to issue a proper error message and call the library function in that
situation. The library function probably would write one byte below the target
address causing a segfault for a -1 length which is most likely not what the
programmer intended but thats what would happen in the -O0 as well.
--
krebbel at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2007-04-23 12:21:59
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31641