[PATCH 1/2] tests: __declspec (dll{ex, im}port) in tests/exceptions.at
Hi! I have tested this patch on MinGW/gcc and Cygwin/gcc and they are both ok with the __declspec() notation. On MSVC, the test goes from skip to fail, as it needs 2/2. Cheers, Peter From 52972128c5952da628e033e4509208711906c3a2 Mon Sep 17 00:00:00 2001 From: Peter Rosin p...@lysator.liu.se Date: Mon, 20 Sep 2010 09:07:25 +0200 Subject: [PATCH 1/2] tests: __declspec (dll{ex,im}port) in tests/exceptions.at * tests/exceptions.at (common.h, module.h, lib.h) [w32]: Use __declspec (dllimport) and __declspec (dllexport) instead of the less portable __attribute__ ((dllimport)) and __attribute__ ((dllexport)). Makes the test compile on MSVC. Signed-off-by: Peter Rosin p...@lysator.liu.se --- ChangeLog |8 tests/exceptions.at | 17 - 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index 78d3e48..3c72890 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2010-09-20 Peter Rosin p...@lysator.liu.se + + tests: __declspec (dll{ex,im}port) in tests/exceptions.at + * tests/exceptions.at (common.h, module.h, lib.h) [w32]: Use + __declspec (dllimport) and __declspec (dllexport) instead of + the less portable __attribute__ ((dllimport)) and + __attribute__ ((dllexport)). Makes the test compile on MSVC. + 2010-09-19 Peter Rosin p...@lysator.liu.se tests: Import items from liba1 for MSVC. diff --git a/tests/exceptions.at b/tests/exceptions.at index 235597c..286b2ac 100644 --- a/tests/exceptions.at +++ b/tests/exceptions.at @@ -66,9 +66,8 @@ CPPFLAGS=$LTDLINCL $CPPFLAGS # the regex). However, in this test, none of these situations apply, # so we don't directly address it. Otherwise, the correct mechanism # would be to avoid all of those flags, and instead explicitly decorate -# all symbols with appropriate __attribute__ ((dllexport)) or -# __attribute__ ((dllimport)) flags when building the DLLs and the -# clients. +# all symbols with appropriate __declspec (dllexport) or +# __declspec (dllimport) flags when building the DLLs and the clients. # # For more information, see these two threads: # http://lists.gnu.org/archive/html/bug-libtool/2010-06/msg00069.html @@ -84,9 +83,9 @@ AT_DATA([common.h], #if defined(__CYGWIN__) || defined(_WIN32) # if defined(DLL_EXPORT) || defined(USING_COMMON_DLL) # if defined(LIBTOOL_TEST_IN_COMMON) -# define COMMON_IMPEXP __attribute__ ((dllexport)) +# define COMMON_IMPEXP __declspec (dllexport) # else -# define COMMON_IMPEXP __attribute__ ((dllimport)) +# define COMMON_IMPEXP __declspec (dllimport) # endif # else # define COMMON_IMPEXP @@ -128,9 +127,9 @@ AT_DATA([module.h], #if defined(__CYGWIN__) || defined(_WIN32) # if defined(DLL_EXPORT) || defined(USING_MODULE_DLL) # if defined(LIBTOOL_TEST_IN_MODULE) -# define MODULE_IMPEXP __attribute__ ((dllexport)) +# define MODULE_IMPEXP __declspec (dllexport) # else -# define MODULE_IMPEXP __attribute__ ((dllimport)) +# define MODULE_IMPEXP __declspec (dllimport) # endif # else # define MODULE_IMPEXP @@ -174,9 +173,9 @@ AT_DATA([lib.h], #if defined(__CYGWIN__) || defined(_WIN32) # if defined(DLL_EXPORT) || defined(USING_LIB_DLL) # if defined(LIBTOOL_TEST_IN_LIB) -# define LIB_IMPEXP __attribute__ ((dllexport)) +# define LIB_IMPEXP __declspec (dllexport) # else -# define LIB_IMPEXP __attribute__ ((dllimport)) +# define LIB_IMPEXP __declspec (dllimport) # endif # else # define LIB_IMPEXP -- 1.7.1
Re: [PATCH 1/2] tests: __declspec (dll{ex, im}port) in tests/exceptions.at
On Mon, 20 Sep 2010, Peter Rosin wrote: Hi! I have tested this patch on MinGW/gcc and Cygwin/gcc and they are both ok with the __declspec() notation. On MSVC, the test goes from skip to fail, as it needs 2/2. This patch looks good to apply, as does the 2/2 patch to make sure that lt__PROGRAM__LTX_preloaded_symbols is globally scoped and extern C. Bob Cheers, Peter From 52972128c5952da628e033e4509208711906c3a2 Mon Sep 17 00:00:00 2001 From: Peter Rosin p...@lysator.liu.se Date: Mon, 20 Sep 2010 09:07:25 +0200 Subject: [PATCH 1/2] tests: __declspec (dll{ex,im}port) in tests/exceptions.at * tests/exceptions.at (common.h, module.h, lib.h) [w32]: Use __declspec (dllimport) and __declspec (dllexport) instead of the less portable __attribute__ ((dllimport)) and __attribute__ ((dllexport)). Makes the test compile on MSVC. Signed-off-by: Peter Rosin p...@lysator.liu.se --- ChangeLog |8 tests/exceptions.at | 17 - 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index 78d3e48..3c72890 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2010-09-20 Peter Rosin p...@lysator.liu.se + + tests: __declspec (dll{ex,im}port) in tests/exceptions.at + * tests/exceptions.at (common.h, module.h, lib.h) [w32]: Use + __declspec (dllimport) and __declspec (dllexport) instead of + the less portable __attribute__ ((dllimport)) and + __attribute__ ((dllexport)). Makes the test compile on MSVC. + 2010-09-19 Peter Rosin p...@lysator.liu.se tests: Import items from liba1 for MSVC. diff --git a/tests/exceptions.at b/tests/exceptions.at index 235597c..286b2ac 100644 --- a/tests/exceptions.at +++ b/tests/exceptions.at @@ -66,9 +66,8 @@ CPPFLAGS=$LTDLINCL $CPPFLAGS # the regex). However, in this test, none of these situations apply, # so we don't directly address it. Otherwise, the correct mechanism # would be to avoid all of those flags, and instead explicitly decorate -# all symbols with appropriate __attribute__ ((dllexport)) or -# __attribute__ ((dllimport)) flags when building the DLLs and the -# clients. +# all symbols with appropriate __declspec (dllexport) or +# __declspec (dllimport) flags when building the DLLs and the clients. # # For more information, see these two threads: # http://lists.gnu.org/archive/html/bug-libtool/2010-06/msg00069.html @@ -84,9 +83,9 @@ AT_DATA([common.h], #if defined(__CYGWIN__) || defined(_WIN32) # if defined(DLL_EXPORT) || defined(USING_COMMON_DLL) # if defined(LIBTOOL_TEST_IN_COMMON) -# define COMMON_IMPEXP __attribute__ ((dllexport)) +# define COMMON_IMPEXP __declspec (dllexport) # else -# define COMMON_IMPEXP __attribute__ ((dllimport)) +# define COMMON_IMPEXP __declspec (dllimport) # endif # else # define COMMON_IMPEXP @@ -128,9 +127,9 @@ AT_DATA([module.h], #if defined(__CYGWIN__) || defined(_WIN32) # if defined(DLL_EXPORT) || defined(USING_MODULE_DLL) # if defined(LIBTOOL_TEST_IN_MODULE) -# define MODULE_IMPEXP __attribute__ ((dllexport)) +# define MODULE_IMPEXP __declspec (dllexport) # else -# define MODULE_IMPEXP __attribute__ ((dllimport)) +# define MODULE_IMPEXP __declspec (dllimport) # endif # else # define MODULE_IMPEXP @@ -174,9 +173,9 @@ AT_DATA([lib.h], #if defined(__CYGWIN__) || defined(_WIN32) # if defined(DLL_EXPORT) || defined(USING_LIB_DLL) # if defined(LIBTOOL_TEST_IN_LIB) -# define LIB_IMPEXP __attribute__ ((dllexport)) +# define LIB_IMPEXP __declspec (dllexport) # else -# define LIB_IMPEXP __attribute__ ((dllimport)) +# define LIB_IMPEXP __declspec (dllimport) # endif # else # define LIB_IMPEXP -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/
Re: [PATCH 1/2] tests: __declspec (dll{ex, im}port) in tests/exceptions.at
Hi Bob, Den 2010-09-20 17:57 skrev Bob Friesenhahn: On Mon, 20 Sep 2010, Peter Rosin wrote: I have tested this patch on MinGW/gcc and Cygwin/gcc and they are both ok with the __declspec() notation. On MSVC, the test goes from skip to fail, as it needs 2/2. This patch looks good to apply, as does the 2/2 patch to make sure that lt__PROGRAM__LTX_preloaded_symbols is globally scoped and extern C. Both pushed, thanks for looking them over! Cheers, Peter