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 <g...@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]; }