This patch also renames "range set" to "integer range set" in logging
and precondition assertion messages.
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Change-Id: I59aaf541d956d84fee5cad22393b230635558877
Reviewed-on: https://review.lttng.org/c/babeltrace/+/1730
Tested-by: jenkins <jenkins@lttng.org>
|`F`
|Trace IR field class
|`F`
|Trace IR field class
-|`+struct bt_field_class *+`
+|`+const struct bt_field_class *+`
+|`+const struct bt_field *+`
|`P`
|Trace IR field path
|`P`
|Trace IR field path
-|`+struct bt_field_path *+`
+|`+const struct bt_field_path *+`
|`E`
|Trace IR event class
|`E`
|Trace IR event class
-|`+struct bt_event_class *+`
+|`+const struct bt_event_class *+`
+|`+const struct bt_event *+`
|`S`
|Trace IR stream class.
|`S`
|Trace IR stream class.
-|`+struct bt_stream_class *+`
+|`+const struct bt_stream_class *+`
+|`+const struct bt_stream *+`
+|`+const struct bt_packet *+`
|`T`
|Trace IR trace class
|`T`
|Trace IR trace class
-|`+struct bt_trace_class *+`
+|`+const struct bt_trace_class *+`
+|`+const struct bt_trace *+`
|`K`
|Trace IR clock class
|`K`
|Trace IR clock class
-|`+struct bt_clock_class *+`
+|`+const struct bt_clock_class *+`
|`k`
|Trace IR clock snapshot
|`k`
|Trace IR clock snapshot
-|`+struct bt_clock_snapshot *+`
+|`+const struct bt_clock_snapshot *+`
+|`+const struct bt_value *+`
+
+|`R`
+|Integer range set
+|`const struct bt_integer_range_set *`
-|`+struct bt_message *+`
+|`+const struct bt_message *+`
-|`+struct bt_component *+`
+|`+const struct bt_component *+`
+|`+const struct bt_port *+`
-|`+struct bt_connection *+`
+|`+const struct bt_connection *+`
+|`+const struct bt_graph *+`
-|`const struct bt_plugin *`
+|`+const struct bt_plugin *+`
-|`const struct bt_error_cause *`
+|`+const struct bt_error_cause *+`
-|`+struct bt_object_pool *+`
+|`+const struct bt_object_pool *+`
+|`+const struct bt_object *+`
|===
Conversion specifier examples:
|===
Conversion specifier examples:
#include "func-status.h"
#include "integer-range-set.h"
#include "func-status.h"
#include "integer-range-set.h"
-uint64_t bt_integer_range_unsigned_get_lower(const struct bt_integer_range_unsigned *u_range)
+uint64_t bt_integer_range_unsigned_get_lower(
+ const struct bt_integer_range_unsigned *u_range)
{
const struct bt_integer_range *range = (const void *) u_range;
{
const struct bt_integer_range *range = (const void *) u_range;
- BT_ASSERT_PRE_DEV_NON_NULL(range, "Range");
+ BT_ASSERT_PRE_DEV_NON_NULL(range, "Integer range");
-uint64_t bt_integer_range_unsigned_get_upper(const struct bt_integer_range_unsigned *u_range)
+uint64_t bt_integer_range_unsigned_get_upper(
+ const struct bt_integer_range_unsigned *u_range)
{
const struct bt_integer_range *range = (const void *) u_range;
{
const struct bt_integer_range *range = (const void *) u_range;
- BT_ASSERT_PRE_DEV_NON_NULL(range, "Range");
+ BT_ASSERT_PRE_DEV_NON_NULL(range, "Integer range");
-int64_t bt_integer_range_signed_get_lower(const struct bt_integer_range_signed *i_range)
+int64_t bt_integer_range_signed_get_lower(
+ const struct bt_integer_range_signed *i_range)
{
const struct bt_integer_range *range = (const void *) i_range;
{
const struct bt_integer_range *range = (const void *) i_range;
- BT_ASSERT_PRE_DEV_NON_NULL(range, "Range");
+ BT_ASSERT_PRE_DEV_NON_NULL(range, "Integer range");
-int64_t bt_integer_range_signed_get_upper(const struct bt_integer_range_signed *i_range)
+int64_t bt_integer_range_signed_get_upper(
+ const struct bt_integer_range_signed *i_range)
{
const struct bt_integer_range *range = (const void *) i_range;
{
const struct bt_integer_range *range = (const void *) i_range;
- BT_ASSERT_PRE_DEV_NON_NULL(range, "Range");
+ BT_ASSERT_PRE_DEV_NON_NULL(range, "Integer range");
const struct bt_integer_range_unsigned *range_a,
const struct bt_integer_range_unsigned *range_b)
{
const struct bt_integer_range_unsigned *range_a,
const struct bt_integer_range_unsigned *range_b)
{
- BT_ASSERT_PRE_DEV_NON_NULL(range_a, "Range A");
- BT_ASSERT_PRE_DEV_NON_NULL(range_b, "Range B");
+ BT_ASSERT_PRE_DEV_NON_NULL(range_a, "Integer range A");
+ BT_ASSERT_PRE_DEV_NON_NULL(range_b, "Integer range B");
return (bt_bool) compare_ranges((const void *) range_a,
(const void *) range_b);
}
return (bt_bool) compare_ranges((const void *) range_a,
(const void *) range_b);
}
const struct bt_integer_range_signed *range_a,
const struct bt_integer_range_signed *range_b)
{
const struct bt_integer_range_signed *range_a,
const struct bt_integer_range_signed *range_b)
{
- BT_ASSERT_PRE_DEV_NON_NULL(range_a, "Range A");
- BT_ASSERT_PRE_DEV_NON_NULL(range_b, "Range B");
+ BT_ASSERT_PRE_DEV_NON_NULL(range_a, "Integer range A");
+ BT_ASSERT_PRE_DEV_NON_NULL(range_b, "Integer range B");
return (bt_bool) compare_ranges((const void *) range_a,
(const void *) range_b);
}
return (bt_bool) compare_ranges((const void *) range_a,
(const void *) range_b);
}
uint64_t bt_integer_range_set_get_range_count(
const bt_integer_range_set *range_set)
{
uint64_t bt_integer_range_set_get_range_count(
const bt_integer_range_set *range_set)
{
- BT_ASSERT_PRE_DEV_NON_NULL(range_set, "Range set");
+ BT_ASSERT_PRE_DEV_NON_NULL(range_set, "Integer range set");
return (uint64_t) range_set->ranges->len;
}
return (uint64_t) range_set->ranges->len;
}
-const struct bt_integer_range_unsigned *bt_integer_range_set_unsigned_borrow_range_by_index_const(
- const bt_integer_range_set_unsigned *u_range_set, uint64_t index)
+const struct bt_integer_range_unsigned *
+bt_integer_range_set_unsigned_borrow_range_by_index_const(
+ const bt_integer_range_set_unsigned *u_range_set,
+ uint64_t index)
- const struct bt_integer_range_set *range_set = (const void *) u_range_set;
+ const struct bt_integer_range_set *range_set =
+ (const void *) u_range_set;
- BT_ASSERT_PRE_DEV_NON_NULL(range_set, "Range set");
+ BT_ASSERT_PRE_DEV_NON_NULL(range_set, "Integer range set");
BT_ASSERT_PRE_DEV_VALID_INDEX(index, range_set->ranges->len);
BT_ASSERT_PRE_DEV_VALID_INDEX(index, range_set->ranges->len);
- return (const void *) BT_INTEGER_RANGE_SET_RANGE_AT_INDEX(range_set, index);
+ return (const void *) BT_INTEGER_RANGE_SET_RANGE_AT_INDEX(range_set,
+ index);
-const struct bt_integer_range_signed *bt_integer_range_set_signed_borrow_range_by_index_const(
+const struct bt_integer_range_signed *
+bt_integer_range_set_signed_borrow_range_by_index_const(
const bt_integer_range_set_signed *i_range_set, uint64_t index)
{
const bt_integer_range_set_signed *i_range_set, uint64_t index)
{
- const struct bt_integer_range_set *range_set = (const void *) i_range_set;
+ const struct bt_integer_range_set *range_set =
+ (const void *) i_range_set;
- BT_ASSERT_PRE_DEV_NON_NULL(range_set, "Range set");
+ BT_ASSERT_PRE_DEV_NON_NULL(range_set, "Integer range set");
BT_ASSERT_PRE_DEV_VALID_INDEX(index, range_set->ranges->len);
BT_ASSERT_PRE_DEV_VALID_INDEX(index, range_set->ranges->len);
- return (const void *) BT_INTEGER_RANGE_SET_RANGE_AT_INDEX(range_set, index);
+ return (const void *) BT_INTEGER_RANGE_SET_RANGE_AT_INDEX(range_set,
+ index);
{
struct bt_integer_range_set *range_set = (void *) obj;
{
struct bt_integer_range_set *range_set = (void *) obj;
+ BT_LIB_LOGD("Destroying integer range set: %!+R", range_set);
+
if (range_set->ranges) {
g_array_free(range_set->ranges, TRUE);
range_set->ranges = NULL;
if (range_set->ranges) {
g_array_free(range_set->ranges, TRUE);
range_set->ranges = NULL;
static
struct bt_integer_range_set *create_range_set(void)
{
static
struct bt_integer_range_set *create_range_set(void)
{
- struct bt_integer_range_set *range_set = g_new0(struct bt_integer_range_set, 1);
+ struct bt_integer_range_set *range_set;
+
+ BT_LOGD_STR("Creating empty integer range set.");
+ range_set = g_new0(struct bt_integer_range_set, 1);
- BT_LIB_LOGE_APPEND_CAUSE("Failed to allocate one range set.");
+ BT_LIB_LOGE_APPEND_CAUSE(
+ "Failed to allocate one integer range set.");
sizeof(struct bt_integer_range));
if (!range_set->ranges) {
BT_LIB_LOGE_APPEND_CAUSE(
sizeof(struct bt_integer_range));
if (!range_set->ranges) {
BT_LIB_LOGE_APPEND_CAUSE(
- "Failed to allocate range set's range array.");
+ "Failed to allocate integer range set's range array.");
+ BT_LOGD_STR("Created empty integer range set.");
- BT_ASSERT_PRE_NON_NULL(range_set, "Range set");
- BT_ASSERT_PRE_DEV_HOT(range_set, "Range set", ": addr=%p", range_set);
+ BT_ASSERT_PRE_NON_NULL(range_set, "Integer range set");
+ BT_ASSERT_PRE_DEV_HOT(range_set, "Integer range set", ": %!+R",
+ range_set);
g_array_append_val(range_set->ranges, range);
g_array_append_val(range_set->ranges, range);
- BT_LIB_LOGD("Added range to range set: "
- "range-set-addr=%p, lower-unsigned=%" PRIu64 ", "
- "upper-unsigned=%" PRIu64,
- range_set, u_lower, u_upper);
+ BT_LIB_LOGD("Added integer range to integer range set: "
+ "%![range-set-]+R, lower-unsigned=%" PRIu64 ", "
+ "upper-unsigned=%" PRIu64, range_set, u_lower, u_upper);
-enum bt_integer_range_set_add_range_status bt_integer_range_set_unsigned_add_range(
+enum bt_integer_range_set_add_range_status
+bt_integer_range_set_unsigned_add_range(
struct bt_integer_range_set_unsigned *range_set,
uint64_t lower, uint64_t upper)
{
struct bt_integer_range_set_unsigned *range_set,
uint64_t lower, uint64_t upper)
{
return BT_FUNC_STATUS_OK;
}
return BT_FUNC_STATUS_OK;
}
-enum bt_integer_range_set_add_range_status bt_integer_range_set_signed_add_range(
+enum bt_integer_range_set_add_range_status
+bt_integer_range_set_signed_add_range(
struct bt_integer_range_set_signed *range_set,
int64_t lower, int64_t upper)
{
struct bt_integer_range_set_signed *range_set,
int64_t lower, int64_t upper)
{
void _bt_integer_range_set_freeze(const struct bt_integer_range_set *range_set)
{
BT_ASSERT(range_set);
void _bt_integer_range_set_freeze(const struct bt_integer_range_set *range_set)
{
BT_ASSERT(range_set);
- BT_LIB_LOGD("Freezing range set: addr=%p", range_set);
+ BT_LIB_LOGD("Freezing integer range set: %!+R", range_set);
((struct bt_integer_range_set *) range_set)->frozen = true;
}
BT_HIDDEN
((struct bt_integer_range_set *) range_set)->frozen = true;
}
BT_HIDDEN
-bool bt_integer_range_set_unsigned_has_overlaps(const struct bt_integer_range_set *range_set)
+bool bt_integer_range_set_unsigned_has_overlaps(
+ const struct bt_integer_range_set *range_set)
{
uint64_t i, j;
bool has_overlap = false;
{
uint64_t i, j;
bool has_overlap = false;
for (j = 0; j < range_set->ranges->len; j++) {
const struct bt_integer_range *range_j =
for (j = 0; j < range_set->ranges->len; j++) {
const struct bt_integer_range *range_j =
- BT_INTEGER_RANGE_SET_RANGE_AT_INDEX(range_set, j);
+ BT_INTEGER_RANGE_SET_RANGE_AT_INDEX(
+ range_set, j);
-bool bt_integer_range_set_signed_has_overlaps(const struct bt_integer_range_set *range_set)
+bool bt_integer_range_set_signed_has_overlaps(
+ const struct bt_integer_range_set *range_set)
{
uint64_t i, j;
bool has_overlap = false;
{
uint64_t i, j;
bool has_overlap = false;
for (j = 0; j < range_set->ranges->len; j++) {
const struct bt_integer_range *range_j =
for (j = 0; j < range_set->ranges->len; j++) {
const struct bt_integer_range *range_j =
- BT_INTEGER_RANGE_SET_RANGE_AT_INDEX(range_set, j);
+ BT_INTEGER_RANGE_SET_RANGE_AT_INDEX(
+ range_set, j);
bt_object_put_ref(range_set);
}
bt_object_put_ref(range_set);
}
-void bt_integer_range_set_signed_get_ref(const struct bt_integer_range_set_signed *range_set)
+void bt_integer_range_set_signed_get_ref(
+ const struct bt_integer_range_set_signed *range_set)
{
bt_object_get_ref(range_set);
}
{
bt_object_get_ref(range_set);
}
-void bt_integer_range_set_signed_put_ref(const struct bt_integer_range_set_signed *range_set)
+void bt_integer_range_set_signed_put_ref(
+ const struct bt_integer_range_set_signed *range_set)
{
bt_object_put_ref(range_set);
}
{
bt_object_put_ref(range_set);
}
#include "assert-pre.h"
#include "assert-post.h"
#include "value.h"
#include "assert-pre.h"
#include "assert-post.h"
#include "value.h"
+#include "integer-range-set.h"
#include "object-pool.h"
#include "graph/component-class.h"
#include "graph/component-class-sink-colander.h"
#include "object-pool.h"
#include "graph/component-class.h"
#include "graph/component-class-sink-colander.h"
+static inline void format_integer_range_set(char **buf_ch, bool extended,
+ const char *prefix,
+ const struct bt_integer_range_set *range_set)
+{
+ BUF_APPEND(", %srange-count=%u", PRFIELD(range_set->ranges->len));
+
+ if (!extended) {
+ return;
+ }
+
+ BUF_APPEND(", %sis-frozen=%d", PRFIELD(range_set->frozen));
+}
+
static inline void format_message(char **buf_ch, bool extended,
const char *prefix, const struct bt_message *msg)
{
static inline void format_message(char **buf_ch, bool extended,
const char *prefix, const struct bt_message *msg)
{
case 'v':
format_value(buf_ch, extended, prefix, obj);
break;
case 'v':
format_value(buf_ch, extended, prefix, obj);
break;
+ case 'R':
+ format_integer_range_set(buf_ch, extended, prefix, obj);
+ break;
case 'n':
format_message(buf_ch, extended, prefix, obj);
break;
case 'n':
format_message(buf_ch, extended, prefix, obj);
break;
BT_ASSERT(fc);
BT_ASSERT_PRE_NON_NULL(label, "Label");
BT_ASSERT(fc);
BT_ASSERT_PRE_NON_NULL(label, "Label");
- BT_ASSERT_PRE_NON_NULL(range_set, "Range set");
+ BT_ASSERT_PRE_NON_NULL(range_set, "Integer range set");
BT_ASSERT_PRE(!enumeration_field_class_has_mapping_with_label(
enum_fc, label),
"Duplicate mapping name in enumeration field class: "
BT_ASSERT_PRE(!enumeration_field_class_has_mapping_with_label(
enum_fc, label),
"Duplicate mapping name in enumeration field class: "
BT_ASSERT_PRE_NON_NULL(fc, "Field class");
BT_ASSERT_PRE_NON_NULL(name, "Name");
BT_ASSERT_PRE_NON_NULL(option_fc, "Option field class");
BT_ASSERT_PRE_NON_NULL(fc, "Field class");
BT_ASSERT_PRE_NON_NULL(name, "Name");
BT_ASSERT_PRE_NON_NULL(option_fc, "Option field class");
- BT_ASSERT_PRE_NON_NULL(range_set, "Range set");
+ BT_ASSERT_PRE_NON_NULL(range_set, "Integer range set");
BT_ASSERT_PRE_FC_HAS_ID(fc, expected_type, "Field class");
BT_ASSERT_PRE(range_set->ranges->len > 0,
BT_ASSERT_PRE_FC_HAS_ID(fc, expected_type, "Field class");
BT_ASSERT_PRE(range_set->ranges->len > 0,
- "Range set is empty: addr=%p", range_set);
+ "Integer range set is empty: %!+R", range_set);
status = ranges_overlap(var_fc->common.common.named_fcs, range_set,
expected_type == BT_FIELD_CLASS_TYPE_VARIANT_WITH_SIGNED_SELECTOR,
&has_overlap);
status = ranges_overlap(var_fc->common.common.named_fcs, range_set,
expected_type == BT_FIELD_CLASS_TYPE_VARIANT_WITH_SIGNED_SELECTOR,
&has_overlap);
}
BT_ASSERT_PRE(!has_overlap,
}
BT_ASSERT_PRE(!has_overlap,
- "Range set's ranges and existing ranges have an overlap: "
- "addr=%p", range_set);
+ "Integer range set's ranges and existing ranges have an overlap: "
+ "%!+R", range_set);
opt = create_variant_with_selector_option(name, option_fc, range_set);
if (!opt) {
/* create_variant_with_selector_option() logs errors */
opt = create_variant_with_selector_option(name, option_fc, range_set);
if (!opt) {
/* create_variant_with_selector_option() logs errors */