From 5109ec06a641f039775e1a6bcd7d50bb04dbb8f6 Mon Sep 17 00:00:00 2001 From: David Blaikie Date: Wed, 4 Mar 2015 19:56:44 +0000 Subject: [PATCH] Add a FIXME for PR22796, broken ordering of ClassInfo in TableGen As discussed (at length) in code review of r222935, with Duncan. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@231282 91177308-0d34-0410-b5e6-96231b3b80d8 --- utils/TableGen/AsmMatcherEmitter.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/utils/TableGen/AsmMatcherEmitter.cpp b/utils/TableGen/AsmMatcherEmitter.cpp index 909ecd4665f..ac95b1459f3 100644 --- a/utils/TableGen/AsmMatcherEmitter.cpp +++ b/utils/TableGen/AsmMatcherEmitter.cpp @@ -264,6 +264,11 @@ public: } /// operator< - Compare two classes. + // FIXME: This ordering seems to be broken. For example: + // u64 < i64, i64 < s8, s8 < u64, forming a cycle + // u64 is a subset of i64 + // i64 and s8 are not subsets of each other, so are ordered by name + // s8 and u64 are not subsets of each other, so are ordered by name bool operator<(const ClassInfo &RHS) const { if (this == &RHS) return false;