diff options
author | Mark Mitchell <mark@codesourcery.com> | 2004-09-01 03:45:30 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2004-09-01 03:45:30 +0000 |
commit | 505970fc3324e2a0c00f5d82d66f62bae133e282 (patch) | |
tree | ec2aef636de8abf10479855a1221a1b908fabff6 /gcc/target-def.h | |
parent | be8fff8104f223a0eaa5ea36f385982d09d9731e (diff) | |
download | gcc-505970fc3324e2a0c00f5d82d66f62bae133e282.zip gcc-505970fc3324e2a0c00f5d82d66f62bae133e282.tar.gz gcc-505970fc3324e2a0c00f5d82d66f62bae133e282.tar.bz2 |
target-def.h (TARGET_CXX): Add TARGET_CXX_EXPORT_CLASS_DATA.
* target-def.h (TARGET_CXX): Add TARGET_CXX_EXPORT_CLASS_DATA.
* target.h (cxx): Add export_class_data.
* config/arm/arm.c (arm_cxx_export_class_data): New function.
(TARGET_CXX_EXPORT_CLASS_DATA): Use it.
* testsuite/g++.dg/ext/visibility/arm1.C: New test.
* cp-tree.h (DECL_CONSTRUCTION_VTABLE_P): New macro.
* class.c (build_ctor_vtbl_group): Set DECL_CONSTRUCTION_VTABLE_P.
* decl2.c (determine_visibility): Honor
TARGET_CXX_EXPORT_CLASS_DATA.
* g++.dg/ext/visibility/arm1.C: New test.
From-SVN: r86867
Diffstat (limited to 'gcc/target-def.h')
-rw-r--r-- | gcc/target-def.h | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/gcc/target-def.h b/gcc/target-def.h index e49d055..3b4c11b 100644 --- a/gcc/target-def.h +++ b/gcc/target-def.h @@ -441,15 +441,20 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #define TARGET_CXX_KEY_METHOD_MAY_BE_INLINE hook_bool_void_true #endif -#define TARGET_CXX \ - { \ - TARGET_CXX_GUARD_TYPE, \ - TARGET_CXX_GUARD_MASK_BIT, \ - TARGET_CXX_GET_COOKIE_SIZE, \ - TARGET_CXX_COOKIE_HAS_SIZE, \ - TARGET_CXX_IMPORT_EXPORT_CLASS, \ - TARGET_CXX_CDTOR_RETURNS_THIS, \ - TARGET_CXX_KEY_METHOD_MAY_BE_INLINE \ +#ifndef TARGET_CXX_EXPORT_CLASS_DATA +#define TARGET_CXX_EXPORT_CLASS_DATA hook_bool_void_false +#endif + +#define TARGET_CXX \ + { \ + TARGET_CXX_GUARD_TYPE, \ + TARGET_CXX_GUARD_MASK_BIT, \ + TARGET_CXX_GET_COOKIE_SIZE, \ + TARGET_CXX_COOKIE_HAS_SIZE, \ + TARGET_CXX_IMPORT_EXPORT_CLASS, \ + TARGET_CXX_CDTOR_RETURNS_THIS, \ + TARGET_CXX_KEY_METHOD_MAY_BE_INLINE, \ + TARGET_CXX_EXPORT_CLASS_DATA \ } /* The whole shebang. */ |