[m-rev.] for review: support MS VC 2015

Julien Fischer jfischer at opturion.com
Mon Mar 7 15:24:27 AEDT 2016

Hi Sebastian,

On Sat, 5 Mar 2016, Sebastian Godelet wrote:

> I wonder if that has to do with:
> https://blogs.msdn.microsoft.com/vcblog/2014/06/18/c-runtime-crt-features-fixes-and-breaking-changes-in-visual-studio-14-ctp1/
>> The printf and scanf functions are now defined inline: In order to support
>> the two wide string format and conversion specifier modes, the definitions
>> of all of the printf and scanf functions have been moved inline into
>> <stdio.h>, <conio.h>, and other CRT headers. This is a breaking change for
>> any programs that declared these functions locally without including the
>> appropriate CRT headers. The “fix” is to include the appropriate CRT headers
> That might cause the trouble for the AC_CHECK_FUNC macro

Looking at how that macro works it will definitely cause trouble for it.
(I was hoping we could temporarily add something to CFLAGS to fix that, but
MSVC's /FI option doesn't seem able to include system headers.)

I'll add your diff, since that seems as good a way as any to solve the problem.

> As a side node, the VC 2015 compiler is able to compile and recompile the
> latest ROTD and DEV (i.e. the autoconf check whether mmc is sufficiently
> recent passes).
> I've also tried the ADM64 arch, with a few modifications it seems to be working fine.

IIRC, the main spot that needs modifying is
get_restricted_command_line_link_opts in compiler/compile_target_code.m.  Are
there any others?

> I've since switched to msys2, since it is so much faster than the old msys.
> For now I use the MS VC that is included in the Visual Studio 2015 enterprise version (update 1).
> I can also try with the community version since I guess that is the one you
> used to build the 14.01 32-bit version (from the homepage)

I used Visual Studio 2013, 2015 didn't exist when I built the 14.01 package!
(I don't remember whether it was the community edition or not.)


More information about the reviews mailing list