Add an "ATTRIBUTE_UNUSED" macro (and use it). It's for variables which are
authorBill Wendling <isanbard@gmail.com>
Mon, 28 Dec 2009 01:20:29 +0000 (01:20 +0000)
committerBill Wendling <isanbard@gmail.com>
Mon, 28 Dec 2009 01:20:29 +0000 (01:20 +0000)
mainly used in debugging and/or assert situations. It should make the compiler
and the static analyzer stop nagging us about them.

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

include/llvm/Support/Compiler.h
lib/Target/ARM/AsmParser/ARMAsmParser.cpp

index 8861a2095409d1de678c463da6ab47d45d5d5658..1376e4664c204421f9eb44d987452cbbaadfb1df 100644 (file)
 #define ATTRIBUTE_USED
 #endif
 
+#if (__GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))
+#define ATTRIBUTE_UNUSED __attribute__((__unused__))
+#else
+#define ATTRIBUTE_UNUSED
+#endif
+
 #ifdef __GNUC__ // aka 'ATTRIBUTE_CONST' but following LLVM Conventions.
 #define ATTRIBUTE_READNONE __attribute__((__const__))
 #else
index 232f035c66013acb8f84ee1b6e54d5e5d4d8dd0f..ed4667ba18556094ddcdcd6ce3ad1c721a5b98a0 100644 (file)
@@ -15,6 +15,7 @@
 #include "llvm/MC/MCStreamer.h"
 #include "llvm/MC/MCExpr.h"
 #include "llvm/MC/MCInst.h"
+#include "llvm/Support/Compiler.h"
 #include "llvm/Support/SourceMgr.h"
 #include "llvm/Target/TargetRegistry.h"
 #include "llvm/Target/TargetAsmParser.h"
@@ -666,7 +667,7 @@ bool ARMAsmParser::ParseDirectiveThumbFunc(SMLoc L) {
   const AsmToken &Tok = getLexer().getTok();
   if (Tok.isNot(AsmToken::Identifier) && Tok.isNot(AsmToken::String))
     return Error(L, "unexpected token in .syntax directive");
-  StringRef SymbolName = getLexer().getTok().getIdentifier();
+  StringRef ATTRIBUTE_UNUSED SymbolName = getLexer().getTok().getIdentifier();
   getLexer().Lex(); // Consume the identifier token.
 
   if (getLexer().isNot(AsmToken::EndOfStatement))