OSDN Git Service

PR inline-asm/8088
[pf3gnuchains/gcc-fork.git] / gcc / config / vax / vaxv.h
1 /* Definitions of target machine for GNU compiler.  VAX sysV version.
2    Copyright (C) 1988, 1993, 1996, 2000, 2002 Free Software Foundation, Inc.
3
4 This file is part of GCC.
5
6 GCC is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
9 any later version.
10
11 GCC is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with GCC; see the file COPYING.  If not, write to
18 the Free Software Foundation, 59 Temple Place - Suite 330,
19 Boston, MA 02111-1307, USA.  */
20
21 #define TARGET_OS_CPP_BUILTINS()                \
22   do                                            \
23     {                                           \
24       builtin_define_std ("unix");              \
25       builtin_assert ("system=svr3");           \
26                                                 \
27       builtin_define_std ("vax");               \
28       if (TARGET_G_FLOAT)                       \
29         builtin_define_std ("GFLOAT");          \
30     }                                           \
31   while (0)
32
33 /* Output #ident as a .ident.  */
34
35 #define ASM_OUTPUT_IDENT(FILE, NAME) fprintf (FILE, "\t.ident \"%s\"\n", NAME);
36
37 #undef DBX_DEBUGGING_INFO
38 #define SDB_DEBUGGING_INFO 1
39
40 #undef LIB_SPEC
41
42 /* The .file command should always begin the output.  */
43 #undef ASM_FILE_START
44 #define ASM_FILE_START(FILE) \
45 output_file_directive ((FILE), main_input_filename)
46
47 #undef ASM_OUTPUT_ALIGN
48 #define ASM_OUTPUT_ALIGN(FILE,LOG) \
49   fprintf(FILE, "\t.align %d\n", 1 << (LOG))
50
51 #undef ASM_OUTPUT_LOCAL
52 #define ASM_OUTPUT_LOCAL(FILE,NAME,SIZE,ROUNDED)        \
53 ( data_section (),                                      \
54   assemble_name ((FILE), (NAME)),                       \
55   fprintf ((FILE), ":\n\t.space %u\n", (ROUNDED)))
56
57 #define ASM_OUTPUT_ASCII(FILE,PTR,LEN)                  \
58 do {                                                    \
59   const unsigned char *s = (const unsigned char *)(PTR);\
60   size_t i, limit = (LEN);                              \
61   for (i = 0; i < limit; s++, i++)              \
62     {                                                   \
63       if ((i % 8) == 0)                                 \
64         fputs ("\n\t.byte\t", (FILE));                  \
65       fprintf ((FILE), "%s0x%x", (i%8?",":""), (unsigned)*s); \
66     }                                                   \
67   fputs ("\n", (FILE));                                 \
68 } while (0)