All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mauro Carvalho Chehab <mchehab@s-opensource.com>
To: Markus Heiser <markus.heiser@darmarit.de>
Cc: Linux Media Mailing List <linux-media@vger.kernel.org>,
	Jonathan Corbet <corbet@lwn.net>,
	Mauro Carvalho Chehab <mchehab@infradead.org>,
	Linux Doc Mailing List <linux-doc@vger.kernel.org>,
	Daniel Vetter <daniel.vetter@ffwll.ch>
Subject: Re: [PATCH v2 09/13] scripts: kernel-doc: parse next structs/unions
Date: Fri, 29 Sep 2017 12:29:31 -0300	[thread overview]
Message-ID: <20170929122931.2d9781ea@recife.lan> (raw)
In-Reply-To: <68968C67-7CD6-4264-A46D-1EE195CBC58D@darmarit.de>

Em Thu, 28 Sep 2017 18:28:32 +0200
Markus Heiser <markus.heiser@darmarit.de> escreveu:

> Hi Mauro,
> 
> > Am 27.09.2017 um 23:10 schrieb Mauro Carvalho Chehab <mchehab@s-opensource.com>:

> > +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  
> 
> 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.


Thanks,
Mauro

  parent reply	other threads:[~2017-09-29 15:29 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-27 21:10 [PATCH v2 00/13] kernel-doc: add supported to document nested structs/$ Mauro Carvalho Chehab
2017-09-27 21:10 ` [PATCH v2 01/13] scripts: kernel-doc: get rid of unused output formats Mauro Carvalho Chehab
2017-09-27 21:10 ` [PATCH v2 02/13] docs: kernel-doc.rst: better describe kernel-doc arguments Mauro Carvalho Chehab
2017-09-27 21:10 ` [PATCH v2 03/13] docs: kernel-doc.rst: improve private members description Mauro Carvalho Chehab
2017-09-27 21:10 ` [PATCH v2 04/13] docs: kernel-doc.rst: improve function documentation section Mauro Carvalho Chehab
2017-09-27 21:10 ` [PATCH v2 05/13] docs: kernel-doc.rst: improve structs chapter Mauro Carvalho Chehab
2017-09-27 21:10 ` [PATCH v2 06/13] docs: kernel-doc.rst: improve typedef documentation Mauro Carvalho Chehab
2017-09-27 21:10 ` [PATCH v2 07/13] docs: kernel-doc.rst: add documentation about man pages Mauro Carvalho Chehab
2017-09-27 21:20   ` Randy Dunlap
2017-09-28  1:12     ` Mauro Carvalho Chehab
2017-09-27 21:10 ` [PATCH v2 08/13] docs: get rid of kernel-doc-nano-HOWTO.txt Mauro Carvalho Chehab
2017-09-27 21:10 ` [PATCH v2 09/13] scripts: kernel-doc: parse next structs/unions Mauro Carvalho Chehab
2017-09-28 16:28   ` Markus Heiser
2017-09-29 12:08     ` Mauro Carvalho Chehab
2017-09-29 13:07       ` Markus Heiser
2017-09-29 13:33         ` Mauro Carvalho Chehab
2017-09-29 15:00           ` Markus Heiser
2017-09-29 15:19             ` Mauro Carvalho Chehab
2017-09-29 15:29     ` Mauro Carvalho Chehab [this message]
2017-09-29 15:44       ` Mauro Carvalho Chehab
2017-09-29 15:47       ` Markus Heiser
2017-10-01 11:02     ` Mauro Carvalho Chehab
2017-09-27 21:10 ` [PATCH v2 10/13] scripts: kernel-doc: get rid of $nested parameter Mauro Carvalho Chehab
2017-09-27 21:10 ` [PATCH v2 11/13] scripts: kernel-doc: print the declaration name on warnings Mauro Carvalho Chehab
2017-09-27 21:10 ` [PATCH v2 12/13] scripts: kernel-doc: handle nested struct function arguments Mauro Carvalho Chehab
2017-09-28 16:32   ` Markus Heiser
2017-10-01 11:18     ` Mauro Carvalho Chehab
2017-09-27 21:10 ` [PATCH v2 13/13] [RFC] w1_netlink.h: add support for nested structs Mauro Carvalho Chehab

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170929122931.2d9781ea@recife.lan \
    --to=mchehab@s-opensource.com \
    --cc=corbet@lwn.net \
    --cc=daniel.vetter@ffwll.ch \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=markus.heiser@darmarit.de \
    --cc=mchehab@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.