diff options
Diffstat (limited to 'gcc/dbxout.c')
-rw-r--r-- | gcc/dbxout.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/gcc/dbxout.c b/gcc/dbxout.c index 73be0b0..fd9fc0c 100644 --- a/gcc/dbxout.c +++ b/gcc/dbxout.c @@ -833,10 +833,18 @@ dbxout_type_methods (type) { /* This is the "mangled" name of the method. It encodes the argument types. */ - const char *debug_name = - IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (fndecl)); + const char *debug_name; int show_arg_types = 0; + /* Skip methods that aren't FUNCTION_DECLs. (In C++, these + include TEMPLATE_DECLs.) The debugger doesn't know what + to do with such entities anyhow. */ + if (TREE_CODE (fndecl) != FUNCTION_DECL) + continue; + + debug_name = + IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (fndecl)); + CONTIN; last = fndecl; |