OSDN Git Service

PR c++/16707
[pf3gnuchains/gcc-fork.git] / gcc / config / sh / symbian-pre.h
1 /* Definitions for the Symbian OS running on an SH part.
2    This file is included before any other target specific headers.
3
4    Copyright (C) 2004 Free Software Foundation, Inc.
5    Contributed by Red Hat.
6
7    This file is part of GCC.
8
9    GCC is free software; you can redistribute it and/or modify it
10    under the terms of the GNU General Public License as published
11    by the Free Software Foundation; either version 2, or (at your
12    option) any later version.
13
14    GCC is distributed in the hope that it will be useful, but WITHOUT
15    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
17    License for more details.
18
19    You should have received a copy of the GNU General Public License
20    along with GCC; see the file COPYING.  If not, write to the
21    Free Software Foundation, 59 Temple Place - Suite 330,
22    Boston, MA 02111-1307, USA.  */
23
24 /* Enable Symbian specific code.  */
25 #define SYMBIAN         1
26
27 /* Default to using the Renesas ABI.  */
28 #define TARGET_ABI_DEFAULT      RENESAS_BIT
29
30 /* Support the __declspec keyword by turning them into attributes.
31    We currently only support: naked, dllimport, and dllexport.
32    Note that the current way we do this may result in a collision with
33    predefined attributes later on.  This can be solved by using one attribute,
34    say __declspec__, and passing args to it.  The problem with that approach
35    is that args are not accumulated: each new appearance would clobber any
36    existing args.  */
37 #define SUBTARGET_CPP_SPEC "-D__declspec(x)=__attribute__((x))"
38
39 /* Get tree.c to declare merge_dllimport_decl_attributes().  */
40 #define TARGET_DLLIMPORT_DECL_ATTRIBUTES
41
42 /* The Symbian OS currently does not support exception handling.  */
43 #define SUBTARGET_CC1PLUS_SPEC "-fno-exceptions"
44
45 /* Create constructor/destructor sections without the writable flag.
46    Symbian puts them into the text segment and munges them later on.  */
47 #define CTORS_SECTION_ASM_OP    "\t.section\t.ctors,\"ax\",@progbits"
48 #define DTORS_SECTION_ASM_OP    "\t.section\t.dtors,\"ax\",@progbits"