<div dir="ltr"><div class="gmail_default" style="font-size:large">I'm trying to extend Clang Format to align the types in a function.</div><div class="gmail_default" style="font-size:large"><br></div><div class="gmail_default" style="font-size:large">for example:</div><div class="gmail_default" style="font-size:large"><br></div><div class="gmail_default" style="font-size:large">uint64_t A = 0ULL;</div><div class="gmail_default" style="font-size:large"><br></div><div class="gmail_default" style="font-size:large">uint8_t B  = 0ULL;</div><div class="gmail_default" style="font-size:large"><br></div><div class="gmail_default" style="font-size:large">B needs 2 spaces after the type for the variable B to be in the same column as A.</div><div class="gmail_default" style="font-size:large"><br></div><div class="gmail_default" style="font-size:large">and I'm not sure where to begin with Clang's API.</div><div class="gmail_default" style="font-size:large"><br></div><div class="gmail_default" style="font-size:large">Here are my questions:</div><div class="gmail_default" style="font-size:large"><br></div><div class="gmail_default" style="font-size:large">1: Where does Clang store each variables type.</div><div class="gmail_default" style="font-size:large"><br></div><div class="gmail_default" style="font-size:large">2: What does clang do for typedef'd types? for both custom types (like a struct in C), and for common types that have been defined as another underlying type, like uint64_t (generally) being typedef'd as unsigned long long?</div><div class="gmail_default" style="font-size:large"><br></div><div class="gmail_default" style="font-size:large">Cuz I need the user visible type name, not the underlying type's type.</div><div class="gmail_default" style="font-size:large"><br></div><div class="gmail_default" style="font-size:large">3: where is the pointer alignment stored? especially for the DerivePointerAlignment option in Clang Format?</div></div>