OpenCores
URL https://opencores.org/ocsvn/scarts/scarts/trunk

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-gcc/] [gcc-4.1.1/] [gcc/] [config/] [sh/] [symbian-post.h] - Blame information for rev 12

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 12 jlechner
/* Definitions for the Symbian OS running on an SH part.
2
   This file is included after all the 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, 51 Franklin Street, Fifth Floor,
22
   Boston, MA 02110-1301, USA.  */
23
 
24
#undef  TARGET_VERSION
25
#define TARGET_VERSION \
26
  fputs (" (Renesas SH for Symbian OS)", stderr);
27
 
28
#undef  LINK_EMUL_PREFIX
29
#define LINK_EMUL_PREFIX "shlsymbian"
30
 
31
 
32
#define SYMBIAN_EXPORT_NAME(NAME,FILE,DECL)                     \
33
  do                                                            \
34
    {                                                           \
35
      if ((DECL && sh_symbian_dllexport_p (DECL))               \
36
         || sh_symbian_dllexport_name_p (NAME))                 \
37
        {                                                       \
38
          fprintf ((FILE), "\t.pushsection .directive\n");      \
39
          fprintf ((FILE), "\t.asciz \"EXPORT %s\\n\"\n",       \
40
                   sh_symbian_strip_name_encoding (NAME));      \
41
          fprintf ((FILE), "\t.popsection\n");                  \
42
       }                                                        \
43
    }                                                           \
44
  while (0)
45
 
46
/* Output a function definition label.  */
47
#undef  ASM_DECLARE_FUNCTION_NAME
48
#define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL)             \
49
  do                                                            \
50
    {                                                           \
51
      SYMBIAN_EXPORT_NAME ((NAME), (FILE), (DECL));             \
52
      ASM_OUTPUT_TYPE_DIRECTIVE ((FILE), (NAME), "function");   \
53
      ASM_DECLARE_RESULT ((FILE), DECL_RESULT (DECL));          \
54
      ASM_OUTPUT_LABEL ((FILE), (NAME));                        \
55
    }                                                           \
56
  while (0)
57
 
58
/* Output the label for an initialized variable.  */
59
#undef  ASM_DECLARE_OBJECT_NAME
60
#define ASM_DECLARE_OBJECT_NAME(FILE, NAME, DECL)               \
61
  do                                                            \
62
    {                                                           \
63
      HOST_WIDE_INT size;                                       \
64
                                                                \
65
      SYMBIAN_EXPORT_NAME ((NAME), (FILE), (DECL));             \
66
      ASM_OUTPUT_TYPE_DIRECTIVE ((FILE), (NAME), "object");     \
67
                                                                \
68
      size_directive_output = 0;                         \
69
      if (!flag_inhibit_size_directive                          \
70
          && (DECL)                                             \
71
          && DECL_SIZE (DECL))                                  \
72
        {                                                       \
73
          size_directive_output = 1;                            \
74
          size = int_size_in_bytes (TREE_TYPE (DECL));          \
75
          ASM_OUTPUT_SIZE_DIRECTIVE ((FILE), (NAME), size);     \
76
        }                                                       \
77
                                                                \
78
      ASM_OUTPUT_LABEL ((FILE), (NAME));                        \
79
    }                                                           \
80
  while (0)
81
 
82
#undef  ASM_OUTPUT_LABELREF
83
#define ASM_OUTPUT_LABELREF(FILE, NAME)                         \
84
  do                                                            \
85
    {                                                           \
86
      asm_fprintf ((FILE), "%U%s",                              \
87
                   sh_symbian_strip_name_encoding (NAME));      \
88
    }                                                           \
89
  while (0)

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.