1/* Definitions of target machine for GNU compiler.  VAX sysV version.
2   Copyright (C) 1988, 1993, 1996, 2000, 2002 Free Software Foundation, Inc.
3
4This file is part of GNU CC.
5
6GNU CC is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 2, or (at your option)
9any later version.
10
11GNU CC is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with GNU CC; see the file COPYING.  If not, write to
18the Free Software Foundation, 59 Temple Place - Suite 330,
19Boston, 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) \
45output_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)			\
58do {							\
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)
69