diff options
author | Ian Lynagh <igloo@earth.li> | 2011-11-06 15:53:39 +0000 |
---|---|---|
committer | Ian Lynagh <igloo@earth.li> | 2011-11-06 15:53:39 +0000 |
commit | ab9e7e37baa71576f9dd8aaff07d10a330e5625d (patch) | |
tree | 8a472b8e4ac6c9b4075eadc1a1bee0730f4ead65 /compiler/codeGen/CgUtils.hs | |
parent | 017897cff24a1eb24f0227806898b1aa738560d5 (diff) | |
download | haskell-ab9e7e37baa71576f9dd8aaff07d10a330e5625d.tar.gz |
Give a better error for uses of R11, R12, ...; trac #5422
It's still a panic, as it wouldn't be trivial to give a proper error
at the point that we generate it, but it's now a bit nicer:
Registers above R10 are not supported (tried to use R11)
Diffstat (limited to 'compiler/codeGen/CgUtils.hs')
-rw-r--r-- | compiler/codeGen/CgUtils.hs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler/codeGen/CgUtils.hs b/compiler/codeGen/CgUtils.hs index 5c52eeb2c6..3ee47264e7 100644 --- a/compiler/codeGen/CgUtils.hs +++ b/compiler/codeGen/CgUtils.hs @@ -407,15 +407,19 @@ baseRegOffset (VanillaReg 7 _) = oFFSET_StgRegTable_rR7 baseRegOffset (VanillaReg 8 _) = oFFSET_StgRegTable_rR8 baseRegOffset (VanillaReg 9 _) = oFFSET_StgRegTable_rR9 baseRegOffset (VanillaReg 10 _) = oFFSET_StgRegTable_rR10 +baseRegOffset (VanillaReg n _) = panic ("Registers above R10 are not supported (tried to use R" ++ show n ++ ")") baseRegOffset (FloatReg 1) = oFFSET_StgRegTable_rF1 baseRegOffset (FloatReg 2) = oFFSET_StgRegTable_rF2 baseRegOffset (FloatReg 3) = oFFSET_StgRegTable_rF3 baseRegOffset (FloatReg 4) = oFFSET_StgRegTable_rF4 +baseRegOffset (FloatReg n) = panic ("Registers above F4 are not supported (tried to use F" ++ show n ++ ")") baseRegOffset (DoubleReg 1) = oFFSET_StgRegTable_rD1 baseRegOffset (DoubleReg 2) = oFFSET_StgRegTable_rD2 +baseRegOffset (DoubleReg n) = panic ("Registers above D2 are not supported (tried to use D" ++ show n ++ ")") baseRegOffset Sp = oFFSET_StgRegTable_rSp baseRegOffset SpLim = oFFSET_StgRegTable_rSpLim baseRegOffset (LongReg 1) = oFFSET_StgRegTable_rL1 +baseRegOffset (LongReg n) = panic ("Registers above L1 are not supported (tried to use L" ++ show n ++ ")") baseRegOffset Hp = oFFSET_StgRegTable_rHp baseRegOffset HpLim = oFFSET_StgRegTable_rHpLim baseRegOffset CurrentTSO = oFFSET_StgRegTable_rCurrentTSO @@ -425,7 +429,7 @@ baseRegOffset EagerBlackholeInfo = oFFSET_stgEagerBlackholeInfo baseRegOffset GCEnter1 = oFFSET_stgGCEnter1 baseRegOffset GCFun = oFFSET_stgGCFun baseRegOffset BaseReg = panic "baseRegOffset:BaseReg" -baseRegOffset _ = panic "baseRegOffset:other" +baseRegOffset PicBaseReg = panic "baseRegOffset:PicBaseReg" ------------------------------------------------------------------------- |