changeset 513:1260b4eec5a5

Add **pragma which always suppresses listing itself Sometimes you don't want the listing polluted by a pragma statement so add **pragma which will always hide itself from the listing.
author William Astle <lost@l-w.ca>
date Mon, 24 Aug 2020 23:52:23 -0600
parents 7e41d6123175
children 1c26076891e3
files lwasm/instab.c lwasm/pragma.c
diffstat 2 files changed, 3 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/lwasm/instab.c	Sat Jul 04 16:21:08 2020 -0600
+++ b/lwasm/instab.c	Mon Aug 24 23:52:23 2020 -0600
@@ -722,6 +722,7 @@
 
 	{ "pragma",		{	-1, 	-1, 	-1, 	-1},	pseudo_parse_pragma,	pseudo_resolve_pragma,			pseudo_emit_pragma,			lwasm_insn_normal},
 	{ "*pragma",	{	-1, 	-1, 	-1, 	-1},	pseudo_parse_starpragma,pseudo_resolve_starpragma,		pseudo_emit_starpragma,		lwasm_insn_normal},
+	{ "**pragma",	{	-1, 	-1, 	-1, 	-2},	pseudo_parse_starpragma,pseudo_resolve_starpragma,		pseudo_emit_starpragma,		lwasm_insn_normal},
 	{ "opt",		{	-1, 	-1, 	-1, 	-1},	pseudo_parse_starpragma,pseudo_resolve_starpragma,		pseudo_emit_starpragma,		lwasm_insn_normal},
 	{ "*pragmapush",	{	-1,	-1, 	-1,	-1},	pseudo_parse_starpragmapush, pseudo_resolve_starpragmapush, pseudo_emit_starpragmapush,	lwasm_insn_normal},
 	{ "*pragmapop",	{	-1,	-1, 	-1,	-1},	pseudo_parse_starpragmapop, pseudo_resolve_starpragmapop, pseudo_emit_starpragmapop,	lwasm_insn_normal},
--- a/lwasm/pragma.c	Sat Jul 04 16:21:08 2020 -0600
+++ b/lwasm/pragma.c	Mon Aug 24 23:52:23 2020 -0600
@@ -176,6 +176,8 @@
 		l->pragmas |= PRAGMA_CC;
 		as->pragmas &= ~PRAGMA_CC;
 	}
+	if (instab[l->insn].ops[3] == -2)
+		l -> pragmas |= PRAGMA_NOLIST;
 	lw_free(ps);
 }