+2006-01-29 Gabriel Dos Reis <gdr@integrable-solutions.net>
+ Marcin Dalecki <martin@dalecki.de>
+
+ * toplev.c (floor_log2, exact_log2): Don't define if __cplusplus.
+ (push_srcloc): Use XNEW.
+ (init_asm_output, default_get_pch_validity): Use XNEWVEC.
+
2006-01-29 Kenneth Zadeck <zadeck@naturalbridge.com>
* df-core.c (df_set_blocks): Deleted all variable.
return atoi (p);
}
+/* When compiling with a recent enough GCC, we use the GNU C "extern inline"
+ for floor_log2 and exact_log2; see toplev.h. That construct, however,
+ conflicts with the ISO C++ One Definition Rule. */
+
+#if !defined (__cplusplus)
+
/* Given X, an unsigned number, return the largest int Y such that 2**Y <= X.
If X is 0, return -1. */
#endif
}
+#endif /* !defined (__cplusplus) */
+
/* Handler for fatal signals, such as SIGSEGV. These are transformed
into ICE messages, which is much more user friendly. In case the
error printer crashes, reset the signal to prevent infinite recursion. */
{
struct file_stack *fs;
- fs = xmalloc (sizeof (struct file_stack));
+ fs = XNEW (struct file_stack);
fs->location = input_location;
fs->next = input_file_stack;
#ifdef USE_MAPPED_LOCATION
if (asm_file_name == 0)
{
int len = strlen (dump_base_name);
- char *dumpname = xmalloc (len + 6);
+ char *dumpname = XNEWVEC (char, len + 6);
memcpy (dumpname, dump_base_name, len + 1);
strip_off_ending (dumpname, len);
strcat (dumpname, ".s");
if (option_affects_pch_p (i, &state))
*len += state.size;
- result = r = xmalloc (*len);
+ result = r = XNEWVEC (char, *len);
r[0] = flag_pic;
r[1] = flag_pie;
r += 2;