static inline operator generates an external symbol

Martin v. Loewis
Tue Jan 18 12:42:00 GMT 2000

> Therefore, the compiler itself must create the declaration
> regardless of using builtins or not.

Indeed. According to the C++ standard, 3.7.3, []/2:

# The following allocation and deallocation functions (18.4) are
# implicitly declared in global scope in each translation unit of a
# program
# void* operator new(std::size_t) throw(std::bad_alloc); 
# void* operator new[](std::size_t) throw(std::bad_alloc); 
# void operator delete(void*) throw(); 
# void operator delete[](void*) throw();

It is not possible to declare those functions static in Standard C++,


More information about the Gcc-bugs mailing list