diff options
author | Mark Mitchell <mark@codesourcery.com> | 2004-11-05 00:18:51 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2004-11-05 00:18:51 +0000 |
commit | 04fb56d5990d68f903b15b367e23be9a27d27673 (patch) | |
tree | 2c7b87865b69a5a634daf74740d623e77960bef0 /gcc/doc | |
parent | 30a8b5f807de4e90d2420b1b36b79db174395be4 (diff) | |
download | gcc-04fb56d5990d68f903b15b367e23be9a27d27673.zip gcc-04fb56d5990d68f903b15b367e23be9a27d27673.tar.gz gcc-04fb56d5990d68f903b15b367e23be9a27d27673.tar.bz2 |
arm.c (arm_handle_notshared_attribute): New function.
* config/arm/arm.c (arm_handle_notshared_attribute): New function.
* doc/extend.texi: Document "notshared" attribute.
* testsuite/g++.dg/ext/visibility/symbian1.C: New test.
From-SVN: r90099
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/extend.texi | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index a4cbb2f..0e5e970 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -3307,6 +3307,29 @@ declaration, the above program would abort when compiled with @option{-fstrict-aliasing}, which is on by default at @option{-O2} or above in recent GCC versions. +@subsection ARM Type Attributes + +On those ARM targets that support @code{dllimport} (such as Symbian +OS), you can use the @code{notshared} attribute to indicate that the +virtual table and other similar data for a class should not be +exported from a DLL. For example: + +@smallexample +class __declspec(notshared) C @{ +public: + __declspec(dllimport) C(); + virtual void f(); +@} + +__declspec(dllexport) +C::C() @{@} +@end smallexample + +In this code, @code{C::C} is exported from the current DLL, but the +virtual table for @code{C} is not exported. (You can use +@code{__attribute__} instead of @code{__declspec} if you prefer, but +most Symbian OS code uses @code{__declspec}.) + @subsection i386 Type Attributes Two attributes are currently defined for i386 configurations: |