[LLVMdev] Structure alignment

Eli Friedman eli.friedman at gmail.com
Mon Jun 8 14:15:26 PDT 2009


On Mon, Jun 8, 2009 at 1:53 PM, Manoel Teixeira<manoel at fonetica.com.br> wrote:
>
> %FIRSTSTRU = type { i32,  double, i32, i8* }
>
> struct  {
>        int                             var1;
>        double                  var2;
>        int                             var3;
>        char    *var4;
> }firstStru ;
>
> Could someone help?
> If, running a application in windows with MSVC,  I allocate a memmory buffer and call a LLVM
> function with such buffer, there's a structure alignment problem.
> If the LLVM function call a C function using the same buffer, it runs fine.
> Any ideas?

You're probably passing in the wrong string to the TargetData; try
something like the following:
target datalayout =
"e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32"

-Eli




More information about the llvm-dev mailing list