template <typename T> 
struct Tuple {
     T* base;
     void AllocateMoreSpace(unsigned size) {
          base = (new T[1]) - size;
     }
};
class ErrorInfo {
     virtual void getErrorMessage();
};
template class Tuple<ErrorInfo>;


body.3.ii: In member function 'void Tuple<T>::AllocateMoreSpace(unsigned int)
[with T = ErrorInfo]':
body.3.ii:11:   instantiated from here
body.3.ii:4: error: type mismatch in pointer plus expression
struct ErrorInfo *

struct ErrorInfo[1] *

long unsigned int

D.2076 = D.2044 + D.2075
body.3.ii:4: internal compiler error: verify_gimple failed
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.


-- 
           Summary: [4.3 Regression] Type verification failure with new
                    expression
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code, ice-checking
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: rguenth at gcc dot gnu dot org


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

Reply via email to