}
}
if (!container_type) {
- fprintf(fd, "[error] %s: missing container type for enumeration\n", __func__);
- return NULL;
-
+ declaration = lookup_declaration(g_quark_from_static_string("int"),
+ declaration_scope);
+ if (!declaration) {
+ fprintf(fd, "[error] %s: \"int\" type declaration missing for enumeration\n", __func__);
+ return NULL;
+ }
+ } else {
+ declaration = ctf_type_declarator_visit(fd, depth,
+ container_type,
+ &dummy_id, NULL,
+ declaration_scope,
+ NULL, trace);
}
- declaration = ctf_type_declarator_visit(fd, depth,
- container_type,
- &dummy_id, NULL,
- declaration_scope,
- NULL, trace);
if (!declaration) {
fprintf(fd, "[error] %s: unable to create container type for enumeration\n", __func__);
return NULL;
&node->u.integer.expressions, trace);
case TYPESPEC_STRING:
return ctf_declaration_string_visit(fd, depth,
- &first->u.string.expressions, trace);
+ &node->u.string.expressions, trace);
case TYPESPEC_STRUCT:
return ctf_declaration_struct_visit(fd, depth,
node->u._struct.name,
return ret;
}
}
+ if (!trace->streams) {
+ fprintf(fd, "[error] %s: missing trace declaration\n", __func__);
+ return -EINVAL;
+ }
cds_list_for_each_entry(iter, &node->u.root.stream, siblings) {
ret = ctf_stream_visit(fd, depth + 1, iter,
trace->root_declaration_scope, trace);