LDC master is now at 2.066.1-rc2

kink via digitalmars-d-ldc digitalmars-d-ldc at puremagic.com
Mon Sep 22 13:28:05 PDT 2014


Thanks guys.

VS2013 x64, LLVM head, LDC head, attached LDC patch => single 
compilation error in druntime (both in debug and release):

C:/LDC/ldc/runtime/druntime/src/gc/gc.d(2569): error : function 
core.thread.thread_processGCMarks (scope IsMarked del
egate(void* addr) isMarked) is not callable using argument types 
(int delegate(void* addr) nothrow)

IsMarkedDg is defined in core.thread:
alias int delegate( void* addr ) nothrow IsMarkedDg;

--------------------

LDC patch to work around minor issues:

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0552d1f..e00f299 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -16,7 +16,7 @@ include(CheckCXXCompilerFlag)
  #

  find_package(LLVM 3.1 REQUIRED
-    all-targets analysis asmparser asmprinter bitreader 
bitwriter codegen core debuginfo instcombine ipa ipo 
instrumentation linker lto mc mcdisassembler mcparser objcarcopts 
object option profiledata scalaropts selectiondag support 
tablegen target transformutils vectorize ${EXTRA_LLVM_MODULES})
+    all-targets analysis asmparser asmprinter bitreader 
bitwriter codegen core debuginfo instcombine ipa ipo 
instrumentation linker lto mc mcdisassembler mcparser objcarcopts 
object option profiledata scalaropts selectiondag support 
tablegen target transformutils vectorize ${EXTRA_LLVM_MODULES} 
x86utils)
  math(EXPR LDC_LLVM_VER 
${LLVM_VERSION_MAJOR}*100+${LLVM_VERSION_MINOR})

  #
diff --git a/gen/toir.cpp b/gen/toir.cpp
index 3889086..ca2c387 100644
--- a/gen/toir.cpp
+++ b/gen/toir.cpp
@@ -3052,9 +3052,6 @@ DValue *toElemDtor(Expression *e)
      public:
          std::vector<Expression*> edtors;

-        // Import all functions from class StoppableVisitor
-        using StoppableVisitor::visit;
-
          virtual void visit(Expression *e)
          {
          }
diff --git a/vcbuild/strtold.c b/vcbuild/strtold.c
index bbe0188..138a212 100644
--- a/vcbuild/strtold.c
+++ b/vcbuild/strtold.c
@@ -136,7 +136,11 @@ static longdouble postab[] =
   * Terminates on first unrecognized character.
   */

+#if _MSC_VER
+longdouble strtold_dm(const char *p, char **endp)
+#else
  longdouble strtold(const char *p,char **endp)
+#endif
  {
          longdouble ldval;
          int exp;


More information about the digitalmars-d-ldc mailing list