mirror of
https://github.com/postgres/postgres.git
synced 2026-05-26 11:15:54 -04:00
This reverts commitsc2d1eea9eand11b500072, as well as similar hacks elsewhere, in favor of setting up the PGDLLIMPORT macro so that it can just be used unconditionally. That can work because in frontend code, we need no marking in either the defining or consuming files for a variable exported from these libraries; and frontend code has no need to access variables exported from the core backend, either. While at it, write some actual documentation about the PGDLLIMPORT and PGDLLEXPORT macros. Patch by me, based on a suggestion from Robert Haas. Discussion: https://postgr.es/m/1160385.1638165449@sss.pgh.pa.us
23 lines
758 B
C
23 lines
758 B
C
/* src/include/port/cygwin.h */
|
|
|
|
/*
|
|
* Variables declared in the core backend and referenced by loadable
|
|
* modules need to be marked "dllimport" in the core build, but
|
|
* "dllexport" when the declaration is read in a loadable module.
|
|
* No special markings should be used when compiling frontend code.
|
|
*/
|
|
#ifndef FRONTEND
|
|
#ifdef BUILDING_DLL
|
|
#define PGDLLIMPORT __declspec (dllexport)
|
|
#else
|
|
#define PGDLLIMPORT __declspec (dllimport)
|
|
#endif
|
|
#endif
|
|
|
|
/*
|
|
* Cygwin has a strtof() which is literally just (float)strtod(), which means
|
|
* we get misrounding _and_ silent over/underflow. Using our wrapper doesn't
|
|
* fix the misrounding but does fix the error checks, which cuts down on the
|
|
* number of test variant files needed.
|
|
*/
|
|
#define HAVE_BUGGY_STRTOF 1
|