* cond.c: Include "macro.h".
authorIan Lance Taylor <ian@airs.com>
Tue, 6 May 1997 00:54:37 +0000 (00:54 +0000)
committerIan Lance Taylor <ian@airs.com>
Tue, 6 May 1997 00:54:37 +0000 (00:54 +0000)
(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.

gas/ChangeLog
gas/as.c

index 1af1a40..889e391 100644 (file)
@@ -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.
index fe44212..e1929e6 100644 (file)
--- a/gas/as.c
+++ b/gas/as.c
 #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