[cfe-dev] Custom C++ extension

Jonathan Roelofs jonathan at codesourcery.com
Mon Jun 15 06:48:12 PDT 2015

On 6/13/15 7:53 PM, rzaghi at mosaic3dx.com wrote:
> As an example, the extension would allow us to "tag" some identifiers
> in the code as follows:
> class CLXYZ { public: int <tag1> x; };
> The identifier tagged as such is later picked at one of the phases
> and operated on.

For this particular example, have you considered using __attribute__ 
syntax [1], [2]?

i.e. something like:

   class CLXYZ { public: int x __attribute__((tag("1"))); };

If you're able to leverage existing infrastructure, that will
significantly reduce your patch burden and make following trunk _much_ 

> (ps, not so related to my question but we call this
> "tagged-programming" paradigm. Actually we hope that the combination
> of these extensions can eventually help programmers in scenarios as
> the very question I am asking above!).

How so?




2: http://clang.llvm.org/docs/InternalsManual.html#how-to-add-an-attribute

> _______________________________________________ cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev

Jon Roelofs
jonathan at codesourcery.com
CodeSourcery / Mentor Embedded

More information about the cfe-dev mailing list