linux: fix build
[odcctools-svp.git] / as / as.h
blob451644c18deb43a092788f7c373839b778a199f8
1 /* as.h - global header file
2 Copyright (C) 1987 Free Software Foundation, Inc.
4 This file is part of GAS, the GNU Assembler.
6 GAS 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 1, or (at your option)
9 any later version.
11 GAS 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.
16 You should have received a copy of the GNU General Public License
17 along with GAS; see the file COPYING. If not, write to
18 the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
21 * CAPITALISED names are #defined.
22 * "lowercaseT" is a typedef of "lowercase" objects.
23 * "lowercaseP" is type "pointer to object of type 'lowercase'".
24 * "lowercaseS" is typedef struct ... lowercaseS.
26 * #define SUSPECT when debugging.
27 * If TEST is #defined, then we are testing a module.
30 /* These #defines are for parameters of entire assembler. */
33 * asserts() from <assert.h> are DISabled when NDEBUG is defined and
34 * asserts() from <assert.h> are ENabled when NDEBUG is undefined.
35 * For speed NDEBUG is defined so assert()'s are left out.
36 #undef NDEBUG
38 #define NDEBUG
41 * For speed SUSPECT is undefined.
42 #define SUSPECT
44 #undef SUSPECT
46 /* These #imports are for type definitions etc. */
47 #include <stdio.h>
48 #include <assert.h>
49 #include <mach/machine.h>
51 /* These defines are potentially useful */
52 #undef FALSE
53 #define FALSE (0)
54 #undef TRUE
55 #define TRUE (!FALSE)
56 #define ASSERT assert
58 #define BAD_CASE(value) \
59 { \
60 as_fatal ("Case value %d unexpected at line %d of file \"%s\"\n", \
61 value, __LINE__, __FILE__); \
64 /* These are assembler-wide concepts */
65 #ifdef SUSPECT
66 #define register /* no registers: helps debugging */
67 #define know(p) ASSERT(p) /* know() is less ugly than #ifdef SUSPECT/ */
68 /* assert()/#endif. */
69 #else
70 #define know(p) /* know() checks are no-op.ed */
71 #endif
75 * main program "as.c" (command arguments etc)
78 /* ['x'] TRUE if "-x" seen. */
79 extern char flagseen[128];
81 /* name of emitted object file, argument to -o if specified */
82 extern char *out_file_name;
84 /* TRUE if -force_cpusubtype_ALL is specified */
85 extern int force_cpusubtype_ALL;
87 /* set to the corresponding cpusubtype if -arch flag is specified */
88 extern cpu_subtype_t archflag_cpusubtype;
89 extern char *specific_archflag;
91 /* TRUE if the .subsections_via_symbols directive was seen */
92 extern int subsections_via_symbols;
94 /* -I path options for .includes */
95 struct directory_stack {
96 struct directory_stack *next;
97 char *fname;
99 extern struct directory_stack include_defaults[];
100 extern struct directory_stack *include;
102 /* non-NULL if AS_SECURE_LOG_FILE is set */
103 extern const char *secure_log_file;