// File: /workspace/github_c_makefile_star2_O0/42Bastian[P]lyxass/error.c
// Function: Error
int Error(int err_num,const char *s)
{
  int fatal = 0;

  if ( err_num < 0 ){
    fatal = 1;
    err_num = -err_num;
  }
  ++error;

  ++cntError;

  if ( fatal ){
    fprintf(stderr,"Fatal Error %d!\n",err_num);
  }

  if (Current.File >= 0){
    if ( Current.Macro.Line && err_num != FAIL_ERR ){
      fprintf(my_stderr,"ERROR: %s:%d:Macro-Line %5d:<%s>: '%s'\n",
	      file_list[Current.File].name,Current.Line,
	      Current.Macro.Line,file_list[Current.Macro.File].name,
              srcLine);
    } else if ( err_num != FAIL_ERR ) {
      fprintf(my_stderr,"ERROR: %s:%5d: '%s'\n",
              file_list[Current.File].name,Current.Line, srcLine);
    }
  }
  switch (err_num) {
  case  INCLUDE_ERR:
    fprintf(my_stderr,"To many includes\n");
    break;
  case FILE_ERR:
    fprintf(my_stderr,"Can't open file <%s>\n",s);
    break;
  case LABEL_ERR:
    fprintf(my_stderr,"Wrong character in label\n");
    break;
  case MLABEL_ERR:
    fprintf(my_stderr,"Macro-label outside macro\n");
    break;
  case NOMEM_ERR:
    fprintf(my_stderr,"No more memory available\n");
    break;
  case REDEF_ERR:
    fprintf(my_stderr,"Label redefined ! First use here: %5d : <%s>\n",
	    ((label_t *)s)->line,file_list[ ((label_t *)s)->file ].name );
    break;
  case LREDEF_ERR:
    fprintf(my_stderr,"Local label redefined ! First use here: %5d : <%s>\n",
	    ((label_t *)s)->line,file_list[ ((label_t *)s)->file ].name );
    break;
  case LMREDEF_ERR:
    fprintf(my_stderr,"Local macro label redefined ! First use here: %5d : <%s>\n",
	    ((label_t *)s)->line,file_list[ ((label_t *)s)->file ].name );
    break;
  case MREDEF_ERR:
    fprintf(my_stderr,"Macro-name redefined ! First use here: %5d : <%s>\n",
	    ((label_t *)s)->line,file_list[ ((label_t *)s)->file ].name );
    break;
  case TOOMANY_ERR:
    fprintf(my_stderr,"Global symbol memory exhausted\n");
    break;
  case LTOOMANY_ERR:
    fprintf(my_stderr,"Local symbol memory exhausted\n");
    break;
  case LMTOOMANY_ERR:
    fprintf(my_stderr,"Local-macro symbol memory exhausted\n");
    break;
  case MTOOMANY_ERR:
    fprintf(my_stderr,"Macro-name memory exhausted\n");
    break;
  case UNKNOWN_ERR:
    fprintf(my_stderr,"Unknown opcode : (%s)\n",s);
    break;
  case TOOBIG_ERR:
    fprintf(my_stderr,"Constant to big\n");
    break;
  case EXPR_ERR:
    fprintf(my_stderr,"Error in expression\n");
    break;
  case SYNTAX_ERR:
    if ( s ){
      fprintf(my_stderr,"Syntax Error:%s\n",s);
    } else {
      fprintf(my_stderr,"Syntax Error\n");
    }
    break;
  case NEEDCONST_ERR:
    fprintf(my_stderr,"%s needs constant expression\n",s);
    break;
  case MLABEL2_ERR:
    fprintf(my_stderr,"Only .\\label allowed inside a macro\n");
    break;
  case CODEMEM_ERR:
    fprintf(my_stderr,"Code-memory exhausted. Code > %dK\n",MAX_CODE_SIZE/1024);
    break;
  case DISTANCE_ERR:
    fprintf(my_stderr,"Relative distance to large\n");
    break;
  case NOREFMEM_ERR:
    fprintf(my_stderr,"No more reference-memory\n");
    break;
  case GARBAGE_ERR:
    fprintf(my_stderr,"Garbage at the end of line:'%s'\n",s);
    break;
  case MACRONESTED_ERR:
    fprintf(my_stderr,"Macro-definition nested to deep (max. 2)\n");
    break;
  case BYTE_ERR:
    fprintf(my_stderr,"Byte value out of range\n");
    break;
  case WORD_ERR:
    fprintf(my_stderr,"Word value out of range\n");
    break;
  case TYPE_ERR:
    fprintf(my_stderr,"Label-type mismatch\n");
    break;
  case UNSOLVED_ERR:
    fprintf(my_stderr,"Unsolved %s labels\n",s);
    break;
  case TOOMANYIF_ERR:
    fprintf(my_stderr,"To many nested IF\n");
    break;
  case ENDIF1_ERR:
    fprintf(my_stderr,"ENDIF without IF\n");
    break;
  case FAIL_ERR:
    break;
  case SWITCH_ERR:
    fprintf(my_stderr,"Nested SWITCH\n");
    break;
  case CASE_ERR:
    fprintf(my_stderr,"CASE without SWITCH\n");
    break;
  case DEFAULT_ERR:
    fprintf(my_stderr,"DEFAULT/ELSES without SWITCH\n");
    break;
  case ENDS_ERR:
    fprintf(my_stderr,"ENDS without SWITCH\n");
    break;
  case REPT1_ERR:
    fprintf(my_stderr,"Nested REPT\n");
    break;
  case REPT2_ERR:
    fprintf(my_stderr,"ENDR without REPT\n");
    break;
  case ISYMS_ERR:
    fprintf(my_stderr,"ISYMS only supported in the original Atari version!\n");
    break;
  case CMD_ERR:
    fprintf(my_stderr,"Error in command-line\n");
    break;
  case WRITE_ERR:
    fprintf(my_stderr,"Could not write :%s\n",s);
    break;
  case LOAD_ERR:
    fprintf(my_stderr,"LoadBuffer not big enough for :%s\n",s);
    break;
  case IMM_ERR:
    fprintf(my_stderr,"Quick immediate value out of range (%s)!\n",s);
    break;
  case REG_ERR:
    if ( s ) {
      fprintf(my_stderr,"Missing Register:%s\n",s);
    } else {
      fprintf(my_stderr,"Missing Register\n");
    }
    break;
  case REG1_ERR:
    fprintf(my_stderr,"Redefining register-symbol\n");
    break;
  case MISC_ERR:
    fprintf(my_stderr,"%s\n",s);
    break;
  }

  if ( !verbose) verbose=1;
  killLine();

  if ( fatal ){
    fprintf(stderr,"leaving ...\n");
    exit(1);
  }
  return err_num;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl %edi, -0x4(%rbp)
movq %rsi, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
cmpl $0x0, -0x4(%rbp)
jge 0xd15b
movl $0x1, -0x14(%rbp)
xorl %eax, %eax
subl -0x4(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq 0x13972(%rip), %rax     # 0x20ad4
movl (%rax), %ecx
addl $0x1, %ecx
leaq 0x13966(%rip), %rax     # 0x20ad4
movl %ecx, (%rax)
leaq 0xb209(%rip), %rax      # 0x18380
movl (%rax), %ecx
addl $0x1, %ecx
leaq 0xb1fd(%rip), %rax      # 0x18380
movl %ecx, (%rax)
cmpl $0x0, -0x14(%rbp)
je 0xd1a6
movq 0x9e5e(%rip), %rax      # 0x16ff0
movq (%rax), %rdi
movl -0x4(%rbp), %edx
leaq 0x4545(%rip), %rsi      # 0x116e4
movb $0x0, %al
callq 0x3120
leaq 0xb44b(%rip), %rax      # 0x185f8
cmpl $0x0, 0x4(%rax)
jl 0xd295
leaq 0xb43a(%rip), %rax      # 0x185f8
cmpl $0x0, 0x10(%rax)
je 0xd243
cmpl $0x20, -0x4(%rbp)
je 0xd243
leaq 0xb417(%rip), %rax      # 0x185e8
movq (%rax), %rdi
leaq 0xb41d(%rip), %rax      # 0x185f8
movslq 0x4(%rax), %rax
leaq 0xb5ea(%rip), %rdx      # 0x187d0
imulq $0x204, %rax, %rax      # imm = 0x204
addq %rax, %rdx
addq $0x4, %rdx
leaq 0xb3fd(%rip), %rax      # 0x185f8
movl (%rax), %ecx
leaq 0xb3f4(%rip), %rax      # 0x185f8
movl 0x10(%rax), %r8d
leaq 0xb3e9(%rip), %rax      # 0x185f8
movslq 0x14(%rax), %rax
leaq 0xb5b6(%rip), %r9       # 0x187d0
imulq $0x204, %rax, %rax      # imm = 0x204
addq %rax, %r9
addq $0x4, %r9
leaq 0x44c6(%rip), %rsi      # 0x116f5
leaq 0x13bda(%rip), %rax     # 0x20e10
movq %rax, (%rsp)
movb $0x0, %al
callq 0x3120
jmp 0xd293
cmpl $0x20, -0x4(%rbp)
je 0xd291
leaq 0xb398(%rip), %rax      # 0x185e8
movq (%rax), %rdi
leaq 0xb39e(%rip), %rax      # 0x185f8
movslq 0x4(%rax), %rax
leaq 0xb56b(%rip), %rdx      # 0x187d0
imulq $0x204, %rax, %rax      # imm = 0x204
addq %rax, %rdx
addq $0x4, %rdx
leaq 0xb37e(%rip), %rax      # 0x185f8
movl (%rax), %ecx
leaq 0x449a(%rip), %rsi      # 0x1171d
leaq 0x13b86(%rip), %r8      # 0x20e10
movb $0x0, %al
callq 0x3120
jmp 0xd293
jmp 0xd295
movl -0x4(%rbp), %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0x20(%rbp)
subl $0x2d, %eax
ja 0xd8b3
movq -0x20(%rbp), %rax
leaq 0x4378(%rip), %rcx      # 0x1162c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xb324(%rip), %rax      # 0x185e8
movq (%rax), %rdi
leaq 0x4464(%rip), %rsi      # 0x11732
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xb307(%rip), %rax      # 0x185e8
movq (%rax), %rdi
movq -0x10(%rbp), %rdx
leaq 0x4455(%rip), %rsi      # 0x11744
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xb2e6(%rip), %rax      # 0x185e8
movq (%rax), %rdi
leaq 0x444e(%rip), %rsi      # 0x1175a
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xb2c9(%rip), %rax      # 0x185e8
movq (%rax), %rdi
leaq 0x444b(%rip), %rsi      # 0x11774
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xb2ac(%rip), %rax      # 0x185e8
movq (%rax), %rdi
leaq 0x4449(%rip), %rsi      # 0x1178f
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xb28f(%rip), %rax      # 0x185e8
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movl 0x10(%rax), %edx
movq -0x10(%rbp), %rax
movslq 0x14(%rax), %rax
leaq 0xb45e(%rip), %rcx      # 0x187d0
imulq $0x204, %rax, %rax      # imm = 0x204
addq %rax, %rcx
addq $0x4, %rcx
leaq 0x4422(%rip), %rsi      # 0x117a9
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xb24e(%rip), %rax      # 0x185e8
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movl 0x10(%rax), %edx
movq -0x10(%rbp), %rax
movslq 0x14(%rax), %rax
leaq 0xb41d(%rip), %rcx      # 0x187d0
imulq $0x204, %rax, %rax      # imm = 0x204
addq %rax, %rcx
addq $0x4, %rcx
leaq 0x440f(%rip), %rsi      # 0x117d7
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xb20d(%rip), %rax      # 0x185e8
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movl 0x10(%rax), %edx
movq -0x10(%rbp), %rax
movslq 0x14(%rax), %rax
leaq 0xb3dc(%rip), %rcx      # 0x187d0
imulq $0x204, %rax, %rax      # imm = 0x204
addq %rax, %rcx
addq $0x4, %rcx
leaq 0x4402(%rip), %rsi      # 0x1180b
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xb1cc(%rip), %rax      # 0x185e8
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movl 0x10(%rax), %edx
movq -0x10(%rbp), %rax
movslq 0x14(%rax), %rax
leaq 0xb39b(%rip), %rcx      # 0x187d0
imulq $0x204, %rax, %rax      # imm = 0x204
addq %rax, %rcx
addq $0x4, %rcx
leaq 0x43fb(%rip), %rsi      # 0x11845
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xb18b(%rip), %rax      # 0x185e8
movq (%rax), %rdi
leaq 0x4411(%rip), %rsi      # 0x11878
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xb16e(%rip), %rax      # 0x185e8
movq (%rax), %rdi
leaq 0x4414(%rip), %rsi      # 0x11898
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xb151(%rip), %rax      # 0x185e8
movq (%rax), %rdi
leaq 0x4416(%rip), %rsi      # 0x118b7
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xb134(%rip), %rax      # 0x185e8
movq (%rax), %rdi
leaq 0x441e(%rip), %rsi      # 0x118dc
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xb117(%rip), %rax      # 0x185e8
movq (%rax), %rdi
movq -0x10(%rbp), %rdx
leaq 0x441a(%rip), %rsi      # 0x118f9
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xb0f6(%rip), %rax      # 0x185e8
movq (%rax), %rdi
leaq 0x4414(%rip), %rsi      # 0x11910
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xb0d9(%rip), %rax      # 0x185e8
movq (%rax), %rdi
leaq 0x4408(%rip), %rsi      # 0x11921
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
cmpq $0x0, -0x10(%rbp)
je 0xd54a
leaq 0xb0b5(%rip), %rax      # 0x185e8
movq (%rax), %rdi
movq -0x10(%rbp), %rdx
leaq 0x43f5(%rip), %rsi      # 0x11936
movb $0x0, %al
callq 0x3120
jmp 0xd562
leaq 0xb097(%rip), %rax      # 0x185e8
movq (%rax), %rdi
leaq 0x43ec(%rip), %rsi      # 0x11947
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xb07a(%rip), %rax      # 0x185e8
movq (%rax), %rdi
movq -0x10(%rbp), %rdx
leaq 0x43d9(%rip), %rsi      # 0x11955
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xb059(%rip), %rax      # 0x185e8
movq (%rax), %rdi
leaq 0x43da(%rip), %rsi      # 0x11973
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xb03c(%rip), %rax      # 0x185e8
movq (%rax), %rdi
leaq 0x43e2(%rip), %rsi      # 0x11998
movl $0x800, %edx            # imm = 0x800
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xb01a(%rip), %rax      # 0x185e8
movq (%rax), %rdi
leaq 0x43e3(%rip), %rsi      # 0x119bb
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xaffd(%rip), %rax      # 0x185e8
movq (%rax), %rdi
leaq 0x43e2(%rip), %rsi      # 0x119d7
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xafe0(%rip), %rax      # 0x185e8
movq (%rax), %rdi
movq -0x10(%rbp), %rdx
leaq 0x43db(%rip), %rsi      # 0x119f1
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xafbf(%rip), %rax      # 0x185e8
movq (%rax), %rdi
leaq 0x43df(%rip), %rsi      # 0x11a12
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xafa2(%rip), %rax      # 0x185e8
movq (%rax), %rdi
leaq 0x43ec(%rip), %rsi      # 0x11a3c
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xaf85(%rip), %rax      # 0x185e8
movq (%rax), %rdi
leaq 0x43e8(%rip), %rsi      # 0x11a55
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xaf68(%rip), %rax      # 0x185e8
movq (%rax), %rdi
leaq 0x43e4(%rip), %rsi      # 0x11a6e
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xaf4b(%rip), %rax      # 0x185e8
movq (%rax), %rdi
movq -0x10(%rbp), %rdx
leaq 0x43d8(%rip), %rsi      # 0x11a83
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xaf2a(%rip), %rax      # 0x185e8
movq (%rax), %rdi
leaq 0x43cf(%rip), %rsi      # 0x11a97
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xaf0d(%rip), %rax      # 0x185e8
movq (%rax), %rdi
leaq 0x43c5(%rip), %rsi      # 0x11aaa
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
jmp 0xd8b3
leaq 0xaeeb(%rip), %rax      # 0x185e8
movq (%rax), %rdi
leaq 0x43b5(%rip), %rsi      # 0x11abc
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xaece(%rip), %rax      # 0x185e8
movq (%rax), %rdi
leaq 0x43a7(%rip), %rsi      # 0x11acb
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xaeb1(%rip), %rax      # 0x185e8
movq (%rax), %rdi
leaq 0x439f(%rip), %rsi      # 0x11ae0
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xae94(%rip), %rax      # 0x185e8
movq (%rax), %rdi
leaq 0x43a0(%rip), %rsi      # 0x11afe
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xae77(%rip), %rax      # 0x185e8
movq (%rax), %rdi
leaq 0x4398(%rip), %rsi      # 0x11b13
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xae5a(%rip), %rax      # 0x185e8
movq (%rax), %rdi
leaq 0x4388(%rip), %rsi      # 0x11b20
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xae3d(%rip), %rax      # 0x185e8
movq (%rax), %rdi
leaq 0x437e(%rip), %rsi      # 0x11b33
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xae20(%rip), %rax      # 0x185e8
movq (%rax), %rdi
leaq 0x4396(%rip), %rsi      # 0x11b68
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xae03(%rip), %rax      # 0x185e8
movq (%rax), %rdi
movq -0x10(%rbp), %rdx
leaq 0x438c(%rip), %rsi      # 0x11b7f
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xade2(%rip), %rax      # 0x185e8
movq (%rax), %rdi
movq -0x10(%rbp), %rdx
leaq 0x4380(%rip), %rsi      # 0x11b94
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xadc1(%rip), %rax      # 0x185e8
movq (%rax), %rdi
movq -0x10(%rbp), %rdx
leaq 0x4382(%rip), %rsi      # 0x11bb7
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
cmpq $0x0, -0x10(%rbp)
je 0xd863
leaq 0xad9c(%rip), %rax      # 0x185e8
movq (%rax), %rdi
movq -0x10(%rbp), %rdx
leaq 0x4387(%rip), %rsi      # 0x11be1
movb $0x0, %al
callq 0x3120
jmp 0xd87b
leaq 0xad7e(%rip), %rax      # 0x185e8
movq (%rax), %rdi
leaq 0x4382(%rip), %rsi      # 0x11bf6
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xad64(%rip), %rax      # 0x185e8
movq (%rax), %rdi
leaq 0x437a(%rip), %rsi      # 0x11c08
movb $0x0, %al
callq 0x3120
jmp 0xd8b3
leaq 0xad4a(%rip), %rax      # 0x185e8
movq (%rax), %rdi
movq -0x10(%rbp), %rdx
leaq 0x42e4(%rip), %rsi      # 0x11b90
movb $0x0, %al
callq 0x3120
leaq 0xaab2(%rip), %rax      # 0x1836c
cmpl $0x0, (%rax)
jne 0xd8cc
leaq 0xaaa6(%rip), %rax      # 0x1836c
movl $0x1, (%rax)
callq 0x5bd0
cmpl $0x0, -0x14(%rbp)
je 0xd8f9
movq 0x9712(%rip), %rax      # 0x16ff0
movq (%rax), %rdi
leaq 0x433c(%rip), %rsi      # 0x11c24
movb $0x0, %al
callq 0x3120
movl $0x1, %edi
callq 0x31b0
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)