From: johanknol Date: Sun, 20 May 2001 16:11:38 +0000 (+0000) Subject: changed inline asm buffers from static to dynamic size X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=2f4eed72ea3a3f34795b26887679fdac2adc6b5d;p=fw%2Fsdcc changed inline asm buffers from static to dynamic size git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@839 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- diff --git a/src/avr/gen.c b/src/avr/gen.c index 0cb4b0f1..b16ce954 100644 --- a/src/avr/gen.c +++ b/src/avr/gen.c @@ -115,7 +115,7 @@ static void emitcode (char *inst, char *fmt, ...) { va_list ap; - char lb[MAX_INLINEASM]; + char lb[INITIAL_INLINEASM]; char *lbp = lb; va_start (ap, fmt); @@ -2886,11 +2886,11 @@ genXor (iCode * ic, iCode * ifx) static void genInline (iCode * ic) { - char buffer[MAX_INLINEASM]; - char *bp = buffer; - char *bp1 = buffer; + char *buffer, *bp, *bp1; _G.inLine += (!options.asmpeep); + + buffer = bp = bp1 = Safe_calloc(1, strlen(IC_INLINE(ic)+1)); strcpy (buffer, IC_INLINE (ic)); /* emit each line as a code */ diff --git a/src/ds390/gen.c b/src/ds390/gen.c index ab8b9654..0f1df711 100644 --- a/src/ds390/gen.c +++ b/src/ds390/gen.c @@ -126,7 +126,7 @@ static void emitcode (char *inst, char *fmt,...) { va_list ap; - char lb[MAX_INLINEASM]; + char lb[INITIAL_INLINEASM]; char *lbp = lb; va_start (ap, fmt); @@ -5777,14 +5777,14 @@ release: static void genInline (iCode * ic) { - char buffer[MAX_INLINEASM]; - char *bp = buffer; - char *bp1 = buffer; + char *buffer, *bp, *bp1; D (emitcode (";", "genInline "); ); _G.inLine += (!options.asmpeep); + + buffer = bp = bp1 = Safe_calloc(1, strlen(IC_INLINE(ic)+1)); strcpy (buffer, IC_INLINE (ic)); /* emit each line as a code */ diff --git a/src/mcs51/gen.c b/src/mcs51/gen.c index 91dfbcc3..8fe501ba 100644 --- a/src/mcs51/gen.c +++ b/src/mcs51/gen.c @@ -120,7 +120,7 @@ static void emitcode (char *inst, char *fmt,...) { va_list ap; - char lb[MAX_INLINEASM]; + char lb[INITIAL_INLINEASM]; char *lbp = lb; va_start (ap, fmt); @@ -4994,11 +4994,11 @@ release: static void genInline (iCode * ic) { - char buffer[MAX_INLINEASM]; - char *bp = buffer; - char *bp1 = buffer; + char *buffer, *bp, *bp1; _G.inLine += (!options.asmpeep); + + buffer = bp = bp1 = Safe_calloc(1, strlen(IC_INLINE(ic)+1)); strcpy (buffer, IC_INLINE (ic)); /* emit each line as a code */ diff --git a/src/pic/gen.c b/src/pic/gen.c index e42fc0b0..20f57a1b 100644 --- a/src/pic/gen.c +++ b/src/pic/gen.c @@ -147,7 +147,7 @@ void emitpcode(PIC_OPCODE poc, pCodeOp *pcop) void pic14_emitcode (char *inst,char *fmt, ...) { va_list ap; - char lb[MAX_INLINEASM]; + char lb[INITIAL_INLINEASM]; char *lbp = lb; va_start(ap,fmt); @@ -179,7 +179,7 @@ void pic14_emitcode (char *inst,char *fmt, ...) void DEBUGpic14_emitcode (char *inst,char *fmt, ...) { va_list ap; - char lb[MAX_INLINEASM]; + char lb[INITIAL_INLINEASM]; char *lbp = lb; if(!debug_verbose) @@ -4944,13 +4944,13 @@ release : /*-----------------------------------------------------------------*/ static void genInline (iCode *ic) { - char buffer[MAX_INLINEASM]; - char *bp = buffer; - char *bp1= buffer; + char *buffer, *bp, *bp1; DEBUGpic14_emitcode ("; ***","%s %d",__FUNCTION__,__LINE__); _G.inLine += (!options.asmpeep); + + buffer = bp = bp1 = Safe_calloc(1, strlen(IC_INLINE(ic)+1)); strcpy(buffer,IC_INLINE(ic)); /* emit each line as a code */ diff --git a/src/z80/gen.c b/src/z80/gen.c index 5c3e5c9b..3e6d40a4 100644 --- a/src/z80/gen.c +++ b/src/z80/gen.c @@ -235,7 +235,7 @@ void emitcode (const char *inst, const char *fmt,...) { va_list ap; - char lb[MAX_INLINEASM]; + char lb[INITIAL_INLINEASM]; char *lbp = lb; va_start (ap, fmt); @@ -4082,11 +4082,11 @@ release: static void genInline (iCode * ic) { - char buffer[MAX_INLINEASM]; - char *bp = buffer; - char *bp1 = buffer; + char *buffer, *bp, *bp1; inLine += (!options.asmpeep); + + buffer = bp = bp1 = Safe_calloc(1, strlen(IC_INLINE(ic)+1)); strcpy (buffer, IC_INLINE (ic)); /* emit each line as a code */