<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Hi Aaron, Hi Manuel,<br>
<br>
thank you for your prompt reply and sorry for my belated response!
Regarding the header omp.h, I meanwhile figured out that my
clang-3.8 installation (from the official apt-repo) does not include
the omp.h header file. If I add the omp.h from gcc, the error is
gone, while others appear. But this is not your problem. :-D<br>
<br>
Regarding the second issue with incorrect AST matches, this is the
reduced C++ code structure out of a larger C++ header file:<br>
<br>
[...] many class definitions [...]<br>
<br>
class RoadLink {<br>
public:<br>
[...] <br>
private:<br>
std::vector<int64_t> precedingRoads_;<br>
std::vector<int64_t> succeedingRoads_;<br>
};<br>
<br>
class Road {<br>
public:<br>
[...]<br>
std::vector<LaneSectionPtr>::const_iterator
sectionsBegin() const {<br>
return sections_.cbegin();<br>
}<br>
<br>
<br>
private:<br>
int64_t roadID_;<br>
std::vector<LaneSectionPtr> sections_;<br>
RoadLink roadLink_;<br>
const odd::RoadDescriptor* roadDesc_;<br>
}<br>
<br>
class MetaData {<br>
public:<br>
[...]<br>
private:<br>
double xMin_;<br>
double xMax_;<br>
double yMin_;<br>
double yMax_;<br>
};<br>
<br>
When I run the clang-query matcher, I get sections_ and roadLink_ as
public field decls for class Road. The private members of the class
before and after the class 'Road' are correctly matched. If I look
at the ast-dump for the class Road, I see the following shortened
dump:<br>
<br>
| |-CXXRecordDecl 0x9c7b668 prev 0x9c6bac0 <line:492:1,
line:531:1> line:492:7 referenced invalid class Road definition<br>
| | |-AccessSpecDecl 0x9c7b7e8 <line:493:1, col:7> col:1
public<br>
| | |-FieldDecl 0x9c7bff0 <line:510:32, col:34> col:34 invalid
const_iterator 'int'<br>
| | |-FieldDecl 0x9c7c048 <line:528:33> col:33 invalid
sections_ 'int'<br>
| | |-FieldDecl 0x9c7c0a0 <line:529:5, col:14> col:14 invalid
roadLink_ 'class opendrive::RoadLink'<br>
| | `-FieldDecl 0x9c7c140 <line:530:5, col:32> col:32
roadDesc_ 'const odd::RoadDescriptor *'<br>
<br>
So, I see a few errors in this AST:<br>
<br>
1. The AccessSpecDecl 'private' is missing in this class, while it
is available preceding and succeeding class<br>
2. The const_iterator from line 510 (Function: sectionsBegin()) is
added as a field decl while it is a type of the std::vector. <br>
<br>
BTW, the AST dump was generated by clang-3.9 (ToT, last week). <br>
<br>
Do you have any idea what could be wrong here? <br>
<br>
Thanks,<br>
Andi<br>
<br>
<br>
<br>
<br>
<div class="moz-cite-prefix">On 07.07.2016 14:39, Manuel Klimek
wrote:<br>
</div>
<blockquote
cite="mid:CAOsfVvmKmd6Wp1+BZ2d=S68QbMcmeU6jui9vDKwsdPk3MH4CvA@mail.gmail.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<div dir="ltr">
<div class="gmail_quote">
<div dir="ltr">On Thu, Jul 7, 2016 at 8:31 AM Andre-Marcel
Hellmund via cfe-dev <<a moz-do-not-send="true"
href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">Hi
Clang-Guys,<br>
<br>
I recently started to look into the clang-tools to enforce
coding<br>
guidelines for our development group. Therefore, I played
around with<br>
clang-tidy and clang-format (version 3.8 and trunk from
Monday), however<br>
ran into a two problems. Before I dive deeper into the code
details of<br>
both tools, I would like to check with you for known issues
or hints.<br>
<br>
1) While the compilation of the code using CMake (ninja)
works fine,<br>
loading the same code via clang-tidy (and the compilation
database)<br>
results in an error that a header, omp.h, could not be
found. Is this a<br>
known bug for clang-tidy or might this be caused by a defect
in CMake?<br>
</blockquote>
<div><br>
</div>
<div>This is really hard to diagnose without more info.</div>
<div> </div>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
2) Performing a simple AST match (reduced from the
clang-tidy check<br>
'readability-identifier-naming'), that is,<br>
<br>
fieldDecl(isPublic()).bind("public_member")<br>
<br>
results in incorrect matches meaning that privately declared
members or<br>
public type definitions of std containers like
const_iterator are<br>
matched. Interestingly, I was not yet able to reproduce
those errors<br>
with simplified test cases. Are there some known issues with
the AST<br>
matchers that could fit my description?<br>
</blockquote>
<div><br>
</div>
<div>The only known issue is that it's often hard to
intuitively understand why things are in the AST. It would
be great to have a smaller repro of your problem, otherwise
it's really hard to help.</div>
<div> </div>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Thank you for your help and support in advance,<br>
Andi<br>
_______________________________________________<br>
cfe-dev mailing list<br>
<a moz-do-not-send="true"
href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
<a moz-do-not-send="true"
href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev"
rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</blockquote>
</div>
</div>
</blockquote>
<br>
<pre class="moz-signature" cols="72">--
.........................................................
André-Marcel Hellmund, M.Sc.
Wissenschaftlicher Mitarbeiter | Scientific Researcher
Mobile Perception Systems
FZI Forschungszentrum Informatik
Haid-und-Neu-Str. 10–14
76131 Karlsruhe, Germany
Tel.: +49 721 608-47146
Fax: +49 721 661874
<a class="moz-txt-link-abbreviated" href="mailto:hellmund@fzi.de">hellmund@fzi.de</a>
<a class="moz-txt-link-abbreviated" href="http://www.fzi.de/mitarbeiter/hellmund">www.fzi.de/mitarbeiter/hellmund</a>
.........................................................
FZI Forschungszentrum Informatik am Karlsruher Institut für Technologie
Stiftung des bürgerlichen Rechts
Stiftung Az: 14-0563.1 Regierungspräsidium Karlsruhe
Vorstand: Prof. Dr. Andreas Oberweis, Prof. Dr. Ralf Reussner,
Jan Wiesenberger, Prof. Dr.-Ing. J. Marius Zöllner
Vorsitzender des Kuratoriums: Ministerialdirigent Günther Leßnerkraus
.........................................................</pre>
</body>
</html>