static void MapGroupMembers(const WarningOption *Group, diag::Mapping Mapping, SourceLocation Loc, Diagnostic &Diag) { // Option exists, poke all the members of its diagnostic set. if (const short *Member = Group->Members) { for (; *Member != -1; ++Member) Diag.setDiagnosticMapping(*Member, Mapping, Loc); } // Enable/disable all subgroups along with this one. if (const short *SubGroups = Group->SubGroups) { for (; *SubGroups != (short)-1; ++SubGroups) MapGroupMembers(&OptionTable[(short)*SubGroups], Mapping, Loc, Diag); } }
static void MapGroupMembers(const WarningOption *Group, diag::Mapping Mapping, Diagnostic &Diags) { // Option exists, poke all the members of its diagnostic set. if (const short *Member = Group->Members) { for (; *Member != -1; ++Member) Diags.setDiagnosticMapping(*Member, Mapping); } // Enable/disable all subgroups along with this one. if (const char *SubGroups = Group->SubGroups) { for (; *SubGroups != (char)-1; ++SubGroups) MapGroupMembers(&OptionTable[(unsigned char)*SubGroups], Mapping, Diags); } }