]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
* builtins.c (c_strlen): Treat an offset too large for a
authorkraai <kraai@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 11 Sep 2001 17:10:15 +0000 (17:10 +0000)
committerkraai <kraai@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 11 Sep 2001 17:10:15 +0000 (17:10 +0000)
HOST_WIDE_INT as out of range.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45550 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/builtins.c

index 74f3fe36b594c2c840368a63dd53e20b7450b895..25bf3ba5d569b91fd71985725c3936ea82e13b7e 100644 (file)
@@ -1,3 +1,8 @@
+2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
+
+       * builtins.c (c_strlen): Treat an offset too large for a
+       HOST_WIDE_INT as out of range.
+
 Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>
 
        * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
index 7cd7e899113d1e8109f91af07d1a039c174e231b..025dd2c5902e7770c11be71d86957abfe55dd6c7 100644 (file)
@@ -265,8 +265,10 @@ c_strlen (src)
 
   /* We have a known offset into the string.  Start searching there for
      a null character if we can represent it as a single HOST_WIDE_INT.  */
-  if (offset_node == 0 || ! host_integerp (offset_node, 0))
+  if (offset_node == 0)
     offset = 0;
+  else if (! host_integerp (offset_node, 0))
+    offset = -1;
   else
     offset = tree_low_cst (offset_node, 0);