2013/11/5 Reid Kleckner <[email protected]>:
>
> LGTM
>
>
> ================
> Comment at: lib/AST/MicrosoftMangle.cpp:1849
> @@ -1848,2 +1848,3 @@
> MicrosoftCXXNameMangler &Mangler,
> raw_ostream &Out) {
> + if (!Adjustment.Virtual.isEmpty()) {
> ----------------
> Timur Iskhodzhanov wrote:
>> Reid Kleckner wrote:
>> > This is complicated enough that it deserves it's own BNF comment with
>> > portions of the mangleFunctionClass() BNF diagram. The G, O, W and A, I,
>> > Q access codes clearly correspond to it.
>> Agreed. I'm not a BNF master, so formatting/content suggestions are welcome!
>>
>> It has actually reminded me we might sometimes have far thunks... I'm not
>> sure when are they needed (hey, why would you need more than +-2^31 to
>> adjust this inside a record type?) so I've added a FIXME. Anyways, the
>> mangleFunctionClass didn't ever handle "far" functions either.
> Looks good.
>
> "far" isn't related to displacement, it's related to segments and 16-bit
> Windows. Thankfully it's dead and we don't support it. :)
Ah, that's right.
Shall I just remove the BNF lines with "far" then?
> ================
> Comment at: lib/CodeGen/MicrosoftCXXABI.cpp:998
> @@ +997,3 @@
> +
> + if (TA.Virtual.Microsoft.VBPtrOffset) {
> + assert(TA.Virtual.Microsoft.VBPtrOffset > 0);
> ----------------
> This corresponds to vtordispex thunks, right? Can you put in some comments
> about that, or name give names to the IR nodes?
Sure, will add a comment.
> http://llvm-reviews.chandlerc.com/D2079
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits