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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [config/] [vms/] [vms.h] - Blame information for rev 709

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 709 jeremybenn
/* Definitions of target machine GNU compiler. VMS common version.
2
   Copyright (C) 2003-2009,2011 Free Software Foundation, Inc.
3
   Contributed by Douglas B Rupp (rupp@gnat.com).
4
 
5
This file is part of GCC.
6
 
7
GCC is free software; you can redistribute it and/or modify
8
it under the terms of the GNU General Public License as published by
9
the Free Software Foundation; either version 3, or (at your option)
10
any later version.
11
 
12
GCC is distributed in the hope that it will be useful,
13
but WITHOUT ANY WARRANTY; without even the implied warranty of
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
GNU General Public License for more details.
16
 
17
You should have received a copy of the GNU General Public License
18
along with GCC; see the file COPYING3.  If not see
19
<http://www.gnu.org/licenses/>.  */
20
 
21
#define TARGET_OBJECT_SUFFIX ".obj"
22
#define TARGET_EXECUTABLE_SUFFIX ".exe"
23
 
24
#define TARGET_OS_CPP_BUILTINS()                     \
25
  do {                                               \
26
    builtin_define_std ("vms");                      \
27
    builtin_define_std ("VMS");                      \
28
    builtin_assert ("system=vms");                   \
29
    SUBTARGET_OS_CPP_BUILTINS();                     \
30
    if (POINTER_SIZE == 64)                          \
31
      {                                              \
32
        builtin_define ("__LONG_POINTERS=1");        \
33
        builtin_define ("__int64=long long");        \
34
      }                                              \
35
  } while (0)
36
 
37
extern void vms_c_register_includes (const char *, const char *, int);
38
#define TARGET_EXTRA_INCLUDES vms_c_register_includes
39
 
40
/* Tell compiler we want to support VMS pragmas */
41
#define REGISTER_TARGET_PRAGMAS() vms_c_register_pragma ()
42
 
43
/* By default, allow $ to be part of an identifier.  */
44
#define DOLLARS_IN_IDENTIFIERS 2
45
 
46
#undef TARGET_ABI_OPEN_VMS
47
#define TARGET_ABI_OPEN_VMS 1
48
 
49
/* "long" is 32 bits, but 64 bits for Ada.  */
50
#undef LONG_TYPE_SIZE
51
#define LONG_TYPE_SIZE 32
52
#define ADA_LONG_TYPE_SIZE 64
53
 
54
/* Pointer is 32 bits but the hardware has 64-bit addresses, sign extended.  */
55
#undef POINTER_SIZE
56
#define POINTER_SIZE 32
57
#define POINTERS_EXTEND_UNSIGNED 0
58
 
59
/* Always 32 bits.  */
60
#undef SIZE_TYPE
61
#define SIZE_TYPE "unsigned int"
62
#undef PTRDIFF_TYPE
63
#define PTRDIFF_TYPE "int"
64
 
65
/* VMS doesn't support other sections than .text for code.  */
66
 
67
#define TARGET_ASM_FUNCTION_SECTION vms_function_section

powered by: WebSVN 2.1.0

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