aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2004-07-01 08:47:16 +0000
committerNick Clifton <nickc@gcc.gnu.org>2004-07-01 08:47:16 +0000
commitd59c7b4bdca296330783083e285ec0fab406df28 (patch)
treebc3cf975abb40ef9d243230199d2065263a4789e /gcc/cp
parented63f99a3c6a15acd707795ec041f2ef0e9e74f3 (diff)
downloadgcc-d59c7b4bdca296330783083e285ec0fab406df28.zip
gcc-d59c7b4bdca296330783083e285ec0fab406df28.tar.gz
gcc-d59c7b4bdca296330783083e285ec0fab406df28.tar.bz2
target.h (struct gcc_target): Add new field to struct cxx: import_export_class.
* target.h (struct gcc_target): Add new field to struct cxx: import_export_class. * target-def.h (TARGET_CXX): Initialise the new field. (TARGET_CXX_IMPORT_EXPORT_CLASS): Provide a default value for the new field. * doc/tm.texi: Document the new target hook. * decl2.c (import_export_class): Invoke the import_export_class field in the gcc_target structure if it is not empty. From-SVN: r83964
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/decl2.c4
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 2e89bcc..c8f9358 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,9 @@
+2004-07-01 Nick Clifton <nickc@redhat.com>
+
+ * decl2.c (import_export_class): Invoke the
+ import_export_class field in the gcc_target structure if it is not
+ empty.
+
2004-06-30 Richard Henderson (rth@redhat.com>
* decl.c (start_preparsed_function): Don't set immediate_size_expand.
diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c
index f3ecc3e..191888e 100644
--- a/gcc/cp/decl2.c
+++ b/gcc/cp/decl2.c
@@ -1510,6 +1510,10 @@ import_export_class (tree ctype)
import_export = 0;
#endif
+ /* Allow backends the chance to overrule the decision. */
+ if (targetm.cxx.import_export_class)
+ import_export = targetm.cxx.import_export_class (ctype, import_export);
+
if (import_export)
{
SET_CLASSTYPE_INTERFACE_KNOWN (ctype);