Hi Edwin,<div><br></div><div>I've seen this before for C++11 code combining templates with auto. We added the same condition in this rev:</div><div><a href="https://code.google.com/p/include-what-you-use/source/detail?r=421">https://code.google.com/p/include-what-you-use/source/detail?r=421</a></div>
<div><br></div><div>Our test case should be a clean example. I haven't seen it for C++03.<span></span></div><div><br></div><div>- Kim<br><br>On Tuesday, May 7, 2013, Vane, Edwin  wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I ran into the isNull() problem a while back. I've since forgotten the code fragment that triggered the problem so coming up with a test case is going to be tough. Anybody know a situation where a ValueDecl or Expr getType() would return a QualType where isNull() is true?<br>

<br>
> -----Original Message-----<br>
> From: <a href="javascript:;" onclick="_e(event, 'cvml', 'metafoo@gmail.com')">metafoo@gmail.com</a> [mailto:<a href="javascript:;" onclick="_e(event, 'cvml', 'metafoo@gmail.com')">metafoo@gmail.com</a>] On Behalf Of Richard<br>

> Smith<br>
> Sent: Tuesday, May 07, 2013 1:18 PM<br>
> To: Vane, Edwin; Douglas Gregor; Manuel Klimek<br>
> Cc: Dmitri Gribenko; cfe-commits cfe<br>
> Subject: Re: r181329 - Prevent crashes from hasCanonicalType matcher<br>
><br>
> On Tue, May 7, 2013 at 10:04 AM, Vane, Edwin <<a href="javascript:;" onclick="_e(event, 'cvml', 'edwin.vane@intel.com')">edwin.vane@intel.com</a>> wrote:<br>
><br>
><br>
>       Probably a good idea. Who has to do that?<br>
><br>
><br>
> Please add a test case, then ask the code owner to approve for the branch (and<br>
> CC the release manager).<br>
><br>
> The code owner for ASTMatchers should probably be Manuel but appears to<br>
> currently be Doug. The release manager is Bill Wendling.<br>
><br>
><br>
>       > -----Original Message-----<br>
>       > From: Dmitri Gribenko [mailto:<a href="javascript:;" onclick="_e(event, 'cvml', 'gribozavr@gmail.com')">gribozavr@gmail.com</a>]<br>
>       > Sent: Tuesday, May 07, 2013 11:57 AM<br>
>       > To: Vane, Edwin<br>
>       > Cc: cfe-commits cfe<br>
>       > Subject: Re: r181329 - Prevent crashes from hasCanonicalType<br>
> matcher<br>
>       ><br>
>       > On Tue, May 7, 2013 at 6:53 PM, Edwin Vane<br>
> <<a href="javascript:;" onclick="_e(event, 'cvml', 'edwin.vane@intel.com')">edwin.vane@intel.com</a>> wrote:<br>
>       > > Author: revane<br>
>       > > Date: Tue May  7 10:53:23 2013<br>
>       > > New Revision: 181329<br>
>       > ><br>
>       > > URL: <a href="http://llvm.org/viewvc/llvm-project?rev=181329&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=181329&view=rev</a><br>
>       > > Log:<br>
>       > > Prevent crashes from hasCanonicalType matcher<br>
>       > ><br>
>       > > Adding an QualType::isNull() check.<br>
>       ><br>
>       > Shall we commit this to Clang 3.3 branch, too?<br>
>       ><br>
>       > Dmitri<br>
>       ><br>
>       > --<br>
>       > main(i,j){for(i=2;;i++){for(j=2;j<i;j++){if(!(i%j)){j=0;break;}}if<br>
>       > (j){printf("%d\n",i);}}} /*Dmitri Gribenko <<a href="javascript:;" onclick="_e(event, 'cvml', 'gribozavr@gmail.com')">gribozavr@gmail.com</a>>*/<br>
><br>
>       _______________________________________________<br>
>       cfe-commits mailing list<br>
>       <a href="javascript:;" onclick="_e(event, 'cvml', 'cfe-commits@cs.uiuc.edu')">cfe-commits@cs.uiuc.edu</a><br>
>       <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
><br>
><br>
<br>
<br>
_______________________________________________<br>
cfe-commits mailing list<br>
<a href="javascript:;" onclick="_e(event, 'cvml', 'cfe-commits@cs.uiuc.edu')">cfe-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
</blockquote></div>