Things that may be removed

Frits van Bommel fvbommel at REMwOVExCAPSs.nl
Sun Dec 21 06:18:12 PST 2008


Christian Kamm wrote:
> Christian Kamm:
>>> Maybe we could enable them conditionally?
>>>
>>> pragma(parser, enable_cstyle_func_and_array_decls);
>>> {
>>>    int (*x[5])[3];
>>> }
> 
> Stewart Gordon wrote:
>> What would this do?  Enable C-style declarations for the whole source
>> file?
>> From this point forward?  Within the active scope?  If it's meant to apply
>> to the content of the given {}, then there should be a semicolon there.
> 
> I assume you mean 'should not be'. That's true, but I didn't want to alter
> the grammar of the pragma statement to allow for it. 

How do you mean, alter the grammar? Pragmas allow
-----
pragma(ident)		   // influence block of declarations
{   declaration;
     declaration;
}
-----
with this type of semantic (see 
http://www.digitalmars.com/d/1.0/pragma.html).

> Since there's no dedicated mechanism for compiler control, there aren't many
> options. I guess a version(CStyle_decls) with the side effect of enabling
> the parsing of C style declarations inside its block could work too. But
> it's not pretty either.

That's an ugly hack. Don't use a version to do a pragma's job.



Anyway, my vote is for eliminating C-style declarations altogether.



More information about the Digitalmars-d mailing list