From 426c1ed6f407bcfd3c98e266075f9e9f2cca711c Mon Sep 17 00:00:00 2001 From: gingerBill Date: Sat, 25 May 2019 20:28:49 +0100 Subject: [PATCH] -compact flag for 'odin query' --- src/build_settings.cpp | 1 + src/main.cpp | 13 ++++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/build_settings.cpp b/src/build_settings.cpp index fc6702d36..72fff30f8 100644 --- a/src/build_settings.cpp +++ b/src/build_settings.cpp @@ -106,6 +106,7 @@ struct BuildContext { bool no_bounds_check; bool no_output_files; bool print_query_data; + bool print_query_data_compact; bool no_crt; bool use_lld; bool vet; diff --git a/src/main.cpp b/src/main.cpp index 49284b9d6..e557cd25e 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -218,6 +218,7 @@ enum BuildFlagKind { BuildFlag_UseLLD, BuildFlag_Vet, BuildFlag_IgnoreUnknownAttributes, + BuildFlag_Compact, #if defined(GB_SYSTEM_WINDOWS) BuildFlag_ResourceFile, @@ -302,6 +303,7 @@ bool parse_build_flags(Array args) { add_flag(&build_flags, BuildFlag_UseLLD, str_lit("lld"), BuildFlagParam_None); add_flag(&build_flags, BuildFlag_Vet, str_lit("vet"), BuildFlagParam_None); add_flag(&build_flags, BuildFlag_IgnoreUnknownAttributes, str_lit("ignore-unknown-attributes"), BuildFlagParam_None); + add_flag(&build_flags, BuildFlag_Compact, str_lit("compact"), BuildFlagParam_None); #if defined(GB_SYSTEM_WINDOWS) add_flag(&build_flags, BuildFlag_ResourceFile, str_lit("resource"), BuildFlagParam_String); @@ -664,6 +666,15 @@ bool parse_build_flags(Array args) { build_context.ignore_unknown_attributes = true; break; + case BuildFlag_Compact: + if (!build_context.print_query_data) { + gb_printf_err("Invalid use of -compact flag, only allowed with 'odin query'\n"); + bad_flags = true; + } else { + build_context.print_query_data_compact = true; + } + break; + #if defined(GB_SYSTEM_WINDOWS) case BuildFlag_ResourceFile: { GB_ASSERT(value.kind == ExactValue_String); @@ -1239,7 +1250,7 @@ void generate_and_print_query_data(Checker *c, Timings *timings) { } - print_query_data_as_json(root, true); + print_query_data_as_json(root, !build_context.print_query_data_compact); gb_printf("\n"); }