From b615b01449984b21d7615d6daf70455a56e7bdbc Mon Sep 17 00:00:00 2001 From: Alex Beregszaszi Date: Sat, 1 Jul 2017 23:40:01 +0100 Subject: Move UndefMacros from libdevcore to libsolidity/parsing --- libdevcore/UndefMacros.h | 46 ------------------------------- libsolidity/ast/Types.h | 1 - libsolidity/parsing/Token.h | 2 +- libsolidity/parsing/UndefMacros.h | 46 +++++++++++++++++++++++++++++++ test/RPCSession.h | 1 - test/libsolidity/SolidityEndToEndTest.cpp | 2 +- 6 files changed, 48 insertions(+), 50 deletions(-) delete mode 100644 libdevcore/UndefMacros.h create mode 100644 libsolidity/parsing/UndefMacros.h diff --git a/libdevcore/UndefMacros.h b/libdevcore/UndefMacros.h deleted file mode 100644 index d2da3323..00000000 --- a/libdevcore/UndefMacros.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - This file is part of solidity. - - solidity is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - solidity is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with solidity. If not, see . -*/ -/** @file UndefMacros.h - * @author Lefteris - * @date 2015 - * - * This header should be used to #undef some really evil macros defined by - * windows.h which result in conflict with our libsolidity/Token.h - */ -#pragma once - -#if defined(_MSC_VER) || defined(__MINGW32__) - -#undef DELETE -#undef IN -#undef VOID -#undef THIS -#undef CONST - -// Conflicting define on MinGW in windows.h -// windows.h(19): #define interface struct -#ifdef interface -#undef interface -#endif - -#elif defined(DELETE) || defined(IN) || defined(VOID) || defined(THIS) || defined(CONST) || defined(interface) - -#error "The preceding macros in this header file are reserved for V8's "\ -"TOKEN_LIST. Please add a platform specific define above to undefine "\ -"overlapping macros." - -#endif diff --git a/libsolidity/ast/Types.h b/libsolidity/ast/Types.h index f7a73ab5..d031a74f 100644 --- a/libsolidity/ast/Types.h +++ b/libsolidity/ast/Types.h @@ -28,7 +28,6 @@ #include #include -#include #include #include diff --git a/libsolidity/parsing/Token.h b/libsolidity/parsing/Token.h index 39c0eff9..d412b3f0 100644 --- a/libsolidity/parsing/Token.h +++ b/libsolidity/parsing/Token.h @@ -44,7 +44,7 @@ #include #include -#include +#include namespace dev { diff --git a/libsolidity/parsing/UndefMacros.h b/libsolidity/parsing/UndefMacros.h new file mode 100644 index 00000000..d96e242e --- /dev/null +++ b/libsolidity/parsing/UndefMacros.h @@ -0,0 +1,46 @@ +/* + This file is part of solidity. + + solidity is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + solidity is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with solidity. If not, see . +*/ +/** @file UndefMacros.h + * @author Lefteris + * @date 2015 + * + * This header should be used to #undef some really evil macros defined by + * windows.h which result in conflict with our Token.h + */ +#pragma once + +#if defined(_MSC_VER) || defined(__MINGW32__) + +#undef DELETE +#undef IN +#undef VOID +#undef THIS +#undef CONST + +// Conflicting define on MinGW in windows.h +// windows.h(19): #define interface struct +#ifdef interface +#undef interface +#endif + +#elif defined(DELETE) || defined(IN) || defined(VOID) || defined(THIS) || defined(CONST) || defined(interface) + +#error "The preceding macros in this header file are reserved for V8's "\ +"TOKEN_LIST. Please add a platform specific define above to undefine "\ +"overlapping macros." + +#endif diff --git a/test/RPCSession.h b/test/RPCSession.h index f3c3339a..f7fdd86e 100644 --- a/test/RPCSession.h +++ b/test/RPCSession.h @@ -21,7 +21,6 @@ #if defined(_WIN32) #include -#include "libdevcore/UndefMacros.h" #else #include #include diff --git a/test/libsolidity/SolidityEndToEndTest.cpp b/test/libsolidity/SolidityEndToEndTest.cpp index a6c01283..6fe2461c 100644 --- a/test/libsolidity/SolidityEndToEndTest.cpp +++ b/test/libsolidity/SolidityEndToEndTest.cpp @@ -9622,7 +9622,7 @@ BOOST_AUTO_TEST_CASE(scientific_notation) BOOST_CHECK(callContractFunction("k()") == encodeArgs(u256(-25))); } -BOOST_AUTO_TEST_CASE(interface) +BOOST_AUTO_TEST_CASE(interface_contract) { char const* sourceCode = R"( interface I { -- cgit