builtins.c (c_getstr): Correct thinko in last change and further cleanup.
* builtins.c (c_getstr): Correct thinko in last change and further cleanup. From-SVN: r45519
This commit is contained in:
parent
a623ef6e71
commit
bf06b5d841
|
@ -1,3 +1,8 @@
|
||||||
|
Mon Sep 10 16:26:44 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||||||
|
|
||||||
|
* builtins.c (c_getstr): Correct thinko in last change and further
|
||||||
|
cleanup.
|
||||||
|
|
||||||
2001-09-10 Tim Freeman <tim@fungibole.com>
|
2001-09-10 Tim Freeman <tim@fungibole.com>
|
||||||
|
|
||||||
* dwarf2out.c (incomplete_types, decl_scope_table): Make them
|
* dwarf2out.c (incomplete_types, decl_scope_table): Make them
|
||||||
|
|
|
@ -296,29 +296,22 @@ c_getstr (src)
|
||||||
{
|
{
|
||||||
tree offset_node;
|
tree offset_node;
|
||||||
HOST_WIDE_INT offset;
|
HOST_WIDE_INT offset;
|
||||||
int max;
|
|
||||||
const char *ptr;
|
|
||||||
|
|
||||||
src = string_constant (src, &offset_node);
|
src = string_constant (src, &offset_node);
|
||||||
if (src == 0)
|
if (src == 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
max = TREE_STRING_LENGTH (src) - 1;
|
if (offset_node == 0)
|
||||||
ptr = TREE_STRING_POINTER (src);
|
return TREE_STRING_POINTER (src);
|
||||||
|
else if (!host_integerp (offset_node, 1)
|
||||||
if (offset_node == 0 || !host_integerp (offset_node, 0))
|
|| compare_tree_int (offset_node, TREE_STRING_LENGTH (src) - 1) > 0)
|
||||||
return ptr;
|
|
||||||
|
|
||||||
offset = tree_low_cst (offset_node, 0);
|
|
||||||
if (offset < 0 || offset > max)
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
return ptr + offset;
|
return TREE_STRING_POINTER (src) + tree_low_cst (offset_node, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return a CONST_INT or CONST_DOUBLE corresponding to target
|
/* Return a CONST_INT or CONST_DOUBLE corresponding to target reading
|
||||||
reading GET_MODE_BITSIZE (MODE) bits from string constant
|
GET_MODE_BITSIZE (MODE) bits from string constant STR. */
|
||||||
STR. */
|
|
||||||
|
|
||||||
static rtx
|
static rtx
|
||||||
c_readstr (str, mode)
|
c_readstr (str, mode)
|
||||||
|
|
Loading…
Reference in New Issue