diff options
author | Richard Henderson <rth@redhat.com> | 2001-08-09 15:33:35 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2001-08-09 15:33:35 -0700 |
commit | 2cc07db4b089b8b3df05261f1d7acbc96d2e720a (patch) | |
tree | ddb2d5519f49bc33648c25225b8b8ba84df590b9 /gcc/target-def.h | |
parent | ef8d8b8922a034dfac5cff9d5fa781dc57c49ed0 (diff) | |
download | gcc-2cc07db4b089b8b3df05261f1d7acbc96d2e720a.tar.gz |
Move constructor/destructor handling into target hooks.
From-SVN: r44747
Diffstat (limited to 'gcc/target-def.h')
-rw-r--r-- | gcc/target-def.h | 39 |
1 files changed, 37 insertions, 2 deletions
diff --git a/gcc/target-def.h b/gcc/target-def.h index 939ca8fcbd2..94f8d10221c 100644 --- a/gcc/target-def.h +++ b/gcc/target-def.h @@ -33,6 +33,38 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #define TARGET_ASM_FUNCTION_END_PROLOGUE no_asm_to_stream #define TARGET_ASM_FUNCTION_BEGIN_EPILOGUE no_asm_to_stream +#if !defined(TARGET_ASM_CONSTRUCTOR) && !defined(USE_COLLECT2) +# ifdef CTORS_SECTION_ASM_OP +# define TARGET_ASM_CONSTRUCTOR default_ctor_section_asm_out_constructor +# else +# ifdef TARGET_ASM_NAMED_SECTION +# define TARGET_ASM_CONSTRUCTOR default_named_section_asm_out_constructor +# else +# define TARGET_ASM_CONSTRUCTOR default_stabs_asm_out_constructor +# endif +# endif +#endif + +#if !defined(TARGET_ASM_DESTRUCTOR) && !defined(USE_COLLECT2) +# ifdef DTORS_SECTION_ASM_OP +# define TARGET_ASM_DESTRUCTOR default_dtor_section_asm_out_destructor +# else +# ifdef TARGET_ASM_NAMED_SECTION +# define TARGET_ASM_DESTRUCTOR default_named_section_asm_out_destructor +# else +# define TARGET_ASM_DESTRUCTOR default_stabs_asm_out_destructor +# endif +# endif +#endif + +#if defined(TARGET_ASM_CONSTRUCTOR) && defined(TARGET_ASM_DESTRUCTOR) +#define TARGET_HAVE_CTORS_DTORS true +#else +#define TARGET_HAVE_CTORS_DTORS false +#define TARGET_ASM_CONSTRUCTOR NULL +#define TARGET_ASM_DESTRUCTOR NULL +#endif + #ifdef TARGET_ASM_NAMED_SECTION #define TARGET_HAVE_NAMED_SECTIONS true #else @@ -46,7 +78,9 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. TARGET_ASM_FUNCTION_END_PROLOGUE, \ TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, \ TARGET_ASM_FUNCTION_EPILOGUE, \ - TARGET_ASM_NAMED_SECTION} + TARGET_ASM_NAMED_SECTION, \ + TARGET_ASM_CONSTRUCTOR, \ + TARGET_ASM_DESTRUCTOR} /* All in tree.c. */ #define TARGET_MERGE_DECL_ATTRIBUTES merge_decl_attributes @@ -80,5 +114,6 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. TARGET_INIT_BUILTINS, \ TARGET_EXPAND_BUILTIN, \ TARGET_SECTION_TYPE_FLAGS, \ - TARGET_HAVE_NAMED_SECTIONS \ + TARGET_HAVE_NAMED_SECTIONS, \ + TARGET_HAVE_CTORS_DTORS \ } |