[PATCH] D60912: MS ABI: handle inline static data member as template static data member
Jennifer Yu via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Apr 19 13:19:39 PDT 2019
jyu2 added a comment.
In D60912#1472983 <https://reviews.llvm.org/D60912#1472983>, @rnk wrote:
> Thanks, I think there's another case to handle, though.
Hi Reid,
Thank you so much for the review.
Yes, I check the following test case, both gnu and cl call foo twice. Do we want to do differently with that? Thanks. Jennifer
I add MS only, since we are generate same with gnu. Sure remove that should work at run time. But I am not sure if we have abi issues when mix-match object. I will look more about that. Thanks.
bug-37903>g++ x.cpp x1.cpp -std=c++17
bug-37903>./a.out
foo
foo
bug-37903>cat x.h
extern "C" int printf(const char*,...);
int foo();
inline static int aoo = foo(); // C++17 inline variable, thus also a definition
bug-37903>cat x.cpp
#include "x.h"
int foo()
{
printf("foo\n");
return 1;
}
int main()
{
}
bug-37903>cat x1.cpp
#include "x.h"
Repository:
rC Clang
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D60912/new/
https://reviews.llvm.org/D60912
More information about the cfe-commits
mailing list