for (size_t i = 0; i < initializer->list.len; ++i) {
initializer_t *sub_initializer = initializer->list.initializers[i];
expression_classification_t const cur = is_constant_initializer(sub_initializer);
- if (all > cur) {
- all = cur;
- }
+ all = MIN(all, cur);
}
return all;
}
case EXPR_ARRAY_ACCESS: {
expression_classification_t const ref = is_linker_constant(expression->array_access.array_ref);
expression_classification_t const idx = is_constant_expression(expression->array_access.index);
- return ref < idx ? ref : idx;
+ return MIN(ref, idx);
}
case EXPR_REFERENCE: {
if (is_type_pointer(ltype)) {
expression_classification_t const l = is_linker_constant(left);
expression_classification_t const r = is_constant_expression(right);
- return l < r ? l : r;
+ return MIN(l, r);
} else if (is_type_pointer(rtype)) {
expression_classification_t const l = is_constant_expression(left);
expression_classification_t const r = is_linker_constant(right);
- return l < r ? l : r;
+ return MIN(l, r);
} else if (!is_type_valid(ltype) || !is_type_valid(rtype)) {
return EXPR_CLASS_ERROR;
} else {
case EXPR_BINARY_ISUNORDERED: {
expression_classification_t const l = is_constant_expression(expression->binary.left);
expression_classification_t const r = is_constant_expression(expression->binary.right);
- return l < r ? l : r;
+ return MIN(l, r);
}
case EXPR_BINARY_LOGICAL_AND: {
return EXPR_CLASS_INTEGER_CONSTANT;
if (!fold_constant_to_bool(left))
return EXPR_CLASS_CONSTANT;
- return rcls < EXPR_CLASS_CONSTANT ? rcls : EXPR_CLASS_CONSTANT;
+ return MIN(rcls, EXPR_CLASS_CONSTANT);
}
case EXPR_BINARY_LOGICAL_OR: {
return EXPR_CLASS_INTEGER_CONSTANT;
if (fold_constant_to_bool(left))
return EXPR_CLASS_CONSTANT;
- return rcls < EXPR_CLASS_CONSTANT ? rcls : EXPR_CLASS_CONSTANT;
+ return MIN(rcls, EXPR_CLASS_CONSTANT);
}
case EXPR_COMPOUND_LITERAL:
fcls == EXPR_CLASS_INTEGER_CONSTANT)
return EXPR_CLASS_INTEGER_CONSTANT;
expression_classification_t const cls = fold_constant_to_bool(cond) ? tcls : fcls;
- return cls < EXPR_CLASS_CONSTANT ? cls : EXPR_CLASS_CONSTANT;
+ return MIN(cls, EXPR_CLASS_CONSTANT);
}
case EXPR_ERROR:
static char dep_target[4096];
if (outname != 0) {
size_t len = strlen(outname);
- if (len > sizeof(dep_target)-4) /* leave room for .d extension */
- len = sizeof(dep_target)-4;
+ len = MIN(len, sizeof(dep_target) - 4); /* leave room for .d extension */
memcpy(dep_target, outname, len);
/* replace extension with .d if found */
char *dot = &dep_target[len-1];
*/
#include "config.h"
+#include "adt/util.h"
#include "printer.h"
#include <stdio.h>
{
size_t size = buffer_end - buffer_pos;
size_t written = (size_t) vsnprintf(buffer_pos, size, format, ap);
- buffer_pos += written < size ? written : size;
+ buffer_pos += MIN(written, size);
}
void print_to_buffer(char *buffer, size_t buffer_size)