ImportC octal literals: difference between GCC and dmd

bachmeier no at spam.net
Sun Nov 28 01:23:54 UTC 2021


On Sunday, 28 November 2021 at 00:09:50 UTC, forkit wrote:
> On Saturday, 27 November 2021 at 21:37:06 UTC, bachmeier wrote:
>>
>> That must have been something different. I added a comment on 
>> the issue that this is a recent regression, introduced in 
>> 2.082.1. It worked correctly before that release.
>
> Looks like an ImportC related change??
>
> lexer.d  -> private TOK number(Token* t)
>

> case '7':
>     base = 8;
>     break;
> case '8':
> case '9':
>     if (Ccompile)
>         error("octal digit expected, not `%c`", c);
>     base = 8;
>     break;
> case 'x':


Now I'm confused, because AFAICT, that's the only place the 
compiler will give you that error. Yet you get that error message 
in D code:

https://run.dlang.io/is/f2F2YD

Does that mean everything is treated as ImportC? If so, it 
shouldn't:

```
     // For ImportC
     bool Ccompile;              /// true if compiling ImportC
```


More information about the Digitalmars-d mailing list