While working on C2X support in the parser (and trying to fix some
existing bugs in the parser already affecting earlier standards), it
looks to me like SDCC painted itself into a corner with __using,
__interrupt and __at.
I want to break compability (already did in the parser branch, but not
in trunk).
Currently for each of these, a constant expression can follow them, and
for __at, it must. This creates problems in the parser, and my proposed
solution is to restrict these:
* For __using and __interrupt, the constant expression will be required
to be parenthesized.
* For __at, the constant expression will be required to be parenthesized
or be just a plain constant.
I.e.
int __at 3+3 i; // No longer allowed from SDCC 4.2.3
int __at 6 i; // Still allowed
int __at (3+3) i; // Still allowed
Obviously, this will break some existing code.
Philipp
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user