NFC: disallow comparison of AtomicOrdering
authorJF Bastien <jfb@google.com>
Thu, 7 Apr 2016 15:50:05 +0000 (15:50 +0000)
committerJF Bastien <jfb@google.com>
Thu, 7 Apr 2016 15:50:05 +0000 (15:50 +0000)
Follow-up to D18775 and related clang change. AtomicOrdering is a lattice, 'stronger' is the right thing to do, direct comparison is fraught with peril.

llvm-svn: 265685

llvm/include/llvm/IR/Instructions.h

index 4fd5cad..df3bb71 100644 (file)
@@ -53,6 +53,11 @@ enum class AtomicOrdering {
   SequentiallyConsistent = 7
 };
 
+bool operator<(AtomicOrdering, AtomicOrdering) = delete;
+bool operator>(AtomicOrdering, AtomicOrdering) = delete;
+bool operator<=(AtomicOrdering, AtomicOrdering) = delete;
+bool operator>=(AtomicOrdering, AtomicOrdering) = delete;
+
 /// String used by LLVM IR to represent atomic ordering.
 static inline const char *toIRString(AtomicOrdering ao) {
   static const char *names[8] = {"not_atomic", "unordered", "monotonic",