X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=genevent-new%2Fparser.c;h=b8f2a6a2fc03d924847d5dda9d045c8f0c873f2b;hb=15b0e8a4b1e8921acc5016156118a85cee1f46c9;hp=e5e64ab17d0564bcca8a18b0291f425370bceb7a;hpb=a3e6ce641573c455fdf020fa10f3481046dfddf7;p=lttv.git diff --git a/genevent-new/parser.c b/genevent-new/parser.c index e5e64ab1..b8f2a6a2 100644 --- a/genevent-new/parser.c +++ b/genevent-new/parser.c @@ -182,7 +182,6 @@ void getTypeAttributes(parse_file_t *in, type_descriptor_t *t, t->fmt = NULL; t->size = 0; - t->alignment = 0; while(1) { token = getToken(in); @@ -203,9 +202,6 @@ void getTypeAttributes(parse_file_t *in, type_descriptor_t *t, } else if(!strcmp("size",token)) { getEqual(in); t->size = getSize(in); - } else if(!strcmp("align",token)) { - getEqual(in); - t->alignment = getNumber(in); } } } @@ -558,11 +554,6 @@ void parseFields(parse_file_t *in, field_t *f, getLAnglebracket(in); f->type = parseType(in,NULL, unnamed_types, named_types); - /* Those will be set later by preset_field_type_size */ - f->fixed_root = FIELD_UNKNOWN; - f->fixed_parent = FIELD_UNKNOWN; - f->fixed_size = FIELD_UNKNOWN; - if(tag) { getLAnglebracket(in); getForwardslash(in); @@ -665,7 +656,7 @@ type_descriptor_t *parseType(parse_file_t *in, type_descriptor_t *inType, getForwardslash(in); getRAnglebracket(in); // - getLAnglebracket(in); // + //getLAnglebracket(in); // /* subfield */ f = (field_t *)memAlloc(sizeof(field_t)); sequence_push(&(t->fields),f); @@ -687,13 +678,13 @@ type_descriptor_t *parseType(parse_file_t *in, type_descriptor_t *inType, //getForwardslash(in); getRAnglebracket(in); // - getLAnglebracket(in); // + //getLAnglebracket(in); // /* subfield */ f = (field_t *)memAlloc(sizeof(field_t)); sequence_push(&(t->fields),f); parseFields(in, f, unnamed_types, named_types, 0); - getLAnglebracket(in); // + //getLAnglebracket(in); // /* subfield */ f = (field_t *)memAlloc(sizeof(field_t)); sequence_push(&(t->fields),f); @@ -728,34 +719,38 @@ type_descriptor_t *parseType(parse_file_t *in, type_descriptor_t *inType, getRAnglebracket(in); // } else if(strcmp(token,"enum") == 0) { - char * str, *str1; + char * str; + int value = -1; + t->type = ENUM; sequence_init(&(t->labels)); + sequence_init(&(t->labels_values)); sequence_init(&(t->labels_description)); t->already_printed = 0; getTypeAttributes(in, t, unnamed_types, named_types); //if(t->size == 0) in->error(in, "Sequence has empty size"); - //Mathieu : we fix enum size to 4 bytes. GCC is always like this. + //Mathieu : we fix enum size to target int size. GCC is always like this. //fox copy optimisation. - if(t->size != 0) in->error(in, "Enum has fixed size of 4."); - t->size = 4; + if(t->size != 0) in->error(in, "Enum has fixed size of target int."); + t->size = 0; getRAnglebracket(in); //