[cfe-commits] MS pure virtual call ABI

Timur Iskhodzhanov timurrrr at google.com
Wed Jun 27 13:36:58 PDT 2012


Oh sorry I've misread your comment, I thought you were asking to build
with Clang.

$ cat pure_virtual.cpp
class A {
 public:
  virtual void foo() = 0;
  void bar() { foo(); }
  A() { bar(); }
};

class B: public A {
 public:
  void foo() {}
};

int main() {
  B b;
}

$ cl -nologo pure_virtual.cpp >/dev/null && ./pure_virtual.exe
R6025
- pure virtual function call

$ cat call_purecall.cpp
int main() {
  _purecall();
}

$ cl -nologo call_purecall.cpp >/dev/null && ./call_purecall.exe
R6025
- pure virtual function call

On Wed, Jun 27, 2012 at 1:29 PM, John McCall <rjmccall at apple.com> wrote:
> On Jun 27, 2012, at 1:25 PM, Timur Iskhodzhanov wrote:
>> This is what I got on the trunk version of Clang:
>
> "Observable behavior" here means "is there some way we can observe the
> behavior of this code as compiled by MSVC without reverse-engineering it?"
>
> John.



More information about the cfe-commits mailing list