# HG changeset patch # User Eldar Insafutdinov # Date 1300391142 0 # Node ID e67ce7c21758edcbf8fcb538f58406038ac4ee1a # Parent d757b8b1ca756c6a044ac520b619574317ff6e88 gdc & 64 bit changes diff -r d757b8b1ca75 -r e67ce7c21758 CMakeLists.txt --- a/CMakeLists.txt Wed Oct 20 09:45:59 2010 +0200 +++ b/CMakeLists.txt Thu Mar 17 19:45:42 2011 +0000 @@ -1,9 +1,6 @@ cmake_minimum_required(VERSION 2.6) PROJECT(qtd CXX C) -# Everything is in 32-bit mode for now. -set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -m32) - # Debug and release flags. if (NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Release) diff -r d757b8b1ca75 -r e67ce7c21758 cmake/FindD.cmake --- a/cmake/FindD.cmake Wed Oct 20 09:45:59 2010 +0200 +++ b/cmake/FindD.cmake Thu Mar 17 19:45:42 2011 +0000 @@ -3,20 +3,20 @@ ##-------------------------------------------- ## Find D compiler and parse its version. -find_program(DC NAMES dmd ldc) +find_program(DC NAMES dmd ldc gdmd) if (DC) get_filename_component(dc_path ${DC} PATH) if("${dc_path}" STREQUAL ${CMAKE_BINARY_DIR}) - get_filename_component(DC ${DC} NAME) + get_filename_component(DC ${DC} NAME) endif("${dc_path}" STREQUAL ${CMAKE_BINARY_DIR}) exec_program(${DC} ARGS "" OUTPUT_VARIABLE d_output) string(REGEX MATCH "Digital Mars D Compiler v[0-9]\\.[0-9]+" dmd_version "${d_output}") if (dmd_version) - set(D_IS_MARS true) - set(D_IS_DMD true) - set(D_COMPILER_NAME "Digital Mars D Compiler") - string(REGEX REPLACE "Digital Mars D Compiler v([0-9])\\.[0-9]+" "\\1" D_VERSION "${dmd_version}") - string(REGEX REPLACE "Digital Mars D Compiler v[0-9]\\.([0-9]+)" "\\1" D_FRONTEND "${dmd_version}") + set(D_IS_MARS true) + set(D_IS_DMD true) + set(D_COMPILER_NAME "Digital Mars D Compiler") + string(REGEX REPLACE "Digital Mars D Compiler v([0-9])\\.[0-9]+" "\\1" D_VERSION "${dmd_version}") + string(REGEX REPLACE "Digital Mars D Compiler v[0-9]\\.([0-9]+)" "\\1" D_FRONTEND "${dmd_version}") else (dmd_version) string(REGEX MATCH "LLVM-based D Compiler" is_ldc "${d_output}") if (is_ldc) @@ -33,8 +33,14 @@ message(FATAL_ERROR "LDC compiler found, but the version can not be processed") endif(ldc_version) else (is_ldc) - message(FATAL_ERROR "D compiler is not found") - endif(is_ldc) + string(REGEX MATCH "gdc" is_gdc "${d_output}") + if(is_gdc) + set(D_COMPILER_NAME "GDC-based D Compiler") + set(D_VERSION 2) + else(is_gdc) + message(FATAL_ERROR "D compiler is not found") + endif(is_gdc) + endif(is_ldc) endif(dmd_version) message(STATUS "D compiler found -- ${D_COMPILER_NAME} v${D_VERSION}.${D_FRONTEND}") else (DC) diff -r d757b8b1ca75 -r e67ce7c21758 d2/qt/core/QList.d --- a/d2/qt/core/QList.d Wed Oct 20 09:45:59 2010 +0200 +++ b/d2/qt/core/QList.d Thu Mar 17 19:45:42 2011 +0000 @@ -85,7 +85,7 @@ { // dear compiler: don't optimize me out. // synchronized { - int x = qAllocMore(size * (void*).sizeof, QListData.DataHeaderSize) / (void*).sizeof; + int x = cast(int) (qAllocMore(cast(int)(size * (void*).sizeof), QListData.DataHeaderSize) / (void*).sizeof); return x; // } } @@ -303,7 +303,7 @@ void **erase(void **xi) { // Q_ASSERT(d.ref_ == 1); - int i = xi - (d.array.ptr + d.begin); + int i = cast(int)(xi - (d.array.ptr + d.begin)); remove(i); return d.array.ptr + d.begin + i; } diff -r d757b8b1ca75 -r e67ce7c21758 d2/qt/core/QMetaObject.d --- a/d2/qt/core/QMetaObject.d Wed Oct 20 09:45:59 2010 +0200 +++ b/d2/qt/core/QMetaObject.d Thu Mar 17 19:45:42 2011 +0000 @@ -34,13 +34,13 @@ this.signature = signature; this.index = index; - int openBracket = indexOf(signature, '('); + auto openBracket = indexOf(signature, '('); name = signature[0..openBracket]; } string args() const { - int openBracket = indexOf(signature, '('); + auto openBracket = indexOf(signature, '('); if(signature.length - openBracket - 2 > 0) return signature[openBracket + 1 .. $-1]; else diff -r d757b8b1ca75 -r e67ce7c21758 d2/qtd/MOC.d --- a/d2/qtd/MOC.d Wed Oct 20 09:45:59 2010 +0200 +++ b/d2/qtd/MOC.d Thu Mar 17 19:45:42 2011 +0000 @@ -20,11 +20,11 @@ /** Utils. */ -int lastIndexOf(T)(T[] haystack, T[] needle, int from = -1) +sizediff_t lastIndexOf(T)(T[] haystack, T[] needle, sizediff_t from = -1) { auto l = haystack.length; auto ol = needle.length; - int delta = l - ol; + auto delta = l - ol; if (from < 0) from = delta; if (from < 0 || from > l) @@ -41,7 +41,7 @@ return -1; } -string replicate(int n, char value) +string replicate(size_t n, char value) { char[] ret = "".dup; if (n > 0) @@ -144,11 +144,11 @@ -int lengthOfEscapeSequence(string s, uint i) +int lengthOfEscapeSequence(string s, size_t i) { if (s[i] != '\\' || i >= s.length - 1) return 1; - const int startPos = i; + const startPos = i; ++i; auto ch = s[i]; if (ch == 'x') { @@ -164,7 +164,7 @@ } else { // single character escape sequence i = qMin(i + 1, s.length); } - return i - startPos; + return cast(int)(i - startPos); } int strreg(ref Generator gen, string s) @@ -274,7 +274,7 @@ gen.output ~= format_ctfe(" ${}, ${}, // classinfo\n", gen.cdef.classInfoList.length, gen.cdef.classInfoList.length ? index : 0); index += gen.cdef.classInfoList.length * 2; - int methodCount = gen.cdef.signalList.length + gen.cdef.slotList.length;// + cdef->methodList.count(); + auto methodCount = gen.cdef.signalList.length + gen.cdef.slotList.length;// + cdef->methodList.count(); gen.output ~= format_ctfe(" ${}, ${}, // methods\n", methodCount, methodCount ? index : 0); index += methodCount * 5; gen.output ~= format_ctfe(" ${}, ${}, // properties\n", propertyList.length, propertyList.length ? index : 0); @@ -337,7 +337,7 @@ gen.output ~= "private static immutable char[] qt_meta_stringdata = \n"; gen.output ~= format_ctfe(" \""); int col = 0; - int len = 0; + sizediff_t len = 0; foreach (i, s; gen.strings) { len = s.length; if (col && col + len >= 72) { @@ -353,12 +353,12 @@ col = 0; gen.output ~= format_ctfe("\"\n \""); } - int spanLen = qMin(cast(uint)70, s.length - idx); + sizediff_t spanLen = qMin(cast(size_t)70, s.length - idx); // don't cut escape sequences at the end of a line - int backSlashPos = s.lastIndexOf("\\", idx + spanLen - 1); + auto backSlashPos = s.lastIndexOf("\\", idx + spanLen - 1); if (backSlashPos >= idx) { - int escapeLen = lengthOfEscapeSequence(s, backSlashPos); - spanLen = qBound(spanLen, backSlashPos + escapeLen - idx, cast(int)(s.length - idx)); + auto escapeLen = lengthOfEscapeSequence(s, backSlashPos); + spanLen = qBound(spanLen, backSlashPos + escapeLen - idx, cast(sizediff_t)(s.length - idx)); } gen.output ~= s[idx..idx+spanLen]; idx += spanLen; diff -r d757b8b1ca75 -r e67ce7c21758 d2/qtd/Marshal.d --- a/d2/qtd/Marshal.d Wed Oct 20 09:45:59 2010 +0200 +++ b/d2/qtd/Marshal.d Thu Mar 17 19:45:42 2011 +0000 @@ -91,7 +91,7 @@ Generates C++-to-D conversion code for the argument argIndex. */ -string generateConvToD(uint argIndex) +string generateConvToD(size_t argIndex) { string res = format_ctfe(q{ diff -r d757b8b1ca75 -r e67ce7c21758 d2/qtd/Signal.d --- a/d2/qtd/Signal.d Wed Oct 20 09:45:59 2010 +0200 +++ b/d2/qtd/Signal.d Thu Mar 17 19:45:42 2011 +0000 @@ -40,7 +40,7 @@ bool inDefaultValue = false; bool inStringLiteral = false; string[] res; - int startValue = 0; + sizediff_t startValue = 0; if(strip(signature).length == 0) return res; diff -r d757b8b1ca75 -r e67ce7c21758 demos/interview/model.d --- a/demos/interview/model.d Wed Oct 20 09:45:59 2010 +0200 +++ b/demos/interview/model.d Thu Mar 17 19:45:42 2011 +0000 @@ -178,7 +178,7 @@ int row(Node node) const { auto v = node.parent !is null ? node.parent.children : tree; - return find(v, node); + return cast(int)find(v, node); } diff -r d757b8b1ca75 -r e67ce7c21758 generator/typesystem_core-java.java --- a/generator/typesystem_core-java.java Wed Oct 20 09:45:59 2010 +0200 +++ b/generator/typesystem_core-java.java Thu Mar 17 19:45:42 2011 +0000 @@ -209,7 +209,7 @@ // if (m_instance != null) // throw new RuntimeException("QCoreApplication can only be initialized once"); - argc = args.length; + argc = cast(int) args.length; argv = toStringzArray(args); this(&argc, argv); @@ -235,7 +235,7 @@ class QTranslator___ extends QTranslator { public final bool load(ubyte[] data) { - return load(data.ptr, data.length); + return load(data.ptr, cast(int)data.length); } }// class @@ -590,7 +590,7 @@ } public final void setData(byte data[]) { - setData(cast(char*)data.ptr, data.length); + setData(cast(char*)data.ptr, cast(int)data.length); } }// class diff -r d757b8b1ca75 -r e67ce7c21758 generator/typesystem_gui-java.java --- a/generator/typesystem_gui-java.java Wed Oct 20 09:45:59 2010 +0200 +++ b/generator/typesystem_gui-java.java Thu Mar 17 19:45:42 2011 +0000 @@ -1010,51 +1010,51 @@ } public final void drawConvexPolygon(in QPoint[] points) { - qtd_QPainter_drawConvexPolygon_nativepointerQPoint_int(qtdNativeId, points.ptr, points.length); + qtd_QPainter_drawConvexPolygon_nativepointerQPoint_int(qtdNativeId, points.ptr, cast(int)points.length); } public final void drawConvexPolygon(in QPointF[] points) { - qtd_QPainter_drawConvexPolygon_nativepointerQPointF_int(qtdNativeId, points.ptr, points.length); + qtd_QPainter_drawConvexPolygon_nativepointerQPointF_int(qtdNativeId, points.ptr, cast(int)points.length); } public final void drawLines(in QLine[] lines) { - qtd_QPainter_drawLines_nativepointerQLine_int(qtdNativeId, lines.ptr, lines.length); + qtd_QPainter_drawLines_nativepointerQLine_int(qtdNativeId, lines.ptr, cast(int)lines.length); } public final void drawLines(in QLineF[] lines) { - qtd_QPainter_drawLines_nativepointerQLineF_int(qtdNativeId, lines.ptr, lines.length); + qtd_QPainter_drawLines_nativepointerQLineF_int(qtdNativeId, lines.ptr, cast(int)lines.length); } public final void drawPolygon(in QPoint[] points, Qt.FillRule fillRule = Qt.FillRule.OddEvenFill) { - qtd_QPainter_drawPolygon_nativepointerQPoint_int_FillRule(qtdNativeId, points.ptr, points.length, fillRule); + qtd_QPainter_drawPolygon_nativepointerQPoint_int_FillRule(qtdNativeId, points.ptr, cast(int)points.length, fillRule); } public final void drawPolygon(in QPointF[] points, Qt.FillRule fillRule = Qt.FillRule.OddEvenFill) { - qtd_QPainter_drawPolygon_nativepointerQPointF_int_FillRule(qtdNativeId, points.ptr, points.length, fillRule); + qtd_QPainter_drawPolygon_nativepointerQPointF_int_FillRule(qtdNativeId, points.ptr, cast(int)points.length, fillRule); } public final void drawPolyline(in QPoint[] points) { - qtd_QPainter_drawPolyline_nativepointerQPoint_int(qtdNativeId, points.ptr, points.length); + qtd_QPainter_drawPolyline_nativepointerQPoint_int(qtdNativeId, points.ptr, cast(int)points.length); } public final void drawPolyline(in QPointF[] points) { - qtd_QPainter_drawPolyline_nativepointerQPointF_int(qtdNativeId, points.ptr, points.length); + qtd_QPainter_drawPolyline_nativepointerQPointF_int(qtdNativeId, points.ptr, cast(int)points.length); } public final void drawPoints(in QPoint[] points) { - qtd_QPainter_drawPoints_nativepointerQPoint_int(qtdNativeId, points.ptr, points.length); + qtd_QPainter_drawPoints_nativepointerQPoint_int(qtdNativeId, points.ptr, cast(int)points.length); } public final void drawPoints(in QPointF[] points) { - qtd_QPainter_drawPoints_nativepointerQPointF_int(qtdNativeId, points.ptr, points.length); + qtd_QPainter_drawPoints_nativepointerQPointF_int(qtdNativeId, points.ptr, cast(int)points.length); } public final void drawRects(in QRect[] rects) { - qtd_QPainter_drawRects_nativepointerQRect_int(qtdNativeId, rects.ptr, rects.length); + qtd_QPainter_drawRects_nativepointerQRect_int(qtdNativeId, rects.ptr, cast(int)rects.length); } public final void drawRects(in QRectF[] rects) { - qtd_QPainter_drawRects_nativepointerQRectF_int(qtdNativeId, rects.ptr, rects.length); + qtd_QPainter_drawRects_nativepointerQRectF_int(qtdNativeId, rects.ptr, cast(int)rects.length); } /* public static QPaintDeviceInterface redirected(QPaintDeviceInterface device, qt.core.QPoint offset) { @@ -1081,7 +1081,7 @@ // if (m_instance != null) // throw new RuntimeException("QCoreApplication can only be initialized once"); - argc = args.length; + argc = cast(int)args.length; argv = toStringzArray(args); this(&argc, argv);