<html>
<head>
<base href="https://bugs.llvm.org/">
</head>
<body><span class="vcard"><a class="email" href="mailto:burnss887@gmail.com" title="Solovei Ivan <burnss887@gmail.com>"> <span class="fn">Solovei Ivan</span></a>
</span> changed
<a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED FIXED - Problem of parse typedef with template partial specialization."
href="https://bugs.llvm.org/show_bug.cgi?id=41555">bug 41555</a>
<br>
<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>What</th>
<th>Removed</th>
<th>Added</th>
</tr>
<tr>
<td style="text-align:right;">Resolution</td>
<td>---
</td>
<td>FIXED
</td>
</tr>
<tr>
<td style="text-align:right;">Status</td>
<td>NEW
</td>
<td>RESOLVED
</td>
</tr></table>
<p>
<div>
<b><a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED FIXED - Problem of parse typedef with template partial specialization."
href="https://bugs.llvm.org/show_bug.cgi?id=41555#c5">Comment # 5</a>
on <a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED FIXED - Problem of parse typedef with template partial specialization."
href="https://bugs.llvm.org/show_bug.cgi?id=41555">bug 41555</a>
from <span class="vcard"><a class="email" href="mailto:burnss887@gmail.com" title="Solovei Ivan <burnss887@gmail.com>"> <span class="fn">Solovei Ivan</span></a>
</span></b>
<pre>Hi!
I tried parse only this constructions without some #include constructions.
And parse typedef is correct.
I found the problem to be different.
Preprocessor try find #include "file.h" - and could not find ,so generate
"fatal error: No such file" and preprocessor has been terminated. Therefore,
next preprocessing templates and other has been stop. And therefore, I received
invalid declaration.
I found fixing:
-Need will doing that preprocessor not terminate via "fatal error: No such
file".
I changed the code (I added the construction to the custom
ParseDeclarationAction class, which is inherited from ASTFrontendAction):
CI.getPreprocessor().SetSuppressIncludeNotFoundError(true);
In result I have class:
class ParseDeclarationAction : public ASTFrontendAction
{
public:
virtual unique_ptr<ASTConsumer> CreateASTConsumer(CompilerInstance &CI,
StringRef InFile) {
CI.getPreprocessor().SetSuppressIncludeNotFoundError(true);
return unique_ptr<ASTConsumer>(new
ParseDeclarationConsumer(&CI.getASTContext()));
}
};
I think may problem will be help other clang users.
This task is resolved.
Thank you for your support.
Best Regards,
Ivan.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>