importC: OpenSUSE: libio.h, stdio.h: illegal combination of type specifiers: __const undefined?

kdevel kdevel at vogtner.de
Fri Apr 4 13:37:34 UTC 2025


`footest.d:`
```
import std;
import foo;
void main ()
{
    foo.foo;
}
```

`foo.c`
```
// #define __const const
#include <stdio.h>

void foo ()
{
    puts ("foo");
}
```

```
$ dmd -i footest
/usr/include/libio.h(372): Error: illegal combination of type 
specifiers
/usr/include/stdio.h(157): Error: illegal combination of type 
specifiers
[more of these]
```

`libio.h`
```
     372 typedef __ssize_t __io_write_fn (void *__cookie, __const 
char *__buf,
     373              size_t __n);
```


Compiles if `__const` is `#define`d as `const`.

resembles https://issues.dlang.org/show_bug.cgi?id=24156 and 
others. This is not a regression in DMD 2.111 and also occurs in 
DMD 2.101.


More information about the Digitalmars-d mailing list