diff options
author | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-03-27 21:44:21 +0000 |
---|---|---|
committer | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-03-27 21:44:21 +0000 |
commit | cb3582e73cdcb0d283d873e62bb1d1223085f687 (patch) | |
tree | ce9a63a4cd6c9024f69411c47ca98e056f2dc06a /gcc/cp/cp-objcp-common.c | |
parent | 3f95c6909beb5ba36887def50f7d0421f02196b0 (diff) | |
download | gcc-cb3582e73cdcb0d283d873e62bb1d1223085f687.tar.gz |
PR debug/37959
* dwarf2out.c (dwarf_attr_name): Handle DW_AT_explicit attribute.
(gen_subprogram_die): When a function is explicit, generate the
DW_AT_explicit attribute.
* langhooks.h (struct lang_hooks_for_decls): Add
function_decl_explicit_p langhook.
* langhooks-def.h (LANG_HOOKS_FUNCTION_DECL_EXPLICIT_P): Define.
(LANG_HOOKS_DECLS): Add LANG_HOOKS_FUNCTION_DECL_EXPLICIT_P.
* cp-objcp-common.h (LANG_HOOKS_FUNCTION_DECL_EXPLICIT_P): Define.
(cp_function_decl_explicit_p): New prototype.
* cp-objcp-common.c (cp_function_decl_explicit_p): New function.
* g++.dg/debug/dwarf2/explicit-constructor.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145128 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/cp-objcp-common.c')
-rw-r--r-- | gcc/cp/cp-objcp-common.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/gcc/cp/cp-objcp-common.c b/gcc/cp/cp-objcp-common.c index fefafb1ac7e..daefa2b0d87 100644 --- a/gcc/cp/cp-objcp-common.c +++ b/gcc/cp/cp-objcp-common.c @@ -1,5 +1,5 @@ /* Some code common to C++ and ObjC++ front ends. - Copyright (C) 2004, 2007, 2008 Free Software Foundation, Inc. + Copyright (C) 2004, 2007, 2008, 2009 Free Software Foundation, Inc. Contributed by Ziemowit Laski <zlaski@apple.com> This file is part of GCC. @@ -203,6 +203,16 @@ cxx_staticp (tree arg) return NULL_TREE; } +/* Return true if DECL is explicit member function. */ + +bool +cp_function_decl_explicit_p (tree decl) +{ + return (decl + && FUNCTION_FIRST_USER_PARMTYPE (decl) != void_list_node + && DECL_NONCONVERTING_P (decl)); +} + /* Stubs to keep c-opts.c happy. */ void push_file_scope (void) |