[LLVMdev] Clang API parsing of the destructor
Kamaljit Lall
klall at factset.com
Fri Sep 21 12:22:31 PDT 2012
I am using the clang API (version 3.1 - trunk 153913) to compile some very simple code as follows
class MyClass
{
~MyClass() ;
};
MyClass::~MyClass()
{
}
int main()
{
return 0;
}
My problem is that I get the error message: test.cpp:20:10: error: destructor cannot have a return type MyClass::~MyClass()
If someone can point me to the right direction that would be great. It compiles fine if the destructor is defined inline to the class.
Note that I can also compile with clang++ fine: -bash-4.1$ clang++ test.cpp
So there must be a setting I'm missing in my clang API usage. Can anyone indicate what that might be. I've been searching all over for a missing option/configuration.
Here is my clang API usage:
// Include appropriate headers.
int main()
{
clang::DiagnosticOptions diagnosticOptions;
diagnosticOptions.ShowColors=1;
diagnosticOptions.ShowOptionNames=1;
clang::TextDiagnosticPrinter *pTextDiagnosticPrinter =
new clang::TextDiagnosticPrinter(
llvm::outs(),
diagnosticOptions);
llvm::IntrusiveRefCntPtr<clang::DiagnosticIDs> pDiagIDs;
clang::DiagnosticsEngine *pDiagnosticsEngine =
new clang::DiagnosticsEngine(pDiagIDs, pTextDiagnosticPrinter);
clang::LangOptions languageOptions;
languageOptions.GNUMode = 1;
languageOptions.CXXExceptions = 1;
languageOptions.RTTI = 1;
languageOptions.Bool = 1;
languageOptions.CPlusPlus = 1;
clang::FileSystemOptions fileSystemOptions;
clang::FileManager fileManager(fileSystemOptions);
clang::SourceManager sourceManager(
*pDiagnosticsEngine,
fileManager);
clang::TargetOptions targetOptions;
targetOptions.Triple = "x86_64-unknown-linux-gnu";
targetOptions.CPU = "x86-64";
clang::TargetInfo *pTargetInfo =
clang::TargetInfo::CreateTargetInfo(
*pDiagnosticsEngine,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120921/d704cc08/attachment.html>
More information about the llvm-dev
mailing list