summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--jq_test.c2
-rw-r--r--main.c13
2 files changed, 9 insertions, 6 deletions
diff --git a/jq_test.c b/jq_test.c
index cbcbd8f5..5abd0275 100644
--- a/jq_test.c
+++ b/jq_test.c
@@ -53,11 +53,9 @@ static void run_jq_tests() {
tests++;
struct bytecode* bc = jq_compile(buf);
if (!bc) {invalid++; continue;}
-#if JQ_DEBUG
printf("Disassembly:\n");
dump_disassembly(2, bc);
printf("\n");
-#endif
fgets(buf, sizeof(buf), testdata);
jv input = jv_parse(buf);
if (!jv_is_valid(input)){ invalid++; continue; }
diff --git a/main.c b/main.c
index 06466d4e..71150161 100644
--- a/main.c
+++ b/main.c
@@ -57,6 +57,9 @@ enum {
NO_COLOUR_OUTPUT = 128,
FROM_FILE = 256,
+
+ /* debugging only */
+ DUMP_DISASM = 2048,
};
static int options = 0;
static struct bytecode* bc;
@@ -180,6 +183,8 @@ int main(int argc, char* argv[]) {
options |= PROVIDE_NULL;
} else if (isoption(argv[i], 'f', "from-file")) {
options |= FROM_FILE;
+ } else if (isoption(argv[i], 0, "debug-dump-disasm")) {
+ options |= DUMP_DISASM;
} else if (isoption(argv[i], 'h', "help")) {
usage();
} else if (isoption(argv[i], 'V', "version")) {
@@ -213,10 +218,10 @@ int main(int argc, char* argv[]) {
}
if (!bc) return 1;
-#if JQ_DEBUG
- dump_disassembly(0, bc);
- printf("\n");
-#endif
+ if (options & DUMP_DISASM) {
+ dump_disassembly(0, bc);
+ printf("\n");
+ }
if (options & PROVIDE_NULL) {
process(jv_null());