+2015-11-09 Alan Modra <amodra@gmail.com>
+
+ * gensupport.c (add_mnemonic_string): Make len param a size_t.
+ (gen_mnemonic_setattr): Make "size" var a size_t. Use
+ obstack_blank_fast to shrink obstack. Cast obstack_next_free
+ return value.
+
2015-11-09 Segher Boessenkool <segher@kernel.crashing.org>
PR rtl-optimization/68182
and a permanent heap copy of STR is created. */
static void
-add_mnemonic_string (htab_t mnemonic_htab, const char *str, int len)
+add_mnemonic_string (htab_t mnemonic_htab, const char *str, size_t len)
{
char *new_str;
void **slot;
for (i = 0; *cp; )
{
const char *ep, *sp;
- int size = 0;
+ size_t size = 0;
while (ISSPACE (*cp))
cp++;
{
/* Don't set a value if there are more than one
instruction in the string. */
- obstack_next_free (&string_obstack) =
- obstack_next_free (&string_obstack) - size;
+ obstack_blank_fast (&string_obstack, -size);
size = 0;
cp = sp;
obstack_1grow (&string_obstack, '*');
else
add_mnemonic_string (mnemonic_htab,
- obstack_next_free (&string_obstack) - size,
+ (char *) obstack_next_free (&string_obstack) - size,
size);
i++;
}
+2015-11-09 Alan Modra <amodra@gmail.com>
+
+ * objc-encoding.c (encode_aggregate_within): Cast obstack_next_free
+ return value.
+
2015-10-29 Andrew MacLeod <amacleod@redhat.com>
* objc-lang.c: Reorder #include's and remove duplicates.
if (flag_next_runtime)
{
- if (ob_size > 0 && *(obstack_next_free (&util_obstack) - 1) == '^')
+ if (ob_size > 0
+ && *((char *) obstack_next_free (&util_obstack) - 1) == '^')
pointed_to = true;
if ((format == OBJC_ENCODE_INLINE_DEFS || generating_instance_variables)
&& (!pointed_to || ob_size - curtype == 1
|| (ob_size - curtype == 2
- && *(obstack_next_free (&util_obstack) - 2) == 'r')))
+ && *((char *) obstack_next_free (&util_obstack) - 2) == 'r')))
inline_contents = true;
}
else
comment above applies: in that case we should avoid encoding
the names of instance variables.
*/
- char c1 = ob_size > 1 ? *(obstack_next_free (&util_obstack) - 2) : 0;
- char c0 = ob_size > 0 ? *(obstack_next_free (&util_obstack) - 1) : 0;
+ char c0, c1;
+ c1 = ob_size > 1 ? *((char *) obstack_next_free (&util_obstack) - 2) : 0;
+ c0 = ob_size > 0 ? *((char *) obstack_next_free (&util_obstack) - 1) : 0;
if (c0 == '^' || (c1 == '^' && c0 == 'r'))
pointed_to = true;