Compiler warnings NewDelete.cxx ROOT 6.14.00

Hi there,

today I was compiling the new ROOT release 6.14.00 (with -Dcxx17=ON). During compilation, g++ throws some warnings at me. Since I don’t know exactly what the NewDelete.cxx in ROOT is doing, I wanted to ask if that is something that should be fixed:

[6562/8610] Building CXX object core/newdelete/CMakeFiles/New.dir/src/NewDelete.cxx.o
/home/behrenhoff/root/root-6.14.00/core/newdelete/src/NewDelete.cxx: In function ‘void* operator new(size_t, std::align_val_t)’:
/home/behrenhoff/root/root-6.14.00/core/newdelete/src/NewDelete.cxx:217:11: warning: ‘operator new’ must not return NULL unless it is declared ‘throw()’ (or -fcheck-new is in effect)
    return nullptr;
           ^~~~~~~
/home/behrenhoff/root/root-6.14.00/core/newdelete/src/NewDelete.cxx:214:27: warning: unused parameter ‘size’ [-Wunused-parameter]
 void *operator new(size_t size, std::align_val_t al)
                           ^~~~
/home/behrenhoff/root/root-6.14.00/core/newdelete/src/NewDelete.cxx:214:50: warning: unused parameter ‘al’ [-Wunused-parameter]
 void *operator new(size_t size, std::align_val_t al)
                                                  ^~
/home/behrenhoff/root/root-6.14.00/core/newdelete/src/NewDelete.cxx: In function ‘void* operator new(size_t, std::align_val_t, const std::nothrow_t&)’:
/home/behrenhoff/root/root-6.14.00/core/newdelete/src/NewDelete.cxx:220:27: warning: unused parameter ‘size’ [-Wunused-parameter]
 void *operator new(size_t size, std::align_val_t al, const std::nothrow_t&) noexcept
                           ^~~~
/home/behrenhoff/root/root-6.14.00/core/newdelete/src/NewDelete.cxx:220:50: warning: unused parameter ‘al’ [-Wunused-parameter]
 void *operator new(size_t size, std::align_val_t al, const std::nothrow_t&) noexcept
                                                  ^~
/home/behrenhoff/root/root-6.14.00/core/newdelete/src/NewDelete.cxx: In function ‘void operator delete(void*, std::align_val_t)’:
/home/behrenhoff/root/root-6.14.00/core/newdelete/src/NewDelete.cxx:300:28: warning: unused parameter ‘ptr’ [-Wunused-parameter]
 void operator delete(void *ptr, std::align_val_t al) noexcept
                            ^~~
/home/behrenhoff/root/root-6.14.00/core/newdelete/src/NewDelete.cxx:300:50: warning: unused parameter ‘al’ [-Wunused-parameter]
 void operator delete(void *ptr, std::align_val_t al) noexcept
                                                  ^~
/home/behrenhoff/root/root-6.14.00/core/newdelete/src/NewDelete.cxx: In function ‘void operator delete(void*, std::align_val_t, const std::nothrow_t&)’:
/home/behrenhoff/root/root-6.14.00/core/newdelete/src/NewDelete.cxx:304:28: warning: unused parameter ‘ptr’ [-Wunused-parameter]
 void operator delete(void *ptr, std::align_val_t al, const std::nothrow_t&) noexcept
                            ^~~
/home/behrenhoff/root/root-6.14.00/core/newdelete/src/NewDelete.cxx:304:50: warning: unused parameter ‘al’ [-Wunused-parameter]
 void operator delete(void *ptr, std::align_val_t al, const std::nothrow_t&) noexcept
                                                  ^~
/home/behrenhoff/root/root-6.14.00/core/newdelete/src/NewDelete.cxx: In function ‘void* operator new [](size_t, std::align_val_t)’:
/home/behrenhoff/root/root-6.14.00/core/newdelete/src/NewDelete.cxx:344:11: warning: ‘operator new’ must not return NULL unless it is declared ‘throw()’ (or -fcheck-new is in effect)
    return nullptr;
           ^~~~~~~
/home/behrenhoff/root/root-6.14.00/core/newdelete/src/NewDelete.cxx:341:29: warning: unused parameter ‘size’ [-Wunused-parameter]
 void *operator new[](size_t size, std::align_val_t al)
                             ^~~~
/home/behrenhoff/root/root-6.14.00/core/newdelete/src/NewDelete.cxx:341:52: warning: unused parameter ‘al’ [-Wunused-parameter]
 void *operator new[](size_t size, std::align_val_t al)
                                                    ^~
/home/behrenhoff/root/root-6.14.00/core/newdelete/src/NewDelete.cxx: In function ‘void* operator new [](size_t, std::align_val_t, const std::nothrow_t&)’:
/home/behrenhoff/root/root-6.14.00/core/newdelete/src/NewDelete.cxx:347:29: warning: unused parameter ‘size’ [-Wunused-parameter]
 void *operator new[](size_t size, std::align_val_t al, const std::nothrow_t&) noexcept
                             ^~~~
/home/behrenhoff/root/root-6.14.00/core/newdelete/src/NewDelete.cxx:347:52: warning: unused parameter ‘al’ [-Wunused-parameter]
 void *operator new[](size_t size, std::align_val_t al, const std::nothrow_t&) noexcept
                                                    ^~
/home/behrenhoff/root/root-6.14.00/core/newdelete/src/NewDelete.cxx: In function ‘void operator delete [](void*, std::align_val_t)’:
/home/behrenhoff/root/root-6.14.00/core/newdelete/src/NewDelete.cxx:373:30: warning: unused parameter ‘ptr’ [-Wunused-parameter]
 void operator delete[](void *ptr, std::align_val_t al) noexcept
                              ^~~
/home/behrenhoff/root/root-6.14.00/core/newdelete/src/NewDelete.cxx:373:52: warning: unused parameter ‘al’ [-Wunused-parameter]
 void operator delete[](void *ptr, std::align_val_t al) noexcept
                                                    ^~
/home/behrenhoff/root/root-6.14.00/core/newdelete/src/NewDelete.cxx: At global scope:
/home/behrenhoff/root/root-6.14.00/core/newdelete/src/NewDelete.cxx:263:6: warning: the program should also define ‘void operator delete(void*, std::size_t)’ [-Wsized-deallocation]
 void operator delete(void *ptr) noexcept
      ^~~~~~~~
/home/behrenhoff/root/root-6.14.00/core/newdelete/src/NewDelete.cxx:367:6: warning: the program should also define ‘void operator delete [](void*, std::size_t)’ [-Wsized-deallocation]
 void operator delete[](void *ptr) noexcept
      ^~~~~~~~

ROOT Version: 6.14.00
Platform: Kubuntu 18.04 LTS
Compiler: g++ 7.3.0


This is already an issue in Jira: ROOT-9448. Thanks for reporting anyway.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.