c2hs icon indicating copy to clipboard operation
c2hs copied to clipboard

#sizeof doesn't work on struct fields

Open jchia opened this issue 9 years ago • 0 comments

Trying to c2hs the following Foo.chs fails with "The phrase '.' is not allowed here." I want to get back 10. Replacing #sizeof with #offsetof causes c2hs to succeed. I think #sizeof should evaluate similarly to sizeof in C++ (sizeof(Foo::bar)). (I don't know how it can be done straightforwardly in C.)

/* Foo.h */
struct Foo {
    char bar[10];
};
-- Foo.chs

#include "Foo.h"

module Foo where

sizeOfFooBar :: Int
sizeOfFooBar = {#sizeof Foo.bar#}

jchia avatar Aug 19 '16 06:08 jchia