pyd icon indicating copy to clipboard operation
pyd copied to clipboard

make_object.d line 1179 return null; after prior return

Open Laeeth opened this issue 10 years ago • 5 comments

Stops dub compiling if fail on errors is enabled (the default)

../../../home/laeeth/.dub/packages/pyd-0.9.7/infrastructure/pyd/make_object.d(1179): Warning: statement is not reachable FAIL ../../../home/laeeth/.cache/ipython/pyd/_pyd_magic_cfc71e720f8c36a585b3802880edd548/.dub/build/library-debug-linux.posix-x86_64-dmd_2067-66915D98402D32C2EC91844C9C4ECD03/ _pyd_magic_cfc71e720f8c36a585b3802880edd548 dynamicLibrary Error executing command build: dmd failed with exit code 1.

Laeeth avatar Jul 09 '15 02:07 Laeeth

That's hardcoded -w dmd flag. I did manual dub patching to exclude that. Just run dub with --verbose then copy paste call to dmd without -w flag :-) Or even try this Makefile of mine:

NAME=pyd
VERSIONS=-version=Python_Unicode_UCS4 -version=Python_2_4_Or_Later -version=Python_2_5_Or_Later -version=Python_2_6_Or_Later -version=Python_2_7_Or_Later -version=Python_3_0_Or_Later -version=Python_3_1_Or_Later -version=Python_3_2_Or_Later -version=Python_3_3_Or_Later -version=Python_3_4_Or_Later -version=Have_pyd
APP_INC=infrastructure
INCLUDES=-I${APP_INC}
CFLAGS=${VERSIONS}
PREFIX=

SOURCES=infrastructure/deimos/python/Python.d \
    infrastructure/deimos/python/abstract_.d \
    infrastructure/deimos/python/ast.d \
    infrastructure/deimos/python/boolobject.d \
    infrastructure/deimos/python/bufferobject.d \
    infrastructure/deimos/python/bytearrayobject.d \
    infrastructure/deimos/python/bytesobject.d \
    infrastructure/deimos/python/cStringIO.d \
    infrastructure/deimos/python/cellobject.d \
    infrastructure/deimos/python/ceval.d \
    infrastructure/deimos/python/classobject.d \
    infrastructure/deimos/python/cobject.d \
    infrastructure/deimos/python/code.d \
    infrastructure/deimos/python/codecs.d \
    infrastructure/deimos/python/compile.d \
    infrastructure/deimos/python/complexobject.d \
    infrastructure/deimos/python/datetime.d \
    infrastructure/deimos/python/descrobject.d \
    infrastructure/deimos/python/dictobject.d \
    infrastructure/deimos/python/enumobject.d \
    infrastructure/deimos/python/errcode.d \
    infrastructure/deimos/python/eval.d \
    infrastructure/deimos/python/fileobject.d \
    infrastructure/deimos/python/floatobject.d \
    infrastructure/deimos/python/frameobject.d \
    infrastructure/deimos/python/funcobject.d \
    infrastructure/deimos/python/genobject.d \
    infrastructure/deimos/python/grammar.d \
    infrastructure/deimos/python/import_.d \
    infrastructure/deimos/python/intobject.d \
    infrastructure/deimos/python/intrcheck.d \
    infrastructure/deimos/python/iterobject.d \
    infrastructure/deimos/python/listobject.d \
    infrastructure/deimos/python/longintrepr.d \
    infrastructure/deimos/python/longobject.d \
    infrastructure/deimos/python/marshal.d \
    infrastructure/deimos/python/memoryobject.d \
    infrastructure/deimos/python/methodobject.d \
    infrastructure/deimos/python/modsupport.d \
    infrastructure/deimos/python/moduleobject.d \
    infrastructure/deimos/python/node.d \
    infrastructure/deimos/python/object.d \
    infrastructure/deimos/python/objimpl.d \
    infrastructure/deimos/python/parsetok.d \
    infrastructure/deimos/python/pgenheaders.d \
    infrastructure/deimos/python/pyarena.d \
    infrastructure/deimos/python/pyatomic.d \
    infrastructure/deimos/python/pycapsule.d \
    infrastructure/deimos/python/pydebug.d \
    infrastructure/deimos/python/pyerrors.d \
    infrastructure/deimos/python/pymem.d \
    infrastructure/deimos/python/pyport.d \
    infrastructure/deimos/python/pystate.d \
    infrastructure/deimos/python/pystrcmp.d \
    infrastructure/deimos/python/pystrtod.d \
    infrastructure/deimos/python/pythonrun.d \
    infrastructure/deimos/python/pythread.d \
    infrastructure/deimos/python/rangeobject.d \
    infrastructure/deimos/python/setobject.d \
    infrastructure/deimos/python/sliceobject.d \
    infrastructure/deimos/python/stringobject.d \
    infrastructure/deimos/python/structmember.d \
    infrastructure/deimos/python/structseq.d \
    infrastructure/deimos/python/symtable.d \
    infrastructure/deimos/python/sysmodule.d \
    infrastructure/deimos/python/timefuncs.d \
    infrastructure/deimos/python/traceback.d \
    infrastructure/deimos/python/tupleobject.d \
    infrastructure/deimos/python/unicodeobject.d \
    infrastructure/deimos/python/weakrefobject.d \
    infrastructure/meta/Demangle.d \
    infrastructure/meta/Nameof.d \
    infrastructure/pyd/class_wrap.d \
    infrastructure/pyd/ctor_wrap.d \
    infrastructure/pyd/def.d \
    infrastructure/pyd/embedded.d \
    infrastructure/pyd/exception.d \
    infrastructure/pyd/extra.d \
    infrastructure/pyd/func_wrap.d \
    infrastructure/pyd/make_object.d \
    infrastructure/pyd/make_wrapper.d \
    infrastructure/pyd/op_wrap.d \
    infrastructure/pyd/pyd.d \
    infrastructure/pyd/pydobject.d \
    infrastructure/pyd/references.d \
    infrastructure/pyd/struct_wrap.d \
    infrastructure/pyd/thread.d \
    infrastructure/util/conv.d \
    infrastructure/util/multi_index.d \
    infrastructure/util/replace.d \
    infrastructure/util/typeinfo.d \
    infrastructure/util/typelist.d
DLIBS=-defaultlib=libphobos2.so
LIBS=-L--no-as-needed -L-s ${DLIBS} -L-lpython3.4m
TMP_DIR=./tmp
OBJECTS=${NAME}.o
TARGET=lib${NAME}
all:
    dmd -c -of${TMP_DIR}/${OBJECTS} ${INCLUDES} ${CFLAGS} ${SOURCES}
    dmd -lib -oflib/${TARGET}.a ${TMP_DIR}/${OBJECTS}
    dmd -c -of${TMP_DIR}/${OBJECTS} ${INCLUDES} -fPIC ${CFLAGS} ${SOURCES}
    dmd -shared -oflib/${TARGET}.so ${TMP_DIR}/${OBJECTS} ${LDFLAGS} ${LIBS}
install:
    cp lib/${TARGET}.* ${PREFIX}/lib -r
    cp ${APP_INC}/* ${PREFIX}/include -r

Lord-Evil avatar Aug 03 '15 15:08 Lord-Evil

is this a legitimate warning message? I can't see what else you would do in that function.

ariovistus avatar Aug 25 '15 14:08 ariovistus

Hi. Sorry for being unresponsive - had some other things to do. I'll come back to this in time but can't recall the details now.

For dub you can just edit the buildtype to allowwarnings. However it's slightly more of a nuisance in pydmagic (since I am calling from a Jupyter/IPython notebook).

It's still a hack though.

Laeeth avatar Sep 05 '15 11:09 Laeeth

Sorry for being unresponsive

same to you. I'm just wondering if this deserves an issue in dmd's bugzilla

ariovistus avatar Sep 05 '15 15:09 ariovistus

For dub you can just edit the buildtype to allowwarnings.

Didn't know that dub can do that.. :-)

Lord-Evil avatar Sep 11 '15 10:09 Lord-Evil