X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Flib%2Ftrace-ir%2Ffield.h;h=ce595f9726a100c263c38db2aac6dfb161b1a8e9;hb=02b61fe03bc4519c74169f997c93a80b16039272;hp=f20378fcfc4edc9dc9f4c624fd7d1c0ebdb9b20c;hpb=025c8fb8e90e8b8d25cf74f471652bc5062a3a8c;p=babeltrace.git diff --git a/src/lib/trace-ir/field.h b/src/lib/trace-ir/field.h index f20378fc..ce595f97 100644 --- a/src/lib/trace-ir/field.h +++ b/src/lib/trace-ir/field.h @@ -64,6 +64,13 @@ ((const struct bt_field *) (_field))->class->type == BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY, \ _name " is not an array field: %![field-]+f", (_field)) +#define BT_ASSERT_PRE_DEV_FIELD_IS_VARIANT(_field, _name) \ + BT_ASSERT_PRE_DEV( \ + ((const struct bt_field *) (_field))->class->type == BT_FIELD_CLASS_TYPE_VARIANT_WITHOUT_SELECTOR || \ + ((const struct bt_field *) (_field))->class->type == BT_FIELD_CLASS_TYPE_VARIANT_WITH_UNSIGNED_SELECTOR || \ + ((const struct bt_field *) (_field))->class->type == BT_FIELD_CLASS_TYPE_VARIANT_WITH_SIGNED_SELECTOR, \ + _name " is not a variant field: %![field-]+f", (_field)) + #define BT_ASSERT_PRE_DEV_FIELD_IS_SET(_field, _name) \ BT_ASSERT_PRE_DEV(bt_field_is_set(_field), \ _name " is not set: %!+f", (_field)) @@ -187,7 +194,6 @@ bt_bool _bt_field_is_set(const struct bt_field *field) goto end; } - BT_ASSERT(bt_field_class_has_known_type(field->class)); BT_ASSERT(field->methods->is_set); is_set = field->methods->is_set(field);