Re: Remove MSVC scripts from the tree
Alvaro Herrera <alvherre@alvh.no-ip.org>
From: Alvaro Herrera <alvherre@alvh.no-ip.org>
To: Peter Eisentraut <peter@eisentraut.org>
Cc: Andrew Dunstan <andrew@dunslane.net>, Michael Paquier <michael@paquier.xyz>, pgsql-hackers@lists.postgresql.org
Date: 2023-12-07T11:33:35Z
Lists: pgsql-hackers
On 2023-Dec-07, Peter Eisentraut wrote:
> On 06.12.23 21:52, Andrew Dunstan wrote:
> > Yes, if I comment out the call to structfunc() the test passes on VS2017
> > (compiler version 19.15.26726)
>
> This is strange, because we use code like that in the tree. There must be
> some small detail that trips it up here.
Well, We have things like these
typedef struct _archiveOpts
{
...
} ArchiveOpts;
#define ARCHIVE_OPTS(...) &(ArchiveOpts){__VA_ARGS__}
XL_ROUTINE is quite similar.
These are then used like
ARCHIVE_OPTS(.tag = "pg_largeobject",
.description = "pg_largeobject",
.section = SECTION_PRE_DATA,
.createStmt = loOutQry->data));
so the difference is that we're passing a pointer to a struct, not
the struct bare, which is what c99_test is doing:
struct named_init_test {
int a;
int b;
};
int main() {
...
structfunc((struct named_init_test){1, 0});
}
Maybe this would work if the function received the pointer too?
extern void structfunc(struct named_init_test *);
structfunc(&(struct named_init_test){1, 0});
The fact that this is called "structfunc" makes me wonder if the author
did indeed want to test passing a struct to the function. That'd be
odd, since the interesting thing in this line is the expression used to
initialize the struct argument. (We do pass structs, eg. ObjectAddress
to check_object_ownership; old code.)
--
Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/
"No renuncies a nada. No te aferres a nada."
Commits
-
Make win32tzlist.pl checkable again
- 8ddf9c1dc020 17.0 landed
-
meson: Make gzip and tar optional
- 9ca6e7b9411e 17.0 landed
-
meson: Make sed optional
- 9aa374dcfb76 17.0 landed
-
Remove MSVC scripts
- 1301c80b2167 17.0 landed
-
Replace Gen_dummy_probes.sed with Gen_dummy_probes.pl
- 3849fe7c2ba7 17.0 landed