[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