restore bootstrap with a C++ compiler
Gabriel Dos Reis
gdr@cs.tamu.edu
Thu Apr 28 01:46:00 GMT 2011
Richard,
Your recent patch broke --enable-build-with-cxx because internal-fn.h
was using good 'ol C-style name lookup trick that behaves badly with
C++ linkage rules. Fixed thusly. Applied as obvious.
-- Gaby
2011-04-27 Gabriel Dos Reis <gdr@integrable-solutions.net>
* internal-fn.h (internal_fn_name_array): Declare.
(internal_fn_flags_array): Likewise.
*** internal-fn.h (revision 173070)
--- internal-fn.h (local)
*************** enum internal_fn {
*** 30,48 ****
/* Return the name of internal function FN. The name is only meaningful
for dumps; it has no linkage. */
static inline const char *
internal_fn_name (enum internal_fn fn)
{
- extern const char *const internal_fn_name_array[];
return internal_fn_name_array[(int) fn];
}
/* Return the ECF_* flags for function FN. */
static inline int
internal_fn_flags (enum internal_fn fn)
{
- extern const int internal_fn_flags_array[];
return internal_fn_flags_array[(int) fn];
}
--- 30,50 ----
/* Return the name of internal function FN. The name is only meaningful
for dumps; it has no linkage. */
+ extern const char *const internal_fn_name_array[];
+
static inline const char *
internal_fn_name (enum internal_fn fn)
{
return internal_fn_name_array[(int) fn];
}
/* Return the ECF_* flags for function FN. */
+ extern const int internal_fn_flags_array[];
+
static inline int
internal_fn_flags (enum internal_fn fn)
{
return internal_fn_flags_array[(int) fn];
}
More information about the Gcc-patches
mailing list