<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#ffffff">
Hi,<br>
<br>
Just noting that I have something quite similar hacked into Clang +
LLVM 2.9<br>
(<a href="https://bitbucket.org/grrussel/constcpp/wiki/Home">https://bitbucket.org/grrussel/constcpp/wiki/Home</a>)<br>
<br>
Regarding you example, perhaps you could use an attribute in the
define to allow distinguishing immutable from const?<br>
<br>
Cheers,<br>
George<br>
<br>
On 02/08/2011 23:08, george moudry wrote:
<blockquote cite="mid:COL106-W561CF07D86BF857C0125FFE93B0@phx.gbl"
type="cite">
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
<div dir="ltr">
<p class="MsoNormal" style="font-family: Tahoma; font-size:
10pt;"><br>
</p>
<p class="MsoNormal"><font class="Apple-style-span"
face="Tahoma" size="2">Dear Clang developers, I am
experimenting with “poor man’s deep const” in C++.</font></p>
<p class="MsoNormal"><font class="Apple-style-span"
face="Tahoma" size="2">I have the following C++ code:</font></p>
<p class="MsoNormal"><font class="Apple-style-span"
face="Tahoma" size="2"> </font></p>
<p class="MsoNormal"><font class="Apple-style-span"
face="Tahoma" size="2"> #define immutable const</font></p>
<p class="MsoNormal"><font class="Apple-style-span"
face="Tahoma" size="2"> struct CC { immutable int myInt;
};</font></p>
<p class="MsoNormal"><font class="Apple-style-span"
face="Tahoma" size="2"> </font></p>
<p class="MsoNormal"><font class="Apple-style-span"
face="Tahoma" size="2">I would like to use Clang to check if
the type qualifier source code reads “const” or “immutable”.</font></p>
<p class="MsoNormal"><font class="Apple-style-span"
face="Tahoma" size="2">I am able to retrieve the
clang::FieldDecl and it’s QualType.</font></p>
<p class="MsoNormal"><font class="Apple-style-span"
face="Tahoma" size="2">Is it possible, given my fieldDecl,
to retrieve it’s DeclSpec?</font></p>
<p class="MsoNormal"><font class="Apple-style-span"
face="Tahoma" size="2">If I had a DeclSpec, I would then
call DeclSpec::getConstSpecLoc() and retrieve the source
code at that location.</font></p>
<p class="MsoNormal"><font class="Apple-style-span"
face="Tahoma" size="2"><br>
</font></p>
<p class="MsoNormal"><font class="Apple-style-span"
face="Tahoma" size="2">Here are two of the approaches I
already tried:</font></p>
<p class="MsoNormal"><font class="Apple-style-span"
face="Tahoma" size="2">1) called
fieldDecl->getSourceRange(); but that returns range only
for "int myInt"</font></p>
<p class="MsoNormal"><font class="Apple-style-span"
face="Tahoma" size="2">2) retrieved my field's TypeLoc and
cast it to a QualifiedTypeLoc.</font></p>
<p class="MsoNormal"><font class="Apple-style-span"
face="Tahoma" size="2">But, as the header file warns, the
QualifiedTypeLoc does not have valid SourceRange data.</font></p>
<p class="MsoNormal"><font class="Apple-style-span"
face="Tahoma" size="2"><br>
</font></p>
<p class="MsoNormal"><font class="Apple-style-span"
face="Tahoma" size="2">Any ideas?</font></p>
<p class="MsoNormal"><font class="Apple-style-span"
face="Tahoma" size="2"><br>
</font></p>
<p class="MsoNormal"><font class="Apple-style-span"
face="Tahoma" size="2">Thanks for your advice,</font></p>
<p class="MsoNormal"><font class="Apple-style-span"
face="Tahoma" size="2">Jiri</font></p>
</div>
<pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
cfe-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a>
<a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a>
</pre>
</blockquote>
<br>
</body>
</html>