
Clang with Microsoft CodeGen in VS 2015 Update 1 - BudVVeezer
http://blogs.msdn.com/b/vcblog/archive/2015/12/04/introducing-clang-with-microsoft-codegen-in-vs-2015-update-1.aspx
======
josteink
Well consider me surprised. I didn't see that coming.

At first though, when I read through I considered "this is exactly what
Stallman didn't want to happen with GCC! Companies using the open-source parts
to power their own proprietary tools".

And then I read at the end that they intend to submit most of the things
they've done back to LLVM/Clang.

Microsoft is actually starting to act like one of the good guys.

~~~
moonchrome
>Microsoft is actually starting to act like one of the good guys.

Morality doesn't need to come into it - they have real incentives to push
changes back to master even without restrictive licenses.

~~~
to3m
I can't find the link (though I'm sure it was on HN at the time...), but there
was a talk by the Sony PS4 compiler people that touched on this a while ago.
They ended up open sourcing as much PS4 stuff as they could, not because they
wanted to as such, but because it was taking them too much time to do the
merge each time they updated their copy.

~~~
0x09
[http://llvm.org/devmtg/2013-11/slides/Robinson-
PS4Toolchain....](http://llvm.org/devmtg/2013-11/slides/Robinson-
PS4Toolchain.pdf)

It's the "Working with the LLVM Community" section.

------
80x25
I think this means that the VS toolchain now has a modern C compiler front-
end. The VS C++ compiler has seen good progress as of late, but the VS C
compiler was seriously lagging, only supporting bits and pieces of C99(!).

~~~
jheriko
yes, not having proper c99 has been a pain for a very long time right up to VS
2015

------
mwcampbell
Cool. Now can we have Swift with Microsoft codegen?

~~~
jheriko
why would you want to use swift? just curious.

you don't need a reason... but i've not seen much good about the language,
just a bunch of apple hype and hand forcing. just like obj-c which the
mainstream community realised the flaws of 30 years ago when it was new... and
now we have to live with as a necessary evil for the same class of 'reasons'.
XD

~~~
chadzawistowski
Pattern matching and structural types!

In terms of modernity, I think Swift is between C# and F#. However, Swift is
far more mainstream than F#.

~~~
rjbwork
These are the 2 features I can't wait for in C# 7. Pattern matching and
structural typing along with discriminated unions are pretty awesome. Like, I
want the current C# type system, but with those things with it to forget about
a bunch of boilerplate and odd problems that can pop up otherwise.

------
voltagex_
Does this mean that if I can make a random project build with Clang it's
easier to port to Windows? (POSIX bits excepted)

~~~
shadowmint
yes.

You dont have to worry about the fail VS syntax parser; clang will parse your
code exactly the same as it does on other platforms.

------
pritambarhate
I think MS has realized that desktop era is over and cloud era has taken over.
They will be making much more money by renting out infrastructure than just
licensing software. So they are trying hard to make sure that oepn source
development tools and servers work well on Windows.

By allowing Clang comaptible code with VS, brining open source tools and
servers will be much easier for developers which will help MS to retain more
developer base for Windows.

------
jesuslop
Would custom clang plugins work?

~~~
jevinskie
Wowza, that would be cool! IIRC Apple's clang doesn't support plugins but that
can be worked around (with some/much difficulty) using clang -emit-llvm,
custom opt w/ your pass, and llc to lower to assembly/object file. Of course,
versioning in this kind of scenario is "fun".

------
webjprgm
Cool. This might have come in handy about 6 years ago for a C++ OpenGL cross-
platform project. (I haven't done a C/C++ project in a long time though ...)

~~~
jheriko
why? i seem to have managed many such projects without such tools before and
after 6 years ago... i'm not sure what benefit they would realistically have.

~~~
ykl
You managed C++ projects without a C++ compiler before? How in the world did
you do that?

~~~
jheriko
without /this/ c++ compiler. not all of them ¬_¬

