This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] : Improve std::search on v7

Hash: SHA1

Gabriel Dos Reis wrote:
> chris jefferson <> writes:
> | This is quite a simple patch that does a few things.
> | 
> | 1) Adds a new version of a more generic bind2nd to predefined_ops.h
> | (if anyone has the old copy, it should be dumped and the file replaced
> | with a clean CVS version, then this patch applied.
> | 
> | This uses the "Empty Base Optimization" to avoid PR20408, but even if
> I think we have already proven in the past that non-careful uses of
> EBO change program semantics.  Think of a function object with virtual
> operator(). 
Hmm.. out of interest, could you give an example of exactly how this can
break? I've heard of such problems with EBO, but couldn't find a
concrete example of it breaking, and failed to do so myself (possibly a
lack of imagination).

Regardless of this however, I shall do what I should probably have done
in the first place, which is something like:

template <typename Comp, typename Val>
struct __bind2nd
  struct trivial : private Comp
  { Val& val; }

and this way there is no possibility of evil leakage.

Version: GnuPG v1.4.0 (MingW32)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]