On 15/01/2014 14:58, Aaron Ballman wrote:
On Wed, Jan 15, 2014 at 6:59 AM, Alp Toker <[email protected]> wrote:
On 15/01/2014 11:41, Alp Toker wrote:

On 15/01/2014 06:04, Nico Weber wrote:
Does gcc allow this for C? Is C planning on standardizing this?

The impression I get is that everybody's doing it but nobody's talking
about it. Yet.

ISO C is reactionary so if we set a sensible standard there's a reasonable
shot at getting it adopted. Likewise OpenMP and other dialects -- they'll go
with the mainstream.

This is also why we should use a name that's already recognised like
"generalized attributes." Language bodies simply won't accept a foreign name
like "C++ attributes" -- it has never happened before, given how fiercely
independent these committees are -- so they'll end up each going their own
route, choosing their own names. It's a better plan to consolidate
proactively here.

To be clear, this isn't just about naming. The syntaxes will also end up
differing if we end up with disparate "C++ attributes", "OpenMP attributes",
"OpenCL attributes" (?), "C attributes"  -- potentially a bunch of different
specifications and quirky parse rules with no way out.
We're already in this situation today, even within the "same"
language. C++11 uses [[]] while C++/CLI uses [].

For what it's worth we have both C++ and C++/CLI syntaxes supported cooperatively in the Nuanti C++/CLI compiler product.

Looking at our implementation now, it's just a routine check in the parser (one bracket is for C++/CLI, two are for C++11). Doesn't even requiring disambiguation, except that the C++/CLI syntax can only appear on declarations.


  The last time this
came up in the C committee (from what I understand) was 2009 (N1403)
and leaned towards __attribute__ as the specifier. So I don't think
there's a way we can push this as a cross-language "generalized"
attribute feature.

That's not surprising -- there wasn't a generalized solution back in 2009. The C++/CLI syntax which would have been the most viable at the time wasn't suitable for use in attributed statements due to ambiguity.

Alp.



~Aaron

--
http://www.nuanti.com
the browser experts

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to