On 29 January 2013 14:16, Richard Smith <[email protected]> wrote:
> Hi Nick, > > Your operator< might not be a total order -- it's possible for uses of > two functions to have the same source location if at least one of them > is implicitly called (as part of an implicit conversion, for > instance). Perhaps you could break ties by comparing source locations > of the NamedDecl? > Done. UndefinedInternal now holds a SourceManager* (the alternative being a second FullSourceLoc for the decl). Also, please capitalize the added local variable names (I think these > were introduced by reverting a previous change?), and remove the > redundant braces in SemaDecl.cpp. > Done. Updated patch attached Nick On Tue, Jan 29, 2013 at 4:04 AM, Nick Lewycky <[email protected]> wrote: > > Currently UndefinedInternals grows an entry each time an internal > function > > is ODR-used before it is defined, and this mapping is filtered only when > > diagnostics are emitted. > > > > This patch shrinks that list by removing entries as functions are > defined. > > Because that's a performance sensitive path, we test to see whether there > > even is a previous function declaration, and if so that it was ODR-used, > > before doing the lookup that would remove the entry. Secondly, this patch > > applies the same filtering used when emitting diagnostics to emitting > PCH. > > > > A large chunk of this patch is reverting the switch to MapVector in > r173538, > > as MapVector does not (and can not) support efficient removals. > > > > Please review! > > > > Nick > > > > _______________________________________________ > > cfe-commits mailing list > > [email protected] > > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits > > >
undefined-internal-erase-on-define-2.patch
Description: Binary data
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
