X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=formats%2Fctf%2Fmetadata%2Fctf-test%2Fsucceed%2Fctf-test.txt;h=c261a9a5da428a5d1823b50db6ec39c857008c01;hp=2b127cc412a5f7b2151998847c13ab253892fcd9;hb=98df1c9fb24d5e7e10bf628692011e130e0d8339;hpb=679d3755182c0ff1672d246ae2cc516244b85824 diff --git a/formats/ctf/metadata/ctf-test/succeed/ctf-test.txt b/formats/ctf/metadata/ctf-test/succeed/ctf-test.txt index 2b127cc4..c261a9a5 100644 --- a/formats/ctf/metadata/ctf-test/succeed/ctf-test.txt +++ b/formats/ctf/metadata/ctf-test/succeed/ctf-test.txt @@ -1,5 +1,10 @@ -enum name { +typealias integer { size = 32; align = 32; signed = true; } := int; +typealias integer { size = 32; align = 32; signed = false; } := uint; +typealias integer { size = 64; align = 64; signed = true; } := long; +typealias integer { size = 64; align = 64; } := unsigned long; + +enum name1 : int { ZERO, ONE, TWO, @@ -7,35 +12,54 @@ enum name { ELEVEN, }; -enum name { ONE, TWO }; +enum name2 : long { ONE, TWO }; -enum name { ONE, TWO }; +enum name3 : unsigned long { ONE, TWO }; -enum name { +enum name4 : unsigned long { string = 1 ... 2, "other string" = 3...4, yet_another_string, /* will be assigned to end_value2 + 1 */ "some other string" = 10, }; -enum name { "int" = 1, }; +enum name5 : long { "int" = 1, }; + +enum name6 { "int" = 1, }; typealias floating_point { exp_dig = 8; /* sizeof(float) * CHAR_BIT - FLT_MANT_DIG */ mant_dig = 24; /* FLT_MANT_DIG */ byte_order = native; -} : float; +} := float; typealias integer { size = 32; align = 32; - sign = false; -} : struct page *; + signed = false; +} := struct page *; + +struct event_packet_header { + typealias integer { size = 32; align = 32; signed = false; } := uint32_t; + typealias integer { size = 8; align = 8; signed = false; } := uint8_t; + + uint32_t magic; + uint8_t trace_uuid[16]; + uint32_t stream_id; +}; + +trace { + major = 66; + minor = 2; + byte_order = le; + uuid = "1123fcea-706e-11e0-a38b-f3c28a683a3d"; + packet.header := struct event_packet_header; +}; stream { - typealias integer { size = 64; align = 64; signed = false; } : uint64_t; - typealias integer { size = 16; align = 16; signed = false; } : uint16_t; - typealias integer { size = 32; align = 32; signed = true; } : int; + typealias integer { size = 64; align = 64; signed = false; } := uint64_t; + typealias integer { size = 16; align = 16; signed = false; } := uint16_t; + typealias integer { size = 32; align = 32; signed = true; } := int; typedef int pid_t; id = 5; @@ -45,19 +69,20 @@ stream { }; struct example { - short a:12; - short b:5; + /* TODO gcc bitfields not supported yet. */ + /* short a:12; + short b:5; */ }; struct name { - typealias integer { size = 64; align = 64; signed = false; } : uint64_t; - typealias integer { size = 32; align = 32; signed = false; } : uint32_t; - typealias integer { size = 32; align = 32; signed = true; } : int32_t; - typealias integer { size = 2; align = 8; signed = false; } : uint2_t; - typealias integer { size = 16; align = 16; signed = true; } : short; - typealias uint32_t : unsigned int; - - enum { a, b, c, d } choice; + typealias integer { size = 64; align = 64; signed = false; } := uint64_t; + typealias integer { size = 32; align = 32; signed = false; } := uint32_t; + typealias integer { size = 32; align = 32; signed = true; } := int32_t; + typealias integer { size = 2; align = 8; signed = false; } := uint2_t; + typealias integer { size = 16; align = 16; signed = true; } := short; + typealias uint32_t := unsigned int; + + enum : uint2_t { a, b, c, d } choice; /* Unrelated fields can be added between the variant and its tag */ int32_t somevalue; variant { @@ -75,24 +100,15 @@ typealias integer { size = 32; signed = false; align = 32; -} : uint32_t; - -typealias string { encoding = UTF8; } : test; +} := uint32_t; -struct event_packet_header { - typealias integer { size = 32; align = 32; signed = false; } : uint32_t; - typealias integer { size = 8; align = 8; signed = false; } : uint8_t; - - uint32_t magic; - uint8_t trace_uuid[16]; - uint32_t stream_id; -}; +typealias string { encoding = UTF8; } := test; struct event_packet_context { - typealias integer { size = 64; align = 64; signed = false; } : uint64_t; - typealias integer { size = 32; align = 32; signed = false; } : uint32_t; - typealias integer { size = 16; align = 16; signed = false; } : uint16_t; - typealias integer { size = 8; align = 8; signed = false; } : uint8_t; + typealias integer { size = 64; align = 64; signed = false; } := uint64_t; + typealias integer { size = 32; align = 32; signed = false; } := uint32_t; + typealias integer { size = 16; align = 16; signed = false; } := uint16_t; + typealias integer { size = 8; align = 8; signed = false; } := uint8_t; uint64_t timestamp_begin; uint64_t timestamp_end; @@ -109,16 +125,16 @@ struct event_packet_context { }; struct event_header_1 { - typealias integer { size = 64; align = 64; signed = false; } : uint64_t; - typealias integer { size = 32; align = 32; signed = false; } : uint32_t; - typealias integer { size = 5; align = 1; signed = false; } : uint5_t; - typealias integer { size = 27; align = 1; signed = false; } : uint27_t; + typealias integer { size = 64; align = 64; signed = false; } := uint64_t; + typealias integer { size = 32; align = 32; signed = false; } := uint32_t; + typealias integer { size = 5; align = 1; signed = false; } := uint5_t; + typealias integer { size = 27; align = 1; signed = false; } := uint27_t; /* * id: range: 0 - 30. * id 31 is reserved to indicate an extended header. */ - enum { compact = 0 ... 30, extended = 31 } id; + enum : uint5_t { compact = 0 ... 30, extended = 31 } id; variant { struct { uint27_t timestamp; @@ -131,15 +147,15 @@ struct event_header_1 { }; struct event_header_2 { - typealias integer { size = 64; align = 64; signed = false; } : uint64_t; - typealias integer { size = 32; align = 32; signed = false; } : uint32_t; - typealias integer { size = 16; align = 16; signed = false; } : uint16_t; + typealias integer { size = 64; align = 64; signed = false; } := uint64_t; + typealias integer { size = 32; align = 32; signed = false; } := uint32_t; + typealias integer { size = 16; align = 16; signed = false; } := uint16_t; /* * id: range: 0 - 65534. * id 65535 is reserved to indicate an extended header. */ - enum { compact = 0 ... 65534, extended = 65535 } id; + enum : uint16_t { compact = 0 ... 65534, extended = 65535 } id; variant { struct { uint32_t timestamp; @@ -153,7 +169,36 @@ struct event_header_2 { typedef int rootscopetest; -event { a.b.c.d.e = f.g.h->i->j; }; +/* parser level only: event { a.b.c.d.e = f.g.h->i->j; }; */ + +event { + name = test_event; + id = 0; + stream_id = 5; + context := struct {}; + fields := struct {}; +}; + +typealias integer { size = 32; align = 32; signed = false; } := unsigned long long *; + +variant vardecl { + int a; + int b; +}; + +event { + typealias integer { size = 8; align = 8; signed = true; } := char; + typealias integer { size = 32; align = 32; signed = false; } := unsigned int; + + name = test_event2; + id = 1; + stream_id = 5; + fields := struct { + enum : char { a = 0, b = 1, } tag; + variant vardecl myvariant; + unsigned int seqlen; + int myseq[seqlen]; + }; +}; -typealias integer { size = 32; align = 32; signed = false; } : unsigned long long *; -typealias integer { size = 32; align = 32; signed = false; } : unsigned const long []; +typedef int myarray[10];