Update the types for warning option subgroup arrays to 'short', we have more

than 127 groups so this was already failing given -fsigned-char. A subsequent
to commit to TableGen will generate shorts for the arrays themselves.

llvm-svn: 103703
This commit is contained in:
Chandler Carruth 2010-05-13 07:43:05 +00:00
parent 449df9698f
commit dd8f20dfb6

View File

@ -461,7 +461,7 @@ Diagnostic::getDiagnosticLevel(unsigned DiagID, unsigned DiagClass) const {
struct WarningOption {
const char *Name;
const short *Members;
const char *SubGroups;
const short *SubGroups;
};
#define GET_DIAG_ARRAYS
@ -491,9 +491,9 @@ static void MapGroupMembers(const WarningOption *Group, diag::Mapping 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);
if (const short *SubGroups = Group->SubGroups) {
for (; *SubGroups != (short)-1; ++SubGroups)
MapGroupMembers(&OptionTable[(short)*SubGroups], Mapping, Diags);
}
}