On Tue, Jun 17, 2014 at 04:34:16PM +0200, Florian Weimer wrote: > >I'm not that familiar with the exact requirements of std::vector, could > >we use the same trick as > >http://mxr.mozilla.org/mozilla-central/source/xpcom/glue/nsTArray.h#275 > >that is instead of pointing at null point at a global header used for > >all empty vectors? > > For std::vector, we could use reinterpret_cast<T*>(alignof(T)) or > reinterpret_cast<T*>(sizeof(T)) if those are sufficiently well-defined as > far as GCC is concerned. The smaller constant is easier to load, and no > relocation is required.
If there is no object at those addresses, that is still undefined behavior. GCC will likely not optimize it away at this point, but having code with undefined behavior is just asking for future trouble. Just use "" instead? Jakub