Merge "Better solution for Docomo 1339 bug." into tizen_2.1
[framework/web/webkit-efl.git] / Source / WTF / wtf / UnusedParam.h
1 /*
2  *  Copyright (C) 2006 Apple Computer, Inc.
3  *
4  *  This library is free software; you can redistribute it and/or
5  *  modify it under the terms of the GNU Library General Public
6  *  License as published by the Free Software Foundation; either
7  *  version 2 of the License, or (at your option) any later version.
8  *
9  *  This library is distributed in the hope that it will be useful,
10  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  *  Library General Public License for more details.
13  *
14  *  You should have received a copy of the GNU Library General Public License
15  *  along with this library; see the file COPYING.LIB.  If not, write to
16  *  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17  *  Boston, MA 02110-1301, USA.
18  *
19  */
20
21 #ifndef WTF_UnusedParam_h
22 #define WTF_UnusedParam_h
23
24 #include <wtf/Platform.h>
25
26 #if COMPILER(INTEL) && !OS(WINDOWS) || COMPILER(RVCT)
27 template<typename T>
28 inline void unusedParam(T& x) { (void)x; }
29 #define UNUSED_PARAM(variable) unusedParam(variable)
30 #else
31 #define UNUSED_PARAM(variable) (void)variable
32 #endif
33
34 /* This is to keep the compiler from complaining when for local labels are
35    declared but not referenced. For example, this can happen with code that
36    works with auto-generated code.
37 */
38 #if COMPILER(MSVC)
39 #define UNUSED_LABEL(label) if (false) goto label
40 #else
41 #define UNUSED_LABEL(label) UNUSED_PARAM(&& label)
42 #endif
43
44 #endif /* WTF_UnusedParam_h */