[cfe-dev] New guy on the list trying to fix windows things

Reid Kleckner rnk at google.com
Fri Jan 10 14:58:22 PST 2014


On Fri, Jan 10, 2014 at 8:32 AM, JB FELDMAN <jb.feldman at kyrus-tech.com>wrote:

>
> Hey guys, I'm new to the community and I just posted into the clang
> channel on IRC, but I wanted to write to this list as well. My company
> is having some issues with Clang on Windows, and instead of just bugging
> you guys about it, they asked me to see what I could do. I was hoping I
> could get someone to point me in the right direction though.
>

Sure!  I'd just mention that Windows support in general in Clang and LLVM
is weak in some areas and strong in others.  In particular, C++ ABI
compatibility with MSVC isn't there yet.  We can't actually self-host Clang
with that ABI yet, but it should happen in the next month.


> The issue I'm looking at has been previously reported here:
> https://github.com/ishani/clang-msvc/issues/1


This looks like a git clone that hasn't been updated in almost a year.
 There's been a lot of recent development in upstream Clang, so I'd try
that.  We have pre-built Windows binaries here: http://llvm.org/builds/


> So far I've tracked it down to the following: The sizeof operator
> doesn't like the fact that it is being asked the sizeof a static,
> uninstantiated, template type. It looks like a while back sizeof was
> fixed to allow this kind of operation
> (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2253.html),
> which it looks like was implemented in clang 3.1. However the fact that
> the line in atlstr.h uses a template seems to be breaking thing.
>

This probably had something to do with our implementation of delayed
template parsing.  Please report it at http://llvm.org/bugs if it still
reproduces.  We haven't been testing ATL headers thoroughly enough, since
Clang and LLVM don't use them.


> I'm going to start poking around, but I was hoping someone might have an
> idea of where to point me. My intention is to fix the issue and submit
> the patch back to llvm/clang
>
> By the way, I think I have confirmed my suspicions that the problem is
> what I think, because I changed atlstr.h to:
> const ChTraits::XCHAR xhcarforsize = 'a';
> if (memcmp(pMatch, pCharSet, nCharSetLen*sizeof(xcharforsize)) == 0)
> ...
>
> and everything worked (That's not true, I just got past that issue and
> to the next one)
>
> I know that unfettered Windows support is a goal for you guys, hopefully
> I can help.
> Thanks,
> JB
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20140110/fcf7dedb/attachment.html>


More information about the cfe-dev mailing list