<br><br><div class="gmail_quote">On Tue, Aug 6, 2013 at 5:11 PM,  <span dir="ltr"><<a href="mailto:cfe-dev-request@cs.uiuc.edu" target="_blank">cfe-dev-request@cs.uiuc.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<br>
Date: Tue, 6 Aug 2013 08:10:46 -0700 (PDT)<br>
From: Rambo <<a href="mailto:hunanlwm@sina.cn" target="_blank">hunanlwm@sina.cn</a>><br>
To: <a href="mailto:cfe-dev@cs.uiuc.edu" target="_blank">cfe-dev@cs.uiuc.edu</a><br>
Subject: [cfe-dev] error as "glibc detected" occurd in CItutorial6.cpp<br>
        when clang version is 3.3<br>
Message-ID: <<a href="mailto:1375801845981-4033763.post@n3.nabble.com" target="_blank">1375801845981-4033763.post@n3.nabble.com</a>><br>
Content-Type: text/plain; charset=UTF-8<br>
<br>
Hi,<br>
   I can compile and run CItutorial6.cpp Perfectly when clang version is<br>
3.1,Now I reset my OS(ubuntu 12.04 ) and upgrade clang to 3.3.I can compile<br>
the CItutorial6.cpp,Unfortunately as long as I run it ,It is terminate with<br>
an error as follow.<br>
<br>
administrator@ubuntu:~/Clang-tutorial-master$ ./CItutorial6<br>
input04.c:1:10: fatal error: 'stdio.h' file not found<br>
#include <stdio.h><br>
         ^<br>
Read top-level variable decl: 'a<br>
Read top-level variable decl: 'a<br>
Read top-level variable decl: 'b<br>
Read top-level variable decl: 'c<br>
Read top-level variable decl: 'funcp<br>
Read top-level variable decl: 'fp2<br>
Read top-level variable decl: 'fp3<br>
Read top-level variable decl: 't<br>
*** glibc detected *** ./CItutorial6: free(): invalid pointer: 0x094adc40<br>
***<br>
======= Backtrace: =========<br>
/lib/i386-linux-gnu/libc.so.6(+0x73e42)[0xb7471e42]<br>
/usr/lib/i386-linux-gnu/libstdc++.so.6(_ZdlPv+0x1f)[0xb766a51f]<br>
./CItutorial6[0x8bad43e]<br>
./CItutorial6[0x80bb38a]<br>
./CItutorial6[0x80bb3f9]<br>
./CItutorial6[0x8a88616]<br>
./CItutorial6[0x806e415]<br>
./CItutorial6[0x806c62e]<br>
./CItutorial6[0x806a866]<br>
./CItutorial6[0x8068055]<br>
./CItutorial6[0x805b923]<br>
./CItutorial6[0x805876f]<br>
/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0xb74174d3]<br>
======= Memory map: ========<br>
08048000-09475000 r-xp 00000000 07:00 1329507<br>
/home/administrator/Clang-tutorial-master/CItutorial6<br>
09475000-094ab000 r--p 0142d000 07:00 1329507<br>
/home/administrator/Clang-tutorial-master/CItutorial6<br>
094ab000-094ac000 rw-p 01463000 07:00 1329507<br>
/home/administrator/Clang-tutorial-master/CItutorial6<br>
094ac000-094ae000 rw-p 00000000 00:00 0<br>
0a6d9000-0a71b000 rw-p 00000000 00:00 0          [heap]<br>
b73fb000-b73fe000 rw-p 00000000 00:00 0<br>
b73fe000-b759d000 r-xp 00000000 07:00 785824<br>
/lib/i386-linux-gnu/<a href="http://libc-2.15.so" target="_blank">libc-2.15.so</a><br>
b759d000-b759f000 r--p 0019f000 07:00 785824<br>
/lib/i386-linux-gnu/<a href="http://libc-2.15.so" target="_blank">libc-2.15.so</a><br>
b759f000-b75a0000 rw-p 001a1000 07:00 785824<br>
/lib/i386-linux-gnu/<a href="http://libc-2.15.so" target="_blank">libc-2.15.so</a><br>
b75a0000-b75a3000 rw-p 00000000 00:00 0<br>
b75a3000-b75bf000 r-xp 00000000 07:00 785845<br>
/lib/i386-linux-gnu/libgcc_s.so.1<br>
b75bf000-b75c0000 r--p 0001b000 07:00 785845<br>
/lib/i386-linux-gnu/libgcc_s.so.1<br>
b75c0000-b75c1000 rw-p 0001c000 07:00 785845<br>
/lib/i386-linux-gnu/libgcc_s.so.1<br>
b75c1000-b7699000 r-xp 00000000 07:00 1182424<br>
/usr/lib/i386-linux-gnu/libstdc++.so.6.0.16<br>
b7699000-b769a000 ---p 000d8000 07:00 1182424<br>
/usr/lib/i386-linux-gnu/libstdc++.so.6.0.16<br>
b769a000-b769e000 r--p 000d8000 07:00 1182424<br>
/usr/lib/i386-linux-gnu/libstdc++.so.6.0.16<br>
b769e000-b769f000 rw-p 000dc000 07:00 1182424<br>
/usr/lib/i386-linux-gnu/libstdc++.so.6.0.16<br>
b769f000-b76a6000 rw-p 00000000 00:00 0<br>
b76a6000-b76d0000 r-xp 00000000 07:00 785856<br>
/lib/i386-linux-gnu/<a href="http://libm-2.15.so" target="_blank">libm-2.15.so</a><br>
b76d0000-b76d1000 r--p 00029000 07:00 785856<br>
/lib/i386-linux-gnu/<a href="http://libm-2.15.so" target="_blank">libm-2.15.so</a><br>
b76d1000-b76d2000 rw-p 0002a000 07:00 785856<br>
/lib/i386-linux-gnu/<a href="http://libm-2.15.so" target="_blank">libm-2.15.so</a><br>
b76d2000-b76d5000 r-xp 00000000 07:00 785837<br>
/lib/i386-linux-gnu/<a href="http://libdl-2.15.so" target="_blank">libdl-2.15.so</a><br>
b76d5000-b76d6000 r--p 00002000 07:00 785837<br>
/lib/i386-linux-gnu/<a href="http://libdl-2.15.so" target="_blank">libdl-2.15.so</a><br>
b76d6000-b76d7000 rw-p 00003000 07:00 785837<br>
/lib/i386-linux-gnu/<a href="http://libdl-2.15.so" target="_blank">libdl-2.15.so</a><br>
b76d7000-b76d8000 rw-p 00000000 00:00 0<br>
b76d8000-b76df000 r-xp 00000000 07:00 785910<br>
/lib/i386-linux-gnu/<a href="http://librt-2.15.so" target="_blank">librt-2.15.so</a><br>
b76df000-b76e0000 r--p 00006000 07:00 785910<br>
/lib/i386-linux-gnu/<a href="http://librt-2.15.so" target="_blank">librt-2.15.so</a><br>
b76e0000-b76e1000 rw-p 00007000 07:00 785910<br>
/lib/i386-linux-gnu/<a href="http://librt-2.15.so" target="_blank">librt-2.15.so</a><br>
b76e1000-b76f8000 r-xp 00000000 07:00 785904<br>
/lib/i386-linux-gnu/<a href="http://libpthread-2.15.so" target="_blank">libpthread-2.15.so</a><br>
b76f8000-b76f9000 r--p 00016000 07:00 785904<br>
/lib/i386-linux-gnu/<a href="http://libpthread-2.15.so" target="_blank">libpthread-2.15.so</a><br>
b76f9000-b76fa000 rw-p 00017000 07:00 785904<br>
/lib/i386-linux-gnu/<a href="http://libpthread-2.15.so" target="_blank">libpthread-2.15.so</a><br>
b76fa000-b76fc000 rw-p 00000000 00:00 0<br>
b770b000-b770e000 rw-p 00000000 00:00 0<br>
b770e000-b770f000 r-xp 00000000 00:00 0          [vdso]<br>
b770f000-b772f000 r-xp 00000000 07:00 785804<br>
/lib/i386-linux-gnu/<a href="http://ld-2.15.so" target="_blank">ld-2.15.so</a><br>
b772f000-b7730000 r--p 0001f000 07:00 785804<br>
/lib/i386-linux-gnu/<a href="http://ld-2.15.so" target="_blank">ld-2.15.so</a><br>
b7730000-b7731000 rw-p 00020000 07:00 785804<br>
/lib/i386-linux-gnu/<a href="http://ld-2.15.so" target="_blank">ld-2.15.so</a><br>
bff55000-bff76000 rw-p 00000000 00:00 0          [stack]<br>
?????(????????<br>
<br>
you can get the CItutorial6.cpp and corresponding makefile at this website<br>
<a href="https://github.com/loarabia/Clang-tutorial" target="_blank">https://github.com/loarabia/Clang-tutorial</a><br>
<<a href="https://github.com/loarabia/Clang-tutorial" target="_blank">https://github.com/loarabia/Clang-tutorial</a>>  .<br>
Actually,CIrewriter.cpp,CItutorial1-CItutorial6 would Encounter Problems as<br>
above,but tutorial1-tutorial6 are Running the perfectly.why them happend?<br>
Any help would be appreciated.<br>
<br></blockquote><div> </div><div>I believe that if you change the lines:<br><pre><div class="line" id="LC76">    <span class="n">CompilerInstance</span> <span class="n">ci</span><span class="p">;</span></div><div class="line" id="LC77">
    <span class="n">DiagnosticOptions</span> <span class="n">diagnosticOptions</span><span class="p">;</span></div><div class="line" id="LC78">    <span class="n">TextDiagnosticPrinter</span> <span class="o">*</span><span class="n">pTextDiagnosticPrinter</span> <span class="o">=</span></div>
<div class="line" id="LC79">        <span class="k">new</span> <span class="n">TextDiagnosticPrinter</span><span class="p">(</span></div><div class="line" id="LC80">            <span class="n">llvm</span><span class="o">::</span><span class="n">outs</span><span class="p">(),</span></div>
<div class="line" id="LC81">            <span class="o">&</span><span class="n">diagnosticOptions</span><span class="p">,</span></div><div class="line" id="LC82">            <span class="nb">true</span><span class="p">);</span></div>
<div class="line" id="LC83">    <span class="n">ci</span><span class="p">.</span><span class="n">createDiagnostics</span><span class="p">(</span><span class="n">pTextDiagnosticPrinter</span><span class="p">);</span></div>
</pre>to simply:<br><pre><div class="line" id="LC76">    <span class="n">CompilerInstance</span> <span class="n">ci</span><span class="p">;</span></div>    <span class="n">ci</span><span class="p">.</span><span class="n">createDiagnostics</span><span class="p">(</span><span class="p">);</span></pre>
the problem will go away. I'm not sure why clang allows the current call, as the interface changed.<br><br>Robert<br><br></div></div>