This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ 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: Some extra decorations


> Hi,
> > I am now looking if I can get the warnings into low enough noise so it
> > can be used by default.  There are some problems with that, in
> > particular stuff in throw_condtioinally defined in throw-allocator.h
> > It seems to be plain externally visible function that is defined in
> > system header.  Why we do so?
> > It don't seem to be exported from libstdc++ nor useful in application
> > (i.e. if I include throw-allocator in multiple source files I get link
> > error).  How these headers are supposed to be used?
> >   
> Benjamin probably knows better about this allocator, certainly, as-is,
> you are right there is something wrong with those functions, because
> defined out-of-line.
> 
> Patch is ok, thanks!

Thanks! Note that there is still one patch adding nothrow attribute to
specializations of hash () operator.  This is one of few remaining
issues.  I plan to add detection of throw (sometypes) markers now too,
since this seems important for closure property of throw() markers that
will probably add some extra annotations.

There are also few annotations that I would like to add to functions
declared in headers where GCC don't know if they are finite so it is not
sure it can remove call to them even if it can prove there are no side
effects otherwise.

These are especially couple loops in rb tree that seems important
because they are used for std::map that is quite common thing to use.
I already got about 40% speedup on one raytracer kernel I randomly found
in Microsoft bugzilla while looking for STL oriented benchamrks (still
don't have any resonable). There is nothing in the loops itself that
would suggest they are finite unless you know what RB tree really is..

Honza
> 
> Paolo.


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