PareAssemblyFile returning "expected top-level entity" error message

Hello all,

I am trying to generate a module object using something like this: (to use for code analysis)

Module *topModule;
SMDiagnostic error;
topModule = ParseAssemblyFile(“code.s”, error, getGlobalContext());
displayErrorInfo(error);

void displayErrorInfo(SMDiagnostic& err)
{
std::string errFileName = err.getFilename();
std::string errMsg = err.getMessage();
std::string errLineContents = err.getLineContents();
int errLineNo = err.getLineNo(), errColNo = err.getColumnNo();
std::cout << "Error File Name: "<< errFileName << std::endl;
std::cout << "Error Message: " << errMsg << std::endl;
std::cout << "Error Line number: " << errLineNo << ". Column number: "<< errColNo << std::endl;
}

and I’ve been getting the following output:

Error File Name: code.s
Error Message: error: expected top-level entity
Error Line number: 1. Column number: 1

code.s is generated manually using
llvm-g++ -S code.cpp

where code.cpp is just a hello world application.

Any ideas as to the reason for the error ?

Thanks !!
Zaid

I am trying to generate a module object using something like this: (to use
for code analysis)

 Module \*topModule;
SMDiagnostic error;
topModule = ParseAssemblyFile\(&quot;code\.s&quot;, error, getGlobalContext\(\)\);

...

and I've been getting the following output:

Error File Name: code.s
Error Message: error: expected top-level entity
Error Line number: 1. Column number: 1

code.s is generated manually using
llvm-g++ -S code.cpp

where code.cpp is just a hello world application.

Any ideas as to the reason for the error ?

'llvm-g++ -S' generates machine-level asm (for example, x86 asm).
Adding '-emit-llvm' should tell it to generate LLVM asm instead.