X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gas%2Fas.h;h=df04dce4f413039c52b70b67ce25127e48daa463;hb=d7adf9603ba5cdc21b88c6e2c0127f041a3320c8;hp=ba526dc4d812f4a4a4f18420a979dc7c1241c8f2;hpb=8d25cc3de0a2ca236b8a4a676535d05d2084c149;p=deliverable%2Fbinutils-gdb.git diff --git a/gas/as.h b/gas/as.h index ba526dc4d8..df04dce4f4 100644 --- a/gas/as.h +++ b/gas/as.h @@ -1,7 +1,5 @@ /* as.h - global header file - Copyright 1987, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, - 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 - Free Software Foundation, Inc. + Copyright (C) 1987-2014 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. @@ -23,13 +21,13 @@ #ifndef GAS #define GAS 1 /* I think this stuff is largely out of date. xoxorich. - + CAPITALISED names are #defined. "lowercaseH" is #defined if "lowercase.h" has been #include-d. "lowercaseT" is a typedef of "lowercase" objects. "lowercaseP" is type "pointer to object of type 'lowercase'". "lowercaseS" is typedef struct ... lowercaseS. - + #define DEBUG to enable all the "know" assertion tests. #define SUSPECT when debugging hash code. #define COMMON as "extern" for all modules except one, where you #define @@ -38,23 +36,15 @@ #include "alloca-conf.h" -/* Prefer varargs for non-ANSI compiler, since some will barf if the - ellipsis definition is used with a no-arguments declaration. */ -#if defined (HAVE_VARARGS_H) && !defined (__STDC__) -#undef HAVE_STDARG_H -#endif - -#if defined (HAVE_STDARG_H) -#define USE_STDARG -#endif -#if !defined (USE_STDARG) && defined (HAVE_VARARGS_H) -#define USE_VARARGS -#endif - /* Now, tend to the rest of the configuration. */ /* System include files first... */ #include + +#ifdef STRING_WITH_STRINGS +#include +#include +#else #ifdef HAVE_STRING_H #include #else @@ -62,6 +52,8 @@ #include #endif #endif +#endif + #ifdef HAVE_STDLIB_H #include #endif @@ -77,22 +69,7 @@ #include #endif -#ifdef USE_STDARG #include -#endif - -#ifdef USE_VARARGS -#include -#endif - -#if !defined (USE_STDARG) && !defined (USE_VARARGS) -/* Roll our own. */ -#define va_alist REST -#define va_dcl -typedef int * va_list; -#define va_start(ARGS) ARGS = &REST -#define va_end(ARGS) -#endif #include "getopt.h" /* The first getopt value for machine-independent long options. @@ -106,9 +83,9 @@ typedef int * va_list; #undef NDEBUG #endif #if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 6) -#define __PRETTY_FUNCTION__ ((char*)0) +#define __PRETTY_FUNCTION__ ((char *) NULL) #endif -#define assert(P) \ +#define gas_assert(P) \ ((void) ((P) ? 0 : (as_assert (__FILE__, __LINE__, __PRETTY_FUNCTION__), 0))) #undef abort #define abort() as_abort (__FILE__, __LINE__, __PRETTY_FUNCTION__) @@ -149,6 +126,10 @@ extern void *realloc (); extern char *strstr (); #endif +#if !HAVE_DECL_MEMPCPY +void *mempcpy(void *, const void *, size_t); +#endif + #if !HAVE_DECL_VSNPRINTF extern int vsnprintf(char *, size_t, const char *, va_list); #endif @@ -235,10 +216,10 @@ typedef addressT valueT; #if ENABLE_CHECKING || defined (DEBUG) #ifndef know -#define know(p) assert(p) /* Verify our assumptions! */ +#define know(p) gas_assert(p) /* Verify our assumptions! */ #endif /* not yet defined */ #else -#define know(p) /* know() checks are no-op.ed */ +#define know(p) do {} while (0) /* know() checks are no-op.ed */ #endif /* input_scrub.c */ @@ -389,6 +370,9 @@ COMMON int flag_strip_local_absolute; /* True if we should generate a traditional format object file. */ COMMON int flag_traditional_format; +/* TRUE if debug sections should be compressed. */ +COMMON int flag_compress_debug; + /* TRUE if .note.GNU-stack section with SEC_CODE should be created */ COMMON int flag_execstack; @@ -431,6 +415,7 @@ enum debug_info_type extern enum debug_info_type debug_type; extern int use_gnu_debug_info_extensions; +COMMON bfd_boolean flag_dwarf_sections; /* Maximum level of macro nesting. */ extern int max_macro_nest; @@ -454,7 +439,6 @@ struct _pseudo_type typedef struct _pseudo_type pseudo_typeS; -#ifdef USE_STDARG #if (__GNUC__ >= 2) && !defined(VMS) /* for use with -Wformat */ @@ -481,13 +465,6 @@ typedef struct _pseudo_type pseudo_typeS; #endif /* __GNUC__ < 2 || defined(VMS) */ -#else /* ! USE_STDARG */ - -#define PRINTF_LIKE(FCN) void FCN () -#define PRINTF_WHERE_LIKE(FCN) void FCN () - -#endif /* ! USE_STDARG */ - PRINTF_LIKE (as_bad); PRINTF_LIKE (as_fatal) ATTRIBUTE_NORETURN; PRINTF_LIKE (as_tsktsk); @@ -512,7 +489,7 @@ void input_scrub_insert_line (const char *); void input_scrub_insert_file (char *); char * input_scrub_new_file (char *); char * input_scrub_next_buffer (char **bufp); -int do_scrub_chars (int (*get) (char *, int), char *, int); +size_t do_scrub_chars (size_t (*get) (char *, size_t), char *, size_t); int gen_to_words (LITTLENUM_TYPE *, int, long); int had_err (void); int ignore_input (void); @@ -604,6 +581,16 @@ COMMON unsigned int found_comment; COMMON char * found_comment_file; #endif +#if defined OBJ_ELF || defined OBJ_MAYBE_ELF +/* If .size directive failure should be error or warning. */ +COMMON enum + { + size_check_error = 0, + size_check_warning + } +flag_size_check; +#endif + #ifndef DOLLAR_AMBIGU #define DOLLAR_AMBIGU 0 #endif