Add separate -vet flags; -vet-using-* flags; //+vet file flags

This commit is contained in:
gingerBill
2023-07-31 11:09:19 +01:00
parent 551c379f1b
commit 60e509b1e0
11 changed files with 204 additions and 22 deletions
+33 -2
View File
@@ -216,6 +216,37 @@ enum BuildPath : u8 {
BuildPathCOUNT,
};
enum VetFlags : u64 {
VetFlag_NONE = 0,
VetFlag_Unused = 1u<<0,
VetFlag_Shadowing = 1u<<1,
VetFlag_UsingStmt = 1u<<2,
VetFlag_UsingParam = 1u<<3,
VetFlag_Extra = 1u<<16,
VetFlag_All = VetFlag_Unused|VetFlag_Shadowing|VetFlag_UsingStmt, // excluding extra
VetFlag_Using = VetFlag_UsingStmt|VetFlag_UsingParam,
};
u64 get_vet_flag_from_name(String const &name) {
if (name == "unused") {
return VetFlag_Unused;
} else if (name == "shadowing") {
return VetFlag_Shadowing;
} else if (name == "using-stmt") {
return VetFlag_UsingStmt;
} else if (name == "using-param") {
return VetFlag_UsingParam;
} else if (name == "extra") {
return VetFlag_Extra;
}
return VetFlag_NONE;
}
// This stores the information for the specify architecture of this build
struct BuildContext {
// Constants
@@ -255,6 +286,8 @@ struct BuildContext {
String resource_filepath;
String pdb_filepath;
u64 vet_flags;
bool has_resource;
String link_flags;
String extra_linker_flags;
@@ -280,8 +313,6 @@ struct BuildContext {
bool no_entry_point;
bool no_thread_local;
bool use_lld;
bool vet;
bool vet_extra;
bool cross_compiling;
bool different_os;
bool keep_object_files;