I can not understand this Error: undefined identifier `cpp_longlong`
Dakota
dakota at gmail.com
Wed Nov 20 07:02:25 UTC 2024
```sh
/ldc/import/core/stdc/stdint.d(96): Error: undefined identifier
`cpp_longlong`
/ldc/import/core/stdc/stdint.d(97): Error: undefined identifier
`cpp_ulonglong`
/ldc/import/core/stdc/stdint.d(118): Error: undefined identifier
`cpp_ulong`
```
I am sure it defined because I add static assert to confirm this
`config.d`:
```d
version (Windows)
{
enum __c_long : int;
enum __c_ulong : uint;
alias int c_long;
alias uint c_ulong;
alias __c_long cpp_long;
alias __c_ulong cpp_ulong;
alias long cpp_longlong;
alias ulong cpp_ulonglong;
}
else version (Posix)
{
static if ( (void*).sizeof > int.sizeof )
{
enum __c_longlong : long;
enum __c_ulonglong : ulong;
alias long c_long;
alias ulong c_ulong;
alias long cpp_long;
alias ulong cpp_ulong;
alias __c_longlong cpp_longlong;
alias __c_ulonglong cpp_ulonglong;
}
else
{
enum __c_long : int;
enum __c_ulong : uint;
alias int c_long;
alias uint c_ulong;
alias __c_long cpp_long;
alias __c_ulong cpp_ulong;
alias long cpp_longlong;
alias ulong cpp_ulonglong;
}
static assert(false);
}
```
If I run a simple test file, it will work.
But in big project there is a lot import circular reference, and
some args or file order. I get it.
LDC 1.40.0-beta4 for macOS.
I also test on linux ldc 1.40.0-beta4, the error changed:
```sh
/ldc/import/core/sys/posix/sys/types.d(109): Error: undefined
identifier `c_long`
```
More information about the Digitalmars-d-learn
mailing list