[Issue 24435] [ImportC] Compilation fails when casting to struct defined in separate file
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Tue Mar 26 14:48:25 UTC 2024
https://issues.dlang.org/show_bug.cgi?id=24435
--- Comment #1 from Lance Bachmeier <lance at lancebachmeier.com> ---
This is a preprocessor problem with the typedef. The following works:
structdef.c
typedef struct foo_ {
int a;
double b;
} foo;
structtest.c
#include <stdio.h>
#include <stdlib.h>
__import structdef;
int main() {
int * x = (int *) malloc(2*sizeof(int));
x[0] = 1;
x[1] = 2;
printf("%d\n", x[0]);
printf("%d\n", x[1]);
// Works
foo * y = (struct foo_ *) malloc(sizeof(foo));
// Fails to compile because it's imported and typedef'd
foo * y = (foo *) malloc(sizeof(foo));
}
--
More information about the Digitalmars-d-bugs
mailing list