<div dir="ltr"><div style>Hi,</div><div style><br></div>I guess I left out far too many details regarding the background to the question for it to come across as being a general C++ question.<div style>What I meant is follows:<br>
I am trying to write a memory mapper using AST Traversal whereby I need to figure out which all memory locations are getting used.</div><div style>So, while traversing the AST, since the C semantics imply that multi-dimensional arrays gets treated as pointers with multiple dereferences, the AST also gets created in the same way. </div>
<div style>My original question was to ask for a simple way to extract out the size of the pointer dimensions from the AST.</div><div style><br></div><div style>I apologise for the incomplete formulation of my question.</div>
<div style><br></div><div style>Regards,</div><div style>Prateek</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Feb 14, 2014 at 2:17 PM, Csaba Raduly <span dir="ltr"><<a href="mailto:rcsaba@gmail.com" target="_blank">rcsaba@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Prateek,<br>
<div><div class="h5"><br>
On Thu, Feb 13, 2014 at 7:26 AM, Prateek Saxena<br>
<<a href="mailto:thisisprateeksaxena@gmail.com">thisisprateeksaxena@gmail.com</a>> wrote:<br>
> Hi.<br>
><br>
> Given a multi-dimensional array like<br>
> int a[3][5][6];<br>
><br>
> what would be a good way of calculating the offset of an element like<br>
> a[1][1][1] from the base pointer to a ?<br>
<br>
</div></div>This is a mailing list for discussing clang the C/C++/ObjC compiler.<br>
Your question belongs to a forum for general C++ questions, for<br>
example Stackoverflow.<br>
<br>
Have you tried<br>
<br>
&(a[1][1][1]) - &(a[0][0][0])<br>
<br>
?<br>
<span class="HOEnZb"><font color="#888888"><br>
Csaba<br>
--<br>
GCS a+ e++ d- C++ ULS$ L+$ !E- W++ P+++$ w++$ tv+ b++ DI D++ 5++<br>
The Tao of math: The numbers you can count are not the real numbers.<br>
Life is complex, with real and imaginary parts.<br>
"Ok, it boots. Which means it must be bug-free and perfect. " -- Linus Torvalds<br>
"People disagree with me. I just ignore them." -- Linus Torvalds<br>
</font></span></blockquote></div><br></div>