diff options
author | Jim Grosbach <grosbach@apple.com> | 2008-09-11 17:05:32 +0000 |
---|---|---|
committer | Jim Grosbach <grosbach@apple.com> | 2008-09-11 17:05:32 +0000 |
commit | 36ed4557fe38a56a6920007237f9feb746cebd5a (patch) | |
tree | 83394f72c8d240d8b24425c29fcb14356deaf56a /utils | |
parent | 26cce28a3dd67fa562ffcca9e02c2d3c79392142 (diff) | |
download | external_llvm-36ed4557fe38a56a6920007237f9feb746cebd5a.zip external_llvm-36ed4557fe38a56a6920007237f9feb746cebd5a.tar.gz external_llvm-36ed4557fe38a56a6920007237f9feb746cebd5a.tar.bz2 |
lib/Target/SubtargetFeature.cpp asserts that the FeatureKV[] table be sorted
by its first field, but TableGen doesn't actually enforce creating it that
way. TableGen sorts the records that will be used to create it by the names
of the records, not the Name field of those records.
This patch corrects the sort to use the "Name" field of the record as the
sort key.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56106 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils')
-rw-r--r-- | utils/TableGen/Record.h | 3 | ||||
-rw-r--r-- | utils/TableGen/SubtargetEmitter.cpp | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/utils/TableGen/Record.h b/utils/TableGen/Record.h index d597715..90e246e 100644 --- a/utils/TableGen/Record.h +++ b/utils/TableGen/Record.h @@ -1183,7 +1183,8 @@ struct LessRecord { } }; -/// LessRecord - Sorting predicate to sort record pointers by their name field. +/// LessRecordFieldName - Sorting predicate to sort record pointers by their +/// name field. /// struct LessRecordFieldName { bool operator()(const Record *Rec1, const Record *Rec2) const { diff --git a/utils/TableGen/SubtargetEmitter.cpp b/utils/TableGen/SubtargetEmitter.cpp index 9b5f6df..b05b996 100644 --- a/utils/TableGen/SubtargetEmitter.cpp +++ b/utils/TableGen/SubtargetEmitter.cpp @@ -61,7 +61,7 @@ void SubtargetEmitter::FeatureKeyValues(std::ostream &OS) { // Gather and sort all the features std::vector<Record*> FeatureList = Records.getAllDerivedDefinitions("SubtargetFeature"); - std::sort(FeatureList.begin(), FeatureList.end(), LessRecord()); + std::sort(FeatureList.begin(), FeatureList.end(), LessRecordFieldName()); // Begin feature table OS << "// Sorted (by key) array of values for CPU features.\n" |