X-Git-Url: http://git.efficios.com/?p=ctf.git;a=blobdiff_plain;f=common-trace-format-proposal.txt;h=f162c61bf2cfef790335f357660615068cb917e1;hp=ef6739ff114375135fb65eb57bd2eccbd36b97b1;hb=38b8da21d6cd2a8ffd4ccc19552434efab60e498;hpb=80af8ac60b88e28f699d15c28ce44723efdb82ad diff --git a/common-trace-format-proposal.txt b/common-trace-format-proposal.txt index ef6739f..f162c61 100644 --- a/common-trace-format-proposal.txt +++ b/common-trace-format-proposal.txt @@ -186,7 +186,7 @@ typealias integer { size = 32; signed = false; align = 32; -} typename uint32_t; +} := uint32_t; Definition of a named 5-bit signed bitfield: @@ -194,7 +194,7 @@ typealias integer { size = 5; signed = true; align = 1; -} typename int5_t; +} := int5_t; 4.1.6 GNU/C bitfields @@ -253,7 +253,7 @@ typealias floating_point { exp_dig = 8; /* sizeof(float) * CHAR_BIT - FLT_MANT_DIG */ mant_dig = 24; /* FLT_MANT_DIG */ byte_order = native; -} typename float; +} := float; TODO: define NaN, +inf, -inf behavior. @@ -498,7 +498,7 @@ Metadata representation of a named string type: typealias string { encoding = UTF8 OR ASCII; -} typename name; +} := name; A nameless string type can be declared as a field type: @@ -907,14 +907,12 @@ typedef aliased_type_specifiers new_type_declarators; * pointer declarator specifier) to a type. It should also be used to * map basic C types (float, int, unsigned long, ...) to a CTF type. * Typealias is a superset of "typedef": it also allows assignment of a - * simple variable identifier to a type. The keyword "typename" is - * reserved to separate the aliased type from the newly declared alias - * name. + * simple variable identifier to a type. */ typealias type_class { ... -} typename type_specifiers type_declarator; +} := type_specifiers type_declarator; /* * e.g.: @@ -922,13 +920,13 @@ typealias type_class { * size = 32; * align = 32; * signed = false; - * } typename struct page *; + * } := struct page *; * * typealias integer { * size = 32; * align = 32; * signed = true; - * } typename int; + * } := int; */ struct name { @@ -1074,7 +1072,6 @@ struct trace typealias typedef -typename unsigned variant void @@ -1309,8 +1306,8 @@ struct-or-variant-declaration-list: struct-or-variant-declaration: specifier-qualifier-list struct-or-variant-declarator-list ; declaration-specifiers storage-class-specifier declaration-specifiers declarator-list ; - typealias declaration-specifiers abstract-declarator-list typename declaration-specifiers abstract-declarator-list ; - typealias declaration-specifiers abstract-declarator-list typename declarator-list ; + typealias declaration-specifiers abstract-declarator-list := declaration-specifiers abstract-declarator-list ; + typealias declaration-specifiers abstract-declarator-list := declarator-list ; specifier-qualifier-list: type-specifier specifier-qualifier-list-opt @@ -1387,8 +1384,8 @@ ctf-specifier: event { ctf-assignment-expression-list-opt } stream { ctf-assignment-expression-list-opt } trace { ctf-assignment-expression-list-opt } - typealias declaration-specifiers abstract-declarator-list typename declaration-specifiers abstract-declarator-list ; - typealias declaration-specifiers abstract-declarator-list typename declarator-list ; + typealias declaration-specifiers abstract-declarator-list := declaration-specifiers abstract-declarator-list ; + typealias declaration-specifiers abstract-declarator-list := declarator-list ; ctf-type-specifier: floating_point { ctf-assignment-expression-list-opt } @@ -1403,5 +1400,5 @@ ctf-assignment-expression: unary-expression assignment-operator unary-expression unary-expression type-assignment-operator type-specifier declaration-specifiers storage-class-specifier declaration-specifiers declarator-list - typealias declaration-specifiers abstract-declarator-list typename declaration-specifiers abstract-declarator-list - typealias declaration-specifiers abstract-declarator-list typename declarator-list + typealias declaration-specifiers abstract-declarator-list := declaration-specifiers abstract-declarator-list + typealias declaration-specifiers abstract-declarator-list := declarator-list