diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/include/c.h | 6 | ||||
-rw-r--r-- | src/include/pg_config.h.in | 8 | ||||
-rw-r--r-- | src/include/pg_config_manual.h | 13 | ||||
-rw-r--r-- | src/tools/msvc/Solution.pm | 15 | ||||
-rw-r--r-- | src/tools/msvc/config_default.pl | 3 |
5 files changed, 19 insertions, 26 deletions
diff --git a/src/include/c.h b/src/include/c.h index 802a731267f..00e41ac546a 100644 --- a/src/include/c.h +++ b/src/include/c.h @@ -491,6 +491,12 @@ typedef signed int Offset; typedef float float4; typedef double float8; +#ifdef USE_FLOAT8_BYVAL +#define FLOAT8PASSBYVAL true +#else +#define FLOAT8PASSBYVAL false +#endif + /* * Oid, RegProcedure, TransactionId, SubTransactionId, MultiXactId, * CommandId diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 6f8549bc03b..c208dcdfc71 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -70,10 +70,6 @@ MSVC and with C++ compilers. */ #undef FLEXIBLE_ARRAY_MEMBER -/* float8, int8, and related values are passed by value if 'true', by - reference if 'false' */ -#undef FLOAT8PASSBYVAL - /* Define to 1 if gettimeofday() takes only 1 argument. */ #undef GETTIMEOFDAY_1ARG @@ -898,10 +894,6 @@ /* Define to use /dev/urandom for random number generation */ #undef USE_DEV_URANDOM -/* Define to 1 if you want float8, int8, etc values to be passed by value. - (--enable-float8-byval) */ -#undef USE_FLOAT8_BYVAL - /* Define to build with ICU support. (--with-icu) */ #undef USE_ICU diff --git a/src/include/pg_config_manual.h b/src/include/pg_config_manual.h index 743401cb969..61b667d1663 100644 --- a/src/include/pg_config_manual.h +++ b/src/include/pg_config_manual.h @@ -57,6 +57,19 @@ #define PARTITION_MAX_KEYS 32 /* + * Decide whether built-in 8-byte types, including float8, int8, and + * timestamp, are passed by value. This is on by default if sizeof(Datum) >= + * 8 (that is, on 64-bit platforms). If sizeof(Datum) < 8 (32-bit platforms), + * this must be off. We keep this here as an option so that it is easy to + * test the pass-by-reference code paths on 64-bit platforms. + * + * Changing this requires an initdb. + */ +#if SIZEOF_VOID_P >= 8 +#define USE_FLOAT8_BYVAL 1 +#endif + +/* * When we don't have native spinlocks, we use semaphores to simulate them. * Decreasing this value reduces consumption of OS resources; increasing it * may improve performance, but supplying a real spinlock implementation is diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm index e4ea62e80ba..5f72530c72b 100644 --- a/src/tools/msvc/Solution.pm +++ b/src/tools/msvc/Solution.pm @@ -29,12 +29,7 @@ sub _new bless($self, $classname); $self->DeterminePlatform(); - my $bits = $self->{platform} eq 'Win32' ? 32 : 64; - $options->{float8byval} = ($bits == 64) - unless exists $options->{float8byval}; - die "float8byval not permitted on 32 bit platforms" - if $options->{float8byval} && $bits == 32; if ($options->{xslt} && !$options->{xml}) { die "XSLT requires XML\n"; @@ -207,16 +202,6 @@ sub GenerateFiles print $o "#define XLOG_BLCKSZ ", 1024 * $self->{options}->{wal_blocksize}, "\n"; - if ($self->{options}->{float8byval}) - { - print $o "#define USE_FLOAT8_BYVAL 1\n"; - print $o "#define FLOAT8PASSBYVAL true\n"; - } - else - { - print $o "#define FLOAT8PASSBYVAL false\n"; - } - if ($self->{options}->{uuid}) { print $o "#define HAVE_UUID_OSSP\n"; diff --git a/src/tools/msvc/config_default.pl b/src/tools/msvc/config_default.pl index 62188c78e78..2ef2cfc4e99 100644 --- a/src/tools/msvc/config_default.pl +++ b/src/tools/msvc/config_default.pl @@ -5,9 +5,6 @@ use warnings; our $config = { asserts => 0, # --enable-cassert - # float8byval=> $platformbits == 64, # --disable-float8-byval, - # off by default on 32 bit platforms, on by default on 64 bit platforms - # blocksize => 8, # --with-blocksize, 8kB by default # wal_blocksize => 8, # --with-wal-blocksize, 8kB by default ldap => 1, # --with-ldap |