shared: add MAXSIZE() and use it in resolved
The MAXSIZE() macro takes two types and returns the size of the larger one. It is much simpler to use than MAX(sizeof(A), sizeof(B)) and also avoids any compiler-extensions, unlike CONST_MAX() and MAX() (which are needed to avoid evaluating arguments more than once). This was suggested by Daniele Nicolodi <daniele@grinta.net>. Also make resolved use this macro instead of CONST_MAX(). This enhances readability quite a bit.
This commit is contained in:
@@ -90,6 +90,10 @@ static void test_max(void) {
|
||||
assert_se(val1.a == 100);
|
||||
assert_se(MAX(++d, 0) == 1);
|
||||
assert_se(d == 1);
|
||||
|
||||
assert_cc(MAXSIZE(char[3], uint16_t) == 3);
|
||||
assert_cc(MAXSIZE(char[3], uint32_t) == 4);
|
||||
assert_cc(MAXSIZE(char, long) == sizeof(long));
|
||||
}
|
||||
|
||||
static void test_first_word(void) {
|
||||
|
||||
Reference in New Issue
Block a user