<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'><div>Hans,</div><div>  </div><div>   Did you have chance to try this repro?</div><div>I looked in the library header and the memset prototype looks normal, but libclang still reports the weird one.</div><div><br></div><div>Thanks</div><div><br></div><div>Dan<br><br></div><div><hr id="stopSpelling">From: dan@walms.co.uk<br>To: hans@chromium.org<br>CC: cfe-dev@lists.llvm.org<br>Subject: RE: Regression in Release Candidate 2<br>Date: Thu, 25 Aug 2016 11:51:26 +0000<br><br>

<style><!--
.ExternalClass .ecxhmmessage P {
padding:0px;
}

.ExternalClass body.ecxhmmessage {
font-size:12pt;
font-family:Calibri;
}

--></style>
<div dir="ltr"><div><br>

<style><!--
.ExternalClass .ecxhmmessage P {
padding:0px;
}

.ExternalClass body.ecxhmmessage {
font-size:12pt;
font-family:Calibri;
}


--></style>
<div dir="ltr"><div>Hi, </div><div><br></div><div>   Ok here are my precise instructions which reproduce the issue.</div><div>I have copied my files including the library being used into a 7zip format.</div><div><br></div><div>Here is the link to download (I had attached it but I think it was rejected by email server)</div><div><a href="https://1drv.ms/u/s%21Avy6wigimZy_qY5T9uqsxkkmz0_QQg" target="_blank">https://1drv.ms/u/s!Avy6wigimZy_qY5T9uqsxkkmz0_QQg</a></div><div><br></div><div>Extract the zip file to c:\ (or on Linux ~)</div><div><br></div><div>This will extract a folder called AvalonStudio (the IDE I have integrated Clang into.) Don't worry its only 20mb of files for minimal repro.</div><div><br></div><div>Then run your test on the file.</div><div><br></div><div>AvalonStudio\Projects\Repro\Repro\main.cpp</div><div>(you will see I have half completed memset function.)<br></div><div><br></div><div>with the following compiler arguments...</div><div>"-isystemc:\\AvalonStudio\\AppData\\Repos\\AvalonStudio.Toolchains.Clang\\arm-none-eabi\\include -isystemc:\\AvalonStudio\\AppData\\Repos\\AvalonStudio.Toolchains.Clang\\lib\\gcc\\arm-none-eabi\\5.4.1\\include -xc++ -std=c++14 -Wunused-variable "</div><div><br></div><div>(if you are on Linux replace c:\\ with the dir where you extracted zip file.)</div><div><br></div><div>Many thanks for looking at this with me.</div><div><br></div><div>Dan<br><br></div><div>> From: hans@chromium.org<br>> Date: Wed, 24 Aug 2016 13:33:39 -0700<br>> Subject: Re: Regression in Release Candidate 2<br>> To: dan@walms.co.uk<br>> CC: cfe-dev@lists.llvm.org<br>> <br>> I've tried to reproduce this, but can't see any difference between<br>> completeAt in 3.7.1 and 3.9-rc2:<br>> <br>> $ wget http://llvm.org/releases/3.7.1/clang+llvm-3.7.1-x86_64-linux-gnu-ubuntu-14.04.tar.xz<br>> $ tar Jxf clang+llvm-3.7.1-x86_64-linux-gnu-ubuntu-14.04.tar.xz<br>> $ g++ libclang_test.cc -I<br>> clang+llvm-3.7.1-x86_64-linux-gnu-ubuntu-14.04/include -L<br>> clang+llvm-3.7.1-x86_64-linux-gnu-ubuntu-14.04/lib -lclang<br>> $ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:clang+llvm-3.7.1-x86_64-linux-gnu-ubuntu-14.04/lib<br>> ./a.out | head<br>> string: 0 chunk: 0 kind: 15 text: char *<br>> string: 0 chunk: 1 kind: 1 text: stpcpy<br>> string: 0 chunk: 2 kind: 6 text: (<br>> string: 0 chunk: 3 kind: 3 text: char *__restrict __dest<br>> string: 0 chunk: 4 kind: 14 text: ,<br>> string: 0 chunk: 5 kind: 3 text: const char *__restrict __src<br>> string: 0 chunk: 6 kind: 7 text: )<br>> string: 1 chunk: 0 kind: 15 text: void *<br>> string: 1 chunk: 1 kind: 1 text: rawmemchr<br>> string: 1 chunk: 2 kind: 6 text: (<br>> <br>> <br>> $ wget http://llvm.org/pre-releases/3.9.0/rc2/clang+llvm-3.9.0-rc2-x86_64-linux-gnu-debian8.tar.xz<br>> $ tar Jxf clang+llvm-3.9.0-rc2-x86_64-linux-gnu-debian8.tar.xz<br>> $ g++ libclang_test.cc -I<br>> clang+llvm-3.9.0-rc2-x86_64-linux-gnu-debian8/include -L<br>> clang+llvm-3.9.0-rc2-x86_64-linux-gnu-debian8/lib -lclang<br>> $ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:clang+llvm-3.9.0-rc2-x86_64-linux-gnu-debian8/lib<br>> ./a.out | head<br>> string: 0 chunk: 0 kind: 15 text: char *<br>> string: 0 chunk: 1 kind: 1 text: strncat<br>> string: 0 chunk: 2 kind: 6 text: (<br>> string: 0 chunk: 3 kind: 3 text: char *__restrict __dest<br>> string: 0 chunk: 4 kind: 14 text: ,<br>> string: 0 chunk: 5 kind: 3 text: const char *__restrict __src<br>> string: 0 chunk: 6 kind: 14 text: ,<br>> string: 0 chunk: 7 kind: 3 text: int __n<br>> string: 0 chunk: 8 kind: 7 text: )<br>> string: 1 chunk: 0 kind: 15 text: void *<br>> <br>> <br>> Could it be that the newer clang for some reason grabs the string.h<br>> header from a different location than the old one? "clang -v" should<br>> print where it searches for headers.<br>> <br>> char* functionname( void)<br>> <br>> looks like a very strange prototype for memset though.<br>> <br>>  - Hans<br>> <br>> <br>> On Wed, Aug 24, 2016 at 3:56 AM, Dan Walmsley <dan@walms.co.uk> wrote:<br>> ><br>> > Hi,<br>> ><br>> > I noticed a regression in this build...<br>> ><br>> > libclang, code completeAt...<br>> > the results returned inbuilt libraries, i.e. memset<br>> ><br>> > all come back as char* functionname( void)<br>> ><br>> > if I go back to older build (3.7.1) then this information returns.<br>> ><br>> > Any ideas?<br>> ><br>> > Dan<br>> ><br>> >> Date: Mon, 22 Aug 2016 16:15:12 -0700<br>> >> To: renato.golin@linaro.org<br>> >> CC: llvm-dev@lists.llvm.org; release-testers@lists.llvm.org;<br>> >> cfe-dev@lists.llvm.org; openmp-dev@lists.llvm.org; lldb-dev@lists.llvm.org<br>> >> Subject: Re: [cfe-dev] [Release-testers] [3.9 Release] Release Candidate 2<br>> >> source and binaries available<br>> >> From: cfe-dev@lists.llvm.org<br>> >><br>> >> I replied on the "has been tagged" thread; I couldn't find the binary<br>> >> on the sftp. Maybe you uploaded the wrong version, or in some other<br>> >> folder?<br>> >><br>> >> On Mon, Aug 22, 2016 at 4:01 PM, Renato Golin <renato.golin@linaro.org><br>> >> wrote:<br>> >> > Hi Hans,<br>> >> ><br>> >> > I did upload the aarch64 binary, didn't you find it? Maybe I uploaded<br>> >> > the<br>> >> > wrong one?<br>> >> ><br>> >> > Cheers,<br>> >> > Renato<br>> >> ><br>> >> ><br>> >> > On 22 Aug 2016 7:55 p.m., "Hans Wennborg via Release-testers"<br>> >> > <release-testers@lists.llvm.org> wrote:<br>> >> >><br>> >> >> We're getting close to the final release. I know the schedule on the<br>> >> >> web page says 'final' should be tagged today, but I still think it<br>> >> >> should be possible to get there this week.<br>> >> >><br>> >> >> Source and binaries for LLVM-3.9.0-rc2 are now available at<br>> >> >> http://llvm.org/pre-releases/3.9.0/#rc2<br>> >> >><br>> >> >> Please try it out and let me know if you find any issues.<br>> >> >><br>> >> >> As we're running out of time, RC2 will be a short test cycle, so if<br>> >> >> you're planning on testing it, please don't procrastinate it :-)<br>> >> >><br>> >> >> Thanks,<br>> >> >> Hans<br>> >> >> _______________________________________________<br>> >> >> Release-testers mailing list<br>> >> >> Release-testers@lists.llvm.org<br>> >> >> http://lists.llvm.org/cgi-bin/mailman/listinfo/release-testers<br>> >> _______________________________________________<br>> >> cfe-dev mailing list<br>> >> cfe-dev@lists.llvm.org<br>> >> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev<br></div>                                      </div></div>                                        </div></div>                                        </div></body>
</html>