[cfe-commits] r101088 - in /cfe/trunk: lib/Sema/Sema.h lib/Sema/SemaType.cpp test/SemaCXX/conversion-function.cpp
dgregor at apple.com
Mon Apr 12 16:46:39 PDT 2010
On Apr 12, 2010, at 4:33 PM, John McCall wrote:
> On Apr 12, 2010, at 4:19 PM, Douglas Gregor wrote:
>> Author: dgregor
>> Date: Mon Apr 12 18:19:01 2010
>> New Revision: 101088
>> URL: http://llvm.org/viewvc/llvm-project?rev=101088&view=rev
>> Improve source-location information for C++ conversion functions, by
>> copying the type location information from the conversion-type-id into
>> the type location information for the function type. Do something
>> similar for constructors and destructors, by giving their "void"
>> return type source-location information.
>> In all of these cases, we previously left this type-source information
>> uninitialized, which led to various unfortunate crashes.
>> We still aren't tracking good source-location information for the
>> actual names. That's PR6357.
>> John, please check my sanity on this.
> I think both of these FIXMEs are spurious; they're about tracking the source location for the name, not the type.
> Ctors and dtors should get a null source location for the 'void' unless that's a huge problem.
I like to avoid having invalid source locations, since they sometimes end up propagating to routines that emit diagnostics (e.g., Sema::RequireCompleteType, which instantiates templates, which dies when it gets an invalid source location).
More information about the cfe-commits