# HG changeset patch # User lindquist # Date 1210184562 -7200 # Node ID 3cdf4b0c75a1b4d0e5fdd56c76422707e7d6f459 # Parent 6526cf5bb2bef451e8c60c9bd29445d5d958e86f [svn r199] Fixed: still some small issues with string literals implicitly converting to different pointer types. Should be fixed now! diff -r 6526cf5bb2be -r 3cdf4b0c75a1 gen/toir.cpp --- a/gen/toir.cpp Wed May 07 19:54:01 2008 +0200 +++ b/gen/toir.cpp Wed May 07 20:22:42 2008 +0200 @@ -416,12 +416,12 @@ const llvm::ArrayType* at = llvm::ArrayType::get(ct,len+1); llvm::Constant* _init; - if (cty->ty == Tchar || cty->ty == Tvoid) { + if (cty->size() == 1) { uint8_t* str = (uint8_t*)string; std::string cont((char*)str, len); _init = llvm::ConstantArray::get(cont,true); } - else if (cty->ty == Twchar) { + else if (cty->size() == 2) { uint16_t* str = (uint16_t*)string; std::vector vals; for(size_t i=0; ity == Tdchar) { + else if (cty->size() == 4) { uint32_t* str = (uint32_t*)string; std::vector vals; for(size_t i=0; ity == Tchar || cty->ty == Tvoid) { + if (cty->size() == 1) { uint8_t* str = (uint8_t*)string; std::string cont((char*)str, len); _init = llvm::ConstantArray::get(cont, nullterm); } - else if (cty->ty == Twchar) { + else if (cty->size() == 2) { uint16_t* str = (uint16_t*)string; std::vector vals; for(size_t i=0; ity == Tdchar) { + else if (cty->size() == 4) { uint32_t* str = (uint32_t*)string; std::vector vals; for(size_t i=0; i