www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.ldc - Branch merge-2.064 is at DMD 2.064-RC1 level

reply "Kai Nacke" <kai redstar.de> writes:
Hi,

for the adventurous souls: branch merge-2.064 in the ldc 
repository is at the RC1 level of DMD 2.064!
There are still some unit test failures, but I am sure that there 
more bugs lurking in the background.

Please try out! Every bug report/feedback is welcome!

BTW: If you have all prerequisites installed (LLVM, cmake, 
libconfig) then this is as easy as:

git clone --recursive https://github.com/ldc-developers/ldc.git
cd ldc
git checkout merge-2.064
cd runtime/druntime
git checkout ldc-merge-2.064
cd ../phobos
git checkout ldc-merge-2.064
cd ../../..
mkdir build-ldc
cd build-ldc
cmake ../ldc
make

Regards
Kai
Nov 04 2013
next sibling parent reply "Temtaime" <temtaime gmail.com> writes:
Hi, Kai.

Please, drop libconfig from LLVM.
LDC doesn't have too big configuration part. One can hardcode 
config paths to ldc.
Nov 04 2013
next sibling parent "Temtaime" <temtaime gmail.com> writes:
*from LDC, of course
Nov 04 2013
prev sibling parent "Kai Nacke" <kai redstar.de> writes:
On Monday, 4 November 2013 at 13:39:29 UTC, Temtaime wrote:
 Please, drop libconfig from LLVM.
Hi Temtaime! I know that libconfig is an unwanted dependency. I had trouble with the library on different platforms, too. But before dropping libconfig we need a concept for a cross compiling tool chain which can be realized without a complex config file. This could be a real use case for libconfig... Regards, Kai
Nov 04 2013
prev sibling next sibling parent reply "bearophile" <bearophileHUGS lycos.com> writes:
Do you know if ldc2 has a command line switch to strip the 
executable (like the -s in GCC)?

Bye,
bearophile
Nov 12 2013
parent "Kai Nacke" <kai redstar.de> writes:
On Tuesday, 12 November 2013 at 11:08:46 UTC, bearophile wrote:
 Do you know if ldc2 has a command line switch to strip the 
 executable (like the -s in GCC)?

 Bye,
 bearophile
Hi bearophile, I am not sure what is stripped by -s option. With ldc, you can try -strip-debug, -strip-externals or pass -s to the linker. Regards, Kai
Nov 12 2013
prev sibling parent reply "bearophile" <bearophileHUGS lycos.com> writes:
If I compile this wrong program:

import core.stdc.stdio: printf;
void main() {
     double d = 1.5;
     printf("%d", d);
}


Using:

ldc2 -check-printf-calls test.d

I see no errors, despite that switch is supposed to "Validate 
printf call format strings against arguments". Is that feature 
not yet implemented?

Bye,
bearophile
Nov 18 2013
parent reply "Kai Nacke" <kai redstar.de> writes:
Hi bearophile!

On Monday, 18 November 2013 at 17:50:05 UTC, bearophile wrote:
 I see no errors, despite that switch is supposed to "Validate 
 printf call format strings against arguments". Is that feature 
 not yet implemented?
The feature is implemented, but I see no warning, too. Have to check this. Regards, Kai
Nov 19 2013
parent reply "tae hoo" <liteon777 daum.net> writes:
Branch merge-2.064 is at DMD 2.064-RC1 level

ldc2_kai:
    C:\LDC2\ldc_kai\buld\bin\Debug\ldc2.exe
    --output-o
    -c
    -IC:/LDC2/ldc_kai/ldc/runtime/druntime/src
    -IC:/LDC2/ldc_kai/ldc/runtime/druntime/src/gc
    C:/LDC2/ldc_kai/ldc/runtime/phobos/std/algorithm.d
    -ofC:/LDC2/ldc_kai/build/runtime/std/algorithm.obj
    -w
    -d
    -O3
    -release
    -IC:/LDC2/ldc_kai/ldc/runtime/phobos

0x000007FAD4B4309D (0x000000AF1D49C910 0xCCCCCCCCCCCCCCCC 
0xCCCCCCCCCCCCCCCC 0xC
CCCCCCCCCCCCCCC), ?_Orphan_all _Container_base12 std  QEAAXXZ() + 
0x5D bytes(s)
0x000007F71A030613 (0x000000AF1D49C910 0xCCCCCCCCCCCCCCCC 
0xCCCCCCCCCCCCCCCC 0xC
CCCCCCCCCCCCCCC), 
std::_Vector_alloc<0,std::_Vec_base_types<IrFuncTyArg * __ptr6
4,std::allocator<IrFuncTyArg * __ptr64> > >::_Free_proxy() + 0x33 
bytes(s), c:\p
rogram files (x86)\microsoft visual studio 
11.0\vc\include\vector, line 639
0x000007F71A02F6D8 (0x000000AF1D49C910 0xCCCCCCCCCCCCCCCC 
0xCCCCCCCCCCCCCCCC 0xC
CCCCCCCCCCCCCCC), 
std::_Vector_alloc<0,std::_Vec_base_types<IrFuncTyArg * __ptr6
4,std::allocator<IrFuncTyArg * __ptr64> > 
::~_Vector_alloc<0,std::_Vec_base_typ
es<IrFuncTyArg * __ptr64,std::allocator<IrFuncTyArg * __ptr64> >
() + 0x28 byte
s(s), c:\program files (x86)\microsoft visual studio 11.0\vc\include\vector, lin e 614 0x000007F71A02F752 (0x000000AF1D49C910 0x000000AF1D49C910 0xCCCCCCCCCCCCCCCC 0xC CCCCCCCCCCCCCCC), std::vector<IrFuncTyArg * __ptr64,std::allocator<IrFuncTyArg * __ptr64> >::~vector<IrFuncTyArg * __ptr64,std::allocator<IrFuncTyArg * __ptr64> >() + 0x32 bytes(s), c:\program files (x86)\microsoft visual studio 11.0\vc\inc lude\vector, line 901 + 0xA byte(s) 0x000007F71A1D1462 (0x000000AF29967958 0x000000AF1D49C9D0 0x0000000000000000 0x0 00000AF1D49CF70), IrFuncTy::operator=() + 0x82 bytes(s), c:\ldc2\ldc_kai\ldc\ir\ irfuncty.h, line 144 0x000007F71A1C43A9 (0x000000AF2A3C0670 0x000000AF29967958 0x0000000000000000 0x0 00000AF1D5DF360), DtoFunctionType() + 0xDD9 bytes(s), c:\ldc2\ldc_kai\ldc\gen\fu nctions.cpp, line 260 0x000007F71A22144E (0x000000AF299678E0 0xCCCCCCCCCCCCCCCC 0xCCCCCCCCCCCCCCCC 0xC CCCCCCCCCCCCCCC), IrTypeDelegate::get() + 0x12E bytes(s), c:\ldc2\ldc_kai\ldc\ir \irtypefunction.cpp, line 59 + 0x32 byte(s) 0x000007F71A08873C (0x000000AF299678E0 0xCCCCCCCCCCCCCCCC 0xCCCCCCCCCCCCCCCC 0xC CCCCCCCCCCCCCCC), DtoType() + 0x55C bytes(s), c:\ldc2\ldc_kai\ldc\gen\tollvm.cpp , line 187 + 0xD byte(s) 0x000007F71A2485CD (0x000000AF39F1E590 0x000000AF299678E0 0x0000000000000000 0x0 00000AF1D49DA40), IrFuncTyArg::IrFuncTyArg() + 0x7D bytes(s), c:\ldc2\ldc_kai\ld c\ir\irfuncty.cpp, line 26 + 0x7D byte(s) 0x000007F71A1C4319 (0x000000AF2A3C0B70 0x000000AF2A3C0C18 0x0000000000000000 0x0 000000000000000), DtoFunctionType() + 0xD49 bytes(s), c:\ldc2\ldc_kai\ldc\gen\fu nctions.cpp, line 252 + 0x70 byte(s) 0x000007F71A221232 (0x000000AF2A3C0B70 0x0000000000000000 0xCCCCCCCCCCCCCCCC 0xC CCCCCCCCCCCCCCC), IrTypeFunction::get() + 0xB2 bytes(s), c:\ldc2\ldc_kai\ldc\ir\ irtypefunction.cpp, line 34 + 0x2A byte(s) 0x000007F71A0886F2 (0x000000AF2A3C0B70 0xCCCCCCCCCCCCCCCC 0xCCCCCCCCCCCCCCCC 0xC CCCCCCCCCCCCCCC), DtoType() + 0x512 bytes(s), c:\ldc2\ldc_kai\ldc\gen\tollvm.cpp , line 181 + 0xF byte(s) 0x000007F71A220790 (0x000000AF296DED70 0xCCCCCCCCCCCCCCCC 0xCCCCCCCCCCCCCCCC 0xC CCCCCCCCCCCCCCC), IrTypePointer::get() + 0xD0 bytes(s), c:\ldc2\ldc_kai\ldc\ir\i rtype.cpp, line 169 + 0x1B byte(s) 0x000007F71A08834F (0x000000AF296DED70 0xCCCCCCCCCCCCCCCC 0xCCCCCCCCCCCCCCCC 0xC CCCCCCCCCCCCCCC), DtoType() + 0x16F bytes(s), c:\ldc2\ldc_kai\ldc\gen\tollvm.cpp , line 136 + 0xD byte(s) 0x000007F71A220A36 (0x000000AF296DF070 0xCCCCCCCCCCCCCCCC 0xCCCCCCCCCCCCCCCC 0xC CCCCCCCCCCCCCCC), IrTypeSArray::sarray2llvm() + 0x96 bytes(s), c:\ldc2\ldc_kai\l dc\ir\irtype.cpp, line 207 + 0x1B byte(s) 0x000007F71A22096D (0x000000AF3A1A1370 0x000000AF296DF070 0xCCCCCCCCCCCCCCCC 0xC CCCCCCCCCCCCCCC), IrTypeSArray::IrTypeSArray() + 0x2D bytes(s), c:\ldc2\ldc_kai\ ldc\ir\irtype.cpp, line 188 + 0x2D byte(s) 0x000007F71A2208FD (0x000000AF296DF070 0xCCCCCCCCCCCCCCCC 0xCCCCCCCCCCCCCCCC 0xC CCCCCCCCCCCCCCC), IrTypeSArray::get() + 0x4D bytes(s), c:\ldc2\ldc_kai\ldc\ir\ir type.cpp, line 195 + 0x26 byte(s) 0x000007F71A0883D7 (0x000000AF296DF070 0x000000AF2A25E5A0 0x0000000000000000 0x0 00007FAD4950000), DtoType() + 0x1F7 bytes(s), c:\ldc2\ldc_kai\ldc\gen\tollvm.cpp , line 147 + 0xD byte(s) 0x000007F71A0954B9 (0x000000AF2A25E5A0 0x000007F71BAAE4F0 0x000000AF3A1A1790 0x0 00007FAD4950000), DtoVarDeclaration() + 0x5A9 bytes(s), c:\ldc2\ldc_kai\ldc\gen\ llvmhelpers.cpp, line 1176 + 0xA byte(s) 0x000007F71A0957A5 (0x000000AF2A25E5A0 0x000000AF36519000 0x000000AF3A1A1790 0x0 00007FAD4950000), DtoDeclarationExp() + 0x115 bytes(s), c:\ldc2\ldc_kai\ldc\gen\ llvmhelpers.cpp, line 1226 0x000007F71A19DAF3 (0x000000AF2A304D10 0x000000AF1D49EE30 0x000000AF1D49E548 0x0 00007FAD4950000), DeclarationExp::toElem() + 0x93 bytes(s), c:\ldc2\ldc_kai\ldc\ gen\toir.cpp, line 162 + 0xE byte(s) 0x000007F71A196FBC (0x000000AF2A304D10 0x000000AF1D49EE30 0x0000000000000000 0x0 00007FAD4950000), Expression::toElemDtor() + 0x3DC bytes(s), c:\ldc2\ldc_kai\ldc \gen\toir.cpp, line 151 + 0x21 byte(s) 0x000007F71A22A1D2 (0x000000AF2A38B110 0x000000AF1D49EE30 0x0000000000000000 0x0 00007FAD4950000), ExpStatement::toIR() + 0x102 bytes(s), c:\ldc2\ldc_kai\ldc\gen \statements.cpp, line 198 + 0x19 byte(s) 0x000007F71A22A3C7 (0x000000AF2A38F790 0x000000AF1D49EE30 0x0000000000000000 0x0 000000000000000), CompoundStatement::toIR() + 0xB7 bytes(s), c:\ldc2\ldc_kai\ldc \gen\statements.cpp, line 54 0x000007F71A22A3C7 (0x000000AF2AA0E7B0 0x000000AF1D49EE30 0x0000000000000001 0x0 00000AF1D49E9A8), CompoundStatement::toIR() + 0xB7 bytes(s), c:\ldc2\ldc_kai\ldc \gen\statements.cpp, line 54 0x000007F71A1C6F70 (0x000000AF2A174530 0xCCCCCCCCCCCCCCCC 0xCCCCCCCCCCCCCCCC 0xC CCCCCCCCCCCCCCC), DtoDefineFunction() + 0x11C0 bytes(s), c:\ldc2\ldc_kai\ldc\gen \functions.cpp, line 1154 0x000007F71A062A75 (0x000000AF2A174530 0x000000AF1D49EE30 0xCCCCCCCCCCCCCCCC 0xC CCCCCCCCCCCCCCC), FuncDeclaration::codegen() + 0x45 bytes(s), c:\ldc2\ldc_kai\ld c\gen\declarations.cpp, line 305 0x000007F71A063373 (0x000000AF2A2D8400 0x000000AF1D49EE30 0x000000AF1D5BE940 0x0 00007FAD4950000), TemplateInstance::codegen() + 0x103 bytes(s), c:\ldc2\ldc_kai\ ldc\gen\declarations.cpp, line 322 0x000007F719F8752F (0x000000AF1D5F3EB0 0x000000AF1D5BE940 0x0000000000000000 0x0 000000000000000), Module::genLLVMModule() + 0x49F bytes(s), c:\ldc2\ldc_kai\ldc\ gen\module.cpp, line 561 0x000007F719F42A42 (0x000007F70000000C 0x000000AF1D5A5900 0x0000000000000000 0x0 000000000000000), main() + 0x16E2 bytes(s), c:\ldc2\ldc_kai\ldc\driver\main.cpp, line 1101 + 0x15 byte(s) 0x000007F71B472EAD (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0 000000000000000), __tmainCRTStartup() + 0x19D bytes(s), f:\dd\vctools\crt_bld\se lf_64_amd64\crt\src\crtexe.c, line 536 + 0x19 byte(s) 0x000007F71B472FDE (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0 000000000000000), mainCRTStartup() + 0xE bytes(s), f:\dd\vctools\crt_bld\self_64 _amd64\crt\src\crtexe.c, line 377 0x000007FAE56F1832 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0 000000000000000), BaseThreadInitThunk() + 0x1A bytes(s) 0x000007FAE588D609 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0 000000000000000), RtlUserThreadStart() + 0x21 bytes(s) Is it fixed?
Nov 20 2013
parent "Kai Nacke" <kai redstar.de> writes:
Hi tae!

On Thursday, 21 November 2013 at 04:52:42 UTC, tae hoo wrote:
 Branch merge-2.064 is at DMD 2.064-RC1 level
 Is it fixed?
No. This is one of the strange MSVC problems I do not understand. One of the problems here is that the runtime thinks that some pointers in the vector are not heap allocated. But that is not true. This is an issue since I started to work on a Win64 version. Regards, Kai
Nov 21 2013