[Bug target/38811] [4.4 Regression] internal compiler error: in compensate_edge, at reg-stack.c:2754

2009-01-14 Thread jakub at gcc dot gnu dot org


--- Comment #8 from jakub at gcc dot gnu dot org  2009-01-14 20:29 ---
Fixed.  The testcase was added in
http://gcc.gnu.org/viewcvs?root=gccview=revrev=143376


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38811



[Bug target/38811] [4.4 Regression] internal compiler error: in compensate_edge, at reg-stack.c:2754

2009-01-13 Thread vmakarov at gcc dot gnu dot org


--- Comment #7 from vmakarov at gcc dot gnu dot org  2009-01-14 03:35 
---
Subject: Bug 38811

Author: vmakarov
Date: Wed Jan 14 03:35:35 2009
New Revision: 143362

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=143362
Log:
2009-01-13  Vladimir Makarov  vmaka...@redhat.com

PR target/38811
* Makefile.in (ira-lives.o): Add except.h.

* ira-lives.c: Include except.h.
(process_bb_node_lives): Process can_throw_internal.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/Makefile.in
trunk/gcc/ira-lives.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38811



[Bug target/38811] [4.4 Regression] internal compiler error: in compensate_edge, at reg-stack.c:2754

2009-01-12 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2009-01-12 09:57 ---
Confirmed.  The following fails with -O2 -m32:

typedef unsigned long ULONG;
void iwos_ErrorMessage(long error, const char * const file_name,
   ULONG line_num, const char * const message);
class AbcA2d {
public:
double x;
double y;
~AbcA2d() { }
};
enum AbcZyParamType { ABC_SP_1 };
class AbcExtent2d {
AbcA2d m_vMin;
AbcA2d m_vMax;
public:
AbcExtent2d(const AbcA2d  rMin, const AbcA2d  rMax);
AbcA2d ClampPoint2d(const AbcA2d  rPoint) const;
AbcA2d GetMax() const { return m_vMax; }
AbcA2d GetMin() const { }
AbcA2d Evaluate(double dNormalizedX, double dNormalizedY) const;
};
inline AbcExtent2d::AbcExtent2d(const AbcA2d  rMin, const AbcA2d  rMax)
{
if (rMin.x  rMax.x || rMin.y  rMax.y)
  {
long sErr = (1007);
if (sErr != 1000)
  iwos_ErrorMessage(sErr,(const char * const)__null,
0,(const char * const)__null);
  }
else
  {
m_vMin = rMin;
m_vMax = rMax;
  }
}
inline AbcA2d AbcExtent2d::ClampPoint2d(const AbcA2d  rPoint) const
{
AbcA2d sRet = rPoint;
if (rPoint.x  m_vMin.x)
  sRet.x = m_vMin.x;
return sRet;
}
inline AbcA2d AbcExtent2d::Evaluate(double dNormalizedX, double dNormalizedY)
const
{
AbcA2d sRet;
sRet.x = m_vMin.x + dNormalizedX * (m_vMax.x - m_vMin.x);
sRet.y = m_vMin.y + dNormalizedY * (m_vMax.y - m_vMin.y);
return ClampPoint2d(sRet);
}
class AbcAbcdTracer {
AbcExtent2d m_vUVDomain;
virtual long TestIsoAbcde(AbcZyParamType eZyParam, double dParam,
  int  rbZyxIsSolution);
virtual int DoesPointLieOnAbcde(AbcA2d  rUV, int bRefinePoint) const;
};
long AbcAbcdTracer::TestIsoAbcde(AbcZyParamType eZyParam, double dParam,
 int  rbZyxIsSolution)
{
AbcA2d sUV1(m_vUVDomain.GetMin());
AbcA2d sUV2(m_vUVDomain.GetMax());
AbcExtent2d sUVIso(sUV1,sUV2);
for (ULONG i=0; i10; i++)
  {
double dT = i / (10 -1.0);
AbcA2d sUV = sUVIso.Evaluate(dT,dT);
if (!DoesPointLieOnAbcde(sUV,0))
  ;
  }
}


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
  Component|c++ |target
 Ever Confirmed|0   |1
   GCC host triplet|x86_64-unknown-linux-gnu|
 GCC target triplet|x86_64-unknown-linux-gnu|i?86-*-*
   Keywords||ice-on-valid-code
  Known to fail||4.4.0
  Known to work||4.3.2
   Last reconfirmed|-00-00 00:00:00 |2009-01-12 09:57:37
   date||
Summary|internal compiler error: in |[4.4 Regression] internal
   |compensate_edge, at reg-|compiler error: in
   |stack.c:2754|compensate_edge, at reg-
   ||stack.c:2754
   Target Milestone|--- |4.4.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38811



[Bug target/38811] [4.4 Regression] internal compiler error: in compensate_edge, at reg-stack.c:2754

2009-01-12 Thread ubizjak at gmail dot com


--- Comment #4 from ubizjak at gmail dot com  2009-01-12 15:06 ---
-fno-ira fixes the failure.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38811



[Bug target/38811] [4.4 Regression] internal compiler error: in compensate_edge, at reg-stack.c:2754

2009-01-12 Thread hjl dot tools at gmail dot com


--- Comment #5 from hjl dot tools at gmail dot com  2009-01-12 17:27 ---
Is this an IRA bug?


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 CC||vmakarov at redhat dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38811



[Bug target/38811] [4.4 Regression] internal compiler error: in compensate_edge, at reg-stack.c:2754

2009-01-12 Thread vmakarov at redhat dot com


--- Comment #6 from vmakarov at redhat dot com  2009-01-12 22:12 ---
Yes, it is an IRA bug.  Code processing calls to functions can throw is
lost in IRA.

I'll submit a patch tomorrow.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38811