From 75f127af7c635c0963e9c2ce5857be9b282ac435 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Wed, 3 Mar 2021 14:17:48 +0000 Subject: Add `-vet-extra` (checks for unneeded casts and transmutes) --- src/main.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/main.cpp') diff --git a/src/main.cpp b/src/main.cpp index 6f4f45263..04347e6ac 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -593,6 +593,7 @@ enum BuildFlagKind { BuildFlag_NoEntryPoint, BuildFlag_UseLLD, BuildFlag_Vet, + BuildFlag_VetExtra, BuildFlag_UseLLVMApi, BuildFlag_IgnoreUnknownAttributes, BuildFlag_ExtraLinkerFlags, @@ -706,6 +707,7 @@ bool parse_build_flags(Array args) { add_flag(&build_flags, BuildFlag_NoEntryPoint, str_lit("no-entry-point"), BuildFlagParam_None, Command__does_check &~ Command_test); add_flag(&build_flags, BuildFlag_UseLLD, str_lit("lld"), BuildFlagParam_None, Command__does_build); add_flag(&build_flags, BuildFlag_Vet, str_lit("vet"), BuildFlagParam_None, Command__does_check); + add_flag(&build_flags, BuildFlag_VetExtra, str_lit("vet-extra"), BuildFlagParam_None, Command__does_check); add_flag(&build_flags, BuildFlag_UseLLVMApi, str_lit("llvm-api"), BuildFlagParam_None, Command__does_build); add_flag(&build_flags, BuildFlag_IgnoreUnknownAttributes, str_lit("ignore-unknown-attributes"), BuildFlagParam_None, Command__does_check); add_flag(&build_flags, BuildFlag_ExtraLinkerFlags, str_lit("extra-linker-flags"), BuildFlagParam_String, Command__does_build); @@ -1151,6 +1153,10 @@ bool parse_build_flags(Array args) { case BuildFlag_Vet: build_context.vet = true; break; + case BuildFlag_VetExtra: + build_context.vet = true; + build_context.vet_extra = true; + break; case BuildFlag_UseLLVMApi: build_context.use_llvm_api = true; @@ -1694,6 +1700,11 @@ void print_show_help(String const arg0, String const &command) { print_usage_line(3, "Unused declarations"); print_usage_line(0, ""); + print_usage_line(1, "-vet-extra"); + print_usage_line(2, "Do even more checks than standard vet on the code"); + print_usage_line(2, "To treat the extra warnings as errors, use -warnings-as-errors"); + print_usage_line(0, ""); + print_usage_line(1, "-ignore-unknown-attributes"); print_usage_line(2, "Ignores unknown attributes"); print_usage_line(2, "This can be used with metaprogramming tools"); -- cgit v1.2.3