[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