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

Reply via email to