From 5ff2e6e4e5a1f05df59ccf11ba881de9df895cb5 Mon Sep 17 00:00:00 2001 From: Peter Rosin Date: Fri, 15 Aug 2008 10:04:25 +0200 Subject: [PATCH] dllimport variables for MSVC in stresstest.at * tests/stresstest.at [MSVC]: dllimport all imported variables. Signed-off-by: Peter Rosin Signed-off-by: Ralf Wildenhues --- ChangeLog | 5 +++++ tests/stresstest.at | 40 ++++++++++++++++++++++++++-------------- 2 files changed, 31 insertions(+), 14 deletions(-) diff --git a/ChangeLog b/ChangeLog index 11abf321c..1371b5dfb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-08-15 Peter Rosin + + * tests/stresstest.at [MSVC]: dllimport all imported + variables. + 2008-08-15 Peter Rosin * tests/stresstest.at: Link with main.lo when liba is shared diff --git a/tests/stresstest.at b/tests/stresstest.at index c9fee10b9..e71d492d9 100644 --- a/tests/stresstest.at +++ b/tests/stresstest.at @@ -93,29 +93,35 @@ AT_DATA(main.c, #if defined(LIBA_DLL_IMPORT) # if defined(_WIN32) || defined(WIN32) || defined(__CYGWIN__) # define LIBA_SCOPE extern __declspec(dllimport) +# if defined(_MSC_VER) +# define LIBA_SCOPE_VAR LIBA_SCOPE +# endif # endif #endif #if !defined(LIBA_SCOPE) # define LIBA_SCOPE extern #endif +#if !defined(LIBA_SCOPE_VAR) +# define LIBA_SCOPE_VAR extern +#endif #ifdef __cplusplus extern "C" { #endif -extern int v1; -extern int v3, v4; +LIBA_SCOPE_VAR int v1; +LIBA_SCOPE_VAR int v3, v4; LIBA_SCOPE const int v5, v6; -extern const char* v7; -extern const char v8[]; +LIBA_SCOPE_VAR const char* v7; +LIBA_SCOPE_VAR const char v8[]; extern int v9(void); -extern int (*v10) (void); -extern int (*v11) (void); +LIBA_SCOPE_VAR int (*v10) (void); +LIBA_SCOPE_VAR int (*v11) (void); LIBA_SCOPE int (*const v12) (void); #ifdef __cplusplus } #endif typedef struct { int arr[1000]; } large; -extern large v13, v14, v15; +LIBA_SCOPE_VAR large v13, v14, v15; int main(void) { @@ -131,26 +137,32 @@ AT_DATA(dlself.c, #if defined(LIBA_DLL_IMPORT) # if defined(_WIN32) || defined(WIN32) || defined(__CYGWIN__) # define LIBA_SCOPE extern __declspec(dllimport) +# if defined(_MSC_VER) +# define LIBA_SCOPE_VAR LIBA_SCOPE +# endif # endif #endif #if !defined(LIBA_SCOPE) # define LIBA_SCOPE extern #endif +#if !defined(LIBA_SCOPE_VAR) +# define LIBA_SCOPE_VAR extern +#endif #ifdef __cplusplus extern "C" { #endif -extern int v1; -extern int v3, v4; +LIBA_SCOPE_VAR int v1; +LIBA_SCOPE_VAR int v3, v4; LIBA_SCOPE const int v5, v6; -extern const char* v7; -extern const char v8[]; +LIBA_SCOPE_VAR const char* v7; +LIBA_SCOPE_VAR const char v8[]; extern int v9(void); -extern int (*v10) (void); -extern int (*v11) (void); +LIBA_SCOPE_VAR int (*v10) (void); +LIBA_SCOPE_VAR int (*v11) (void); LIBA_SCOPE int (*const v12) (void); typedef struct { int arr[1000]; } large; -extern large v13, v14, v15; +LIBA_SCOPE_VAR large v13, v14, v15; extern int w1; extern int w3, w4; -- 2.47.3