|
|
1.1 ! root 1: /* as.h - global header file ! 2: Copyright (C) 1987 Free Software Foundation, Inc. ! 3: ! 4: This file is part of GAS, the GNU Assembler. ! 5: ! 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. ! 10: ! 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. ! 15: ! 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. */ ! 19: ! 20: /* ! 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. ! 25: * ! 26: * #define SUSPECT when debugging. ! 27: * If TEST is #defined, then we are testing a module. ! 28: */ ! 29: ! 30: /* These #defines are for parameters of entire assembler. */ ! 31: ! 32: /* ! 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 ! 37: */ ! 38: #define NDEBUG ! 39: ! 40: /* ! 41: * For speed SUSPECT is undefined. ! 42: #define SUSPECT ! 43: */ ! 44: #undef SUSPECT ! 45: ! 46: /* These #imports are for type definitions etc. */ ! 47: #import <stdio.h> ! 48: #import <assert.h> ! 49: #import <mach/machine.h> ! 50: ! 51: /* These defines are potentially useful */ ! 52: #undef FALSE ! 53: #define FALSE (0) ! 54: #undef TRUE ! 55: #define TRUE (!FALSE) ! 56: #define ASSERT assert ! 57: ! 58: #define BAD_CASE(value) \ ! 59: { \ ! 60: as_fatal ("Case value %d unexpected at line %d of file \"%s\"\n", \ ! 61: value, __LINE__, __FILE__); \ ! 62: } ! 63: ! 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 ! 72: ! 73: ! 74: /* ! 75: * main program "as.c" (command arguments etc) ! 76: */ ! 77: ! 78: /* ['x'] TRUE if "-x" seen. */ ! 79: extern char flagseen[128]; ! 80: ! 81: /* name of emitted object file, argument to -o if specified */ ! 82: extern char *out_file_name; ! 83: ! 84: /* TRUE if -force_cpusubtype_ALL is specified */ ! 85: extern int force_cpusubtype_ALL; ! 86: ! 87: /* set to the corresponding cpusubtype if -arch flag is specified */ ! 88: extern cpu_subtype_t archflag_cpusubtype; ! 89: ! 90: /* -I path options for .includes */ ! 91: struct directory_stack { ! 92: struct directory_stack *next; ! 93: char *fname; ! 94: }; ! 95: extern struct directory_stack include_defaults[]; ! 96: extern struct directory_stack *include;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.