[llvm-commits] [llvm] r125215 - /llvm/trunk/lib/MC/MCDisassembler/EDDisassembler.h

Shantonu Sen ssen at apple.com
Wed Feb 9 13:03:19 PST 2011


Author: ssen
Date: Wed Feb  9 15:03:19 2011
New Revision: 125215

URL: http://llvm.org/viewvc/llvm-project?rev=125215&view=rev
Log:
Fix comparator used for looking up previously instantiated EDDisassemblers.

Now, Syntax is only used as a tie-breaker if the Arch
matches. Previously, a request for x86_64 disassembler followed by the
i386 disassembler in a single process would return the cached x86_64
disassembler. Fixes <rdar://problem/8958982>


Modified:
    llvm/trunk/lib/MC/MCDisassembler/EDDisassembler.h

Modified: llvm/trunk/lib/MC/MCDisassembler/EDDisassembler.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCDisassembler/EDDisassembler.h?rev=125215&r1=125214&r2=125215&view=diff
==============================================================================
--- llvm/trunk/lib/MC/MCDisassembler/EDDisassembler.h (original)
+++ llvm/trunk/lib/MC/MCDisassembler/EDDisassembler.h Wed Feb  9 15:03:19 2011
@@ -89,8 +89,10 @@
     bool operator<(const CPUKey &key) const {
       if(Arch > key.Arch)
         return false;
-      if(Syntax >= key.Syntax)
-        return false;
+      else if (Arch == key.Arch) {
+        if(Syntax > key.Syntax)
+          return false;
+      }
       return true;
     }
   };





More information about the llvm-commits mailing list