Compiling the following code snippet with "g++ -m32 -S -Wall -O2 t.cc" on a 64bit machine issues a warning
t.cc: In static member function 'static void NewDelFunctionsT<T>::deleteArray_T(void*) [with T = EcalTPGLut]': t.cc:12: warning: array subscript is below array bounds This does not happen with 4.4. t.cc: class EcalTPGLut { public: ~EcalTPGLut() ; private: unsigned int lut_[1024]; }; template <class T> struct NewDelFunctionsT { static void deleteArray_T(void* p) { delete[] (T*) p; } }; typedef void (*DelArrFunc_t)(void*); DelArrFunc_t method_newdel_98() { return NewDelFunctionsT< ::EcalTPGLut >::deleteArray_T; } -- Summary: spurious warning "array subscript is below array bounds" Product: gcc Version: 4.3.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: gcc at axel-naumann dot de GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: -m32 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40658