+extern void cp_print_class_member (const gdb_byte *, struct type *,
+ struct ui_file *, const char *);
+
+extern void cp_print_value_fields (struct type *, struct type *,
+ LONGEST, CORE_ADDR,
+ struct ui_file *, int,
+ struct value *,
+ const struct value_print_options *,
+ struct type **, int);
+
+extern void cp_print_value_fields_rtti (struct type *,
+ const gdb_byte *, LONGEST, CORE_ADDR,
+ struct ui_file *, int,
+ struct value *,
+ const struct value_print_options *,
+ struct type **, int);
+
+/* gcc-2.6 or later (when using -fvtable-thunks)
+ emits a unique named type for a vtable entry.
+ Some gdb code depends on that specific name. */
+
+extern const char vtbl_ptr_name[];
+
+extern int cp_is_vtbl_ptr_type (struct type *);
+
+extern int cp_is_vtbl_member (struct type *);
+
+/* Return true if TYPE is a string type. Unlike DEFAULT_IS_STRING_TYPE_P
+ this will detect arrays of characters not just TYPE_CODE_STRING. */
+
+extern bool c_is_string_type_p (struct type *type);
+
+/* These are in c-valprint.c. */
+
+extern int c_textual_element_type (struct type *, char);
+
+/* Create a new instance of the C compiler and return it. The new
+ compiler is owned by the caller and must be freed using the destroy
+ method. This function never returns NULL, but rather throws an
+ exception on failure. This is suitable for use as the
+ la_get_compile_instance language method. */
+
+extern compile_instance *c_get_compile_context (void);
+
+/* Create a new instance of the C++ compiler and return it. The new
+ compiler is owned by the caller and must be freed using the destroy
+ method. This function never returns NULL, but rather throws an
+ exception on failure. This is suitable for use as the
+ la_get_compile_instance language method. */
+
+extern compile_instance *cplus_get_compile_context ();
+
+/* This takes the user-supplied text and returns a new bit of code to
+ compile.