]> git.ipfire.org Git - thirdparty/gcc.git/commit
target-def.h (TARGET_CXX_EXPORT_CLASS_DATA): Remove.
authorMark Mitchell <mark@codesourcery.com>
Tue, 12 Apr 2005 06:33:48 +0000 (06:33 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Tue, 12 Apr 2005 06:33:48 +0000 (06:33 +0000)
commit1e731102619f21fe93135546801e0333752baf15
tree094ff9b55bb63ac087619633c1c3d109473587ff
parentfc7c5aed6197e36ff67791b09b26993140a296b7
target-def.h (TARGET_CXX_EXPORT_CLASS_DATA): Remove.

* target-def.h (TARGET_CXX_EXPORT_CLASS_DATA): Remove.
(TARGET_CXX_DETERMINE_CLASS_VISIBILITY): New macro.
(TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): Likewise.
(TARGET_CXX): Adjust accordingly.
* target.h (struct gcc_target): Remove epxort_class_data.  Add
determine_class_data_visibility and class_data_always_comdat.
* doc/tm.texi (TARGET_CXX_EXPORT_CLASS_DATA): Remove.
(TARGET_CXX_DETERMINE_CLASS_DATA_VISIBILITY): Document.
(TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): Likewise.
* config/arm/arm.c (arm_cxx_export_class_data): Remove.
(arm_cxx_determine_class_data_visibility): New.
(arm_cxx_class_data_always_comdat): Likewise.
(TARGET_CXX_EXPORT_CLASS_DATA): Remove.
(TARGET_CXX_DETERMINE_CLASS_DATA_VISIBILITY): Define.
(TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): Likewise.
* config/arm/arm.h (TARGET_ARM_DYNAMIC_VAGUE_LINKAGE_P): Define.
* config/arm/symbian.h (TARGET_ARM_DYNAMIC_VAGUE_LINKAGE_P):
Define.

* decl2.c (determine_visibility): Don't use export_class_data.
(import_export_decl): Honor TARGET_CXX_CLASS_DATA_ALWAYS_WEAK and
TARGET_CXX_DETERMINE_CLASS_DATA_VISIBILITY.

* testsuite/g++.dg/ext/visibility/arm2.C: New test.
* testsuite/g++.dg/ext/visibility/arm3.C: Likewise.
* testsuite/g++.dg/ext/visibility/symbian2.C: Likewise.

From-SVN: r98010
13 files changed:
gcc/ChangeLog
gcc/config/arm/arm.c
gcc/config/arm/arm.h
gcc/config/arm/symbian.h
gcc/cp/ChangeLog
gcc/cp/decl2.c
gcc/doc/tm.texi
gcc/target-def.h
gcc/target.h
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/ext/visibility/arm2.C [new file with mode: 0644]
gcc/testsuite/g++.dg/ext/visibility/arm3.C [new file with mode: 0644]
gcc/testsuite/g++.dg/ext/visibility/symbian2.C [new file with mode: 0644]