agora inbox for [email protected]help / color / mirror / Atom feed
[PATCH 3/4] Add autoconf test for computed goto support. 36+ messages / 2 participants [nested] [flat]
* [PATCH 3/4] Add autoconf test for computed goto support. @ 2017-02-07 22:16 Andres Freund <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Andres Freund @ 2017-02-07 22:16 UTC (permalink / raw) Author: Andres Freund --- config/c-compiler.m4 | 24 ++++++++++++++++++++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 1 + src/include/pg_config.h.in | 3 +++ src/include/pg_config.h.win32 | 3 +++ 5 files changed, 65 insertions(+) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 7d901e1f1a..f56d8852f0 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -491,3 +491,27 @@ if test x"$Ac_cachevar" = x"yes"; then fi undefine([Ac_cachevar])dnl ])# PGAC_SSE42_CRC32_INTRINSICS + + + +# PGAC_C_COMPUTED_GOTO +# ----------------------- +# Check if the C compiler knows computed gotos (gcc extension, also +# available in at least clang). If so define HAVE_COMPUTED_GOTO +# +# Checking whether computed gotos are supported syntax-wise ought to +# be enough, as the syntax is otherwise illegal. +AC_DEFUN([PGAC_C_COMPUTED_GOTO], +[AC_CACHE_CHECK(for computed goto support, pgac_cv__computed_goto, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; +]])], +[pgac_cv__computed_goto=yes], +[pgac_cv__computed_goto=no])]) +if test x"$pgac_cv__computed_goto" = xyes ; then +AC_DEFINE(HAVE__COMPUTED_GOTO, 1, + [Define to 1 if your compiler handles computed gotos.]) +fi])# PGAC_C_COMPUTED_GOTO diff --git a/configure b/configure index b5cdebb510..fafef4638e 100755 --- a/configure +++ b/configure @@ -11564,6 +11564,40 @@ if test x"$pgac_cv__va_args" = xyes ; then $as_echo "#define HAVE__VA_ARGS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for computed goto support" >&5 +$as_echo_n "checking for computed goto support... " >&6; } +if ${pgac_cv__computed_goto+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv__computed_goto=yes +else + pgac_cv__computed_goto=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__computed_goto" >&5 +$as_echo "$pgac_cv__computed_goto" >&6; } +if test x"$pgac_cv__computed_goto" = xyes ; then + +$as_echo "#define HAVE__COMPUTED_GOTO 1" >>confdefs.h + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : diff --git a/configure.in b/configure.in index 1d99cda1d8..9aa9203c40 100644 --- a/configure.in +++ b/configure.in @@ -1323,6 +1323,7 @@ PGAC_C_BUILTIN_BSWAP64 PGAC_C_BUILTIN_CONSTANT_P PGAC_C_BUILTIN_UNREACHABLE PGAC_C_VA_ARGS +PGAC_C_COMPUTED_GOTO PGAC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5bcd8a1160..94de1a75a2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -687,6 +687,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ #undef HAVE__BUILTIN_UNREACHABLE +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #undef HAVE__CPUID diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 3e4132cd82..c5441855bd 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -514,6 +514,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ /* #undef HAVE__BUILTIN_UNREACHABLE */ +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #define HAVE__CPUID 1 -- 2.11.0.22.g8d7a455.dirty --2644zxlc6bgs5acp Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0004-WIP-Faster-expression-evaluation-and-targetlist-proj.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
* [PATCH 3/4] Add autoconf test for computed goto support. @ 2017-02-07 22:16 Andres Freund <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Andres Freund @ 2017-02-07 22:16 UTC (permalink / raw) Author: Andres Freund --- config/c-compiler.m4 | 24 ++++++++++++++++++++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 1 + src/include/pg_config.h.in | 3 +++ src/include/pg_config.h.win32 | 3 +++ 5 files changed, 65 insertions(+) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 7d901e1f1a..f56d8852f0 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -491,3 +491,27 @@ if test x"$Ac_cachevar" = x"yes"; then fi undefine([Ac_cachevar])dnl ])# PGAC_SSE42_CRC32_INTRINSICS + + + +# PGAC_C_COMPUTED_GOTO +# ----------------------- +# Check if the C compiler knows computed gotos (gcc extension, also +# available in at least clang). If so define HAVE_COMPUTED_GOTO +# +# Checking whether computed gotos are supported syntax-wise ought to +# be enough, as the syntax is otherwise illegal. +AC_DEFUN([PGAC_C_COMPUTED_GOTO], +[AC_CACHE_CHECK(for computed goto support, pgac_cv__computed_goto, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; +]])], +[pgac_cv__computed_goto=yes], +[pgac_cv__computed_goto=no])]) +if test x"$pgac_cv__computed_goto" = xyes ; then +AC_DEFINE(HAVE__COMPUTED_GOTO, 1, + [Define to 1 if your compiler handles computed gotos.]) +fi])# PGAC_C_COMPUTED_GOTO diff --git a/configure b/configure index b5cdebb510..fafef4638e 100755 --- a/configure +++ b/configure @@ -11564,6 +11564,40 @@ if test x"$pgac_cv__va_args" = xyes ; then $as_echo "#define HAVE__VA_ARGS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for computed goto support" >&5 +$as_echo_n "checking for computed goto support... " >&6; } +if ${pgac_cv__computed_goto+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv__computed_goto=yes +else + pgac_cv__computed_goto=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__computed_goto" >&5 +$as_echo "$pgac_cv__computed_goto" >&6; } +if test x"$pgac_cv__computed_goto" = xyes ; then + +$as_echo "#define HAVE__COMPUTED_GOTO 1" >>confdefs.h + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : diff --git a/configure.in b/configure.in index 1d99cda1d8..9aa9203c40 100644 --- a/configure.in +++ b/configure.in @@ -1323,6 +1323,7 @@ PGAC_C_BUILTIN_BSWAP64 PGAC_C_BUILTIN_CONSTANT_P PGAC_C_BUILTIN_UNREACHABLE PGAC_C_VA_ARGS +PGAC_C_COMPUTED_GOTO PGAC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5bcd8a1160..94de1a75a2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -687,6 +687,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ #undef HAVE__BUILTIN_UNREACHABLE +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #undef HAVE__CPUID diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 3e4132cd82..c5441855bd 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -514,6 +514,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ /* #undef HAVE__BUILTIN_UNREACHABLE */ +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #define HAVE__CPUID 1 -- 2.11.0.22.g8d7a455.dirty --y7hr4yk6lkjgumip Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0004-WIP-Faster-expression-evaluation-and-targetlist-proj.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
* [PATCH 3/4] Add autoconf test for computed goto support. @ 2017-02-07 22:16 Andres Freund <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Andres Freund @ 2017-02-07 22:16 UTC (permalink / raw) Author: Andres Freund --- config/c-compiler.m4 | 24 ++++++++++++++++++++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 1 + src/include/pg_config.h.in | 3 +++ src/include/pg_config.h.win32 | 3 +++ 5 files changed, 65 insertions(+) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 7d901e1f1a..f56d8852f0 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -491,3 +491,27 @@ if test x"$Ac_cachevar" = x"yes"; then fi undefine([Ac_cachevar])dnl ])# PGAC_SSE42_CRC32_INTRINSICS + + + +# PGAC_C_COMPUTED_GOTO +# ----------------------- +# Check if the C compiler knows computed gotos (gcc extension, also +# available in at least clang). If so define HAVE_COMPUTED_GOTO +# +# Checking whether computed gotos are supported syntax-wise ought to +# be enough, as the syntax is otherwise illegal. +AC_DEFUN([PGAC_C_COMPUTED_GOTO], +[AC_CACHE_CHECK(for computed goto support, pgac_cv__computed_goto, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; +]])], +[pgac_cv__computed_goto=yes], +[pgac_cv__computed_goto=no])]) +if test x"$pgac_cv__computed_goto" = xyes ; then +AC_DEFINE(HAVE__COMPUTED_GOTO, 1, + [Define to 1 if your compiler handles computed gotos.]) +fi])# PGAC_C_COMPUTED_GOTO diff --git a/configure b/configure index b5cdebb510..fafef4638e 100755 --- a/configure +++ b/configure @@ -11564,6 +11564,40 @@ if test x"$pgac_cv__va_args" = xyes ; then $as_echo "#define HAVE__VA_ARGS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for computed goto support" >&5 +$as_echo_n "checking for computed goto support... " >&6; } +if ${pgac_cv__computed_goto+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv__computed_goto=yes +else + pgac_cv__computed_goto=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__computed_goto" >&5 +$as_echo "$pgac_cv__computed_goto" >&6; } +if test x"$pgac_cv__computed_goto" = xyes ; then + +$as_echo "#define HAVE__COMPUTED_GOTO 1" >>confdefs.h + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : diff --git a/configure.in b/configure.in index 1d99cda1d8..9aa9203c40 100644 --- a/configure.in +++ b/configure.in @@ -1323,6 +1323,7 @@ PGAC_C_BUILTIN_BSWAP64 PGAC_C_BUILTIN_CONSTANT_P PGAC_C_BUILTIN_UNREACHABLE PGAC_C_VA_ARGS +PGAC_C_COMPUTED_GOTO PGAC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5bcd8a1160..94de1a75a2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -687,6 +687,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ #undef HAVE__BUILTIN_UNREACHABLE +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #undef HAVE__CPUID diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 3e4132cd82..c5441855bd 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -514,6 +514,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ /* #undef HAVE__BUILTIN_UNREACHABLE */ +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #define HAVE__CPUID 1 -- 2.11.0.22.g8d7a455.dirty --2644zxlc6bgs5acp Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0004-WIP-Faster-expression-evaluation-and-targetlist-proj.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
* [PATCH 3/4] Add autoconf test for computed goto support. @ 2017-02-07 22:16 Andres Freund <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Andres Freund @ 2017-02-07 22:16 UTC (permalink / raw) Author: Andres Freund --- config/c-compiler.m4 | 24 ++++++++++++++++++++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 1 + src/include/pg_config.h.in | 3 +++ src/include/pg_config.h.win32 | 3 +++ 5 files changed, 65 insertions(+) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 7d901e1f1a..f56d8852f0 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -491,3 +491,27 @@ if test x"$Ac_cachevar" = x"yes"; then fi undefine([Ac_cachevar])dnl ])# PGAC_SSE42_CRC32_INTRINSICS + + + +# PGAC_C_COMPUTED_GOTO +# ----------------------- +# Check if the C compiler knows computed gotos (gcc extension, also +# available in at least clang). If so define HAVE_COMPUTED_GOTO +# +# Checking whether computed gotos are supported syntax-wise ought to +# be enough, as the syntax is otherwise illegal. +AC_DEFUN([PGAC_C_COMPUTED_GOTO], +[AC_CACHE_CHECK(for computed goto support, pgac_cv__computed_goto, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; +]])], +[pgac_cv__computed_goto=yes], +[pgac_cv__computed_goto=no])]) +if test x"$pgac_cv__computed_goto" = xyes ; then +AC_DEFINE(HAVE__COMPUTED_GOTO, 1, + [Define to 1 if your compiler handles computed gotos.]) +fi])# PGAC_C_COMPUTED_GOTO diff --git a/configure b/configure index b5cdebb510..fafef4638e 100755 --- a/configure +++ b/configure @@ -11564,6 +11564,40 @@ if test x"$pgac_cv__va_args" = xyes ; then $as_echo "#define HAVE__VA_ARGS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for computed goto support" >&5 +$as_echo_n "checking for computed goto support... " >&6; } +if ${pgac_cv__computed_goto+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv__computed_goto=yes +else + pgac_cv__computed_goto=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__computed_goto" >&5 +$as_echo "$pgac_cv__computed_goto" >&6; } +if test x"$pgac_cv__computed_goto" = xyes ; then + +$as_echo "#define HAVE__COMPUTED_GOTO 1" >>confdefs.h + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : diff --git a/configure.in b/configure.in index 1d99cda1d8..9aa9203c40 100644 --- a/configure.in +++ b/configure.in @@ -1323,6 +1323,7 @@ PGAC_C_BUILTIN_BSWAP64 PGAC_C_BUILTIN_CONSTANT_P PGAC_C_BUILTIN_UNREACHABLE PGAC_C_VA_ARGS +PGAC_C_COMPUTED_GOTO PGAC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5bcd8a1160..94de1a75a2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -687,6 +687,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ #undef HAVE__BUILTIN_UNREACHABLE +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #undef HAVE__CPUID diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 3e4132cd82..c5441855bd 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -514,6 +514,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ /* #undef HAVE__BUILTIN_UNREACHABLE */ +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #define HAVE__CPUID 1 -- 2.11.0.22.g8d7a455.dirty --y7hr4yk6lkjgumip Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0004-WIP-Faster-expression-evaluation-and-targetlist-proj.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
* [PATCH 3/4] Add autoconf test for computed goto support. @ 2017-02-07 22:16 Andres Freund <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Andres Freund @ 2017-02-07 22:16 UTC (permalink / raw) Author: Andres Freund --- config/c-compiler.m4 | 24 ++++++++++++++++++++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 1 + src/include/pg_config.h.in | 3 +++ src/include/pg_config.h.win32 | 3 +++ 5 files changed, 65 insertions(+) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 7d901e1f1a..f56d8852f0 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -491,3 +491,27 @@ if test x"$Ac_cachevar" = x"yes"; then fi undefine([Ac_cachevar])dnl ])# PGAC_SSE42_CRC32_INTRINSICS + + + +# PGAC_C_COMPUTED_GOTO +# ----------------------- +# Check if the C compiler knows computed gotos (gcc extension, also +# available in at least clang). If so define HAVE_COMPUTED_GOTO +# +# Checking whether computed gotos are supported syntax-wise ought to +# be enough, as the syntax is otherwise illegal. +AC_DEFUN([PGAC_C_COMPUTED_GOTO], +[AC_CACHE_CHECK(for computed goto support, pgac_cv__computed_goto, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; +]])], +[pgac_cv__computed_goto=yes], +[pgac_cv__computed_goto=no])]) +if test x"$pgac_cv__computed_goto" = xyes ; then +AC_DEFINE(HAVE__COMPUTED_GOTO, 1, + [Define to 1 if your compiler handles computed gotos.]) +fi])# PGAC_C_COMPUTED_GOTO diff --git a/configure b/configure index b5cdebb510..fafef4638e 100755 --- a/configure +++ b/configure @@ -11564,6 +11564,40 @@ if test x"$pgac_cv__va_args" = xyes ; then $as_echo "#define HAVE__VA_ARGS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for computed goto support" >&5 +$as_echo_n "checking for computed goto support... " >&6; } +if ${pgac_cv__computed_goto+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv__computed_goto=yes +else + pgac_cv__computed_goto=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__computed_goto" >&5 +$as_echo "$pgac_cv__computed_goto" >&6; } +if test x"$pgac_cv__computed_goto" = xyes ; then + +$as_echo "#define HAVE__COMPUTED_GOTO 1" >>confdefs.h + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : diff --git a/configure.in b/configure.in index 1d99cda1d8..9aa9203c40 100644 --- a/configure.in +++ b/configure.in @@ -1323,6 +1323,7 @@ PGAC_C_BUILTIN_BSWAP64 PGAC_C_BUILTIN_CONSTANT_P PGAC_C_BUILTIN_UNREACHABLE PGAC_C_VA_ARGS +PGAC_C_COMPUTED_GOTO PGAC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5bcd8a1160..94de1a75a2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -687,6 +687,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ #undef HAVE__BUILTIN_UNREACHABLE +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #undef HAVE__CPUID diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 3e4132cd82..c5441855bd 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -514,6 +514,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ /* #undef HAVE__BUILTIN_UNREACHABLE */ +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #define HAVE__CPUID 1 -- 2.11.0.22.g8d7a455.dirty --2644zxlc6bgs5acp Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0004-WIP-Faster-expression-evaluation-and-targetlist-proj.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
* [PATCH 3/4] Add autoconf test for computed goto support. @ 2017-02-07 22:16 Andres Freund <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Andres Freund @ 2017-02-07 22:16 UTC (permalink / raw) Author: Andres Freund --- config/c-compiler.m4 | 24 ++++++++++++++++++++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 1 + src/include/pg_config.h.in | 3 +++ src/include/pg_config.h.win32 | 3 +++ 5 files changed, 65 insertions(+) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 7d901e1f1a..f56d8852f0 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -491,3 +491,27 @@ if test x"$Ac_cachevar" = x"yes"; then fi undefine([Ac_cachevar])dnl ])# PGAC_SSE42_CRC32_INTRINSICS + + + +# PGAC_C_COMPUTED_GOTO +# ----------------------- +# Check if the C compiler knows computed gotos (gcc extension, also +# available in at least clang). If so define HAVE_COMPUTED_GOTO +# +# Checking whether computed gotos are supported syntax-wise ought to +# be enough, as the syntax is otherwise illegal. +AC_DEFUN([PGAC_C_COMPUTED_GOTO], +[AC_CACHE_CHECK(for computed goto support, pgac_cv__computed_goto, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; +]])], +[pgac_cv__computed_goto=yes], +[pgac_cv__computed_goto=no])]) +if test x"$pgac_cv__computed_goto" = xyes ; then +AC_DEFINE(HAVE__COMPUTED_GOTO, 1, + [Define to 1 if your compiler handles computed gotos.]) +fi])# PGAC_C_COMPUTED_GOTO diff --git a/configure b/configure index b5cdebb510..fafef4638e 100755 --- a/configure +++ b/configure @@ -11564,6 +11564,40 @@ if test x"$pgac_cv__va_args" = xyes ; then $as_echo "#define HAVE__VA_ARGS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for computed goto support" >&5 +$as_echo_n "checking for computed goto support... " >&6; } +if ${pgac_cv__computed_goto+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv__computed_goto=yes +else + pgac_cv__computed_goto=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__computed_goto" >&5 +$as_echo "$pgac_cv__computed_goto" >&6; } +if test x"$pgac_cv__computed_goto" = xyes ; then + +$as_echo "#define HAVE__COMPUTED_GOTO 1" >>confdefs.h + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : diff --git a/configure.in b/configure.in index 1d99cda1d8..9aa9203c40 100644 --- a/configure.in +++ b/configure.in @@ -1323,6 +1323,7 @@ PGAC_C_BUILTIN_BSWAP64 PGAC_C_BUILTIN_CONSTANT_P PGAC_C_BUILTIN_UNREACHABLE PGAC_C_VA_ARGS +PGAC_C_COMPUTED_GOTO PGAC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5bcd8a1160..94de1a75a2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -687,6 +687,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ #undef HAVE__BUILTIN_UNREACHABLE +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #undef HAVE__CPUID diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 3e4132cd82..c5441855bd 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -514,6 +514,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ /* #undef HAVE__BUILTIN_UNREACHABLE */ +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #define HAVE__CPUID 1 -- 2.11.0.22.g8d7a455.dirty --2644zxlc6bgs5acp Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0004-WIP-Faster-expression-evaluation-and-targetlist-proj.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
* [PATCH 3/4] Add autoconf test for computed goto support. @ 2017-02-07 22:16 Andres Freund <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Andres Freund @ 2017-02-07 22:16 UTC (permalink / raw) Author: Andres Freund --- config/c-compiler.m4 | 24 ++++++++++++++++++++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 1 + src/include/pg_config.h.in | 3 +++ src/include/pg_config.h.win32 | 3 +++ 5 files changed, 65 insertions(+) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 7d901e1f1a..f56d8852f0 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -491,3 +491,27 @@ if test x"$Ac_cachevar" = x"yes"; then fi undefine([Ac_cachevar])dnl ])# PGAC_SSE42_CRC32_INTRINSICS + + + +# PGAC_C_COMPUTED_GOTO +# ----------------------- +# Check if the C compiler knows computed gotos (gcc extension, also +# available in at least clang). If so define HAVE_COMPUTED_GOTO +# +# Checking whether computed gotos are supported syntax-wise ought to +# be enough, as the syntax is otherwise illegal. +AC_DEFUN([PGAC_C_COMPUTED_GOTO], +[AC_CACHE_CHECK(for computed goto support, pgac_cv__computed_goto, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; +]])], +[pgac_cv__computed_goto=yes], +[pgac_cv__computed_goto=no])]) +if test x"$pgac_cv__computed_goto" = xyes ; then +AC_DEFINE(HAVE__COMPUTED_GOTO, 1, + [Define to 1 if your compiler handles computed gotos.]) +fi])# PGAC_C_COMPUTED_GOTO diff --git a/configure b/configure index b5cdebb510..fafef4638e 100755 --- a/configure +++ b/configure @@ -11564,6 +11564,40 @@ if test x"$pgac_cv__va_args" = xyes ; then $as_echo "#define HAVE__VA_ARGS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for computed goto support" >&5 +$as_echo_n "checking for computed goto support... " >&6; } +if ${pgac_cv__computed_goto+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv__computed_goto=yes +else + pgac_cv__computed_goto=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__computed_goto" >&5 +$as_echo "$pgac_cv__computed_goto" >&6; } +if test x"$pgac_cv__computed_goto" = xyes ; then + +$as_echo "#define HAVE__COMPUTED_GOTO 1" >>confdefs.h + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : diff --git a/configure.in b/configure.in index 1d99cda1d8..9aa9203c40 100644 --- a/configure.in +++ b/configure.in @@ -1323,6 +1323,7 @@ PGAC_C_BUILTIN_BSWAP64 PGAC_C_BUILTIN_CONSTANT_P PGAC_C_BUILTIN_UNREACHABLE PGAC_C_VA_ARGS +PGAC_C_COMPUTED_GOTO PGAC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5bcd8a1160..94de1a75a2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -687,6 +687,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ #undef HAVE__BUILTIN_UNREACHABLE +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #undef HAVE__CPUID diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 3e4132cd82..c5441855bd 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -514,6 +514,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ /* #undef HAVE__BUILTIN_UNREACHABLE */ +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #define HAVE__CPUID 1 -- 2.11.0.22.g8d7a455.dirty --2644zxlc6bgs5acp Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0004-WIP-Faster-expression-evaluation-and-targetlist-proj.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
* [PATCH 3/4] Add autoconf test for computed goto support. @ 2017-02-07 22:16 Andres Freund <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Andres Freund @ 2017-02-07 22:16 UTC (permalink / raw) Author: Andres Freund --- config/c-compiler.m4 | 24 ++++++++++++++++++++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 1 + src/include/pg_config.h.in | 3 +++ src/include/pg_config.h.win32 | 3 +++ 5 files changed, 65 insertions(+) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 7d901e1f1a..f56d8852f0 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -491,3 +491,27 @@ if test x"$Ac_cachevar" = x"yes"; then fi undefine([Ac_cachevar])dnl ])# PGAC_SSE42_CRC32_INTRINSICS + + + +# PGAC_C_COMPUTED_GOTO +# ----------------------- +# Check if the C compiler knows computed gotos (gcc extension, also +# available in at least clang). If so define HAVE_COMPUTED_GOTO +# +# Checking whether computed gotos are supported syntax-wise ought to +# be enough, as the syntax is otherwise illegal. +AC_DEFUN([PGAC_C_COMPUTED_GOTO], +[AC_CACHE_CHECK(for computed goto support, pgac_cv__computed_goto, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; +]])], +[pgac_cv__computed_goto=yes], +[pgac_cv__computed_goto=no])]) +if test x"$pgac_cv__computed_goto" = xyes ; then +AC_DEFINE(HAVE__COMPUTED_GOTO, 1, + [Define to 1 if your compiler handles computed gotos.]) +fi])# PGAC_C_COMPUTED_GOTO diff --git a/configure b/configure index b5cdebb510..fafef4638e 100755 --- a/configure +++ b/configure @@ -11564,6 +11564,40 @@ if test x"$pgac_cv__va_args" = xyes ; then $as_echo "#define HAVE__VA_ARGS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for computed goto support" >&5 +$as_echo_n "checking for computed goto support... " >&6; } +if ${pgac_cv__computed_goto+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv__computed_goto=yes +else + pgac_cv__computed_goto=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__computed_goto" >&5 +$as_echo "$pgac_cv__computed_goto" >&6; } +if test x"$pgac_cv__computed_goto" = xyes ; then + +$as_echo "#define HAVE__COMPUTED_GOTO 1" >>confdefs.h + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : diff --git a/configure.in b/configure.in index 1d99cda1d8..9aa9203c40 100644 --- a/configure.in +++ b/configure.in @@ -1323,6 +1323,7 @@ PGAC_C_BUILTIN_BSWAP64 PGAC_C_BUILTIN_CONSTANT_P PGAC_C_BUILTIN_UNREACHABLE PGAC_C_VA_ARGS +PGAC_C_COMPUTED_GOTO PGAC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5bcd8a1160..94de1a75a2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -687,6 +687,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ #undef HAVE__BUILTIN_UNREACHABLE +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #undef HAVE__CPUID diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 3e4132cd82..c5441855bd 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -514,6 +514,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ /* #undef HAVE__BUILTIN_UNREACHABLE */ +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #define HAVE__CPUID 1 -- 2.11.0.22.g8d7a455.dirty --y7hr4yk6lkjgumip Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0004-WIP-Faster-expression-evaluation-and-targetlist-proj.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
* [PATCH 3/4] Add autoconf test for computed goto support. @ 2017-02-07 22:16 Andres Freund <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Andres Freund @ 2017-02-07 22:16 UTC (permalink / raw) Author: Andres Freund --- config/c-compiler.m4 | 24 ++++++++++++++++++++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 1 + src/include/pg_config.h.in | 3 +++ src/include/pg_config.h.win32 | 3 +++ 5 files changed, 65 insertions(+) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 7d901e1f1a..f56d8852f0 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -491,3 +491,27 @@ if test x"$Ac_cachevar" = x"yes"; then fi undefine([Ac_cachevar])dnl ])# PGAC_SSE42_CRC32_INTRINSICS + + + +# PGAC_C_COMPUTED_GOTO +# ----------------------- +# Check if the C compiler knows computed gotos (gcc extension, also +# available in at least clang). If so define HAVE_COMPUTED_GOTO +# +# Checking whether computed gotos are supported syntax-wise ought to +# be enough, as the syntax is otherwise illegal. +AC_DEFUN([PGAC_C_COMPUTED_GOTO], +[AC_CACHE_CHECK(for computed goto support, pgac_cv__computed_goto, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; +]])], +[pgac_cv__computed_goto=yes], +[pgac_cv__computed_goto=no])]) +if test x"$pgac_cv__computed_goto" = xyes ; then +AC_DEFINE(HAVE__COMPUTED_GOTO, 1, + [Define to 1 if your compiler handles computed gotos.]) +fi])# PGAC_C_COMPUTED_GOTO diff --git a/configure b/configure index b5cdebb510..fafef4638e 100755 --- a/configure +++ b/configure @@ -11564,6 +11564,40 @@ if test x"$pgac_cv__va_args" = xyes ; then $as_echo "#define HAVE__VA_ARGS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for computed goto support" >&5 +$as_echo_n "checking for computed goto support... " >&6; } +if ${pgac_cv__computed_goto+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv__computed_goto=yes +else + pgac_cv__computed_goto=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__computed_goto" >&5 +$as_echo "$pgac_cv__computed_goto" >&6; } +if test x"$pgac_cv__computed_goto" = xyes ; then + +$as_echo "#define HAVE__COMPUTED_GOTO 1" >>confdefs.h + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : diff --git a/configure.in b/configure.in index 1d99cda1d8..9aa9203c40 100644 --- a/configure.in +++ b/configure.in @@ -1323,6 +1323,7 @@ PGAC_C_BUILTIN_BSWAP64 PGAC_C_BUILTIN_CONSTANT_P PGAC_C_BUILTIN_UNREACHABLE PGAC_C_VA_ARGS +PGAC_C_COMPUTED_GOTO PGAC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5bcd8a1160..94de1a75a2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -687,6 +687,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ #undef HAVE__BUILTIN_UNREACHABLE +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #undef HAVE__CPUID diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 3e4132cd82..c5441855bd 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -514,6 +514,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ /* #undef HAVE__BUILTIN_UNREACHABLE */ +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #define HAVE__CPUID 1 -- 2.11.0.22.g8d7a455.dirty --y7hr4yk6lkjgumip Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0004-WIP-Faster-expression-evaluation-and-targetlist-proj.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
* [PATCH 3/4] Add autoconf test for computed goto support. @ 2017-02-07 22:16 Andres Freund <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Andres Freund @ 2017-02-07 22:16 UTC (permalink / raw) Author: Andres Freund --- config/c-compiler.m4 | 24 ++++++++++++++++++++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 1 + src/include/pg_config.h.in | 3 +++ src/include/pg_config.h.win32 | 3 +++ 5 files changed, 65 insertions(+) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 7d901e1f1a..f56d8852f0 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -491,3 +491,27 @@ if test x"$Ac_cachevar" = x"yes"; then fi undefine([Ac_cachevar])dnl ])# PGAC_SSE42_CRC32_INTRINSICS + + + +# PGAC_C_COMPUTED_GOTO +# ----------------------- +# Check if the C compiler knows computed gotos (gcc extension, also +# available in at least clang). If so define HAVE_COMPUTED_GOTO +# +# Checking whether computed gotos are supported syntax-wise ought to +# be enough, as the syntax is otherwise illegal. +AC_DEFUN([PGAC_C_COMPUTED_GOTO], +[AC_CACHE_CHECK(for computed goto support, pgac_cv__computed_goto, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; +]])], +[pgac_cv__computed_goto=yes], +[pgac_cv__computed_goto=no])]) +if test x"$pgac_cv__computed_goto" = xyes ; then +AC_DEFINE(HAVE__COMPUTED_GOTO, 1, + [Define to 1 if your compiler handles computed gotos.]) +fi])# PGAC_C_COMPUTED_GOTO diff --git a/configure b/configure index b5cdebb510..fafef4638e 100755 --- a/configure +++ b/configure @@ -11564,6 +11564,40 @@ if test x"$pgac_cv__va_args" = xyes ; then $as_echo "#define HAVE__VA_ARGS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for computed goto support" >&5 +$as_echo_n "checking for computed goto support... " >&6; } +if ${pgac_cv__computed_goto+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv__computed_goto=yes +else + pgac_cv__computed_goto=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__computed_goto" >&5 +$as_echo "$pgac_cv__computed_goto" >&6; } +if test x"$pgac_cv__computed_goto" = xyes ; then + +$as_echo "#define HAVE__COMPUTED_GOTO 1" >>confdefs.h + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : diff --git a/configure.in b/configure.in index 1d99cda1d8..9aa9203c40 100644 --- a/configure.in +++ b/configure.in @@ -1323,6 +1323,7 @@ PGAC_C_BUILTIN_BSWAP64 PGAC_C_BUILTIN_CONSTANT_P PGAC_C_BUILTIN_UNREACHABLE PGAC_C_VA_ARGS +PGAC_C_COMPUTED_GOTO PGAC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5bcd8a1160..94de1a75a2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -687,6 +687,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ #undef HAVE__BUILTIN_UNREACHABLE +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #undef HAVE__CPUID diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 3e4132cd82..c5441855bd 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -514,6 +514,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ /* #undef HAVE__BUILTIN_UNREACHABLE */ +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #define HAVE__CPUID 1 -- 2.11.0.22.g8d7a455.dirty --2644zxlc6bgs5acp Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0004-WIP-Faster-expression-evaluation-and-targetlist-proj.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
* [PATCH 3/4] Add autoconf test for computed goto support. @ 2017-02-07 22:16 Andres Freund <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Andres Freund @ 2017-02-07 22:16 UTC (permalink / raw) Author: Andres Freund --- config/c-compiler.m4 | 24 ++++++++++++++++++++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 1 + src/include/pg_config.h.in | 3 +++ src/include/pg_config.h.win32 | 3 +++ 5 files changed, 65 insertions(+) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 7d901e1f1a..f56d8852f0 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -491,3 +491,27 @@ if test x"$Ac_cachevar" = x"yes"; then fi undefine([Ac_cachevar])dnl ])# PGAC_SSE42_CRC32_INTRINSICS + + + +# PGAC_C_COMPUTED_GOTO +# ----------------------- +# Check if the C compiler knows computed gotos (gcc extension, also +# available in at least clang). If so define HAVE_COMPUTED_GOTO +# +# Checking whether computed gotos are supported syntax-wise ought to +# be enough, as the syntax is otherwise illegal. +AC_DEFUN([PGAC_C_COMPUTED_GOTO], +[AC_CACHE_CHECK(for computed goto support, pgac_cv__computed_goto, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; +]])], +[pgac_cv__computed_goto=yes], +[pgac_cv__computed_goto=no])]) +if test x"$pgac_cv__computed_goto" = xyes ; then +AC_DEFINE(HAVE__COMPUTED_GOTO, 1, + [Define to 1 if your compiler handles computed gotos.]) +fi])# PGAC_C_COMPUTED_GOTO diff --git a/configure b/configure index b5cdebb510..fafef4638e 100755 --- a/configure +++ b/configure @@ -11564,6 +11564,40 @@ if test x"$pgac_cv__va_args" = xyes ; then $as_echo "#define HAVE__VA_ARGS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for computed goto support" >&5 +$as_echo_n "checking for computed goto support... " >&6; } +if ${pgac_cv__computed_goto+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv__computed_goto=yes +else + pgac_cv__computed_goto=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__computed_goto" >&5 +$as_echo "$pgac_cv__computed_goto" >&6; } +if test x"$pgac_cv__computed_goto" = xyes ; then + +$as_echo "#define HAVE__COMPUTED_GOTO 1" >>confdefs.h + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : diff --git a/configure.in b/configure.in index 1d99cda1d8..9aa9203c40 100644 --- a/configure.in +++ b/configure.in @@ -1323,6 +1323,7 @@ PGAC_C_BUILTIN_BSWAP64 PGAC_C_BUILTIN_CONSTANT_P PGAC_C_BUILTIN_UNREACHABLE PGAC_C_VA_ARGS +PGAC_C_COMPUTED_GOTO PGAC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5bcd8a1160..94de1a75a2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -687,6 +687,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ #undef HAVE__BUILTIN_UNREACHABLE +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #undef HAVE__CPUID diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 3e4132cd82..c5441855bd 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -514,6 +514,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ /* #undef HAVE__BUILTIN_UNREACHABLE */ +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #define HAVE__CPUID 1 -- 2.11.0.22.g8d7a455.dirty --y7hr4yk6lkjgumip Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0004-WIP-Faster-expression-evaluation-and-targetlist-proj.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
* [PATCH 3/4] Add autoconf test for computed goto support. @ 2017-02-07 22:16 Andres Freund <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Andres Freund @ 2017-02-07 22:16 UTC (permalink / raw) Author: Andres Freund --- config/c-compiler.m4 | 24 ++++++++++++++++++++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 1 + src/include/pg_config.h.in | 3 +++ src/include/pg_config.h.win32 | 3 +++ 5 files changed, 65 insertions(+) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 7d901e1f1a..f56d8852f0 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -491,3 +491,27 @@ if test x"$Ac_cachevar" = x"yes"; then fi undefine([Ac_cachevar])dnl ])# PGAC_SSE42_CRC32_INTRINSICS + + + +# PGAC_C_COMPUTED_GOTO +# ----------------------- +# Check if the C compiler knows computed gotos (gcc extension, also +# available in at least clang). If so define HAVE_COMPUTED_GOTO +# +# Checking whether computed gotos are supported syntax-wise ought to +# be enough, as the syntax is otherwise illegal. +AC_DEFUN([PGAC_C_COMPUTED_GOTO], +[AC_CACHE_CHECK(for computed goto support, pgac_cv__computed_goto, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; +]])], +[pgac_cv__computed_goto=yes], +[pgac_cv__computed_goto=no])]) +if test x"$pgac_cv__computed_goto" = xyes ; then +AC_DEFINE(HAVE__COMPUTED_GOTO, 1, + [Define to 1 if your compiler handles computed gotos.]) +fi])# PGAC_C_COMPUTED_GOTO diff --git a/configure b/configure index b5cdebb510..fafef4638e 100755 --- a/configure +++ b/configure @@ -11564,6 +11564,40 @@ if test x"$pgac_cv__va_args" = xyes ; then $as_echo "#define HAVE__VA_ARGS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for computed goto support" >&5 +$as_echo_n "checking for computed goto support... " >&6; } +if ${pgac_cv__computed_goto+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv__computed_goto=yes +else + pgac_cv__computed_goto=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__computed_goto" >&5 +$as_echo "$pgac_cv__computed_goto" >&6; } +if test x"$pgac_cv__computed_goto" = xyes ; then + +$as_echo "#define HAVE__COMPUTED_GOTO 1" >>confdefs.h + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : diff --git a/configure.in b/configure.in index 1d99cda1d8..9aa9203c40 100644 --- a/configure.in +++ b/configure.in @@ -1323,6 +1323,7 @@ PGAC_C_BUILTIN_BSWAP64 PGAC_C_BUILTIN_CONSTANT_P PGAC_C_BUILTIN_UNREACHABLE PGAC_C_VA_ARGS +PGAC_C_COMPUTED_GOTO PGAC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5bcd8a1160..94de1a75a2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -687,6 +687,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ #undef HAVE__BUILTIN_UNREACHABLE +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #undef HAVE__CPUID diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 3e4132cd82..c5441855bd 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -514,6 +514,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ /* #undef HAVE__BUILTIN_UNREACHABLE */ +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #define HAVE__CPUID 1 -- 2.11.0.22.g8d7a455.dirty --2644zxlc6bgs5acp Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0004-WIP-Faster-expression-evaluation-and-targetlist-proj.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
* [PATCH 3/4] Add autoconf test for computed goto support. @ 2017-02-07 22:16 Andres Freund <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Andres Freund @ 2017-02-07 22:16 UTC (permalink / raw) Author: Andres Freund --- config/c-compiler.m4 | 24 ++++++++++++++++++++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 1 + src/include/pg_config.h.in | 3 +++ src/include/pg_config.h.win32 | 3 +++ 5 files changed, 65 insertions(+) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 7d901e1f1a..f56d8852f0 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -491,3 +491,27 @@ if test x"$Ac_cachevar" = x"yes"; then fi undefine([Ac_cachevar])dnl ])# PGAC_SSE42_CRC32_INTRINSICS + + + +# PGAC_C_COMPUTED_GOTO +# ----------------------- +# Check if the C compiler knows computed gotos (gcc extension, also +# available in at least clang). If so define HAVE_COMPUTED_GOTO +# +# Checking whether computed gotos are supported syntax-wise ought to +# be enough, as the syntax is otherwise illegal. +AC_DEFUN([PGAC_C_COMPUTED_GOTO], +[AC_CACHE_CHECK(for computed goto support, pgac_cv__computed_goto, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; +]])], +[pgac_cv__computed_goto=yes], +[pgac_cv__computed_goto=no])]) +if test x"$pgac_cv__computed_goto" = xyes ; then +AC_DEFINE(HAVE__COMPUTED_GOTO, 1, + [Define to 1 if your compiler handles computed gotos.]) +fi])# PGAC_C_COMPUTED_GOTO diff --git a/configure b/configure index b5cdebb510..fafef4638e 100755 --- a/configure +++ b/configure @@ -11564,6 +11564,40 @@ if test x"$pgac_cv__va_args" = xyes ; then $as_echo "#define HAVE__VA_ARGS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for computed goto support" >&5 +$as_echo_n "checking for computed goto support... " >&6; } +if ${pgac_cv__computed_goto+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv__computed_goto=yes +else + pgac_cv__computed_goto=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__computed_goto" >&5 +$as_echo "$pgac_cv__computed_goto" >&6; } +if test x"$pgac_cv__computed_goto" = xyes ; then + +$as_echo "#define HAVE__COMPUTED_GOTO 1" >>confdefs.h + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : diff --git a/configure.in b/configure.in index 1d99cda1d8..9aa9203c40 100644 --- a/configure.in +++ b/configure.in @@ -1323,6 +1323,7 @@ PGAC_C_BUILTIN_BSWAP64 PGAC_C_BUILTIN_CONSTANT_P PGAC_C_BUILTIN_UNREACHABLE PGAC_C_VA_ARGS +PGAC_C_COMPUTED_GOTO PGAC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5bcd8a1160..94de1a75a2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -687,6 +687,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ #undef HAVE__BUILTIN_UNREACHABLE +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #undef HAVE__CPUID diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 3e4132cd82..c5441855bd 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -514,6 +514,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ /* #undef HAVE__BUILTIN_UNREACHABLE */ +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #define HAVE__CPUID 1 -- 2.11.0.22.g8d7a455.dirty --y7hr4yk6lkjgumip Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0004-WIP-Faster-expression-evaluation-and-targetlist-proj.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
* [PATCH 3/4] Add autoconf test for computed goto support. @ 2017-02-07 22:16 Andres Freund <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Andres Freund @ 2017-02-07 22:16 UTC (permalink / raw) Author: Andres Freund --- config/c-compiler.m4 | 24 ++++++++++++++++++++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 1 + src/include/pg_config.h.in | 3 +++ src/include/pg_config.h.win32 | 3 +++ 5 files changed, 65 insertions(+) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 7d901e1f1a..f56d8852f0 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -491,3 +491,27 @@ if test x"$Ac_cachevar" = x"yes"; then fi undefine([Ac_cachevar])dnl ])# PGAC_SSE42_CRC32_INTRINSICS + + + +# PGAC_C_COMPUTED_GOTO +# ----------------------- +# Check if the C compiler knows computed gotos (gcc extension, also +# available in at least clang). If so define HAVE_COMPUTED_GOTO +# +# Checking whether computed gotos are supported syntax-wise ought to +# be enough, as the syntax is otherwise illegal. +AC_DEFUN([PGAC_C_COMPUTED_GOTO], +[AC_CACHE_CHECK(for computed goto support, pgac_cv__computed_goto, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; +]])], +[pgac_cv__computed_goto=yes], +[pgac_cv__computed_goto=no])]) +if test x"$pgac_cv__computed_goto" = xyes ; then +AC_DEFINE(HAVE__COMPUTED_GOTO, 1, + [Define to 1 if your compiler handles computed gotos.]) +fi])# PGAC_C_COMPUTED_GOTO diff --git a/configure b/configure index b5cdebb510..fafef4638e 100755 --- a/configure +++ b/configure @@ -11564,6 +11564,40 @@ if test x"$pgac_cv__va_args" = xyes ; then $as_echo "#define HAVE__VA_ARGS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for computed goto support" >&5 +$as_echo_n "checking for computed goto support... " >&6; } +if ${pgac_cv__computed_goto+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv__computed_goto=yes +else + pgac_cv__computed_goto=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__computed_goto" >&5 +$as_echo "$pgac_cv__computed_goto" >&6; } +if test x"$pgac_cv__computed_goto" = xyes ; then + +$as_echo "#define HAVE__COMPUTED_GOTO 1" >>confdefs.h + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : diff --git a/configure.in b/configure.in index 1d99cda1d8..9aa9203c40 100644 --- a/configure.in +++ b/configure.in @@ -1323,6 +1323,7 @@ PGAC_C_BUILTIN_BSWAP64 PGAC_C_BUILTIN_CONSTANT_P PGAC_C_BUILTIN_UNREACHABLE PGAC_C_VA_ARGS +PGAC_C_COMPUTED_GOTO PGAC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5bcd8a1160..94de1a75a2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -687,6 +687,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ #undef HAVE__BUILTIN_UNREACHABLE +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #undef HAVE__CPUID diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 3e4132cd82..c5441855bd 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -514,6 +514,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ /* #undef HAVE__BUILTIN_UNREACHABLE */ +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #define HAVE__CPUID 1 -- 2.11.0.22.g8d7a455.dirty --2644zxlc6bgs5acp Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0004-WIP-Faster-expression-evaluation-and-targetlist-proj.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
* [PATCH 3/4] Add autoconf test for computed goto support. @ 2017-02-07 22:16 Andres Freund <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Andres Freund @ 2017-02-07 22:16 UTC (permalink / raw) Author: Andres Freund --- config/c-compiler.m4 | 24 ++++++++++++++++++++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 1 + src/include/pg_config.h.in | 3 +++ src/include/pg_config.h.win32 | 3 +++ 5 files changed, 65 insertions(+) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 7d901e1f1a..f56d8852f0 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -491,3 +491,27 @@ if test x"$Ac_cachevar" = x"yes"; then fi undefine([Ac_cachevar])dnl ])# PGAC_SSE42_CRC32_INTRINSICS + + + +# PGAC_C_COMPUTED_GOTO +# ----------------------- +# Check if the C compiler knows computed gotos (gcc extension, also +# available in at least clang). If so define HAVE_COMPUTED_GOTO +# +# Checking whether computed gotos are supported syntax-wise ought to +# be enough, as the syntax is otherwise illegal. +AC_DEFUN([PGAC_C_COMPUTED_GOTO], +[AC_CACHE_CHECK(for computed goto support, pgac_cv__computed_goto, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; +]])], +[pgac_cv__computed_goto=yes], +[pgac_cv__computed_goto=no])]) +if test x"$pgac_cv__computed_goto" = xyes ; then +AC_DEFINE(HAVE__COMPUTED_GOTO, 1, + [Define to 1 if your compiler handles computed gotos.]) +fi])# PGAC_C_COMPUTED_GOTO diff --git a/configure b/configure index b5cdebb510..fafef4638e 100755 --- a/configure +++ b/configure @@ -11564,6 +11564,40 @@ if test x"$pgac_cv__va_args" = xyes ; then $as_echo "#define HAVE__VA_ARGS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for computed goto support" >&5 +$as_echo_n "checking for computed goto support... " >&6; } +if ${pgac_cv__computed_goto+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv__computed_goto=yes +else + pgac_cv__computed_goto=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__computed_goto" >&5 +$as_echo "$pgac_cv__computed_goto" >&6; } +if test x"$pgac_cv__computed_goto" = xyes ; then + +$as_echo "#define HAVE__COMPUTED_GOTO 1" >>confdefs.h + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : diff --git a/configure.in b/configure.in index 1d99cda1d8..9aa9203c40 100644 --- a/configure.in +++ b/configure.in @@ -1323,6 +1323,7 @@ PGAC_C_BUILTIN_BSWAP64 PGAC_C_BUILTIN_CONSTANT_P PGAC_C_BUILTIN_UNREACHABLE PGAC_C_VA_ARGS +PGAC_C_COMPUTED_GOTO PGAC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5bcd8a1160..94de1a75a2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -687,6 +687,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ #undef HAVE__BUILTIN_UNREACHABLE +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #undef HAVE__CPUID diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 3e4132cd82..c5441855bd 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -514,6 +514,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ /* #undef HAVE__BUILTIN_UNREACHABLE */ +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #define HAVE__CPUID 1 -- 2.11.0.22.g8d7a455.dirty --y7hr4yk6lkjgumip Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0004-WIP-Faster-expression-evaluation-and-targetlist-proj.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
* [PATCH 3/4] Add autoconf test for computed goto support. @ 2017-02-07 22:16 Andres Freund <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Andres Freund @ 2017-02-07 22:16 UTC (permalink / raw) Author: Andres Freund --- config/c-compiler.m4 | 24 ++++++++++++++++++++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 1 + src/include/pg_config.h.in | 3 +++ src/include/pg_config.h.win32 | 3 +++ 5 files changed, 65 insertions(+) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 7d901e1f1a..f56d8852f0 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -491,3 +491,27 @@ if test x"$Ac_cachevar" = x"yes"; then fi undefine([Ac_cachevar])dnl ])# PGAC_SSE42_CRC32_INTRINSICS + + + +# PGAC_C_COMPUTED_GOTO +# ----------------------- +# Check if the C compiler knows computed gotos (gcc extension, also +# available in at least clang). If so define HAVE_COMPUTED_GOTO +# +# Checking whether computed gotos are supported syntax-wise ought to +# be enough, as the syntax is otherwise illegal. +AC_DEFUN([PGAC_C_COMPUTED_GOTO], +[AC_CACHE_CHECK(for computed goto support, pgac_cv__computed_goto, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; +]])], +[pgac_cv__computed_goto=yes], +[pgac_cv__computed_goto=no])]) +if test x"$pgac_cv__computed_goto" = xyes ; then +AC_DEFINE(HAVE__COMPUTED_GOTO, 1, + [Define to 1 if your compiler handles computed gotos.]) +fi])# PGAC_C_COMPUTED_GOTO diff --git a/configure b/configure index b5cdebb510..fafef4638e 100755 --- a/configure +++ b/configure @@ -11564,6 +11564,40 @@ if test x"$pgac_cv__va_args" = xyes ; then $as_echo "#define HAVE__VA_ARGS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for computed goto support" >&5 +$as_echo_n "checking for computed goto support... " >&6; } +if ${pgac_cv__computed_goto+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv__computed_goto=yes +else + pgac_cv__computed_goto=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__computed_goto" >&5 +$as_echo "$pgac_cv__computed_goto" >&6; } +if test x"$pgac_cv__computed_goto" = xyes ; then + +$as_echo "#define HAVE__COMPUTED_GOTO 1" >>confdefs.h + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : diff --git a/configure.in b/configure.in index 1d99cda1d8..9aa9203c40 100644 --- a/configure.in +++ b/configure.in @@ -1323,6 +1323,7 @@ PGAC_C_BUILTIN_BSWAP64 PGAC_C_BUILTIN_CONSTANT_P PGAC_C_BUILTIN_UNREACHABLE PGAC_C_VA_ARGS +PGAC_C_COMPUTED_GOTO PGAC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5bcd8a1160..94de1a75a2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -687,6 +687,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ #undef HAVE__BUILTIN_UNREACHABLE +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #undef HAVE__CPUID diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 3e4132cd82..c5441855bd 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -514,6 +514,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ /* #undef HAVE__BUILTIN_UNREACHABLE */ +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #define HAVE__CPUID 1 -- 2.11.0.22.g8d7a455.dirty --2644zxlc6bgs5acp Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0004-WIP-Faster-expression-evaluation-and-targetlist-proj.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
* [PATCH 3/4] Add autoconf test for computed goto support. @ 2017-02-07 22:16 Andres Freund <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Andres Freund @ 2017-02-07 22:16 UTC (permalink / raw) Author: Andres Freund --- config/c-compiler.m4 | 24 ++++++++++++++++++++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 1 + src/include/pg_config.h.in | 3 +++ src/include/pg_config.h.win32 | 3 +++ 5 files changed, 65 insertions(+) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 7d901e1f1a..f56d8852f0 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -491,3 +491,27 @@ if test x"$Ac_cachevar" = x"yes"; then fi undefine([Ac_cachevar])dnl ])# PGAC_SSE42_CRC32_INTRINSICS + + + +# PGAC_C_COMPUTED_GOTO +# ----------------------- +# Check if the C compiler knows computed gotos (gcc extension, also +# available in at least clang). If so define HAVE_COMPUTED_GOTO +# +# Checking whether computed gotos are supported syntax-wise ought to +# be enough, as the syntax is otherwise illegal. +AC_DEFUN([PGAC_C_COMPUTED_GOTO], +[AC_CACHE_CHECK(for computed goto support, pgac_cv__computed_goto, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; +]])], +[pgac_cv__computed_goto=yes], +[pgac_cv__computed_goto=no])]) +if test x"$pgac_cv__computed_goto" = xyes ; then +AC_DEFINE(HAVE__COMPUTED_GOTO, 1, + [Define to 1 if your compiler handles computed gotos.]) +fi])# PGAC_C_COMPUTED_GOTO diff --git a/configure b/configure index b5cdebb510..fafef4638e 100755 --- a/configure +++ b/configure @@ -11564,6 +11564,40 @@ if test x"$pgac_cv__va_args" = xyes ; then $as_echo "#define HAVE__VA_ARGS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for computed goto support" >&5 +$as_echo_n "checking for computed goto support... " >&6; } +if ${pgac_cv__computed_goto+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv__computed_goto=yes +else + pgac_cv__computed_goto=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__computed_goto" >&5 +$as_echo "$pgac_cv__computed_goto" >&6; } +if test x"$pgac_cv__computed_goto" = xyes ; then + +$as_echo "#define HAVE__COMPUTED_GOTO 1" >>confdefs.h + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : diff --git a/configure.in b/configure.in index 1d99cda1d8..9aa9203c40 100644 --- a/configure.in +++ b/configure.in @@ -1323,6 +1323,7 @@ PGAC_C_BUILTIN_BSWAP64 PGAC_C_BUILTIN_CONSTANT_P PGAC_C_BUILTIN_UNREACHABLE PGAC_C_VA_ARGS +PGAC_C_COMPUTED_GOTO PGAC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5bcd8a1160..94de1a75a2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -687,6 +687,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ #undef HAVE__BUILTIN_UNREACHABLE +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #undef HAVE__CPUID diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 3e4132cd82..c5441855bd 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -514,6 +514,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ /* #undef HAVE__BUILTIN_UNREACHABLE */ +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #define HAVE__CPUID 1 -- 2.11.0.22.g8d7a455.dirty --y7hr4yk6lkjgumip Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0004-WIP-Faster-expression-evaluation-and-targetlist-proj.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
* [PATCH 3/4] Add autoconf test for computed goto support. @ 2017-02-07 22:16 Andres Freund <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Andres Freund @ 2017-02-07 22:16 UTC (permalink / raw) Author: Andres Freund --- config/c-compiler.m4 | 24 ++++++++++++++++++++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 1 + src/include/pg_config.h.in | 3 +++ src/include/pg_config.h.win32 | 3 +++ 5 files changed, 65 insertions(+) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 7d901e1f1a..f56d8852f0 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -491,3 +491,27 @@ if test x"$Ac_cachevar" = x"yes"; then fi undefine([Ac_cachevar])dnl ])# PGAC_SSE42_CRC32_INTRINSICS + + + +# PGAC_C_COMPUTED_GOTO +# ----------------------- +# Check if the C compiler knows computed gotos (gcc extension, also +# available in at least clang). If so define HAVE_COMPUTED_GOTO +# +# Checking whether computed gotos are supported syntax-wise ought to +# be enough, as the syntax is otherwise illegal. +AC_DEFUN([PGAC_C_COMPUTED_GOTO], +[AC_CACHE_CHECK(for computed goto support, pgac_cv__computed_goto, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; +]])], +[pgac_cv__computed_goto=yes], +[pgac_cv__computed_goto=no])]) +if test x"$pgac_cv__computed_goto" = xyes ; then +AC_DEFINE(HAVE__COMPUTED_GOTO, 1, + [Define to 1 if your compiler handles computed gotos.]) +fi])# PGAC_C_COMPUTED_GOTO diff --git a/configure b/configure index b5cdebb510..fafef4638e 100755 --- a/configure +++ b/configure @@ -11564,6 +11564,40 @@ if test x"$pgac_cv__va_args" = xyes ; then $as_echo "#define HAVE__VA_ARGS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for computed goto support" >&5 +$as_echo_n "checking for computed goto support... " >&6; } +if ${pgac_cv__computed_goto+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv__computed_goto=yes +else + pgac_cv__computed_goto=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__computed_goto" >&5 +$as_echo "$pgac_cv__computed_goto" >&6; } +if test x"$pgac_cv__computed_goto" = xyes ; then + +$as_echo "#define HAVE__COMPUTED_GOTO 1" >>confdefs.h + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : diff --git a/configure.in b/configure.in index 1d99cda1d8..9aa9203c40 100644 --- a/configure.in +++ b/configure.in @@ -1323,6 +1323,7 @@ PGAC_C_BUILTIN_BSWAP64 PGAC_C_BUILTIN_CONSTANT_P PGAC_C_BUILTIN_UNREACHABLE PGAC_C_VA_ARGS +PGAC_C_COMPUTED_GOTO PGAC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5bcd8a1160..94de1a75a2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -687,6 +687,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ #undef HAVE__BUILTIN_UNREACHABLE +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #undef HAVE__CPUID diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 3e4132cd82..c5441855bd 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -514,6 +514,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ /* #undef HAVE__BUILTIN_UNREACHABLE */ +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #define HAVE__CPUID 1 -- 2.11.0.22.g8d7a455.dirty --2644zxlc6bgs5acp Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0004-WIP-Faster-expression-evaluation-and-targetlist-proj.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
* [PATCH 3/4] Add autoconf test for computed goto support. @ 2017-02-07 22:16 Andres Freund <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Andres Freund @ 2017-02-07 22:16 UTC (permalink / raw) Author: Andres Freund --- config/c-compiler.m4 | 24 ++++++++++++++++++++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 1 + src/include/pg_config.h.in | 3 +++ src/include/pg_config.h.win32 | 3 +++ 5 files changed, 65 insertions(+) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 7d901e1f1a..f56d8852f0 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -491,3 +491,27 @@ if test x"$Ac_cachevar" = x"yes"; then fi undefine([Ac_cachevar])dnl ])# PGAC_SSE42_CRC32_INTRINSICS + + + +# PGAC_C_COMPUTED_GOTO +# ----------------------- +# Check if the C compiler knows computed gotos (gcc extension, also +# available in at least clang). If so define HAVE_COMPUTED_GOTO +# +# Checking whether computed gotos are supported syntax-wise ought to +# be enough, as the syntax is otherwise illegal. +AC_DEFUN([PGAC_C_COMPUTED_GOTO], +[AC_CACHE_CHECK(for computed goto support, pgac_cv__computed_goto, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; +]])], +[pgac_cv__computed_goto=yes], +[pgac_cv__computed_goto=no])]) +if test x"$pgac_cv__computed_goto" = xyes ; then +AC_DEFINE(HAVE__COMPUTED_GOTO, 1, + [Define to 1 if your compiler handles computed gotos.]) +fi])# PGAC_C_COMPUTED_GOTO diff --git a/configure b/configure index b5cdebb510..fafef4638e 100755 --- a/configure +++ b/configure @@ -11564,6 +11564,40 @@ if test x"$pgac_cv__va_args" = xyes ; then $as_echo "#define HAVE__VA_ARGS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for computed goto support" >&5 +$as_echo_n "checking for computed goto support... " >&6; } +if ${pgac_cv__computed_goto+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv__computed_goto=yes +else + pgac_cv__computed_goto=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__computed_goto" >&5 +$as_echo "$pgac_cv__computed_goto" >&6; } +if test x"$pgac_cv__computed_goto" = xyes ; then + +$as_echo "#define HAVE__COMPUTED_GOTO 1" >>confdefs.h + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : diff --git a/configure.in b/configure.in index 1d99cda1d8..9aa9203c40 100644 --- a/configure.in +++ b/configure.in @@ -1323,6 +1323,7 @@ PGAC_C_BUILTIN_BSWAP64 PGAC_C_BUILTIN_CONSTANT_P PGAC_C_BUILTIN_UNREACHABLE PGAC_C_VA_ARGS +PGAC_C_COMPUTED_GOTO PGAC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5bcd8a1160..94de1a75a2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -687,6 +687,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ #undef HAVE__BUILTIN_UNREACHABLE +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #undef HAVE__CPUID diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 3e4132cd82..c5441855bd 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -514,6 +514,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ /* #undef HAVE__BUILTIN_UNREACHABLE */ +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #define HAVE__CPUID 1 -- 2.11.0.22.g8d7a455.dirty --y7hr4yk6lkjgumip Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0004-WIP-Faster-expression-evaluation-and-targetlist-proj.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
* [PATCH 3/4] Add autoconf test for computed goto support. @ 2017-02-07 22:16 Andres Freund <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Andres Freund @ 2017-02-07 22:16 UTC (permalink / raw) Author: Andres Freund --- config/c-compiler.m4 | 24 ++++++++++++++++++++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 1 + src/include/pg_config.h.in | 3 +++ src/include/pg_config.h.win32 | 3 +++ 5 files changed, 65 insertions(+) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 7d901e1f1a..f56d8852f0 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -491,3 +491,27 @@ if test x"$Ac_cachevar" = x"yes"; then fi undefine([Ac_cachevar])dnl ])# PGAC_SSE42_CRC32_INTRINSICS + + + +# PGAC_C_COMPUTED_GOTO +# ----------------------- +# Check if the C compiler knows computed gotos (gcc extension, also +# available in at least clang). If so define HAVE_COMPUTED_GOTO +# +# Checking whether computed gotos are supported syntax-wise ought to +# be enough, as the syntax is otherwise illegal. +AC_DEFUN([PGAC_C_COMPUTED_GOTO], +[AC_CACHE_CHECK(for computed goto support, pgac_cv__computed_goto, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; +]])], +[pgac_cv__computed_goto=yes], +[pgac_cv__computed_goto=no])]) +if test x"$pgac_cv__computed_goto" = xyes ; then +AC_DEFINE(HAVE__COMPUTED_GOTO, 1, + [Define to 1 if your compiler handles computed gotos.]) +fi])# PGAC_C_COMPUTED_GOTO diff --git a/configure b/configure index b5cdebb510..fafef4638e 100755 --- a/configure +++ b/configure @@ -11564,6 +11564,40 @@ if test x"$pgac_cv__va_args" = xyes ; then $as_echo "#define HAVE__VA_ARGS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for computed goto support" >&5 +$as_echo_n "checking for computed goto support... " >&6; } +if ${pgac_cv__computed_goto+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv__computed_goto=yes +else + pgac_cv__computed_goto=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__computed_goto" >&5 +$as_echo "$pgac_cv__computed_goto" >&6; } +if test x"$pgac_cv__computed_goto" = xyes ; then + +$as_echo "#define HAVE__COMPUTED_GOTO 1" >>confdefs.h + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : diff --git a/configure.in b/configure.in index 1d99cda1d8..9aa9203c40 100644 --- a/configure.in +++ b/configure.in @@ -1323,6 +1323,7 @@ PGAC_C_BUILTIN_BSWAP64 PGAC_C_BUILTIN_CONSTANT_P PGAC_C_BUILTIN_UNREACHABLE PGAC_C_VA_ARGS +PGAC_C_COMPUTED_GOTO PGAC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5bcd8a1160..94de1a75a2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -687,6 +687,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ #undef HAVE__BUILTIN_UNREACHABLE +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #undef HAVE__CPUID diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 3e4132cd82..c5441855bd 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -514,6 +514,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ /* #undef HAVE__BUILTIN_UNREACHABLE */ +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #define HAVE__CPUID 1 -- 2.11.0.22.g8d7a455.dirty --y7hr4yk6lkjgumip Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0004-WIP-Faster-expression-evaluation-and-targetlist-proj.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
* [PATCH 3/4] Add autoconf test for computed goto support. @ 2017-02-07 22:16 Andres Freund <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Andres Freund @ 2017-02-07 22:16 UTC (permalink / raw) Author: Andres Freund --- config/c-compiler.m4 | 24 ++++++++++++++++++++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 1 + src/include/pg_config.h.in | 3 +++ src/include/pg_config.h.win32 | 3 +++ 5 files changed, 65 insertions(+) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 7d901e1f1a..f56d8852f0 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -491,3 +491,27 @@ if test x"$Ac_cachevar" = x"yes"; then fi undefine([Ac_cachevar])dnl ])# PGAC_SSE42_CRC32_INTRINSICS + + + +# PGAC_C_COMPUTED_GOTO +# ----------------------- +# Check if the C compiler knows computed gotos (gcc extension, also +# available in at least clang). If so define HAVE_COMPUTED_GOTO +# +# Checking whether computed gotos are supported syntax-wise ought to +# be enough, as the syntax is otherwise illegal. +AC_DEFUN([PGAC_C_COMPUTED_GOTO], +[AC_CACHE_CHECK(for computed goto support, pgac_cv__computed_goto, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; +]])], +[pgac_cv__computed_goto=yes], +[pgac_cv__computed_goto=no])]) +if test x"$pgac_cv__computed_goto" = xyes ; then +AC_DEFINE(HAVE__COMPUTED_GOTO, 1, + [Define to 1 if your compiler handles computed gotos.]) +fi])# PGAC_C_COMPUTED_GOTO diff --git a/configure b/configure index b5cdebb510..fafef4638e 100755 --- a/configure +++ b/configure @@ -11564,6 +11564,40 @@ if test x"$pgac_cv__va_args" = xyes ; then $as_echo "#define HAVE__VA_ARGS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for computed goto support" >&5 +$as_echo_n "checking for computed goto support... " >&6; } +if ${pgac_cv__computed_goto+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv__computed_goto=yes +else + pgac_cv__computed_goto=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__computed_goto" >&5 +$as_echo "$pgac_cv__computed_goto" >&6; } +if test x"$pgac_cv__computed_goto" = xyes ; then + +$as_echo "#define HAVE__COMPUTED_GOTO 1" >>confdefs.h + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : diff --git a/configure.in b/configure.in index 1d99cda1d8..9aa9203c40 100644 --- a/configure.in +++ b/configure.in @@ -1323,6 +1323,7 @@ PGAC_C_BUILTIN_BSWAP64 PGAC_C_BUILTIN_CONSTANT_P PGAC_C_BUILTIN_UNREACHABLE PGAC_C_VA_ARGS +PGAC_C_COMPUTED_GOTO PGAC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5bcd8a1160..94de1a75a2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -687,6 +687,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ #undef HAVE__BUILTIN_UNREACHABLE +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #undef HAVE__CPUID diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 3e4132cd82..c5441855bd 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -514,6 +514,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ /* #undef HAVE__BUILTIN_UNREACHABLE */ +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #define HAVE__CPUID 1 -- 2.11.0.22.g8d7a455.dirty --y7hr4yk6lkjgumip Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0004-WIP-Faster-expression-evaluation-and-targetlist-proj.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
* [PATCH 3/4] Add autoconf test for computed goto support. @ 2017-02-07 22:16 Andres Freund <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Andres Freund @ 2017-02-07 22:16 UTC (permalink / raw) Author: Andres Freund --- config/c-compiler.m4 | 24 ++++++++++++++++++++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 1 + src/include/pg_config.h.in | 3 +++ src/include/pg_config.h.win32 | 3 +++ 5 files changed, 65 insertions(+) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 7d901e1f1a..f56d8852f0 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -491,3 +491,27 @@ if test x"$Ac_cachevar" = x"yes"; then fi undefine([Ac_cachevar])dnl ])# PGAC_SSE42_CRC32_INTRINSICS + + + +# PGAC_C_COMPUTED_GOTO +# ----------------------- +# Check if the C compiler knows computed gotos (gcc extension, also +# available in at least clang). If so define HAVE_COMPUTED_GOTO +# +# Checking whether computed gotos are supported syntax-wise ought to +# be enough, as the syntax is otherwise illegal. +AC_DEFUN([PGAC_C_COMPUTED_GOTO], +[AC_CACHE_CHECK(for computed goto support, pgac_cv__computed_goto, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; +]])], +[pgac_cv__computed_goto=yes], +[pgac_cv__computed_goto=no])]) +if test x"$pgac_cv__computed_goto" = xyes ; then +AC_DEFINE(HAVE__COMPUTED_GOTO, 1, + [Define to 1 if your compiler handles computed gotos.]) +fi])# PGAC_C_COMPUTED_GOTO diff --git a/configure b/configure index b5cdebb510..fafef4638e 100755 --- a/configure +++ b/configure @@ -11564,6 +11564,40 @@ if test x"$pgac_cv__va_args" = xyes ; then $as_echo "#define HAVE__VA_ARGS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for computed goto support" >&5 +$as_echo_n "checking for computed goto support... " >&6; } +if ${pgac_cv__computed_goto+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv__computed_goto=yes +else + pgac_cv__computed_goto=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__computed_goto" >&5 +$as_echo "$pgac_cv__computed_goto" >&6; } +if test x"$pgac_cv__computed_goto" = xyes ; then + +$as_echo "#define HAVE__COMPUTED_GOTO 1" >>confdefs.h + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : diff --git a/configure.in b/configure.in index 1d99cda1d8..9aa9203c40 100644 --- a/configure.in +++ b/configure.in @@ -1323,6 +1323,7 @@ PGAC_C_BUILTIN_BSWAP64 PGAC_C_BUILTIN_CONSTANT_P PGAC_C_BUILTIN_UNREACHABLE PGAC_C_VA_ARGS +PGAC_C_COMPUTED_GOTO PGAC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5bcd8a1160..94de1a75a2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -687,6 +687,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ #undef HAVE__BUILTIN_UNREACHABLE +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #undef HAVE__CPUID diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 3e4132cd82..c5441855bd 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -514,6 +514,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ /* #undef HAVE__BUILTIN_UNREACHABLE */ +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #define HAVE__CPUID 1 -- 2.11.0.22.g8d7a455.dirty --2644zxlc6bgs5acp Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0004-WIP-Faster-expression-evaluation-and-targetlist-proj.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
* [PATCH 3/4] Add autoconf test for computed goto support. @ 2017-02-07 22:16 Andres Freund <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Andres Freund @ 2017-02-07 22:16 UTC (permalink / raw) Author: Andres Freund --- config/c-compiler.m4 | 24 ++++++++++++++++++++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 1 + src/include/pg_config.h.in | 3 +++ src/include/pg_config.h.win32 | 3 +++ 5 files changed, 65 insertions(+) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 7d901e1f1a..f56d8852f0 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -491,3 +491,27 @@ if test x"$Ac_cachevar" = x"yes"; then fi undefine([Ac_cachevar])dnl ])# PGAC_SSE42_CRC32_INTRINSICS + + + +# PGAC_C_COMPUTED_GOTO +# ----------------------- +# Check if the C compiler knows computed gotos (gcc extension, also +# available in at least clang). If so define HAVE_COMPUTED_GOTO +# +# Checking whether computed gotos are supported syntax-wise ought to +# be enough, as the syntax is otherwise illegal. +AC_DEFUN([PGAC_C_COMPUTED_GOTO], +[AC_CACHE_CHECK(for computed goto support, pgac_cv__computed_goto, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; +]])], +[pgac_cv__computed_goto=yes], +[pgac_cv__computed_goto=no])]) +if test x"$pgac_cv__computed_goto" = xyes ; then +AC_DEFINE(HAVE__COMPUTED_GOTO, 1, + [Define to 1 if your compiler handles computed gotos.]) +fi])# PGAC_C_COMPUTED_GOTO diff --git a/configure b/configure index b5cdebb510..fafef4638e 100755 --- a/configure +++ b/configure @@ -11564,6 +11564,40 @@ if test x"$pgac_cv__va_args" = xyes ; then $as_echo "#define HAVE__VA_ARGS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for computed goto support" >&5 +$as_echo_n "checking for computed goto support... " >&6; } +if ${pgac_cv__computed_goto+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv__computed_goto=yes +else + pgac_cv__computed_goto=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__computed_goto" >&5 +$as_echo "$pgac_cv__computed_goto" >&6; } +if test x"$pgac_cv__computed_goto" = xyes ; then + +$as_echo "#define HAVE__COMPUTED_GOTO 1" >>confdefs.h + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : diff --git a/configure.in b/configure.in index 1d99cda1d8..9aa9203c40 100644 --- a/configure.in +++ b/configure.in @@ -1323,6 +1323,7 @@ PGAC_C_BUILTIN_BSWAP64 PGAC_C_BUILTIN_CONSTANT_P PGAC_C_BUILTIN_UNREACHABLE PGAC_C_VA_ARGS +PGAC_C_COMPUTED_GOTO PGAC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5bcd8a1160..94de1a75a2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -687,6 +687,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ #undef HAVE__BUILTIN_UNREACHABLE +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #undef HAVE__CPUID diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 3e4132cd82..c5441855bd 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -514,6 +514,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ /* #undef HAVE__BUILTIN_UNREACHABLE */ +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #define HAVE__CPUID 1 -- 2.11.0.22.g8d7a455.dirty --y7hr4yk6lkjgumip Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0004-WIP-Faster-expression-evaluation-and-targetlist-proj.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
* [PATCH 3/4] Add autoconf test for computed goto support. @ 2017-02-07 22:16 Andres Freund <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Andres Freund @ 2017-02-07 22:16 UTC (permalink / raw) Author: Andres Freund --- config/c-compiler.m4 | 24 ++++++++++++++++++++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 1 + src/include/pg_config.h.in | 3 +++ src/include/pg_config.h.win32 | 3 +++ 5 files changed, 65 insertions(+) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 7d901e1f1a..f56d8852f0 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -491,3 +491,27 @@ if test x"$Ac_cachevar" = x"yes"; then fi undefine([Ac_cachevar])dnl ])# PGAC_SSE42_CRC32_INTRINSICS + + + +# PGAC_C_COMPUTED_GOTO +# ----------------------- +# Check if the C compiler knows computed gotos (gcc extension, also +# available in at least clang). If so define HAVE_COMPUTED_GOTO +# +# Checking whether computed gotos are supported syntax-wise ought to +# be enough, as the syntax is otherwise illegal. +AC_DEFUN([PGAC_C_COMPUTED_GOTO], +[AC_CACHE_CHECK(for computed goto support, pgac_cv__computed_goto, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; +]])], +[pgac_cv__computed_goto=yes], +[pgac_cv__computed_goto=no])]) +if test x"$pgac_cv__computed_goto" = xyes ; then +AC_DEFINE(HAVE__COMPUTED_GOTO, 1, + [Define to 1 if your compiler handles computed gotos.]) +fi])# PGAC_C_COMPUTED_GOTO diff --git a/configure b/configure index b5cdebb510..fafef4638e 100755 --- a/configure +++ b/configure @@ -11564,6 +11564,40 @@ if test x"$pgac_cv__va_args" = xyes ; then $as_echo "#define HAVE__VA_ARGS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for computed goto support" >&5 +$as_echo_n "checking for computed goto support... " >&6; } +if ${pgac_cv__computed_goto+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv__computed_goto=yes +else + pgac_cv__computed_goto=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__computed_goto" >&5 +$as_echo "$pgac_cv__computed_goto" >&6; } +if test x"$pgac_cv__computed_goto" = xyes ; then + +$as_echo "#define HAVE__COMPUTED_GOTO 1" >>confdefs.h + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : diff --git a/configure.in b/configure.in index 1d99cda1d8..9aa9203c40 100644 --- a/configure.in +++ b/configure.in @@ -1323,6 +1323,7 @@ PGAC_C_BUILTIN_BSWAP64 PGAC_C_BUILTIN_CONSTANT_P PGAC_C_BUILTIN_UNREACHABLE PGAC_C_VA_ARGS +PGAC_C_COMPUTED_GOTO PGAC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5bcd8a1160..94de1a75a2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -687,6 +687,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ #undef HAVE__BUILTIN_UNREACHABLE +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #undef HAVE__CPUID diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 3e4132cd82..c5441855bd 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -514,6 +514,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ /* #undef HAVE__BUILTIN_UNREACHABLE */ +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #define HAVE__CPUID 1 -- 2.11.0.22.g8d7a455.dirty --2644zxlc6bgs5acp Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0004-WIP-Faster-expression-evaluation-and-targetlist-proj.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
* [PATCH 3/4] Add autoconf test for computed goto support. @ 2017-02-07 22:16 Andres Freund <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Andres Freund @ 2017-02-07 22:16 UTC (permalink / raw) Author: Andres Freund --- config/c-compiler.m4 | 24 ++++++++++++++++++++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 1 + src/include/pg_config.h.in | 3 +++ src/include/pg_config.h.win32 | 3 +++ 5 files changed, 65 insertions(+) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 7d901e1f1a..f56d8852f0 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -491,3 +491,27 @@ if test x"$Ac_cachevar" = x"yes"; then fi undefine([Ac_cachevar])dnl ])# PGAC_SSE42_CRC32_INTRINSICS + + + +# PGAC_C_COMPUTED_GOTO +# ----------------------- +# Check if the C compiler knows computed gotos (gcc extension, also +# available in at least clang). If so define HAVE_COMPUTED_GOTO +# +# Checking whether computed gotos are supported syntax-wise ought to +# be enough, as the syntax is otherwise illegal. +AC_DEFUN([PGAC_C_COMPUTED_GOTO], +[AC_CACHE_CHECK(for computed goto support, pgac_cv__computed_goto, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; +]])], +[pgac_cv__computed_goto=yes], +[pgac_cv__computed_goto=no])]) +if test x"$pgac_cv__computed_goto" = xyes ; then +AC_DEFINE(HAVE__COMPUTED_GOTO, 1, + [Define to 1 if your compiler handles computed gotos.]) +fi])# PGAC_C_COMPUTED_GOTO diff --git a/configure b/configure index b5cdebb510..fafef4638e 100755 --- a/configure +++ b/configure @@ -11564,6 +11564,40 @@ if test x"$pgac_cv__va_args" = xyes ; then $as_echo "#define HAVE__VA_ARGS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for computed goto support" >&5 +$as_echo_n "checking for computed goto support... " >&6; } +if ${pgac_cv__computed_goto+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv__computed_goto=yes +else + pgac_cv__computed_goto=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__computed_goto" >&5 +$as_echo "$pgac_cv__computed_goto" >&6; } +if test x"$pgac_cv__computed_goto" = xyes ; then + +$as_echo "#define HAVE__COMPUTED_GOTO 1" >>confdefs.h + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : diff --git a/configure.in b/configure.in index 1d99cda1d8..9aa9203c40 100644 --- a/configure.in +++ b/configure.in @@ -1323,6 +1323,7 @@ PGAC_C_BUILTIN_BSWAP64 PGAC_C_BUILTIN_CONSTANT_P PGAC_C_BUILTIN_UNREACHABLE PGAC_C_VA_ARGS +PGAC_C_COMPUTED_GOTO PGAC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5bcd8a1160..94de1a75a2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -687,6 +687,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ #undef HAVE__BUILTIN_UNREACHABLE +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #undef HAVE__CPUID diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 3e4132cd82..c5441855bd 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -514,6 +514,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ /* #undef HAVE__BUILTIN_UNREACHABLE */ +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #define HAVE__CPUID 1 -- 2.11.0.22.g8d7a455.dirty --y7hr4yk6lkjgumip Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0004-WIP-Faster-expression-evaluation-and-targetlist-proj.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
* [PATCH 3/4] Add autoconf test for computed goto support. @ 2017-02-07 22:16 Andres Freund <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Andres Freund @ 2017-02-07 22:16 UTC (permalink / raw) Author: Andres Freund --- config/c-compiler.m4 | 24 ++++++++++++++++++++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 1 + src/include/pg_config.h.in | 3 +++ src/include/pg_config.h.win32 | 3 +++ 5 files changed, 65 insertions(+) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 7d901e1f1a..f56d8852f0 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -491,3 +491,27 @@ if test x"$Ac_cachevar" = x"yes"; then fi undefine([Ac_cachevar])dnl ])# PGAC_SSE42_CRC32_INTRINSICS + + + +# PGAC_C_COMPUTED_GOTO +# ----------------------- +# Check if the C compiler knows computed gotos (gcc extension, also +# available in at least clang). If so define HAVE_COMPUTED_GOTO +# +# Checking whether computed gotos are supported syntax-wise ought to +# be enough, as the syntax is otherwise illegal. +AC_DEFUN([PGAC_C_COMPUTED_GOTO], +[AC_CACHE_CHECK(for computed goto support, pgac_cv__computed_goto, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; +]])], +[pgac_cv__computed_goto=yes], +[pgac_cv__computed_goto=no])]) +if test x"$pgac_cv__computed_goto" = xyes ; then +AC_DEFINE(HAVE__COMPUTED_GOTO, 1, + [Define to 1 if your compiler handles computed gotos.]) +fi])# PGAC_C_COMPUTED_GOTO diff --git a/configure b/configure index b5cdebb510..fafef4638e 100755 --- a/configure +++ b/configure @@ -11564,6 +11564,40 @@ if test x"$pgac_cv__va_args" = xyes ; then $as_echo "#define HAVE__VA_ARGS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for computed goto support" >&5 +$as_echo_n "checking for computed goto support... " >&6; } +if ${pgac_cv__computed_goto+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv__computed_goto=yes +else + pgac_cv__computed_goto=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__computed_goto" >&5 +$as_echo "$pgac_cv__computed_goto" >&6; } +if test x"$pgac_cv__computed_goto" = xyes ; then + +$as_echo "#define HAVE__COMPUTED_GOTO 1" >>confdefs.h + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : diff --git a/configure.in b/configure.in index 1d99cda1d8..9aa9203c40 100644 --- a/configure.in +++ b/configure.in @@ -1323,6 +1323,7 @@ PGAC_C_BUILTIN_BSWAP64 PGAC_C_BUILTIN_CONSTANT_P PGAC_C_BUILTIN_UNREACHABLE PGAC_C_VA_ARGS +PGAC_C_COMPUTED_GOTO PGAC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5bcd8a1160..94de1a75a2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -687,6 +687,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ #undef HAVE__BUILTIN_UNREACHABLE +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #undef HAVE__CPUID diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 3e4132cd82..c5441855bd 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -514,6 +514,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ /* #undef HAVE__BUILTIN_UNREACHABLE */ +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #define HAVE__CPUID 1 -- 2.11.0.22.g8d7a455.dirty --2644zxlc6bgs5acp Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0004-WIP-Faster-expression-evaluation-and-targetlist-proj.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
* [PATCH 3/4] Add autoconf test for computed goto support. @ 2017-02-07 22:16 Andres Freund <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Andres Freund @ 2017-02-07 22:16 UTC (permalink / raw) Author: Andres Freund --- config/c-compiler.m4 | 24 ++++++++++++++++++++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 1 + src/include/pg_config.h.in | 3 +++ src/include/pg_config.h.win32 | 3 +++ 5 files changed, 65 insertions(+) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 7d901e1f1a..f56d8852f0 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -491,3 +491,27 @@ if test x"$Ac_cachevar" = x"yes"; then fi undefine([Ac_cachevar])dnl ])# PGAC_SSE42_CRC32_INTRINSICS + + + +# PGAC_C_COMPUTED_GOTO +# ----------------------- +# Check if the C compiler knows computed gotos (gcc extension, also +# available in at least clang). If so define HAVE_COMPUTED_GOTO +# +# Checking whether computed gotos are supported syntax-wise ought to +# be enough, as the syntax is otherwise illegal. +AC_DEFUN([PGAC_C_COMPUTED_GOTO], +[AC_CACHE_CHECK(for computed goto support, pgac_cv__computed_goto, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; +]])], +[pgac_cv__computed_goto=yes], +[pgac_cv__computed_goto=no])]) +if test x"$pgac_cv__computed_goto" = xyes ; then +AC_DEFINE(HAVE__COMPUTED_GOTO, 1, + [Define to 1 if your compiler handles computed gotos.]) +fi])# PGAC_C_COMPUTED_GOTO diff --git a/configure b/configure index b5cdebb510..fafef4638e 100755 --- a/configure +++ b/configure @@ -11564,6 +11564,40 @@ if test x"$pgac_cv__va_args" = xyes ; then $as_echo "#define HAVE__VA_ARGS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for computed goto support" >&5 +$as_echo_n "checking for computed goto support... " >&6; } +if ${pgac_cv__computed_goto+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv__computed_goto=yes +else + pgac_cv__computed_goto=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__computed_goto" >&5 +$as_echo "$pgac_cv__computed_goto" >&6; } +if test x"$pgac_cv__computed_goto" = xyes ; then + +$as_echo "#define HAVE__COMPUTED_GOTO 1" >>confdefs.h + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : diff --git a/configure.in b/configure.in index 1d99cda1d8..9aa9203c40 100644 --- a/configure.in +++ b/configure.in @@ -1323,6 +1323,7 @@ PGAC_C_BUILTIN_BSWAP64 PGAC_C_BUILTIN_CONSTANT_P PGAC_C_BUILTIN_UNREACHABLE PGAC_C_VA_ARGS +PGAC_C_COMPUTED_GOTO PGAC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5bcd8a1160..94de1a75a2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -687,6 +687,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ #undef HAVE__BUILTIN_UNREACHABLE +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #undef HAVE__CPUID diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 3e4132cd82..c5441855bd 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -514,6 +514,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ /* #undef HAVE__BUILTIN_UNREACHABLE */ +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #define HAVE__CPUID 1 -- 2.11.0.22.g8d7a455.dirty --y7hr4yk6lkjgumip Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0004-WIP-Faster-expression-evaluation-and-targetlist-proj.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
* [PATCH 3/4] Add autoconf test for computed goto support. @ 2017-02-07 22:16 Andres Freund <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Andres Freund @ 2017-02-07 22:16 UTC (permalink / raw) Author: Andres Freund --- config/c-compiler.m4 | 24 ++++++++++++++++++++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 1 + src/include/pg_config.h.in | 3 +++ src/include/pg_config.h.win32 | 3 +++ 5 files changed, 65 insertions(+) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 7d901e1f1a..f56d8852f0 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -491,3 +491,27 @@ if test x"$Ac_cachevar" = x"yes"; then fi undefine([Ac_cachevar])dnl ])# PGAC_SSE42_CRC32_INTRINSICS + + + +# PGAC_C_COMPUTED_GOTO +# ----------------------- +# Check if the C compiler knows computed gotos (gcc extension, also +# available in at least clang). If so define HAVE_COMPUTED_GOTO +# +# Checking whether computed gotos are supported syntax-wise ought to +# be enough, as the syntax is otherwise illegal. +AC_DEFUN([PGAC_C_COMPUTED_GOTO], +[AC_CACHE_CHECK(for computed goto support, pgac_cv__computed_goto, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; +]])], +[pgac_cv__computed_goto=yes], +[pgac_cv__computed_goto=no])]) +if test x"$pgac_cv__computed_goto" = xyes ; then +AC_DEFINE(HAVE__COMPUTED_GOTO, 1, + [Define to 1 if your compiler handles computed gotos.]) +fi])# PGAC_C_COMPUTED_GOTO diff --git a/configure b/configure index b5cdebb510..fafef4638e 100755 --- a/configure +++ b/configure @@ -11564,6 +11564,40 @@ if test x"$pgac_cv__va_args" = xyes ; then $as_echo "#define HAVE__VA_ARGS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for computed goto support" >&5 +$as_echo_n "checking for computed goto support... " >&6; } +if ${pgac_cv__computed_goto+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv__computed_goto=yes +else + pgac_cv__computed_goto=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__computed_goto" >&5 +$as_echo "$pgac_cv__computed_goto" >&6; } +if test x"$pgac_cv__computed_goto" = xyes ; then + +$as_echo "#define HAVE__COMPUTED_GOTO 1" >>confdefs.h + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : diff --git a/configure.in b/configure.in index 1d99cda1d8..9aa9203c40 100644 --- a/configure.in +++ b/configure.in @@ -1323,6 +1323,7 @@ PGAC_C_BUILTIN_BSWAP64 PGAC_C_BUILTIN_CONSTANT_P PGAC_C_BUILTIN_UNREACHABLE PGAC_C_VA_ARGS +PGAC_C_COMPUTED_GOTO PGAC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5bcd8a1160..94de1a75a2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -687,6 +687,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ #undef HAVE__BUILTIN_UNREACHABLE +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #undef HAVE__CPUID diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 3e4132cd82..c5441855bd 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -514,6 +514,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ /* #undef HAVE__BUILTIN_UNREACHABLE */ +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #define HAVE__CPUID 1 -- 2.11.0.22.g8d7a455.dirty --2644zxlc6bgs5acp Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0004-WIP-Faster-expression-evaluation-and-targetlist-proj.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
* [PATCH 3/4] Add autoconf test for computed goto support. @ 2017-02-07 22:16 Andres Freund <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Andres Freund @ 2017-02-07 22:16 UTC (permalink / raw) Author: Andres Freund --- config/c-compiler.m4 | 24 ++++++++++++++++++++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 1 + src/include/pg_config.h.in | 3 +++ src/include/pg_config.h.win32 | 3 +++ 5 files changed, 65 insertions(+) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 7d901e1f1a..f56d8852f0 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -491,3 +491,27 @@ if test x"$Ac_cachevar" = x"yes"; then fi undefine([Ac_cachevar])dnl ])# PGAC_SSE42_CRC32_INTRINSICS + + + +# PGAC_C_COMPUTED_GOTO +# ----------------------- +# Check if the C compiler knows computed gotos (gcc extension, also +# available in at least clang). If so define HAVE_COMPUTED_GOTO +# +# Checking whether computed gotos are supported syntax-wise ought to +# be enough, as the syntax is otherwise illegal. +AC_DEFUN([PGAC_C_COMPUTED_GOTO], +[AC_CACHE_CHECK(for computed goto support, pgac_cv__computed_goto, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; +]])], +[pgac_cv__computed_goto=yes], +[pgac_cv__computed_goto=no])]) +if test x"$pgac_cv__computed_goto" = xyes ; then +AC_DEFINE(HAVE__COMPUTED_GOTO, 1, + [Define to 1 if your compiler handles computed gotos.]) +fi])# PGAC_C_COMPUTED_GOTO diff --git a/configure b/configure index b5cdebb510..fafef4638e 100755 --- a/configure +++ b/configure @@ -11564,6 +11564,40 @@ if test x"$pgac_cv__va_args" = xyes ; then $as_echo "#define HAVE__VA_ARGS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for computed goto support" >&5 +$as_echo_n "checking for computed goto support... " >&6; } +if ${pgac_cv__computed_goto+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv__computed_goto=yes +else + pgac_cv__computed_goto=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__computed_goto" >&5 +$as_echo "$pgac_cv__computed_goto" >&6; } +if test x"$pgac_cv__computed_goto" = xyes ; then + +$as_echo "#define HAVE__COMPUTED_GOTO 1" >>confdefs.h + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : diff --git a/configure.in b/configure.in index 1d99cda1d8..9aa9203c40 100644 --- a/configure.in +++ b/configure.in @@ -1323,6 +1323,7 @@ PGAC_C_BUILTIN_BSWAP64 PGAC_C_BUILTIN_CONSTANT_P PGAC_C_BUILTIN_UNREACHABLE PGAC_C_VA_ARGS +PGAC_C_COMPUTED_GOTO PGAC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5bcd8a1160..94de1a75a2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -687,6 +687,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ #undef HAVE__BUILTIN_UNREACHABLE +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #undef HAVE__CPUID diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 3e4132cd82..c5441855bd 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -514,6 +514,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ /* #undef HAVE__BUILTIN_UNREACHABLE */ +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #define HAVE__CPUID 1 -- 2.11.0.22.g8d7a455.dirty --y7hr4yk6lkjgumip Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0004-WIP-Faster-expression-evaluation-and-targetlist-proj.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
* [PATCH 3/4] Add autoconf test for computed goto support. @ 2017-02-07 22:16 Andres Freund <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Andres Freund @ 2017-02-07 22:16 UTC (permalink / raw) Author: Andres Freund --- config/c-compiler.m4 | 24 ++++++++++++++++++++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 1 + src/include/pg_config.h.in | 3 +++ src/include/pg_config.h.win32 | 3 +++ 5 files changed, 65 insertions(+) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 7d901e1f1a..f56d8852f0 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -491,3 +491,27 @@ if test x"$Ac_cachevar" = x"yes"; then fi undefine([Ac_cachevar])dnl ])# PGAC_SSE42_CRC32_INTRINSICS + + + +# PGAC_C_COMPUTED_GOTO +# ----------------------- +# Check if the C compiler knows computed gotos (gcc extension, also +# available in at least clang). If so define HAVE_COMPUTED_GOTO +# +# Checking whether computed gotos are supported syntax-wise ought to +# be enough, as the syntax is otherwise illegal. +AC_DEFUN([PGAC_C_COMPUTED_GOTO], +[AC_CACHE_CHECK(for computed goto support, pgac_cv__computed_goto, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; +]])], +[pgac_cv__computed_goto=yes], +[pgac_cv__computed_goto=no])]) +if test x"$pgac_cv__computed_goto" = xyes ; then +AC_DEFINE(HAVE__COMPUTED_GOTO, 1, + [Define to 1 if your compiler handles computed gotos.]) +fi])# PGAC_C_COMPUTED_GOTO diff --git a/configure b/configure index b5cdebb510..fafef4638e 100755 --- a/configure +++ b/configure @@ -11564,6 +11564,40 @@ if test x"$pgac_cv__va_args" = xyes ; then $as_echo "#define HAVE__VA_ARGS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for computed goto support" >&5 +$as_echo_n "checking for computed goto support... " >&6; } +if ${pgac_cv__computed_goto+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv__computed_goto=yes +else + pgac_cv__computed_goto=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__computed_goto" >&5 +$as_echo "$pgac_cv__computed_goto" >&6; } +if test x"$pgac_cv__computed_goto" = xyes ; then + +$as_echo "#define HAVE__COMPUTED_GOTO 1" >>confdefs.h + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : diff --git a/configure.in b/configure.in index 1d99cda1d8..9aa9203c40 100644 --- a/configure.in +++ b/configure.in @@ -1323,6 +1323,7 @@ PGAC_C_BUILTIN_BSWAP64 PGAC_C_BUILTIN_CONSTANT_P PGAC_C_BUILTIN_UNREACHABLE PGAC_C_VA_ARGS +PGAC_C_COMPUTED_GOTO PGAC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5bcd8a1160..94de1a75a2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -687,6 +687,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ #undef HAVE__BUILTIN_UNREACHABLE +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #undef HAVE__CPUID diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 3e4132cd82..c5441855bd 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -514,6 +514,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ /* #undef HAVE__BUILTIN_UNREACHABLE */ +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #define HAVE__CPUID 1 -- 2.11.0.22.g8d7a455.dirty --2644zxlc6bgs5acp Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0004-WIP-Faster-expression-evaluation-and-targetlist-proj.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
* [PATCH 3/4] Add autoconf test for computed goto support. @ 2017-02-07 22:16 Andres Freund <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Andres Freund @ 2017-02-07 22:16 UTC (permalink / raw) Author: Andres Freund --- config/c-compiler.m4 | 24 ++++++++++++++++++++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 1 + src/include/pg_config.h.in | 3 +++ src/include/pg_config.h.win32 | 3 +++ 5 files changed, 65 insertions(+) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 7d901e1f1a..f56d8852f0 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -491,3 +491,27 @@ if test x"$Ac_cachevar" = x"yes"; then fi undefine([Ac_cachevar])dnl ])# PGAC_SSE42_CRC32_INTRINSICS + + + +# PGAC_C_COMPUTED_GOTO +# ----------------------- +# Check if the C compiler knows computed gotos (gcc extension, also +# available in at least clang). If so define HAVE_COMPUTED_GOTO +# +# Checking whether computed gotos are supported syntax-wise ought to +# be enough, as the syntax is otherwise illegal. +AC_DEFUN([PGAC_C_COMPUTED_GOTO], +[AC_CACHE_CHECK(for computed goto support, pgac_cv__computed_goto, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; +]])], +[pgac_cv__computed_goto=yes], +[pgac_cv__computed_goto=no])]) +if test x"$pgac_cv__computed_goto" = xyes ; then +AC_DEFINE(HAVE__COMPUTED_GOTO, 1, + [Define to 1 if your compiler handles computed gotos.]) +fi])# PGAC_C_COMPUTED_GOTO diff --git a/configure b/configure index b5cdebb510..fafef4638e 100755 --- a/configure +++ b/configure @@ -11564,6 +11564,40 @@ if test x"$pgac_cv__va_args" = xyes ; then $as_echo "#define HAVE__VA_ARGS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for computed goto support" >&5 +$as_echo_n "checking for computed goto support... " >&6; } +if ${pgac_cv__computed_goto+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv__computed_goto=yes +else + pgac_cv__computed_goto=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__computed_goto" >&5 +$as_echo "$pgac_cv__computed_goto" >&6; } +if test x"$pgac_cv__computed_goto" = xyes ; then + +$as_echo "#define HAVE__COMPUTED_GOTO 1" >>confdefs.h + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : diff --git a/configure.in b/configure.in index 1d99cda1d8..9aa9203c40 100644 --- a/configure.in +++ b/configure.in @@ -1323,6 +1323,7 @@ PGAC_C_BUILTIN_BSWAP64 PGAC_C_BUILTIN_CONSTANT_P PGAC_C_BUILTIN_UNREACHABLE PGAC_C_VA_ARGS +PGAC_C_COMPUTED_GOTO PGAC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5bcd8a1160..94de1a75a2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -687,6 +687,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ #undef HAVE__BUILTIN_UNREACHABLE +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #undef HAVE__CPUID diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 3e4132cd82..c5441855bd 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -514,6 +514,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ /* #undef HAVE__BUILTIN_UNREACHABLE */ +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #define HAVE__CPUID 1 -- 2.11.0.22.g8d7a455.dirty --y7hr4yk6lkjgumip Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0004-WIP-Faster-expression-evaluation-and-targetlist-proj.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
* [PATCH 3/4] Add autoconf test for computed goto support. @ 2017-02-07 22:16 Andres Freund <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Andres Freund @ 2017-02-07 22:16 UTC (permalink / raw) Author: Andres Freund --- config/c-compiler.m4 | 24 ++++++++++++++++++++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 1 + src/include/pg_config.h.in | 3 +++ src/include/pg_config.h.win32 | 3 +++ 5 files changed, 65 insertions(+) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 7d901e1f1a..f56d8852f0 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -491,3 +491,27 @@ if test x"$Ac_cachevar" = x"yes"; then fi undefine([Ac_cachevar])dnl ])# PGAC_SSE42_CRC32_INTRINSICS + + + +# PGAC_C_COMPUTED_GOTO +# ----------------------- +# Check if the C compiler knows computed gotos (gcc extension, also +# available in at least clang). If so define HAVE_COMPUTED_GOTO +# +# Checking whether computed gotos are supported syntax-wise ought to +# be enough, as the syntax is otherwise illegal. +AC_DEFUN([PGAC_C_COMPUTED_GOTO], +[AC_CACHE_CHECK(for computed goto support, pgac_cv__computed_goto, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; +]])], +[pgac_cv__computed_goto=yes], +[pgac_cv__computed_goto=no])]) +if test x"$pgac_cv__computed_goto" = xyes ; then +AC_DEFINE(HAVE__COMPUTED_GOTO, 1, + [Define to 1 if your compiler handles computed gotos.]) +fi])# PGAC_C_COMPUTED_GOTO diff --git a/configure b/configure index b5cdebb510..fafef4638e 100755 --- a/configure +++ b/configure @@ -11564,6 +11564,40 @@ if test x"$pgac_cv__va_args" = xyes ; then $as_echo "#define HAVE__VA_ARGS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for computed goto support" >&5 +$as_echo_n "checking for computed goto support... " >&6; } +if ${pgac_cv__computed_goto+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv__computed_goto=yes +else + pgac_cv__computed_goto=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__computed_goto" >&5 +$as_echo "$pgac_cv__computed_goto" >&6; } +if test x"$pgac_cv__computed_goto" = xyes ; then + +$as_echo "#define HAVE__COMPUTED_GOTO 1" >>confdefs.h + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : diff --git a/configure.in b/configure.in index 1d99cda1d8..9aa9203c40 100644 --- a/configure.in +++ b/configure.in @@ -1323,6 +1323,7 @@ PGAC_C_BUILTIN_BSWAP64 PGAC_C_BUILTIN_CONSTANT_P PGAC_C_BUILTIN_UNREACHABLE PGAC_C_VA_ARGS +PGAC_C_COMPUTED_GOTO PGAC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5bcd8a1160..94de1a75a2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -687,6 +687,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ #undef HAVE__BUILTIN_UNREACHABLE +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #undef HAVE__CPUID diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 3e4132cd82..c5441855bd 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -514,6 +514,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ /* #undef HAVE__BUILTIN_UNREACHABLE */ +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #define HAVE__CPUID 1 -- 2.11.0.22.g8d7a455.dirty --2644zxlc6bgs5acp Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0004-WIP-Faster-expression-evaluation-and-targetlist-proj.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
* [PATCH 3/4] Add autoconf test for computed goto support. @ 2017-02-07 22:16 Andres Freund <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Andres Freund @ 2017-02-07 22:16 UTC (permalink / raw) Author: Andres Freund --- config/c-compiler.m4 | 24 ++++++++++++++++++++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 1 + src/include/pg_config.h.in | 3 +++ src/include/pg_config.h.win32 | 3 +++ 5 files changed, 65 insertions(+) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 7d901e1f1a..f56d8852f0 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -491,3 +491,27 @@ if test x"$Ac_cachevar" = x"yes"; then fi undefine([Ac_cachevar])dnl ])# PGAC_SSE42_CRC32_INTRINSICS + + + +# PGAC_C_COMPUTED_GOTO +# ----------------------- +# Check if the C compiler knows computed gotos (gcc extension, also +# available in at least clang). If so define HAVE_COMPUTED_GOTO +# +# Checking whether computed gotos are supported syntax-wise ought to +# be enough, as the syntax is otherwise illegal. +AC_DEFUN([PGAC_C_COMPUTED_GOTO], +[AC_CACHE_CHECK(for computed goto support, pgac_cv__computed_goto, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; +]])], +[pgac_cv__computed_goto=yes], +[pgac_cv__computed_goto=no])]) +if test x"$pgac_cv__computed_goto" = xyes ; then +AC_DEFINE(HAVE__COMPUTED_GOTO, 1, + [Define to 1 if your compiler handles computed gotos.]) +fi])# PGAC_C_COMPUTED_GOTO diff --git a/configure b/configure index b5cdebb510..fafef4638e 100755 --- a/configure +++ b/configure @@ -11564,6 +11564,40 @@ if test x"$pgac_cv__va_args" = xyes ; then $as_echo "#define HAVE__VA_ARGS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for computed goto support" >&5 +$as_echo_n "checking for computed goto support... " >&6; } +if ${pgac_cv__computed_goto+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv__computed_goto=yes +else + pgac_cv__computed_goto=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__computed_goto" >&5 +$as_echo "$pgac_cv__computed_goto" >&6; } +if test x"$pgac_cv__computed_goto" = xyes ; then + +$as_echo "#define HAVE__COMPUTED_GOTO 1" >>confdefs.h + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : diff --git a/configure.in b/configure.in index 1d99cda1d8..9aa9203c40 100644 --- a/configure.in +++ b/configure.in @@ -1323,6 +1323,7 @@ PGAC_C_BUILTIN_BSWAP64 PGAC_C_BUILTIN_CONSTANT_P PGAC_C_BUILTIN_UNREACHABLE PGAC_C_VA_ARGS +PGAC_C_COMPUTED_GOTO PGAC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5bcd8a1160..94de1a75a2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -687,6 +687,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ #undef HAVE__BUILTIN_UNREACHABLE +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #undef HAVE__CPUID diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 3e4132cd82..c5441855bd 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -514,6 +514,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ /* #undef HAVE__BUILTIN_UNREACHABLE */ +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #define HAVE__CPUID 1 -- 2.11.0.22.g8d7a455.dirty --y7hr4yk6lkjgumip Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0004-WIP-Faster-expression-evaluation-and-targetlist-proj.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
* [PATCH 3/4] Add autoconf test for computed goto support. @ 2017-02-07 22:16 Andres Freund <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Andres Freund @ 2017-02-07 22:16 UTC (permalink / raw) Author: Andres Freund --- config/c-compiler.m4 | 24 ++++++++++++++++++++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 1 + src/include/pg_config.h.in | 3 +++ src/include/pg_config.h.win32 | 3 +++ 5 files changed, 65 insertions(+) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 7d901e1f1a..f56d8852f0 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -491,3 +491,27 @@ if test x"$Ac_cachevar" = x"yes"; then fi undefine([Ac_cachevar])dnl ])# PGAC_SSE42_CRC32_INTRINSICS + + + +# PGAC_C_COMPUTED_GOTO +# ----------------------- +# Check if the C compiler knows computed gotos (gcc extension, also +# available in at least clang). If so define HAVE_COMPUTED_GOTO +# +# Checking whether computed gotos are supported syntax-wise ought to +# be enough, as the syntax is otherwise illegal. +AC_DEFUN([PGAC_C_COMPUTED_GOTO], +[AC_CACHE_CHECK(for computed goto support, pgac_cv__computed_goto, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; +]])], +[pgac_cv__computed_goto=yes], +[pgac_cv__computed_goto=no])]) +if test x"$pgac_cv__computed_goto" = xyes ; then +AC_DEFINE(HAVE__COMPUTED_GOTO, 1, + [Define to 1 if your compiler handles computed gotos.]) +fi])# PGAC_C_COMPUTED_GOTO diff --git a/configure b/configure index b5cdebb510..fafef4638e 100755 --- a/configure +++ b/configure @@ -11564,6 +11564,40 @@ if test x"$pgac_cv__va_args" = xyes ; then $as_echo "#define HAVE__VA_ARGS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for computed goto support" >&5 +$as_echo_n "checking for computed goto support... " >&6; } +if ${pgac_cv__computed_goto+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv__computed_goto=yes +else + pgac_cv__computed_goto=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__computed_goto" >&5 +$as_echo "$pgac_cv__computed_goto" >&6; } +if test x"$pgac_cv__computed_goto" = xyes ; then + +$as_echo "#define HAVE__COMPUTED_GOTO 1" >>confdefs.h + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : diff --git a/configure.in b/configure.in index 1d99cda1d8..9aa9203c40 100644 --- a/configure.in +++ b/configure.in @@ -1323,6 +1323,7 @@ PGAC_C_BUILTIN_BSWAP64 PGAC_C_BUILTIN_CONSTANT_P PGAC_C_BUILTIN_UNREACHABLE PGAC_C_VA_ARGS +PGAC_C_COMPUTED_GOTO PGAC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5bcd8a1160..94de1a75a2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -687,6 +687,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ #undef HAVE__BUILTIN_UNREACHABLE +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #undef HAVE__CPUID diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 3e4132cd82..c5441855bd 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -514,6 +514,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ /* #undef HAVE__BUILTIN_UNREACHABLE */ +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #define HAVE__CPUID 1 -- 2.11.0.22.g8d7a455.dirty --2644zxlc6bgs5acp Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0004-WIP-Faster-expression-evaluation-and-targetlist-proj.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
* [PATCH 3/4] Add autoconf test for computed goto support. @ 2017-02-07 22:16 Andres Freund <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Andres Freund @ 2017-02-07 22:16 UTC (permalink / raw) Author: Andres Freund --- config/c-compiler.m4 | 24 ++++++++++++++++++++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 1 + src/include/pg_config.h.in | 3 +++ src/include/pg_config.h.win32 | 3 +++ 5 files changed, 65 insertions(+) diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 7d901e1f1a..f56d8852f0 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -491,3 +491,27 @@ if test x"$Ac_cachevar" = x"yes"; then fi undefine([Ac_cachevar])dnl ])# PGAC_SSE42_CRC32_INTRINSICS + + + +# PGAC_C_COMPUTED_GOTO +# ----------------------- +# Check if the C compiler knows computed gotos (gcc extension, also +# available in at least clang). If so define HAVE_COMPUTED_GOTO +# +# Checking whether computed gotos are supported syntax-wise ought to +# be enough, as the syntax is otherwise illegal. +AC_DEFUN([PGAC_C_COMPUTED_GOTO], +[AC_CACHE_CHECK(for computed goto support, pgac_cv__computed_goto, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; +]])], +[pgac_cv__computed_goto=yes], +[pgac_cv__computed_goto=no])]) +if test x"$pgac_cv__computed_goto" = xyes ; then +AC_DEFINE(HAVE__COMPUTED_GOTO, 1, + [Define to 1 if your compiler handles computed gotos.]) +fi])# PGAC_C_COMPUTED_GOTO diff --git a/configure b/configure index b5cdebb510..fafef4638e 100755 --- a/configure +++ b/configure @@ -11564,6 +11564,40 @@ if test x"$pgac_cv__va_args" = xyes ; then $as_echo "#define HAVE__VA_ARGS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for computed goto support" >&5 +$as_echo_n "checking for computed goto support... " >&6; } +if ${pgac_cv__computed_goto+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +void *labeladdrs[] = {&&my_label}; + goto *labeladdrs[0]; + my_label: + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + pgac_cv__computed_goto=yes +else + pgac_cv__computed_goto=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv__computed_goto" >&5 +$as_echo "$pgac_cv__computed_goto" >&6; } +if test x"$pgac_cv__computed_goto" = xyes ; then + +$as_echo "#define HAVE__COMPUTED_GOTO 1" >>confdefs.h + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : diff --git a/configure.in b/configure.in index 1d99cda1d8..9aa9203c40 100644 --- a/configure.in +++ b/configure.in @@ -1323,6 +1323,7 @@ PGAC_C_BUILTIN_BSWAP64 PGAC_C_BUILTIN_CONSTANT_P PGAC_C_BUILTIN_UNREACHABLE PGAC_C_VA_ARGS +PGAC_C_COMPUTED_GOTO PGAC_STRUCT_TIMEZONE PGAC_UNION_SEMUN PGAC_STRUCT_SOCKADDR_UN diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 5bcd8a1160..94de1a75a2 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -687,6 +687,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ #undef HAVE__BUILTIN_UNREACHABLE +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #undef HAVE__CPUID diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 3e4132cd82..c5441855bd 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -514,6 +514,9 @@ /* Define to 1 if your compiler understands __builtin_unreachable. */ /* #undef HAVE__BUILTIN_UNREACHABLE */ +/* Define to 1 if your compiler handles computed gotos. */ +#undef HAVE__COMPUTED_GOTO + /* Define to 1 if you have __cpuid. */ #define HAVE__CPUID 1 -- 2.11.0.22.g8d7a455.dirty --y7hr4yk6lkjgumip Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0004-WIP-Faster-expression-evaluation-and-targetlist-proj.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
* [PATCH v43 5/7] Fix crash caused by involuntary decoding of unrelated relations @ 2026-03-19 18:48 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 36+ messages in thread From: Álvaro Herrera @ 2026-03-19 18:48 UTC (permalink / raw) Author: Srinath Reddy Sadipiralla <[email protected]> --- src/backend/commands/cluster.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b0ecc769ee4..36950aea780 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -2666,6 +2666,21 @@ repack_setup_logical_decoding(Oid relid) */ Assert(!ctx->fast_forward); + /* Avoid logical decoding of other relations. */ + rel = table_open(relid, AccessShareLock); + repacked_rel_locator = rel->rd_locator; + toastrelid = rel->rd_rel->reltoastrelid; + if (OidIsValid(toastrelid)) + { + Relation toastrel; + + /* Avoid logical decoding of other TOAST relations. */ + toastrel = table_open(toastrelid, AccessShareLock); + repacked_rel_toast_locator = toastrel->rd_locator; + table_close(toastrel, AccessShareLock); + } + table_close(rel, AccessShareLock); + DecodingContextFindStartpoint(ctx); /* @@ -2702,21 +2717,6 @@ repack_setup_logical_decoding(Oid relid) "REPACK - change", ALLOCSET_DEFAULT_SIZES); - /* Avoid logical decoding of other relations. */ - rel = table_open(relid, AccessShareLock); - repacked_rel_locator = rel->rd_locator; - toastrelid = rel->rd_rel->reltoastrelid; - if (OidIsValid(toastrelid)) - { - Relation toastrel; - - /* Avoid logical decoding of other TOAST relations. */ - toastrel = table_open(toastrelid, AccessShareLock); - repacked_rel_toast_locator = toastrel->rd_locator; - table_close(toastrel, AccessShareLock); - } - table_close(rel, AccessShareLock); - /* The file will be set as soon as we have it opened. */ dstate->file = NULL; -- 2.47.3 --nzintiedl6o4kcyp Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v43-0006-Fix-a-few-problems-in-index-build-progress-repor.patch" ^ permalink raw reply [nested|flat] 36+ messages in thread
end of thread, other threads:[~2026-03-19 18:48 UTC | newest] Thread overview: 36+ messages (download: mbox mbox.gz follow: Atom feed) -- links below jump to the message on this page -- 2017-02-07 22:16 [PATCH 3/4] Add autoconf test for computed goto support. Andres Freund <[email protected]> 2017-02-07 22:16 [PATCH 3/4] Add autoconf test for computed goto support. Andres Freund <[email protected]> 2017-02-07 22:16 [PATCH 3/4] Add autoconf test for computed goto support. Andres Freund <[email protected]> 2017-02-07 22:16 [PATCH 3/4] Add autoconf test for computed goto support. Andres Freund <[email protected]> 2017-02-07 22:16 [PATCH 3/4] Add autoconf test for computed goto support. Andres Freund <[email protected]> 2017-02-07 22:16 [PATCH 3/4] Add autoconf test for computed goto support. Andres Freund <[email protected]> 2017-02-07 22:16 [PATCH 3/4] Add autoconf test for computed goto support. Andres Freund <[email protected]> 2017-02-07 22:16 [PATCH 3/4] Add autoconf test for computed goto support. Andres Freund <[email protected]> 2017-02-07 22:16 [PATCH 3/4] Add autoconf test for computed goto support. Andres Freund <[email protected]> 2017-02-07 22:16 [PATCH 3/4] Add autoconf test for computed goto support. Andres Freund <[email protected]> 2017-02-07 22:16 [PATCH 3/4] Add autoconf test for computed goto support. Andres Freund <[email protected]> 2017-02-07 22:16 [PATCH 3/4] Add autoconf test for computed goto support. Andres Freund <[email protected]> 2017-02-07 22:16 [PATCH 3/4] Add autoconf test for computed goto support. Andres Freund <[email protected]> 2017-02-07 22:16 [PATCH 3/4] Add autoconf test for computed goto support. Andres Freund <[email protected]> 2017-02-07 22:16 [PATCH 3/4] Add autoconf test for computed goto support. Andres Freund <[email protected]> 2017-02-07 22:16 [PATCH 3/4] Add autoconf test for computed goto support. Andres Freund <[email protected]> 2017-02-07 22:16 [PATCH 3/4] Add autoconf test for computed goto support. Andres Freund <[email protected]> 2017-02-07 22:16 [PATCH 3/4] Add autoconf test for computed goto support. Andres Freund <[email protected]> 2017-02-07 22:16 [PATCH 3/4] Add autoconf test for computed goto support. Andres Freund <[email protected]> 2017-02-07 22:16 [PATCH 3/4] Add autoconf test for computed goto support. Andres Freund <[email protected]> 2017-02-07 22:16 [PATCH 3/4] Add autoconf test for computed goto support. Andres Freund <[email protected]> 2017-02-07 22:16 [PATCH 3/4] Add autoconf test for computed goto support. Andres Freund <[email protected]> 2017-02-07 22:16 [PATCH 3/4] Add autoconf test for computed goto support. Andres Freund <[email protected]> 2017-02-07 22:16 [PATCH 3/4] Add autoconf test for computed goto support. Andres Freund <[email protected]> 2017-02-07 22:16 [PATCH 3/4] Add autoconf test for computed goto support. Andres Freund <[email protected]> 2017-02-07 22:16 [PATCH 3/4] Add autoconf test for computed goto support. Andres Freund <[email protected]> 2017-02-07 22:16 [PATCH 3/4] Add autoconf test for computed goto support. Andres Freund <[email protected]> 2017-02-07 22:16 [PATCH 3/4] Add autoconf test for computed goto support. Andres Freund <[email protected]> 2017-02-07 22:16 [PATCH 3/4] Add autoconf test for computed goto support. Andres Freund <[email protected]> 2017-02-07 22:16 [PATCH 3/4] Add autoconf test for computed goto support. Andres Freund <[email protected]> 2017-02-07 22:16 [PATCH 3/4] Add autoconf test for computed goto support. Andres Freund <[email protected]> 2017-02-07 22:16 [PATCH 3/4] Add autoconf test for computed goto support. Andres Freund <[email protected]> 2017-02-07 22:16 [PATCH 3/4] Add autoconf test for computed goto support. Andres Freund <[email protected]> 2017-02-07 22:16 [PATCH 3/4] Add autoconf test for computed goto support. Andres Freund <[email protected]> 2017-02-07 22:16 [PATCH 3/4] Add autoconf test for computed goto support. Andres Freund <[email protected]> 2026-03-19 18:48 [PATCH v43 5/7] Fix crash caused by involuntary decoding of unrelated relations Álvaro Herrera <[email protected]>
This inbox is served by agora; see mirroring instructions for how to clone and mirror all data and code used for this inbox