diff options
Diffstat (limited to 'src/include/nodes/nodes.h')
-rw-r--r-- | src/include/nodes/nodes.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/include/nodes/nodes.h b/src/include/nodes/nodes.h index b9369ac2754..963ce45ae33 100644 --- a/src/include/nodes/nodes.h +++ b/src/include/nodes/nodes.h @@ -610,7 +610,13 @@ extern int16 *readAttrNumberCols(int numCols); /* * nodes/copyfuncs.c */ -extern void *copyObject(const void *obj); +extern void *copyObjectImpl(const void *obj); +/* cast result back to argument type, if supported by compiler */ +#ifdef HAVE_TYPEOF +#define copyObject(obj) ((typeof(obj)) copyObjectImpl(obj)) +#else +#define copyObject(obj) copyObjectImpl(obj) +#endif /* * nodes/equalfuncs.c |