view lphobos/ldc-build @ 1053:11e28922ac76

Always pass an address expression (not a var expression) to asm operands of type Arg_Memory. This fixes the following code: {{{ void f(real x) { asm { fld x[RBP]; } } void g(int x) { asm { mov EAX, x[RBP]; } } }}}
author Frits van Bommel <fvbommel wxs.nl>
date Sun, 08 Mar 2009 00:57:58 +0100
parents d8a1481eaa0c
children
line wrap: on
line source

#!/bin/sh
export PATH=$PATH:/opt/llvm/bin
export FILE=$1; shift
export LDC_PATH=~/ldc
PARAM=$(for p_file in $($LDC_PATH/bin/ldc $FILE -I~/ldc/lphobos -c -v -of/dev/null |grep import \
        |sed -e "s/import *//" -e "s/\t.*//" \
        |sed -e "s/\./\//g" -e "s/$/\.d/"); do if [ -f $p_file ]; then echo $p_file; fi; done)
echo ldc $FILE $@ $PARAM
$LDC_PATH/bin/ldc $FILE $@ $PARAM