Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Compiler bug in functions >6 parameters
#4
Das man in den parameter über 6 auch Funktionen aufrufen kann, ist nicht implementiert. Int(xxx) braucht man sowieso nicht, das wird automatisch konvertiert. aber ne fehlermeldung sollte natürlich kommmen, On parameternumber >6 no function calls allowed. mit ;+ habe ich die Codezeilen markiert die neu rein müssen. das geht aber nur bei den blitz func calls. Ich habe es auch mit Funktionen probiert, erzeugt auch falschen code. dass muss ich noch einbauen, dass auch ein

Call7{1,2,3,4,5,6,Call1{7}}

ne fehlermeldung bringt.

Dass müsst ihr dann noch ändern, damit ne passende Fehlermeldung erzeugt wird(neu erstellen)

JMP error_convert_types ;+



Code:
JL_0_A6B4:
   ;bsr.w get1bytemain
   !fget
   CMP.b #$7e,d0
   BNE 'noc
   SUBQ.l #1,a5
   BSR get1bytemain

'noc
   CMP.b #"#",d0
   BNE 'ld1
   CMP.b #$22,(a5)
   BNE 'ld1
   JSR addimmi

'ld1
   CMP.b #$22,d0
   BNE 'l11
   ;BTST #$d,vartype
   ;BNE 'ls1
   ;CMP.b #7,d2                                             ;long pointer string error
   ;BEQ 'ls1
   ;TST.b vartype+1
   ;BEQ 'ls1
;BRA error_convert_types

'ls1
   NOT.w instringon
'l11
   TST.b d0
   BPL 'l10
   LSL.w #8,d0
   MOVE.b (a5)+,d0                      ; get blitz instruction with returnvalue
   MOVE.l d0,lasttoken
   MOVE.w d0,lastchar
   CMP.w #5,regnum                      ;+
   BLE 'l4                              ;+
   JMP error_convert_types              ;+
'l4   CLR.l rightsidetype                  ; blitzlibs do currently no type check
Zitieren


Nachrichten in diesem Thema

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste