Menu

#306 Compiler says it's unable to find a spill reg, bails out

closed-fixed
gcc (462)
2004-07-27
2003-03-03
Dan Mathews
No

The compiler says it is unable to find a spill register, dumps a bunch
of internal data, and then bails out because it is "confused". Actual
error messages are:

C-Source/DCalc-A.cpp:430: unable
to find a register to spill in class `AREG'
C-Source/DCalc-
A.cpp:430: this is the insn:
(insn 1964 1963 1968 (parallel[

(set (reg/v:SI 2 ecx [215])
(truncate:SI (lshiftrt:DI (mult:DI
(sign_extend:DI (reg:SI 486))
(sign_extend:DI (reg:SI 1 edx
[217])))
(const_int 32 [0x20]))))
(clobber (scratch:SI))

(clobber (reg:CC 17 flags))
] ) 264 {*smulsi3_highpart_insn}
(insn_list 1963 (insn_list:REG_DEP_ANTI 1955 (nil)))

(expr_list:REG_DEAD (reg:SI 1 edx [217])

(expr_list:REG_UNUSED (scratch:SI)

(expr_list:REG_UNUSED (reg:CC 17 flags)
(nil)))))
C-
Source/DCalc-A.cpp:430: confused by earlier errors, bailing
out

Attached is a zip file containing the program source, the
batch file I use to compile the program, and a batch file that contains
the command I use to invoke the batch file that compiles the
program.

Discussion

  • Dan Mathews

    Dan Mathews - 2003-03-03
    • labels: --> gcc
     
  • Dan Mathews

    Dan Mathews - 2003-03-03

    Logged In: YES
    user_id=722870

    I forgot --- versions are g++ (GCC) 3.2.2 (mingw special 20030208-1)

     
  • Danny Smith

    Danny Smith - 2003-03-03

    Logged In: YES
    user_id=11494

    No attachment

     
  • Dan Mathews

    Dan Mathews - 2003-03-03

    Again, zip file containing supporting files

     
  • Danny Smith

    Danny Smith - 2004-07-27
    • assigned_to: nobody --> dannysmith
     
  • Danny Smith

    Danny Smith - 2004-07-27
    • status: open --> closed-fixed
     
  • Danny Smith

    Danny Smith - 2004-07-27

    Logged In: YES
    user_id=11494

    Fixed in 3.4.1 and trunk.