view bin/ldmd2 @ 1463:a5526b7a5ae6

D2: Applied function type from D1 frontend that got removed in D2, it's critical for member function type to be correct. Fixed a bunch of type discrepancies in druntime object.di vs. genobj.d . Disabled (#if 0) some potentally very large type dumps for -vv . Updated classinfo and typeinfo generation for D2, almost complete now. Added finer grained checks for vtbl type mismatching, aids debugging.
author Tomas Lindquist Olsen <tomas.l.olsen gmail com>
date Wed, 03 Jun 2009 02:28:48 +0200
parents f35a9a77d256
children 593f99fddd2f
line wrap: on
line source

#! /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[@]}"