llvm
0a7dd488 - [clang][SYCL] Fix compilation of thiscall calling convention on Windows (#22306)

Commit
28 days ago
[clang][SYCL] Fix compilation of thiscall calling convention on Windows (#22306) f7424c7486397dc350952873fc3063fe75bf824d resulted in thiscall calling convention attribute transformed to CC_C calling convention since this is how host behaves for this attribtue. Since for SPIR/SPIR-V targets default calling convention is different from CC_C this caused clash for the code like ``` class A { public: virtual void __attribute__((thiscall)) boo() {} }; class B : public A { virtual void boo() override {} }; ``` since A::boo will have CC_C calling convention and B::boo will have CC_SpirFunction calling convention. The upstream needs a more complex solution which will require some time, so this patch effectively reverts remaning changes made by f7424c7486397dc350952873fc3063fe75bf824d and 94ca49099ef77751a33e4babe41b2ae03ff228e1 since some of them were already reverted by 15c3371ed8d79ad4940af0fcfe8d6be3470914f5 to unblock the pulldown. Fixes https://github.com/intel/llvm/issues/22265
Author
Parents
Loading