diff options
author | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-11-05 00:18:51 +0000 |
---|---|---|
committer | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-11-05 00:18:51 +0000 |
commit | a79b1d933a7c38b74ee89cb3bcdd55d6f2cc8ccc (patch) | |
tree | 2c7b87865b69a5a634daf74740d623e77960bef0 /gcc/doc/extend.texi | |
parent | 875cd3bb445f82a2a02535ee2af491964a17d6e0 (diff) | |
download | gcc-a79b1d933a7c38b74ee89cb3bcdd55d6f2cc8ccc.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90099 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/doc/extend.texi')
-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 a4cbb2f69c0..0e5e970e398 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: |