* spu-tdep.c (spu_get_longjmp_target): New function.
[deliverable/binutils-gdb.git] / gas / as.h
CommitLineData
252b5132 1/* as.h - global header file
f7e42eb4 2 Copyright 1987, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
8d25cc3d 3 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
252b5132
RH
4 Free Software Foundation, Inc.
5
6 This file is part of GAS, the GNU Assembler.
7
8 GAS is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
ec2655a6 10 the Free Software Foundation; either version 3, or (at your option)
252b5132
RH
11 any later version.
12
ec2655a6
NC
13 GAS is distributed in the hope that it will be useful, but WITHOUT
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
16 License for more details.
252b5132
RH
17
18 You should have received a copy of the GNU General Public License
19 along with GAS; see the file COPYING. If not, write to the Free
4b4da160
NC
20 Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
21 02110-1301, USA. */
252b5132
RH
22
23#ifndef GAS
24#define GAS 1
30a2b4ef 25/* I think this stuff is largely out of date. xoxorich.
329e276d
NC
26
27 CAPITALISED names are #defined.
28 "lowercaseH" is #defined if "lowercase.h" has been #include-d.
29 "lowercaseT" is a typedef of "lowercase" objects.
30 "lowercaseP" is type "pointer to object of type 'lowercase'".
31 "lowercaseS" is typedef struct ... lowercaseS.
32
33 #define DEBUG to enable all the "know" assertion tests.
34 #define SUSPECT when debugging hash code.
35 #define COMMON as "extern" for all modules except one, where you #define
36 COMMON as "".
37 If TEST is #defined, then we are testing a module: #define COMMON as "". */
252b5132 38
8d25cc3d 39#include "alloca-conf.h"
252b5132 40
6d74f28b
EB
41/* Prefer varargs for non-ANSI compiler, since some will barf if the
42 ellipsis definition is used with a no-arguments declaration. */
43#if defined (HAVE_VARARGS_H) && !defined (__STDC__)
44#undef HAVE_STDARG_H
45#endif
46
47#if defined (HAVE_STDARG_H)
48#define USE_STDARG
49#endif
50#if !defined (USE_STDARG) && defined (HAVE_VARARGS_H)
51#define USE_VARARGS
52#endif
53
252b5132
RH
54/* Now, tend to the rest of the configuration. */
55
a01b9fa4 56/* System include files first... */
252b5132 57#include <stdio.h>
252b5132
RH
58#ifdef HAVE_STRING_H
59#include <string.h>
60#else
61#ifdef HAVE_STRINGS_H
62#include <strings.h>
63#endif
64#endif
65#ifdef HAVE_STDLIB_H
66#include <stdlib.h>
67#endif
68#ifdef HAVE_UNISTD_H
69#include <unistd.h>
70#endif
71#ifdef HAVE_SYS_TYPES_H
72/* for size_t, pid_t */
73#include <sys/types.h>
74#endif
75
6d74f28b
EB
76#ifdef HAVE_ERRNO_H
77#include <errno.h>
78#endif
79
80#ifdef USE_STDARG
81#include <stdarg.h>
82#endif
83
84#ifdef USE_VARARGS
85#include <varargs.h>
86#endif
87
88#if !defined (USE_STDARG) && !defined (USE_VARARGS)
89/* Roll our own. */
90#define va_alist REST
91#define va_dcl
92typedef int * va_list;
93#define va_start(ARGS) ARGS = &REST
94#define va_end(ARGS)
95#endif
96
29589b0c 97#include "getopt.h"
252b5132
RH
98/* The first getopt value for machine-independent long options.
99 150 isn't special; it's just an arbitrary non-ASCII char value. */
100#define OPTION_STD_BASE 150
101/* The first getopt value for machine-dependent long options.
d8374dcd
HPN
102 190 gives the standard options room to grow. */
103#define OPTION_MD_BASE 190
252b5132
RH
104
105#ifdef DEBUG
106#undef NDEBUG
107#endif
a1934524 108#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 6)
252b5132
RH
109#define __PRETTY_FUNCTION__ ((char*)0)
110#endif
c9dea48b
AM
111#define assert(P) \
112 ((void) ((P) ? 0 : (as_assert (__FILE__, __LINE__, __PRETTY_FUNCTION__), 0)))
252b5132
RH
113#undef abort
114#define abort() as_abort (__FILE__, __LINE__, __PRETTY_FUNCTION__)
115
a01b9fa4 116/* Now GNU header files... */
8fce3f5e 117#include "ansidecl.h"
8fce3f5e 118#include "bfd.h"
8fce3f5e 119#include "libiberty.h"
252b5132
RH
120
121/* Define the standard progress macros. */
8fce3f5e 122#include "progress.h"
252b5132
RH
123
124/* This doesn't get taken care of anywhere. */
329e276d 125#ifndef __MWERKS__ /* Metrowerks C chokes on the "defined (inline)" */
252b5132
RH
126#if !defined (__GNUC__) && !defined (inline)
127#define inline
128#endif
129#endif /* !__MWERKS__ */
130
131/* Other stuff from config.h. */
e8a38df5
AL
132#ifdef NEED_DECLARATION_ENVIRON
133extern char **environ;
252b5132 134#endif
e8a38df5
AL
135#ifdef NEED_DECLARATION_ERRNO
136extern int errno;
137#endif
138#ifdef NEED_DECLARATION_FFS
139extern int ffs (int);
252b5132
RH
140#endif
141#ifdef NEED_DECLARATION_FREE
142extern void free ();
143#endif
e8a38df5 144#ifdef NEED_DECLARATION_MALLOC
5a49b8ac
AM
145extern void *malloc ();
146extern void *realloc ();
252b5132 147#endif
e8a38df5
AL
148#ifdef NEED_DECLARATION_STRSTR
149extern char *strstr ();
252b5132
RH
150#endif
151
6d74f28b
EB
152#if !HAVE_DECL_VSNPRINTF
153extern int vsnprintf(char *, size_t, const char *, va_list);
154#endif
155
252b5132
RH
156/* This is needed for VMS. */
157#if ! defined (HAVE_UNLINK) && defined (HAVE_REMOVE)
158#define unlink remove
159#endif
160
161/* Hack to make "gcc -Wall" not complain about obstack macros. */
162#if !defined (memcpy) && !defined (bcopy)
d1a6c242 163#define bcopy(src,dest,size) memcpy (dest, src, size)
252b5132
RH
164#endif
165
166/* Make Saber happier on obstack.h. */
167#ifdef SABER
168#undef __PTR_TO_INT
ee515fb7 169#define __PTR_TO_INT(P) ((int) (P))
252b5132 170#undef __INT_TO_PTR
ee515fb7 171#define __INT_TO_PTR(P) ((char *) (P))
252b5132
RH
172#endif
173
174#ifndef __LINE__
175#define __LINE__ "unknown"
176#endif /* __LINE__ */
177
178#ifndef __FILE__
179#define __FILE__ "unknown"
180#endif /* __FILE__ */
181
182#ifndef FOPEN_WB
c973bc5c 183#ifdef USE_BINARY_FOPEN
252b5132
RH
184#include "fopen-bin.h"
185#else
186#include "fopen-same.h"
187#endif
188#endif
189
190#ifndef EXIT_SUCCESS
191#define EXIT_SUCCESS 0
192#define EXIT_FAILURE 1
193#endif
194
12ff5d56
AM
195#ifndef SEEK_SET
196#define SEEK_SET 0
197#endif
198
252b5132
RH
199#define obstack_chunk_alloc xmalloc
200#define obstack_chunk_free xfree
201
202#define xfree free
203
204#include "asintl.h"
205
30a2b4ef
KH
206#define BAD_CASE(val) \
207 { \
208 as_fatal (_("Case value %ld unexpected at line %d of file \"%s\"\n"), \
209 (long) val, __LINE__, __FILE__); \
210 }
252b5132
RH
211\f
212#include "flonum.h"
213
214/* These are assembler-wide concepts */
215
252b5132
RH
216extern bfd *stdoutput;
217typedef bfd_vma addressT;
218typedef bfd_signed_vma offsetT;
252b5132
RH
219
220/* Type of symbol value, etc. For use in prototypes. */
221typedef addressT valueT;
222
223#ifndef COMMON
224#ifdef TEST
329e276d 225#define COMMON /* Declare our COMMONs storage here. */
252b5132 226#else
329e276d 227#define COMMON extern /* Our commons live elsewhere. */
252b5132
RH
228#endif
229#endif
230/* COMMON now defined */
231
c43a438d
AM
232#ifndef ENABLE_CHECKING
233#define ENABLE_CHECKING 0
234#endif
235
236#if ENABLE_CHECKING || defined (DEBUG)
252b5132 237#ifndef know
329e276d 238#define know(p) assert(p) /* Verify our assumptions! */
252b5132
RH
239#endif /* not yet defined */
240#else
329e276d 241#define know(p) /* know() checks are no-op.ed */
252b5132
RH
242#endif
243\f
244/* input_scrub.c */
245
30a2b4ef
KH
246/* Supplies sanitised buffers to read.c.
247 Also understands printing line-number part of error messages. */
252b5132 248\f
252b5132
RH
249/* subsegs.c Sub-segments. Also, segment(=expression type)s.*/
250
252b5132 251typedef asection *segT;
329e276d 252#define SEG_NORMAL(SEG) ( (SEG) != absolute_section \
252b5132
RH
253 && (SEG) != undefined_section \
254 && (SEG) != reg_section \
255 && (SEG) != expr_section)
252b5132
RH
256typedef int subsegT;
257
329e276d 258/* What subseg we are accessing now? */
252b5132
RH
259COMMON subsegT now_subseg;
260
a01b9fa4 261/* Segment our instructions emit to. */
252b5132
RH
262COMMON segT now_seg;
263
252b5132 264#define segment_name(SEG) bfd_get_section_name (stdoutput, SEG)
252b5132 265
252b5132
RH
266extern segT reg_section, expr_section;
267/* Shouldn't these be eliminated someday? */
268extern segT text_section, data_section, bss_section;
269#define absolute_section bfd_abs_section_ptr
270#define undefined_section bfd_und_section_ptr
252b5132 271
329e276d
NC
272enum _relax_state
273{
be95a9c1
AM
274 /* Dummy frag used by listing code. */
275 rs_dummy = 0,
276
30a2b4ef
KH
277 /* Variable chars to be repeated fr_offset times.
278 Fr_symbol unused. Used with fr_offset == 0 for a
279 constant length frag. */
be95a9c1 280 rs_fill,
30a2b4ef
KH
281
282 /* Align. The fr_offset field holds the power of 2 to which to
283 align. The fr_var field holds the number of characters in the
284 fill pattern. The fr_subtype field holds the maximum number of
285 bytes to skip when aligning, or 0 if there is no maximum. */
286 rs_align,
287
288 /* Align code. The fr_offset field holds the power of 2 to which
289 to align. This type is only generated by machine specific
290 code, which is normally responsible for handling the fill
291 pattern. The fr_subtype field holds the maximum number of
292 bytes to skip when aligning, or 0 if there is no maximum. */
293 rs_align_code,
294
0a9ef439
RH
295 /* Test for alignment. Like rs_align, but used by several targets
296 to warn if data is not properly aligned. */
297 rs_align_test,
298
30a2b4ef
KH
299 /* Org: Fr_offset, fr_symbol: address. 1 variable char: fill
300 character. */
301 rs_org,
252b5132
RH
302
303#ifndef WORKING_DOT_WORD
30a2b4ef
KH
304 /* JF: gunpoint */
305 rs_broken_word,
252b5132
RH
306#endif
307
329e276d 308 /* Machine specific relaxable (or similarly alterable) instruction. */
30a2b4ef 309 rs_machine_dependent,
252b5132 310
30a2b4ef
KH
311 /* .space directive with expression operand that needs to be computed
312 later. Similar to rs_org, but different.
313 fr_symbol: operand
314 1 variable char: fill character */
315 rs_space,
252b5132 316
30a2b4ef
KH
317 /* A DWARF leb128 value; only ELF uses this. The subtype is 0 for
318 unsigned, 1 for signed. */
319 rs_leb128,
252b5132 320
30a2b4ef 321 /* Exception frame information which we may be able to optimize. */
220e750f
RH
322 rs_cfa,
323
324 /* Cross-fragment dwarf2 line number optimization. */
325 rs_dwarf2dbg
30a2b4ef 326};
252b5132
RH
327
328typedef enum _relax_state relax_stateT;
329
330/* This type is used in prototypes, so it can't be a type that will be
331 widened for argument passing. */
332typedef unsigned int relax_substateT;
333
334/* Enough bits for address, but still an integer type.
335 Could be a problem, cross-assembling for 64-bit machines. */
336typedef addressT relax_addressT;
f17c130b
AM
337
338struct relax_type
339{
340 /* Forward reach. Signed number. > 0. */
341 offsetT rlx_forward;
342 /* Backward reach. Signed number. < 0. */
343 offsetT rlx_backward;
344
345 /* Bytes length of this address. */
346 unsigned char rlx_length;
347
348 /* Next longer relax-state. 0 means there is no 'next' relax-state. */
349 relax_substateT rlx_more;
350};
351
352typedef struct relax_type relax_typeS;
252b5132 353\f
329e276d 354/* main program "as.c" (command arguments etc). */
252b5132
RH
355
356COMMON unsigned char flag_no_comments; /* -f */
357COMMON unsigned char flag_debug; /* -D */
358COMMON unsigned char flag_signed_overflow_ok; /* -J */
359#ifndef WORKING_DOT_WORD
360COMMON unsigned char flag_warn_displacement; /* -K */
361#endif
362
363/* True if local symbols should be retained. */
364COMMON int flag_keep_locals; /* -L */
365
366/* True if we are assembling in MRI mode. */
367COMMON int flag_mri;
368
252b5132
RH
369/* Should the data section be made read-only and appended to the text
370 section? */
371COMMON unsigned char flag_readonly_data_in_text; /* -R */
372
373/* True if warnings should be inhibited. */
374COMMON int flag_no_warnings; /* -W */
375
2bdd6cf5
GK
376/* True if warnings count as errors. */
377COMMON int flag_fatal_warnings; /* --fatal-warnings */
378
252b5132
RH
379/* True if we should attempt to generate output even if non-fatal errors
380 are detected. */
381COMMON unsigned char flag_always_generate_output; /* -Z */
382
a01b9fa4 383/* This is true if the assembler should output time and space usage. */
252b5132
RH
384COMMON unsigned char flag_print_statistics;
385
386/* True if local absolute symbols are to be stripped. */
387COMMON int flag_strip_local_absolute;
388
389/* True if we should generate a traditional format object file. */
390COMMON int flag_traditional_format;
391
68d55fe3
JJ
392/* TRUE if .note.GNU-stack section with SEC_CODE should be created */
393COMMON int flag_execstack;
394
395/* TRUE if .note.GNU-stack section with SEC_CODE should be created */
396COMMON int flag_noexecstack;
397
252b5132
RH
398/* name of emitted object file */
399COMMON char *out_file_name;
400
401/* name of file defining extensions to the basic instruction set */
402COMMON char *insttbl_file_name;
403
a01b9fa4 404/* TRUE if we need a second pass. */
252b5132
RH
405COMMON int need_pass_2;
406
407/* TRUE if we should do no relaxing, and
408 leave lots of padding. */
409COMMON int linkrelax;
410
411/* TRUE if we should produce a listing. */
412extern int listing;
413
4dc7ead9
RH
414/* Type of debugging information we should generate. We currently support
415 stabs, ECOFF, and DWARF2.
416
417 NOTE! This means debug information about the assembly source code itself
418 and _not_ about possible debug information from a high-level language.
419 This is especially relevant to DWARF2, since the compiler may emit line
420 number directives that the assembler resolves. */
252b5132 421
329e276d
NC
422enum debug_info_type
423{
30a2b4ef
KH
424 DEBUG_UNSPECIFIED,
425 DEBUG_NONE,
426 DEBUG_STABS,
427 DEBUG_ECOFF,
428 DEBUG_DWARF,
429 DEBUG_DWARF2
430};
252b5132
RH
431
432extern enum debug_info_type debug_type;
05da4302 433extern int use_gnu_debug_info_extensions;
252b5132
RH
434\f
435/* Maximum level of macro nesting. */
436extern int max_macro_nest;
437
54cfded0
AM
438/* Verbosity level. */
439extern int verbose;
440
252b5132
RH
441/* Obstack chunk size. Keep large for efficient space use, make small to
442 increase malloc calls for monitoring memory allocation. */
443extern int chunksize;
444
329e276d
NC
445struct _pseudo_type
446{
30a2b4ef
KH
447 /* assembler mnemonic, lower case, no '.' */
448 const char *poc_name;
449 /* Do the work */
73ee5e4c 450 void (*poc_handler) (int);
30a2b4ef
KH
451 /* Value to pass to handler */
452 int poc_val;
453};
252b5132
RH
454
455typedef struct _pseudo_type pseudo_typeS;
456
252b5132
RH
457#ifdef USE_STDARG
458#if (__GNUC__ >= 2) && !defined(VMS)
459/* for use with -Wformat */
460
a1934524 461#if __GNUC__ == 2 && __GNUC_MINOR__ < 6
252b5132
RH
462/* Support for double underscores in attribute names was added in gcc
463 2.6, so avoid them if we are using an earlier version. */
464#define __printf__ printf
465#define __format__ format
466#endif
467
468#define PRINTF_LIKE(FCN) \
469 void FCN (const char *format, ...) \
470 __attribute__ ((__format__ (__printf__, 1, 2)))
471#define PRINTF_WHERE_LIKE(FCN) \
472 void FCN (char *file, unsigned int line, const char *format, ...) \
473 __attribute__ ((__format__ (__printf__, 3, 4)))
474
475#else /* __GNUC__ < 2 || defined(VMS) */
476
73ee5e4c
KH
477#define PRINTF_LIKE(FCN) void FCN (const char *format, ...)
478#define PRINTF_WHERE_LIKE(FCN) void FCN (char *file, \
479 unsigned int line, \
480 const char *format, ...)
252b5132
RH
481
482#endif /* __GNUC__ < 2 || defined(VMS) */
483
484#else /* ! USE_STDARG */
485
486#define PRINTF_LIKE(FCN) void FCN ()
487#define PRINTF_WHERE_LIKE(FCN) void FCN ()
488
489#endif /* ! USE_STDARG */
490
491PRINTF_LIKE (as_bad);
8fce3f5e 492PRINTF_LIKE (as_fatal) ATTRIBUTE_NORETURN;
252b5132
RH
493PRINTF_LIKE (as_tsktsk);
494PRINTF_LIKE (as_warn);
495PRINTF_WHERE_LIKE (as_bad_where);
496PRINTF_WHERE_LIKE (as_warn_where);
497
329e276d
NC
498void as_assert (const char *, int, const char *);
499void as_abort (const char *, int, const char *) ATTRIBUTE_NORETURN;
329e276d
NC
500void sprint_value (char *, addressT);
501int had_errors (void);
502int had_warnings (void);
503void as_warn_value_out_of_range (char *, offsetT, offsetT, offsetT, char *, unsigned);
504void as_bad_value_out_of_range (char *, offsetT, offsetT, offsetT, char *, unsigned);
505void print_version_id (void);
506char * app_push (void);
507char * atof_ieee (char *, int, LITTLENUM_TYPE *);
499ac353
NC
508char * ieee_md_atof (int, char *, int *, bfd_boolean);
509char * vax_md_atof (int, char *, int *);
329e276d
NC
510char * input_scrub_include_file (char *, char *);
511void input_scrub_insert_line (const char *);
512void input_scrub_insert_file (char *);
513char * input_scrub_new_file (char *);
514char * input_scrub_next_buffer (char **bufp);
515int do_scrub_chars (int (*get) (char *, int), char *, int);
516int gen_to_words (LITTLENUM_TYPE *, int, long);
517int had_err (void);
518int ignore_input (void);
519void cond_finish_check (int);
520void cond_exit_macro (int);
521int seen_at_least_1_file (void);
522void app_pop (char *);
329e276d
NC
523void as_where (char **, unsigned int *);
524void bump_line_counters (void);
525void do_scrub_begin (int);
526void input_scrub_begin (void);
527void input_scrub_close (void);
528void input_scrub_end (void);
529int new_logical_line (char *, int);
93e914b2 530int new_logical_line_flags (char *, int, int);
329e276d
NC
531void subsegs_begin (void);
532void subseg_change (segT, int);
533segT subseg_new (const char *, subsegT);
534segT subseg_force_new (const char *, subsegT);
535void subseg_set (segT, subsegT);
536int subseg_text_p (segT);
4ee4d249 537int seg_not_empty_p (segT);
329e276d
NC
538void start_dependencies (char *);
539void register_dependency (char *);
540void print_dependencies (void);
329e276d 541segT subseg_get (const char *, int);
252b5132 542
3d6b762c
JM
543const char *remap_debug_filename (const char *);
544void add_debug_prefix_map (const char *);
545
252b5132
RH
546struct expressionS;
547struct fix;
2b47531b 548typedef struct symbol symbolS;
252b5132
RH
549typedef struct frag fragS;
550
252b5132 551/* literal.c */
73ee5e4c 552valueT add_to_literal_pool (symbolS *, valueT, segT, int);
252b5132 553
73ee5e4c
KH
554int check_eh_frame (struct expressionS *, unsigned int *);
555int eh_frame_estimate_size_before_relax (fragS *);
556int eh_frame_relax_frag (fragS *);
557void eh_frame_convert_frag (fragS *);
73ee5e4c 558int generic_force_reloc (struct fix *);
ae6063d4 559
252b5132
RH
560#include "expr.h" /* Before targ-*.h */
561
329e276d 562/* This one starts the chain of target dependant headers. */
252b5132
RH
563#include "targ-env.h"
564
a161fe53
AM
565#ifdef OBJ_MAYBE_ELF
566#define IS_ELF (OUTPUT_FLAVOR == bfd_target_elf_flavour)
567#else
568#ifdef OBJ_ELF
569#define IS_ELF 1
570#else
571#define IS_ELF 0
572#endif
0d2bcfaf
NC
573#endif
574
252b5132
RH
575#include "write.h"
576#include "frags.h"
577#include "hash.h"
578#include "read.h"
579#include "symbols.h"
580
581#include "tc.h"
582#include "obj.h"
583
584#ifdef USE_EMULATIONS
585#include "emul.h"
586#endif
587#include "listing.h"
588
c54b5932
DD
589#ifdef H_TICK_HEX
590extern int enable_h_tick_hex;
591#endif
592
abd63a32
AM
593#ifdef TC_M68K
594/* True if we are assembling in m68k MRI mode. */
595COMMON int flag_m68k_mri;
4fa6945e 596#define DOLLAR_AMBIGU flag_m68k_mri
abd63a32
AM
597#else
598#define flag_m68k_mri 0
599#endif
600
4c400d5e 601#ifdef WARN_COMMENTS
329e276d
NC
602COMMON int warn_comment;
603COMMON unsigned int found_comment;
604COMMON char * found_comment_file;
4c400d5e
AM
605#endif
606
4fa6945e
NC
607#ifndef DOLLAR_AMBIGU
608#define DOLLAR_AMBIGU 0
609#endif
610
f805106c
TW
611#ifndef NUMBERS_WITH_SUFFIX
612#define NUMBERS_WITH_SUFFIX 0
613#endif
614
252b5132
RH
615#ifndef LOCAL_LABELS_DOLLAR
616#define LOCAL_LABELS_DOLLAR 0
617#endif
618
619#ifndef LOCAL_LABELS_FB
620#define LOCAL_LABELS_FB 0
621#endif
622
abd63a32
AM
623#ifndef LABELS_WITHOUT_COLONS
624#define LABELS_WITHOUT_COLONS 0
625#endif
626
627#ifndef NO_PSEUDO_DOT
628#define NO_PSEUDO_DOT 0
629#endif
630
252b5132
RH
631#ifndef TEXT_SECTION_NAME
632#define TEXT_SECTION_NAME ".text"
633#define DATA_SECTION_NAME ".data"
634#define BSS_SECTION_NAME ".bss"
635#endif
636
bea9907b
TW
637#ifndef OCTETS_PER_BYTE_POWER
638#define OCTETS_PER_BYTE_POWER 0
639#endif
640#ifndef OCTETS_PER_BYTE
641#define OCTETS_PER_BYTE (1<<OCTETS_PER_BYTE_POWER)
642#endif
643#if OCTETS_PER_BYTE != (1<<OCTETS_PER_BYTE_POWER)
644 #error "Octets per byte conflicts with its power-of-two definition!"
645#endif
646
252b5132 647#endif /* GAS */
This page took 0.430541 seconds and 4 git commands to generate.