mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-26 07:29:55 +00:00
Fix another mistake in r190442.
Sorry about that; I'll try to be more careful about DEBUG mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190449 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
ae43dac300
commit
add560eee4
@ -46,6 +46,35 @@ static int StrCmpOptionNameIgnoreCase(const char *A, const char *B) {
|
|||||||
return (a < b) ? -1 : 1;
|
return (a < b) ? -1 : 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef NDEBUG
|
||||||
|
static int StrCmpOptionName(const char *A, const char *B) {
|
||||||
|
if (int N = StrCmpOptionNameIgnoreCase(A, B))
|
||||||
|
return N;
|
||||||
|
return strcmp(A, B);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline bool operator<(const OptTable::Info &A, const OptTable::Info &B) {
|
||||||
|
if (&A == &B)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if (int N = StrCmpOptionName(A.Name, B.Name))
|
||||||
|
return N < 0;
|
||||||
|
|
||||||
|
for (const char * const *APre = A.Prefixes,
|
||||||
|
* const *BPre = B.Prefixes;
|
||||||
|
*APre != 0 && *BPre != 0; ++APre, ++BPre) {
|
||||||
|
if (int N = StrCmpOptionName(*APre, *BPre))
|
||||||
|
return N < 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Names are the same, check that classes are in order; exactly one
|
||||||
|
// should be joined, and it should succeed the other.
|
||||||
|
assert(((A.Kind == Option::JoinedClass) ^ (B.Kind == Option::JoinedClass)) &&
|
||||||
|
"Unexpected classes for options with same name.");
|
||||||
|
return B.Kind == Option::JoinedClass;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
// Support lower_bound between info and an option name.
|
// Support lower_bound between info and an option name.
|
||||||
static inline bool operator<(const OptTable::Info &I, const char *Name) {
|
static inline bool operator<(const OptTable::Info &I, const char *Name) {
|
||||||
return StrCmpOptionNameIgnoreCase(I.Name, Name) < 0;
|
return StrCmpOptionNameIgnoreCase(I.Name, Name) < 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user