Testcase only in 64bit mode where sizeof (long) != sizeof(int):
struct c
{
  int t;
  int y;
  c();
};
template <typename T>
T *
allocbuf (unsigned long size)
{
  return new T[size];
}
c * a = allocbuf<c>(10);


See PR 22368 for the patch to detect this.

-- 
           Summary: C++ front-end produces mis-match types in EQ_EXPR (array
                    constructor)
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: pinskia at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org
GCC target triplet: powerpc64-darwin
OtherBugsDependingO 22368
             nThis:


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

Reply via email to