/* This file is listing.h
- Copyright (C) 1987-1992 Free Software Foundation, Inc.
-
+ Copyright (C) 1987, 88, 89, 90, 91, 92, 93, 94, 95, 1997
+ Free Software Foundation, Inc.
+
This file is part of GAS, the GNU Assembler.
-
+
GAS is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
-
+
GAS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with GAS; see the file COPYING. If not, write to
- the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+ You should have received a copy of the GNU General Public License
+ along with GAS; see the file COPYING. If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA. */
#ifndef __listing_h__
#define __listing_h__
#define LISTING_NOFORM 4
#define LISTING_HLL 8
#define LISTING_NODEBUG 16
+#define LISTING_NOCOND 32
+#define LISTING_MACEXP 64
-#define LISTING_DEFAULT (LISTING_LISTING | LISTING_HLL | LISTING_SYMBOLS)
+#define LISTING_DEFAULT (LISTING_LISTING | LISTING_HLL | LISTING_SYMBOLS)
#ifndef NO_LISTING
-
-#define LISTING_NEWLINE() { if (listing) listing_newline(input_line_pointer); }
-
-
-#if __STDC__ == 1
-
-void listing_eject(void);
-void listing_error(char *message);
-void listing_file(char *name);
-void listing_flags(void);
-void listing_list(unsigned int on);
-void listing_newline(char *ps);
-void listing_print(char *name);
-void listing_psize(void);
-void listing_source_file(char *);
-void listing_source_line(unsigned int);
-void listing_title(unsigned int depth);
-void listing_warning(char *message);
-void listing_width(unsigned int x);
-
-#else /* not __STDC__ */
-
-void listing_eject();
-void listing_error();
-void listing_file();
-void listing_flags();
-void listing_list();
-void listing_newline();
-void listing_print();
-void listing_psize();
-void listing_source_file();
-void listing_source_line();
-void listing_title();
-void listing_warning();
-void listing_width();
-
-#endif /* not __STDC__ */
-
-#else /* not NO_LISTING */
-
+#define LISTING_NEWLINE() { if (listing) listing_newline(NULL); }
+#else
#define LISTING_NEWLINE() {;}
-
-/* Dummy functions for when compiled without listing enabled */
-
-#define listing_flags() {;]
-#define listing_list() {;]
-#define listing_eject() {;]
-#define listing_psize() {;]
-#define listing_title(depth) {;]
-#define listing_file(name) {;]
-#define listing_newline(name) {;]
-#define listing_source_line(n) {;]
-#define listing_source_file(n) [;]
-
-#endif /* not NO_LISTING */
+#endif
+#define LISTING_EOF() LISTING_NEWLINE()
+
+#define LISTING_SKIP_COND() ((listing & LISTING_NOCOND) != 0)
+
+void listing_eject PARAMS ((int));
+void listing_error PARAMS ((const char *message));
+void listing_file PARAMS ((const char *name));
+void listing_flags PARAMS ((int));
+void listing_list PARAMS ((int on));
+void listing_newline PARAMS ((char *ps));
+void listing_prev_line PARAMS ((void));
+void listing_print PARAMS ((char *name));
+void listing_psize PARAMS ((int));
+void listing_nopage PARAMS ((int));
+void listing_source_file PARAMS ((const char *));
+void listing_source_line PARAMS ((unsigned int));
+void listing_title PARAMS ((int depth));
+void listing_warning PARAMS ((const char *message));
+void listing_width PARAMS ((unsigned int x));
+
+extern int listing_lhs_width;
+extern int listing_lhs_width_second;
+extern int listing_lhs_cont_lines;
+extern int listing_rhs_width;
#endif /* __listing_h__ */