aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1997-05-06 00:54:37 +0000
committerIan Lance Taylor <ian@airs.com>1997-05-06 00:54:37 +0000
commit0239838be49dd5b718c2e22ce4a02651c7ed6de5 (patch)
tree4ecd0dacca9c04ade48dd400df3fc063c49fde55
parent26e9f63c11dd3a36bcbb520070300eb98c729b0a (diff)
downloadgdb-0239838be49dd5b718c2e22ce4a02651c7ed6de5.zip
gdb-0239838be49dd5b718c2e22ce4a02651c7ed6de5.tar.gz
gdb-0239838be49dd5b718c2e22ce4a02651c7ed6de5.tar.bz2
* cond.c: Include "macro.h".
(struct conditional_frame): Add macro_nest field. (initialize_cframe): Initialize macro_nest. (cond_finish_check): Add nest parameter. Change all callers. (cond_exit_macro): New function. * as.h (cond_finish_check): Update declaration. (cond_exit_macro): Declare. * input-scrub.c (macro_nest): Make globally visible. (input_scrub_next_buffer): Call cond_finish_check. * macro.h (macro_nest): Declare. * read.c (s_mexit): Call cond_exit_macro.
-rw-r--r--gas/ChangeLog12
-rw-r--r--gas/as.c23
2 files changed, 31 insertions, 4 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 1af1a40..889e391 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,17 @@
Mon May 5 17:16:55 1997 Ian Lance Taylor <ian@cygnus.com>
+ * cond.c: Include "macro.h".
+ (struct conditional_frame): Add macro_nest field.
+ (initialize_cframe): Initialize macro_nest.
+ (cond_finish_check): Add nest parameter. Change all callers.
+ (cond_exit_macro): New function.
+ * as.h (cond_finish_check): Update declaration.
+ (cond_exit_macro): Declare.
+ * input-scrub.c (macro_nest): Make globally visible.
+ (input_scrub_next_buffer): Call cond_finish_check.
+ * macro.h (macro_nest): Declare.
+ * read.c (s_mexit): Call cond_exit_macro.
+
* config/tc-i386.h (RegMMX): Define.
* config/tc-i386.c (pi): Check for all register types.
(type_names): Add RegMMX.
diff --git a/gas/as.c b/gas/as.c
index fe44212..e1929e6 100644
--- a/gas/as.c
+++ b/gas/as.c
@@ -43,6 +43,10 @@
#include "output-file.h"
#include "sb.h"
#include "macro.h"
+#ifndef HAVE_ITBL_CPU
+#define itbl_parse(itbl_file) 1
+#define itbl_init()
+#endif
#ifdef HAVE_SBRK
#ifdef NEED_DECLARATION_SBRK
@@ -50,6 +54,9 @@ extern PTR sbrk ();
#endif
#endif
+static void show_usage PARAMS ((FILE *));
+static void parse_args PARAMS ((int *, char ***));
+static void dump_statistics PARAMS ((void));
static void perform_an_assembly_pass PARAMS ((int argc, char **argv));
static int macro_expr PARAMS ((const char *, int, sb *, int *));
@@ -110,7 +117,7 @@ print_version_id ()
fprintf (stderr, "\n");
}
-void
+static void
show_usage (stream)
FILE *stream;
{
@@ -120,6 +127,7 @@ show_usage (stream)
Options:\n\
-a[sub-option...] turn on listings\n\
Sub-options [default hls]:\n\
+ c omit false conditionals\n\
d omit debugging directives\n\
h include high-level source\n\
l include assembly\n\
@@ -159,10 +167,13 @@ Options:\n\
extern struct emulation mipsbelf, mipslelf, mipself;
extern struct emulation mipsbecoff, mipslecoff, mipsecoff;
+extern struct emulation i386coff, i386elf;
static struct emulation *const emulations[] = { EMULATIONS };
static const int n_emulations = sizeof (emulations) / sizeof (emulations[0]);
+static void select_emulation_mode PARAMS ((int, char **));
+
static void
select_emulation_mode (argc, argv)
int argc;
@@ -249,7 +260,7 @@ common_emul_init ()
* md_parse_option definitions in config/tc-*.c
*/
-void
+static void
parse_args (pargc, pargv)
int *pargc;
char ***pargv;
@@ -394,7 +405,7 @@ parse_args (pargc, pargv)
case OPTION_VERSION:
/* This output is intended to follow the GNU standards document. */
printf ("GNU assembler %s\n", GAS_VERSION);
- printf ("Copyright 1996 Free Software Foundation, Inc.\n");
+ printf ("Copyright 1997 Free Software Foundation, Inc.\n");
printf ("\
This program is free software; you may redistribute it under the terms of\n\
the GNU General Public License. This program has absolutely no warranty.\n");
@@ -509,6 +520,9 @@ the GNU General Public License. This program has absolutely no warranty.\n");
{
switch (*optarg)
{
+ case 'c':
+ listing |= LISTING_NOCOND;
+ break;
case 'd':
listing |= LISTING_NODEBUG;
break;
@@ -576,7 +590,6 @@ the GNU General Public License. This program has absolutely no warranty.\n");
*pargv = new_argv;
}
-static void dump_statistics ();
static long start_time;
int
@@ -684,6 +697,8 @@ main (argc, argv)
perform_an_assembly_pass (argc, argv); /* Assemble it. */
+ cond_finish_check (-1);
+
#ifdef md_end
md_end ();
#endif