mstorsjo wrote:

I can't really comment much on the implementation here, I would mostly leave 
that up to people more familiar with those bits in Clang.

A little nitpickery wrt the text; it'd be clearer if it'd talk about "MSVC and 
mingw". Both MSVC mode and mingw mode are equally much "win32" or "windows". 
It's just that if you specify a triple like `x86_64-win32`, it gets 
expanded/normalized into `x86_64-windows-msvc` (same if you'd just do 
`x86_64-windows`), while `x86_64-mingw32` gets expanded into 
`x86_64-windows-gnu`.

Then for the description of the issue, it would be less confusing if it 
explicitly mentions template instantiations. For simpler things, like a plain 
function declaration, MSVC mode and mingw mode agree about where the 
dllexport/import attributes should be placed. Or in practice, mingw mode 
accepts the attributes in a superset of the locations where msvc mode accepts 
them. So when reading the subject/description, I first wondered why we need two 
different things at all, as one place should work for both. But for explicit 
template instantiations there's inded a bit of conflict in how it needs to be 
done, and we need the two different approaches.

https://github.com/llvm/llvm-project/pull/133699
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to