www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 24264] New: ImportC: inliner trips on _Bool return

https://issues.dlang.org/show_bug.cgi?id=24264

          Issue ID: 24264
           Summary: ImportC: inliner trips on _Bool return
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Keywords: ImportC
          Severity: normal
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: dkorpel live.nl

```C
typedef struct
{
    int small;
    int symbol;
} S;

inline int getSym(S self)
{
    return self.symbol;
}

_Bool symIs0(S self)
{
    return getSym(self) == 0;
}

void main(void)
{
    S s = {0, 0};
    __check(symIs0(s));
}
```

The assert fails, while it passes when removing `inline` or changing `_Bool` to
`int`.

--
Nov 28 2023