From 513051efcf2268a5b530071ecae62007cc3f0eb5 Mon Sep 17 00:00:00 2001 From: Aleksey Filippov Date: Tue, 20 Mar 2018 22:15:30 +0000 Subject: Rename '183 as-needed' common test into '184 as-needed' Also use !bool instead of bool == false. --- test cases/common/183 as-needed/config.h | 14 -------------- test cases/common/183 as-needed/libA.cpp | 7 ------- test cases/common/183 as-needed/libA.h | 5 ----- test cases/common/183 as-needed/libB.cpp | 19 ------------------- test cases/common/183 as-needed/main.cpp | 7 ------- test cases/common/183 as-needed/meson.build | 13 ------------- test cases/common/184 as-needed/config.h | 14 ++++++++++++++ test cases/common/184 as-needed/libA.cpp | 7 +++++++ test cases/common/184 as-needed/libA.h | 5 +++++ test cases/common/184 as-needed/libB.cpp | 19 +++++++++++++++++++ test cases/common/184 as-needed/main.cpp | 7 +++++++ test cases/common/184 as-needed/meson.build | 13 +++++++++++++ 12 files changed, 65 insertions(+), 65 deletions(-) delete mode 100644 test cases/common/183 as-needed/config.h delete mode 100644 test cases/common/183 as-needed/libA.cpp delete mode 100644 test cases/common/183 as-needed/libA.h delete mode 100644 test cases/common/183 as-needed/libB.cpp delete mode 100644 test cases/common/183 as-needed/main.cpp delete mode 100644 test cases/common/183 as-needed/meson.build create mode 100644 test cases/common/184 as-needed/config.h create mode 100644 test cases/common/184 as-needed/libA.cpp create mode 100644 test cases/common/184 as-needed/libA.h create mode 100644 test cases/common/184 as-needed/libB.cpp create mode 100644 test cases/common/184 as-needed/main.cpp create mode 100644 test cases/common/184 as-needed/meson.build diff --git a/test cases/common/183 as-needed/config.h b/test cases/common/183 as-needed/config.h deleted file mode 100644 index b8fb60f..0000000 --- a/test cases/common/183 as-needed/config.h +++ /dev/null @@ -1,14 +0,0 @@ -#if defined _WIN32 || defined __CYGWIN__ - #if defined BUILDING_DLL - #define DLL_PUBLIC __declspec(dllexport) - #else - #define DLL_PUBLIC __declspec(dllimport) - #endif -#else - #if defined __GNUC__ - #define DLL_PUBLIC __attribute__ ((visibility("default"))) - #else - #pragma message ("Compiler does not support symbol visibility.") - #define DLL_PUBLIC - #endif -#endif diff --git a/test cases/common/183 as-needed/libA.cpp b/test cases/common/183 as-needed/libA.cpp deleted file mode 100644 index 5f45bc0..0000000 --- a/test cases/common/183 as-needed/libA.cpp +++ /dev/null @@ -1,7 +0,0 @@ -#define BUILDING_DLL - -#include "libA.h" - -namespace meson_test_as_needed { - DLL_PUBLIC bool linked = false; -} diff --git a/test cases/common/183 as-needed/libA.h b/test cases/common/183 as-needed/libA.h deleted file mode 100644 index 8e76d22..0000000 --- a/test cases/common/183 as-needed/libA.h +++ /dev/null @@ -1,5 +0,0 @@ -#include "config.h" - -namespace meson_test_as_needed { - DLL_PUBLIC extern bool linked; -} diff --git a/test cases/common/183 as-needed/libB.cpp b/test cases/common/183 as-needed/libB.cpp deleted file mode 100644 index a872394..0000000 --- a/test cases/common/183 as-needed/libB.cpp +++ /dev/null @@ -1,19 +0,0 @@ -#include "libA.h" - -#undef DLL_PUBLIC -#define BUILDING_DLL -#include "config.h" - -namespace meson_test_as_needed { - namespace { - bool set_linked() { - linked = true; - return true; - } - bool stub = set_linked(); - } - - DLL_PUBLIC int libB_unused_func() { - return 0; - } -} diff --git a/test cases/common/183 as-needed/main.cpp b/test cases/common/183 as-needed/main.cpp deleted file mode 100644 index cecb2ff..0000000 --- a/test cases/common/183 as-needed/main.cpp +++ /dev/null @@ -1,7 +0,0 @@ -#include - -#include "libA.h" - -int main() { - return (meson_test_as_needed::linked == false ? EXIT_SUCCESS : EXIT_FAILURE); -} diff --git a/test cases/common/183 as-needed/meson.build b/test cases/common/183 as-needed/meson.build deleted file mode 100644 index 3b54aaa..0000000 --- a/test cases/common/183 as-needed/meson.build +++ /dev/null @@ -1,13 +0,0 @@ -project('as-needed test', 'cpp') - -# Idea behind this test is to have -Wl,--as-needed prune -# away unneeded linkages, which would otherwise cause global -# static initialiser side-effects to set a boolean to true. - -# Credits for portable ISO C++ idea go to sarum9in - -libA = library('A', 'libA.cpp') -libB = library('B', 'libB.cpp', link_with : libA) - -main_exe = executable('C', 'main.cpp', link_with : [libA, libB]) -test('main test', main_exe) diff --git a/test cases/common/184 as-needed/config.h b/test cases/common/184 as-needed/config.h new file mode 100644 index 0000000..b8fb60f --- /dev/null +++ b/test cases/common/184 as-needed/config.h @@ -0,0 +1,14 @@ +#if defined _WIN32 || defined __CYGWIN__ + #if defined BUILDING_DLL + #define DLL_PUBLIC __declspec(dllexport) + #else + #define DLL_PUBLIC __declspec(dllimport) + #endif +#else + #if defined __GNUC__ + #define DLL_PUBLIC __attribute__ ((visibility("default"))) + #else + #pragma message ("Compiler does not support symbol visibility.") + #define DLL_PUBLIC + #endif +#endif diff --git a/test cases/common/184 as-needed/libA.cpp b/test cases/common/184 as-needed/libA.cpp new file mode 100644 index 0000000..5f45bc0 --- /dev/null +++ b/test cases/common/184 as-needed/libA.cpp @@ -0,0 +1,7 @@ +#define BUILDING_DLL + +#include "libA.h" + +namespace meson_test_as_needed { + DLL_PUBLIC bool linked = false; +} diff --git a/test cases/common/184 as-needed/libA.h b/test cases/common/184 as-needed/libA.h new file mode 100644 index 0000000..8e76d22 --- /dev/null +++ b/test cases/common/184 as-needed/libA.h @@ -0,0 +1,5 @@ +#include "config.h" + +namespace meson_test_as_needed { + DLL_PUBLIC extern bool linked; +} diff --git a/test cases/common/184 as-needed/libB.cpp b/test cases/common/184 as-needed/libB.cpp new file mode 100644 index 0000000..a872394 --- /dev/null +++ b/test cases/common/184 as-needed/libB.cpp @@ -0,0 +1,19 @@ +#include "libA.h" + +#undef DLL_PUBLIC +#define BUILDING_DLL +#include "config.h" + +namespace meson_test_as_needed { + namespace { + bool set_linked() { + linked = true; + return true; + } + bool stub = set_linked(); + } + + DLL_PUBLIC int libB_unused_func() { + return 0; + } +} diff --git a/test cases/common/184 as-needed/main.cpp b/test cases/common/184 as-needed/main.cpp new file mode 100644 index 0000000..191d15c --- /dev/null +++ b/test cases/common/184 as-needed/main.cpp @@ -0,0 +1,7 @@ +#include + +#include "libA.h" + +int main() { + return !meson_test_as_needed::linked ? EXIT_SUCCESS : EXIT_FAILURE; +} diff --git a/test cases/common/184 as-needed/meson.build b/test cases/common/184 as-needed/meson.build new file mode 100644 index 0000000..3b54aaa --- /dev/null +++ b/test cases/common/184 as-needed/meson.build @@ -0,0 +1,13 @@ +project('as-needed test', 'cpp') + +# Idea behind this test is to have -Wl,--as-needed prune +# away unneeded linkages, which would otherwise cause global +# static initialiser side-effects to set a boolean to true. + +# Credits for portable ISO C++ idea go to sarum9in + +libA = library('A', 'libA.cpp') +libB = library('B', 'libB.cpp', link_with : libA) + +main_exe = executable('C', 'main.cpp', link_with : [libA, libB]) +test('main test', main_exe) -- cgit v1.1