<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'>Hi Robert,<div><br></div><div>Thank-you for the link. I tried to compile that tutorial files, but I am getting following error. </div><div><br></div><div><div><div><font color="#d24726"><b>tutorial1.cpp:55:13: error: reference to type 'const std::shared_ptr<TargetOptions>' could not</b></font></div><div><font color="#d24726"><b>      bind to an rvalue of type 'clang::TargetOptions *'</b></font></div><div><font color="#d24726"><b>            &targetOptions);</b></font></div><div><font color="#d24726"><b>            ^~~~~~~~~~~~~~</b></font></div><div><font color="#d24726"><b>/home/krish/llvm/tools/clang/include/clang/Basic/TargetInfo.h:99:58: note: passing argument to</b></font></div><div><font color="#d24726"><b>      parameter 'Opts' here</b></font></div><div><font color="#d24726"><b>                   const std::shared_ptr<TargetOptions> &Opts);</b></font></div><div><font color="#d24726"><b>                                                         ^</b></font></div><div><font color="#d24726"><b>tutorial1.cpp:68:25: error: no matching constructor for initialization of 'clang::Preprocessor'</b></font></div><div><font color="#d24726"><b>    clang::Preprocessor preprocessor(</b></font></div><div><font color="#d24726"><b>                        ^</b></font></div><div><font color="#d24726"><b>/home/krish/llvm/tools/clang/include/clang/Lex/Preprocessor.h:451:3: note: candidate constructor</b></font></div><div><font color="#d24726"><b>      not viable: no known conversion from 'clang::TargetInfo *' to 'clang::SourceManager &' for</b></font></div><div><font color="#d24726"><b>      4th argument</b></font></div><div><font color="#d24726"><b>  Preprocessor(IntrusiveRefCntPtr<PreprocessorOptions> PPOpts,</b></font></div><div><font color="#d24726"><b>  ^</b></font></div><div><font color="#d24726"><b>/home/krish/llvm/tools/clang/include/clang/Lex/Preprocessor.h:88:7: note: candidate constructor</b></font></div><div><font color="#d24726"><b>      (the implicit copy constructor) not viable: requires 1 argument, but 7 were provided</b></font></div><div><font color="#d24726"><b>class Preprocessor : public RefCountedBase<Preprocessor> {</b></font></div><div><font color="#d24726"><b>      ^</b></font></div><div><font color="#d24726"><b>2 errors generated.</b></font></div><div><font color="#d24726"><b>make: *** [tutorial1.o] Error 1</b></font></div></div><div><br></div><div>Actually, this tutorial will help me to achieve my goal, so I really want to test it.</div><div><br></div><div>Thanks.</div><div><br></div><div>Krish</div><div><br></div><div><hr id="stopSpelling">Date: Wed, 13 Aug 2014 17:54:01 -0700<br>From: rrankene@gmail.com<br>To: cfe-dev@cs.uiuc.edu<br>Subject: Re: [cfe-dev] one of the example program doesn't compiling<br><br><div dir="ltr"><div>Updated versions of this tutorial can be found at:<br><a href="https://github.com/loarabia/Clang-tutorial" target="_blank">https://github.com/loarabia/Clang-tutorial</a><br><br></div>Robert<br><div><div><div class="ecxgmail_extra">
<div class="ecxgmail_quote"><blockquote class="ecxgmail_quote" style="border-left:1px solid rgb(204,204,204);padding-left:1ex;">
<br>
<br>
Hi all,<br>
I tried this tutorial (<a href="http://amnoid.de/tmp/clangtut/tut.html" target="_blank">http://amnoid.de/tmp/clangtut/tut.html</a>) and compile the code, but I am getting some errors.<br>
PPContext.h.-----------------<br>
#ifndef PP_CONTEXT#define PP_CONTEXT<br>
#include <string.h><br>
using namespace std;<br>
#include "clang/Frontend/CompilerInstance.h"<br>
#include <llvm/Config/config.h><br>
#include <clang/Basic/Diagnostic.h>#include <clang/Basic/TargetInfo.h>#include <clang/Basic/SourceManager.h>#include <clang/Basic/FileManager.h><br>
#include <clang/Lex/HeaderSearch.h>#include <clang/Lex/Preprocessor.h><br>
#include <clang/Frontend/TextDiagnosticPrinter.h><br>
using namespace clang;<br>
struct PPContext {  // Takes ownership of client.  PPContext(clang::DiagnosticClient* client = 0,            const std::string& triple = LLVM_HOSTTRIPLE)    : diagClient(client == 0?new clang::TextDiagnosticPrinter:client),      diags(diagClient),      target(clang::TargetInfo::CreateTargetInfo(triple)),      headers(fm),      pp(diags, opts, *target, sm, headers)  {    // Configure warnings to be similar to what command-line `clang` outputs    // (see tut03).    // XXX: move warning initialization to libDriver    using namespace clang;    diags.setDiagnosticMapping(diag::warn_pp_undef_identifier,diag::MAP_IGNORE);  }<br>

  ~PPContext()  {    delete diagClient;    delete target;  }<br>
  clang::DiagnosticClient* diagClient;  clang::Diagnostic diags;  clang::LangOptions opts;  clang::TargetInfo* target;  clang::SourceManager sm;  clang::FileManager fm;  clang::HeaderSearch headers;  clang::Preprocessor pp;};<br>

#endif<br>
tut01_pp.cpp------------------<br>
#include "PPContext.h"<br>
int main(){  //PPContext context;}<br>
<br>
Here I tried to compile the code :<br>
g++ -I/home/krish/llvm/build/include -I/home/krish/llvm/tools/clang/include `/home/krish/llvm/build/Release+Asserts/bin/llvm-config -cxxflags` -fno-rtti -c tut01_pp.cpp -std=gnu++11 -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROSD -D__STDC_LIMIT_MACROS<br>

But I am getting following error message :<br>
In file included from tut01_pp.cpp:1:0:PPContext.h:48:30: error: expected ?)? before ?client?PPContext.h:69:3: error: ?DiagnosticClient? in namespace ?clang? does not name a typePPContext.h: In destructor ?PPContext::~PPContext()?:PPContext.h:65:12: error: ?diagClient? was not declared in this scope<br>

Could you please help me with this error.<br>
Thank-You<br>
Krish<br>
<br>
<br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
URL: <<a href="http://lists.cs.uiuc.edu/pipermail/cfe-dev/attachments/20140813/6a34b149/attachment-0001.html" target="_blank">http://lists.cs.uiuc.edu/pipermail/cfe-dev/attachments/20140813/6a34b149/attachment-0001.html</a>><br>

<br></blockquote></div></div></div></div></div>
<br>_______________________________________________
cfe-dev mailing list
cfe-dev@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</div></div>                                         </div></body>
</html>