mirror of
https://github.com/postgres/postgres.git
synced 2026-02-23 09:52:14 -05:00
Test most StaticAssert macros in C++ extensions
Most of the StaticAssert macros already worked in C++ with Clang and GCC:(the only compilers we're currently testing C++ extension support for). This adds a regression test for them in our test C++ extension, so we can safely change their implementation without accidentally breaking C++. The only macros that StaticAssert macros that don't work yet are the StaticAssertVariableIsOfType and StaticAssertVariableIsOfTypeMacro. These will be added in a follow-on commit. Author: Jelte Fennema-Nio <postgres@jeltef.nl> Discussion: https://www.postgresql.org/message-id/flat/CAGECzQR21OnnKiZO_1rLWO0-16kg1JBxnVq-wymYW0-_1cUNtg@mail.gmail.com
This commit is contained in:
parent
3d28ecb5ac
commit
451650eaac
1 changed files with 5 additions and 0 deletions
|
|
@ -25,6 +25,8 @@ PG_MODULE_MAGIC;
|
|||
PG_FUNCTION_INFO_V1(test_cplusplus_add);
|
||||
}
|
||||
|
||||
StaticAssertDecl(sizeof(int32) == 4, "int32 should be 4 bytes");
|
||||
|
||||
/*
|
||||
* Simple function that returns the sum of two integers. This verifies that
|
||||
* C++ extension modules can be loaded and called correctly at runtime.
|
||||
|
|
@ -47,6 +49,9 @@ test_cplusplus_add(PG_FUNCTION_ARGS)
|
|||
(void) rtr;
|
||||
}
|
||||
|
||||
StaticAssertStmt(sizeof(int32) == 4, "int32 should be 4 bytes");
|
||||
(void) StaticAssertExpr(sizeof(int64) == 8, "int64 should be 8 bytes");
|
||||
|
||||
list_free(list);
|
||||
pfree(node);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue