Skip to content

Commit 582ee64

Browse files
author
Hayden Riddiford
committed
- Slight change to enum TODO to be more descriptive
1 parent 0e552e0 commit 582ee64

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

Diff for: tools/regz/src/svd.zig

+8-6
Original file line numberDiff line numberDiff line change
@@ -422,7 +422,7 @@ fn load_register(
422422
load_field(ctx, field_node, register_id) catch |err| {
423423
const reg_name = if (node.get_value("name")) |nm| nm else "EMPTY";
424424
const field_name = if (field_node.get_value("name")) |nm| nm else "EMPTY";
425-
log.warn(" failed to load field {s}.{s}: {}", .{ reg_name, field_name, err });
425+
log.warn("failed to load field {s}.{s}: {}", .{ reg_name, field_name, err });
426426
};
427427
// TODO: derivision
428428
//if (node.get_attribute("derivedFrom")) |derived_from|
@@ -490,11 +490,6 @@ fn load_enumerated_values(ctx: *Context, node: xml.Node, enum_size_bits: u8) !En
490490
.size_bits = enum_size_bits,
491491
});
492492

493-
// TODO:
494-
// - Enumerated values are allowed to have an enumeratedValue element with isDefault: true and NO value field to allow
495-
// setting a name and description for "all other" unused possible values for the bitfield
496-
// - Currently this generates an error.EnumFieldMissingValue, since there is no value field in these items
497-
// - Ultimately, this "name" and "description" belongs in a comment over the non-exhaustive enum "_" field, but unsure how to make that happen
498493
var value_it = node.iterate(&.{}, &.{"enumeratedValue"});
499494
while (value_it.next()) |value_node|
500495
try load_enumerated_value(ctx, value_node, enum_id);
@@ -515,6 +510,13 @@ fn load_enumerated_value(ctx: *Context, node: xml.Node, enum_id: EnumID) !void {
515510
} else {
516511
break :v try std.fmt.parseInt(u32, value_str, 0);
517512
}
513+
} else if (node.get_value("isDefault")) |is_default_str| {
514+
// TODO:
515+
// - Enumerated values are allowed to have an enumeratedValue element with isDefault: true and NO value field to allow
516+
// setting a name and description for "all other" unused possible values for the bitfield
517+
// - Ultimately, this "name" and "description" belongs in a comment over the non-exhaustive enum "_" field, but unsure how to make that happen
518+
if (is_default_str.len == 0) return error.EnumFieldMalformed;
519+
if (try parse_bool(is_default_str)) return error.TodoIsDefaultEnumValue else return error.EnumFieldMalformed;
518520
} else {
519521
return error.EnumFieldMissingValue;
520522
}

0 commit comments

Comments
 (0)