Commit a8a4fe0c by Gabriel Dos Reis Committed by Gabriel Dos Reis

toplev.c (floor_log2, exact_log2): Don't define if __cplusplus.

        * toplev.c (floor_log2, exact_log2): Don't define if __cplusplus.
        (push_srcloc): Use XNEW.
        (init_asm_output, default_get_pch_validity): Use XNEWVEC.

Co-Authored-By: Marcin Dalecki <martin@dalecki.de>

From-SVN: r110372
parent 2cc9c3a0
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> 2006-01-29 Kenneth Zadeck <zadeck@naturalbridge.com>
* df-core.c (df_set_blocks): Deleted all variable. * df-core.c (df_set_blocks): Deleted all variable.
......
...@@ -516,6 +516,12 @@ read_integral_parameter (const char *p, const char *pname, const int defval) ...@@ -516,6 +516,12 @@ read_integral_parameter (const char *p, const char *pname, const int defval)
return atoi (p); 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. /* Given X, an unsigned number, return the largest int Y such that 2**Y <= X.
If X is 0, return -1. */ If X is 0, return -1. */
...@@ -566,6 +572,8 @@ exact_log2 (unsigned HOST_WIDE_INT x) ...@@ -566,6 +572,8 @@ exact_log2 (unsigned HOST_WIDE_INT x)
#endif #endif
} }
#endif /* !defined (__cplusplus) */
/* Handler for fatal signals, such as SIGSEGV. These are transformed /* Handler for fatal signals, such as SIGSEGV. These are transformed
into ICE messages, which is much more user friendly. In case the into ICE messages, which is much more user friendly. In case the
error printer crashes, reset the signal to prevent infinite recursion. */ error printer crashes, reset the signal to prevent infinite recursion. */
...@@ -942,7 +950,7 @@ push_srcloc (const char *file, int line) ...@@ -942,7 +950,7 @@ push_srcloc (const char *file, int line)
{ {
struct file_stack *fs; struct file_stack *fs;
fs = xmalloc (sizeof (struct file_stack)); fs = XNEW (struct file_stack);
fs->location = input_location; fs->location = input_location;
fs->next = input_file_stack; fs->next = input_file_stack;
#ifdef USE_MAPPED_LOCATION #ifdef USE_MAPPED_LOCATION
...@@ -1233,7 +1241,7 @@ init_asm_output (const char *name) ...@@ -1233,7 +1241,7 @@ init_asm_output (const char *name)
if (asm_file_name == 0) if (asm_file_name == 0)
{ {
int len = strlen (dump_base_name); int len = strlen (dump_base_name);
char *dumpname = xmalloc (len + 6); char *dumpname = XNEWVEC (char, len + 6);
memcpy (dumpname, dump_base_name, len + 1); memcpy (dumpname, dump_base_name, len + 1);
strip_off_ending (dumpname, len); strip_off_ending (dumpname, len);
strcat (dumpname, ".s"); strcat (dumpname, ".s");
...@@ -1299,7 +1307,7 @@ default_get_pch_validity (size_t *len) ...@@ -1299,7 +1307,7 @@ default_get_pch_validity (size_t *len)
if (option_affects_pch_p (i, &state)) if (option_affects_pch_p (i, &state))
*len += state.size; *len += state.size;
result = r = xmalloc (*len); result = r = XNEWVEC (char, *len);
r[0] = flag_pic; r[0] = flag_pic;
r[1] = flag_pie; r[1] = flag_pie;
r += 2; r += 2;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment