mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-15 04:30:12 +00:00
Make isValidMCLOHType take unsigned instead of enum to avoid loading invalid enum values
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216797 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e306159429
commit
c5198dc17a
@ -45,7 +45,7 @@ static inline StringRef MCLOHDirectiveName() {
|
||||
return StringRef(".loh");
|
||||
}
|
||||
|
||||
static inline bool isValidMCLOHType(MCLOHType Kind) {
|
||||
static inline bool isValidMCLOHType(unsigned Kind) {
|
||||
return Kind >= MCLOH_AdrpAdrp && Kind <= MCLOH_AdrpLdrGot;
|
||||
}
|
||||
|
||||
|
@ -3985,10 +3985,9 @@ bool AArch64AsmParser::parseDirectiveLOH(StringRef IDVal, SMLoc Loc) {
|
||||
// We successfully get a numeric value for the identifier.
|
||||
// Check if it is valid.
|
||||
int64_t Id = getParser().getTok().getIntVal();
|
||||
Kind = (MCLOHType)Id;
|
||||
// Check that Id does not overflow MCLOHType.
|
||||
if (!isValidMCLOHType(Kind) || Id != Kind)
|
||||
if (Id <= -1U && !isValidMCLOHType(Id))
|
||||
return TokError("invalid numeric identifier in directive");
|
||||
Kind = (MCLOHType)Id;
|
||||
} else {
|
||||
StringRef Name = getTok().getIdentifier();
|
||||
// We successfully parse an identifier.
|
||||
|
Loading…
Reference in New Issue
Block a user