# HG changeset patch # User William Astle # Date 1598334743 21600 # Node ID 1260b4eec5a573dcb7455712d9cd869351e58a85 # Parent 7e41d6123175e81a1818c0ec810d9e68a92e47ab 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. diff -r 7e41d6123175 -r 1260b4eec5a5 lwasm/instab.c --- 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}, diff -r 7e41d6123175 -r 1260b4eec5a5 lwasm/pragma.c --- 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); }