diff options
author | Tom Lane | 2019-06-02 15:07:54 +0000 |
---|---|---|
committer | Tom Lane | 2019-06-02 15:07:54 +0000 |
commit | 10a53cae9993abae159abdc6a76e46f6aac120d1 (patch) | |
tree | c7b9b80b9f4a2aa11a74454eb5123f16324b9cbe | |
parent | 4b3f1dd71b74f82dedbf37c331d0a444368c4009 (diff) |
Un-break ecpg tests for Windows.
Declaring a function "inline" still doesn't work with Windows compilers
(C99? what's that?), unless the macro provided by pg_config.h is
in-scope, which it is not in our ECPG test programs. So the workaround
I tried to use in commit 7640f9312 doesn't work for Windows. Revert
the change in printf_hack.h, and instead just blacklist that file
in cpluspluscheck --- since it's a not-installed test file, we don't
really need to verify its C++ cleanliness anyway.
5 files changed, 6 insertions, 4 deletions
diff --git a/src/interfaces/ecpg/test/expected/compat_informix-dec_test.c b/src/interfaces/ecpg/test/expected/compat_informix-dec_test.c index adef3b6a26..8586650e87 100644 --- a/src/interfaces/ecpg/test/expected/compat_informix-dec_test.c +++ b/src/interfaces/ecpg/test/expected/compat_informix-dec_test.c @@ -33,7 +33,7 @@ * print_double(x) has the same effect as printf("%g", x), but is intended * to produce the same formatting across all platforms. */ -static inline void +static void print_double(double x) { #ifdef WIN32 diff --git a/src/interfaces/ecpg/test/expected/pgtypeslib-num_test.c b/src/interfaces/ecpg/test/expected/pgtypeslib-num_test.c index 85ec13ec6e..bf312549b4 100644 --- a/src/interfaces/ecpg/test/expected/pgtypeslib-num_test.c +++ b/src/interfaces/ecpg/test/expected/pgtypeslib-num_test.c @@ -29,7 +29,7 @@ * print_double(x) has the same effect as printf("%g", x), but is intended * to produce the same formatting across all platforms. */ -static inline void +static void print_double(double x) { #ifdef WIN32 diff --git a/src/interfaces/ecpg/test/expected/pgtypeslib-num_test2.c b/src/interfaces/ecpg/test/expected/pgtypeslib-num_test2.c index ebff9ca035..9debc34e79 100644 --- a/src/interfaces/ecpg/test/expected/pgtypeslib-num_test2.c +++ b/src/interfaces/ecpg/test/expected/pgtypeslib-num_test2.c @@ -30,7 +30,7 @@ * print_double(x) has the same effect as printf("%g", x), but is intended * to produce the same formatting across all platforms. */ -static inline void +static void print_double(double x) { #ifdef WIN32 diff --git a/src/interfaces/ecpg/test/printf_hack.h b/src/interfaces/ecpg/test/printf_hack.h index 1c061d5e87..ef584c0d54 100644 --- a/src/interfaces/ecpg/test/printf_hack.h +++ b/src/interfaces/ecpg/test/printf_hack.h @@ -2,7 +2,7 @@ * print_double(x) has the same effect as printf("%g", x), but is intended * to produce the same formatting across all platforms. */ -static inline void +static void print_double(double x) { #ifdef WIN32 diff --git a/src/tools/pginclude/cpluspluscheck b/src/tools/pginclude/cpluspluscheck index 3861784366..b3fc75de48 100755 --- a/src/tools/pginclude/cpluspluscheck +++ b/src/tools/pginclude/cpluspluscheck @@ -105,6 +105,8 @@ do # regression.h is not actually C, but ECPG code. test "$f" = src/interfaces/ecpg/test/regression.h && continue + # printf_hack.h produces "unused function" warnings. + test "$f" = src/interfaces/ecpg/test/printf_hack.h && continue # pg_trace.h and utils/probes.h can include sys/sdt.h from SystemTap, # which itself contains C++ code and so won't compile with a C++ |