From 91ddf6140a0ed40991ebcbde67cc1d16ba195b6b Mon Sep 17 00:00:00 2001 From: Robert Clipsham Date: Mon, 1 Jun 2009 18:58:21 +0100 Subject: [PATCH] More tweaks. --- .hgignore | 1 + CMakeLists.txt | 4 +++- bin/ldmd2 | 43 +++++++++++++++++++++++++++++++++++++++++++ dmd2/idgen | Bin 15715 -> 19107 bytes dmd2/impcnvgen | Bin 15262 -> 48198 bytes gen/classes.cpp | 6 ++++++ gen/toobj.cpp | 4 ++++ ir/irclass.cpp | 6 ++---- 8 files changed, 59 insertions(+), 5 deletions(-) create mode 100755 bin/ldmd2 diff --git a/.hgignore b/.hgignore index 71eab2df..849cb42f 100644 --- a/.hgignore +++ b/.hgignore @@ -8,6 +8,7 @@ syntax: glob *.a *.s *.so +*.swp *.rej Makefile CMakeFiles diff --git a/CMakeLists.txt b/CMakeLists.txt index 9fc24d60..f2757939 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -70,10 +70,12 @@ option(GENERATE_OFFTI "generate complete ClassInfo.offTi arrays") if(D_VERSION EQUAL 1) set(DMDFE_PATH dmd) set(LDC_EXE ldc) + set(LDMD_EXE ldmd) add_definitions(-DDMDV1) elseif(D_VERSION EQUAL 2) set(DMDFE_PATH dmd2) set(LDC_EXE ldc2) + set(LDMD_EXE ldmd2) add_definitions(-DDMDV2) else(D_VERSION EQUAL 1) message(FATAL_ERROR "unsupported D version") @@ -230,7 +232,7 @@ get_target_property(LDC_LOC ${LDC_EXE} LOCATION) # TODO: testrun install(TARGETS ${LDC_EXE} DESTINATION bin) -install(FILES ${PROJECT_SOURCE_DIR}/bin/ldmd DESTINATION bin) +install(FILES ${PROJECT_SOURCE_DIR}/bin/${LDMD_EXE} DESTINATION bin) install(FILES ${PROJECT_BINARY_DIR}/bin/${LDC_EXE}.conf DESTINATION ${CONF_INST_DIR}) install(FILES ${PROJECT_BINARY_DIR}/bin/${LDC_EXE}.rebuild.conf DESTINATION ${CONF_INST_DIR}) install(DIRECTORY ${PROJECT_BINARY_DIR}/lib DESTINATION . USE_SOURCE_PERMISSIONS) diff --git a/bin/ldmd2 b/bin/ldmd2 new file mode 100755 index 00000000..959586c9 --- /dev/null +++ b/bin/ldmd2 @@ -0,0 +1,43 @@ +#! /usr/bin/env bash + +# Default to 'ldc' next to this file +LDC=`basename "$0"`/ldc2 +if [ ! -x "$LDC" ]; then + # If that doesn't work, assume this script was called via $PATH + # and do the same for ldc + if which ldc2 &> /dev/null; then + LDC=ldc2 + else + echo 'ldc not found, check your installation' >/dev/stderr + exit 1 + fi +fi + +declare -a ARGS +IDX=0 +for arg; do + case "$arg" in + -C*) + # turn -Cfoo into -foo. + # Useful for passing -inline to ldc, for instance. + arg="-${arg:2}" + ;; + -debug|-debug=*|-version=*) + arg="-d$arg" + ;; + -inline) + arg="-enable-inlining" + ;; + -fPIC) + arg="-relocation-model=pic" + ;; + --a|--b|--c|--f|--r|--w|--x|--y) + # "Hidden debug switches" + # Are these ever used? + arg="-hidden-debug${arg:1}" + ;; + esac + ARGS[IDX++]="$arg" +done + +exec "$LDC" "${ARGS[@]}" diff --git a/dmd2/idgen b/dmd2/idgen index b880dfbaac5e03a95e05a0423a5bc5b6e015b00e..ff2f8880e483f39518f57f82aa3f0621115b2c6c 100755 GIT binary patch delta 3067 zcmai0U2Gdw7QSc36VHvEG>Mzvw$!cDAIQ(Ri5mhf8&^Q7Szrq)s71iwpNTVyJ+?gK zwA+1{@T0JRs2U8SNT^ihg$IOMm4{ur+U*J?DjpCOLIR10@-G1oyYK?b%bs)R+J=H) zBHeSo@BG|z&b{Nzr$=9U7LIQpJTt>uPnyj#ou%1UmN+{HVlvOF^0d;p z1Oxskg1~%rh_THoW96*vus#H3x9DYaB}=$(K|-d16e^(?k^T`FYv#Kvnih_nh*D)Pz!3f=J%GWvd0KhV}d6@$4)?mdu0p(Gfm?zMh+Qb3&-2@ZfC;2wSwL$yI^ z9^zXtgEk~#oPS8(!xC=i*OK#ygh@U@)^!rj^1l#VFJYQ%iu)^x2YEl`8im&cT;L|bt+J;oA13E(B=mTLtm9Bcp(Kv*#|S22FA6oW z4BRL09dJP4hk++h@wF*<9h0kxM}Wu3VFun7_^-g9qXct6{iuoK!2eG6eek%zCxBld zoRRnx@V5xxD)Gy}-y!@*iO&FkpYUx!<5ClU1HK8E&$K&4{c7R@@Q=u0KfEgncoSIX z%|yHwxrh-%+Uqow=rN+s2lHXkZ_uLsBN&e!Jw&z(IpmZ?4-4yuF(9nd)##!dLydK> zph7I&k*-xA^~+5g%@9*^}B7?~Hz!1G4(a&)k7^X11SkW)h3?l*3 z(I<{P><~@;+Pm=yX6VHb);C{e;79Y$A%0T;+ z(bR{*jzGuBbM3NpeO}5pFeFAHS>Y5z_ngpJ|8i%VLfG>tssF%lUtp!toIq~iJzPSo zG+BUwZP;<>=>T;7fE@ikh*5sZ1}AA88x&-KtC!b3h=KS(FKp?KMbz$f-M!EUJsmi$ z0j73eAK4Yj#Bi{qEE4&Hj}Dkx=n)m)Q7upz>sW(!tcC>n>oHKfBM}VO03q)Ra%q{^ zY$s!#&D3~QEyoBsMx`SrA;&I&OpN&MO)L{LeB5HqR@CrxCt)rs>cgB=a=L^3dLwW* z*4~%Gt3aD)VhX}o8{+UI*lZt=cYmPb{Ln%6Iv3p?Wo+=Lgo2f@ah#j4uz%68;K%MR zTmdOY<1`j3Wy`2la#qbV@};`xSv8|DWt0keqfjnPF{AF*jFO!*iut^8WOl}!Nlnz9 zMW=GunJC##{m4YosT--u)MV1I9n4U$f*1*mob9>H@F`8x&g??bawhXsf$J3t*8JoG z!^8IeT(w+O@k$|WS5U>n#?6~59*5Gr>*`qrrY}8qXx9yk`ilNY@TZpa&(z_Qy8nQ{ zkFMwj+2^kF4-uhk9#N0#53BqjqLs{^7nancuMm24Mg6CL@w~d>sqW-af)%V)E(C@I#wZ0|7`p= zPtcsVOO{h<=eL{!lBI0XZKV@bzFsr)l~TRzFtbuBP+6|!vEMs3qd8$}pq#BO`c_TM z6w@GcxMq8n=*h{JEo_C_5dFk|RyFy$*(EDz%`8>&i?YfoW|k{>)Ob#ny4U^}-p(${ z$9M`dJzwm*H*?#~%&b!xvaGx4i`(LnTmm#OX8cL*|6zYM{sNeXHq{s7%}u# zonlk7nl0==Uldp-iD~8wnF`=eX4aj$YoXaLSacj%XD*vxtXG3he`CDt_U6}$_Ca+8GOzwwEO{{&Z++;-x$PWr{eI%EAOBv0R>t*7yj62nh5 z>BIkR1eSQ?(!@smHfr)8%R@^NzbQ#PI$n8_y;DK-!N%(JU}Je$*LJls*r~vFPE@tG z#joEP@M+>3|Ct)%_etge?bSFn9%`hf*Y+pVf#1b&Ah)2{-MD{xO!@wnb5Bgasx&S` oNLAT7?6n`|dMP(Zd6kqKrNj<}-zJip$~H5G6~xZ%p4k@uKT;4plK=n! delta 113 zcmZ2HmGN=a1PyTm9R@gXV6b4|U~piNW02lx&!{~)#`N{%Pg1U%KbSSJO)jvP;B?T2 xsC_+I&|H4<273w74aN`=4t5AF3#3dY-?i6f+F`Ys%V8bUWCe4U%{9*I>;Sw~8P@;+ diff --git a/dmd2/impcnvgen b/dmd2/impcnvgen index ad385c126cb075ad797e6c5ee9b15be095dc1ea3..eb6e70b48c1158656f93278a79740ebc28614598 100755 GIT binary patch literal 48198 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.dim != 13) +#else if (cinfo->fields.dim != 12) +#endif { error("object.d ClassInfo class is incorrect"); fatal(); diff --git a/gen/toobj.cpp b/gen/toobj.cpp index 93f31411..eb9094e2 100644 --- a/gen/toobj.cpp +++ b/gen/toobj.cpp @@ -620,7 +620,11 @@ void Module::genmoduleinfo() fatal(); } // check for patch +#if DMDV2 + else if (moduleinfo->fields.dim != 10) +#else else if (moduleinfo->fields.dim != 9) +#endif { error("object.d ModuleInfo class is incorrect"); fatal(); diff --git a/ir/irclass.cpp b/ir/irclass.cpp index 4ec5f601..c6759971 100644 --- a/ir/irclass.cpp +++ b/ir/irclass.cpp @@ -178,12 +178,10 @@ LLConstant * IrStruct::getVtblInit() // build the constant struct constVtbl = llvm::ConstantStruct::get(constants, false); - // sanity check #if 0 - IF_LOG Logger::cout() << "constVtbl type: " << *constVtbl->getType() << std::endl; - IF_LOG Logger::cout() << "vtbl type: " << *type->irtype->isClass()->getVtbl() << std::endl; + IF_LOG Logger::cout() << "constVtbl type: " << *constVtbl->getType() << std::endl; + IF_LOG Logger::cout() << "vtbl type: " << *type->irtype->isClass()->getVtbl() << std::endl; #endif - assert(constVtbl->getType() == type->irtype->isClass()->getVtbl() && "vtbl initializer type mismatch");