Avoid many "variable 'Sub' set but not used [-Wunused-but-set-variable]" warnings
authorDuncan Sands <baldrick@free.fr>
Thu, 10 Jun 2010 15:06:05 +0000 (15:06 +0000)
committerDuncan Sands <baldrick@free.fr>
Thu, 10 Jun 2010 15:06:05 +0000 (15:06 +0000)
with gcc-4.6.  The warning is wrong, since Sub *is* used (perhaps gcc is confused
because the use of Sub is constant folded away?), but since it is trivial to avoid,
and massively reduces the amount of warning spew, just workaround the wrong warning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105788 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/SymbolTableListTraits.h

index 39953e1..91a4eb9 100644 (file)
@@ -47,9 +47,8 @@ public:
   /// of instructions, it returns the BasicBlock that owns them.
   ItemParentClass *getListOwner() {
     typedef iplist<ValueSubClass> ItemParentClass::*Sublist;
-    Sublist Sub(ItemParentClass::
-                getSublistAccess(static_cast<ValueSubClass*>(0)));
-    size_t Offset(size_t(&((ItemParentClass*)0->*Sub)));
+    size_t Offset(size_t(&((ItemParentClass*)0->*ItemParentClass::
+                           getSublistAccess(static_cast<ValueSubClass*>(0)))));
     iplist<ValueSubClass>* Anchor(static_cast<iplist<ValueSubClass>*>(this));
     return reinterpret_cast<ItemParentClass*>(reinterpret_cast<char*>(Anchor)-
                                               Offset);