# HG changeset patch # User Tomas Lindquist Olsen # Date 1249228590 -7200 # Node ID b0a691de8cc71f7991c3dc143a81935188415e8a # Parent 95d710d405e35e4c7fb2e3bd949c8442b7cb25fa Fixed bug #349 , now emits error. diff -r 95d710d405e3 -r b0a691de8cc7 gen/asm-x86-32.h --- a/gen/asm-x86-32.h Sat Aug 01 18:23:52 2009 +0200 +++ b/gen/asm-x86-32.h Sun Aug 02 17:56:30 2009 +0200 @@ -1555,7 +1555,13 @@ } void addOperand2 ( const char * fmtpre, const char * fmtpost, AsmArgType type, Expression * e, AsmCode * asmcode, AsmArgMode mode = Mode_Input ) { - assert ( !sc->func->naked ); + if ( sc->func->naked ) + { + // taken from above + stmt->error ( "only global variables can be referenced by identifier in naked asm" ); + return; + } + insnTemplate << fmtpre << "<<" << (mode==Mode_Input ? "in" : "out") << ">>" << fmtpost; diff -r 95d710d405e3 -r b0a691de8cc7 gen/asm-x86-64.h --- a/gen/asm-x86-64.h Sat Aug 01 18:23:52 2009 +0200 +++ b/gen/asm-x86-64.h Sun Aug 02 17:56:30 2009 +0200 @@ -1676,7 +1676,13 @@ } void addOperand2 ( const char * fmtpre, const char * fmtpost, AsmArgType type, Expression * e, AsmCode * asmcode, AsmArgMode mode = Mode_Input ) { - assert ( !sc->func->naked ); + if ( sc->func->naked ) + { + // taken from above + stmt->error ( "only global variables can be referenced by identifier in naked asm" ); + return; + } + insnTemplate << fmtpre << "<<" << (mode==Mode_Input ? "in" : "out") << ">>" << fmtpost;