> Am 29.09.2017 um 17:29 schrieb Mauro Carvalho Chehab
> <[email protected]>:
>
> Em Thu, 28 Sep 2017 18:28:32 +0200
> Markus Heiser <[email protected]> escreveu:
>
>> Hi Mauro,
>>
>>> Am 27.09.2017 um 23:10 schrieb Mauro Carvalho Chehab
>>> <[email protected]>:
>
>>> +It is possible to document nested structs unions, like::
>>> +
>>> + /**
>>> + * struct nested_foobar - a struct with nested unions and structs
>>> + * @arg1: - first argument of anonymous union/anonymous struct
>>> + * @arg2: - second argument of anonymous union/anonymous struct
>>> + * @arg3: - third argument of anonymous union/anonymous struct
>>> + * @arg4: - fourth argument of anonymous union/anonymous struct
>>> + * @bar.st1.arg1 - first argument of struct st1 on union bar
>>> + * @bar.st1.arg2 - second argument of struct st1 on union bar
>>> + * @bar.st2.arg1 - first argument of struct st2 on union bar
>>> + * @bar.st2.arg2 - second argument of struct st2 on union bar
With totally broken I mean "broken in sense of kernel-doc markup".
E.g. the missing ":" at the end of "@bar.st2.arg2:" instead, there
is a minus "-". And in the first example you gave, there also missed
a ";" at the end of some of the elements. Anyway, the example
above is obsolete.
>>>
>>
>> Sorry, this example is totally broken --> below I attached a more
>> elaborate example.
>>
>> /* parse-SNIP: my_struct */
>> /**
>> * struct my_struct - a struct with nested unions and structs
>> * @arg1: first argument of anonymous union/anonymous struct
>> * @arg2: second argument of anonymous union/anonymous struct
>> * @arg3: third argument of anonymous union/anonymous struct
>> * @arg4: fourth argument of anonymous union/anonymous struct
>> * @bar.st1.arg1: first argument of struct st1 on union bar
>> * @bar.st1.arg2: second argument of struct st1 on union bar
>> * @bar.st2.arg1: first argument of struct st2 on union bar
>> * @bar.st2.arg2: second argument of struct st2 on union bar
>> * @bar.st3.arg2: second argument of struct st3 on union bar
>> */
>> struct my_struct {
>> /* Anonymous union/struct*/
>> union {
>> struct {
>> __u8 arg1 : 1;
>> __u8 arg2 : 3;
>> };
>> struct {
>> int arg1;
>> int arg2;
>> };
>
> I added a:
>
> #define __u8 char
>
> In order to compile the above. As reported by gcc 7, this is broken:
>
> test2.h:22:16: error: duplicate member ‘arg1’
> int arg1;
> ^~~~
> test2.h:23:16: error: duplicate member ‘arg2’
> int arg2;
> ^~~~
>
> You can't have two symbols with the same name on different anonymous
> structs.
Ah, ok lets fix the example.
-- Markus --
--
To unsubscribe from this list: send the line "unsubscribe linux-doc" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html