/* This file is listing.h
- Copyright (C) 1987-1992 Free Software Foundation, Inc.
-
+ Copyright (C) 1987-2020 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)
+ the Free Software Foundation; either version 3, 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, 51 Franklin Street - Fifth Floor, Boston, MA
+ 02110-1301, 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_GENERAL 128
-#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 (int);
+void listing_error (const char *message);
+void listing_file (const char *name);
+void listing_list (int on);
+void listing_newline (char *ps);
+void listing_prev_line (void);
+void listing_print (char *, char **);
+void listing_psize (int);
+void listing_nopage (int);
+void listing_source_file (const char *);
+void listing_source_line (unsigned int);
+void listing_title (int depth);
+void listing_warning (const char *message);
+void listing_width (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__ */