Opened 4 years ago

Last modified 2 years ago

#1087 new change

Switch from Visual Studio 2012 to Visual Studio 2015

Reported by: eric@… Assignee:
Priority: P3 Milestone:
Module: Adblock-Plus-for-Internet-Explorer Keywords:
Cc: eric@…, fhd Blocked By: #1197
Blocking: Platform: Internet Explorer
Ready: no Confidential: no
Tester: Unknown Verified working: no
Review URL(s):

Description (last modified by eric@…)

Microsoft is almost done with C++11 in Visual Studio. The toolset in VS 2015 has almost-complete support for C++11. Here are some items of particular note:

  • explicit conversion operators
  • defaulted and deleted functions
  • non-static data member initializers
  • initializer lists
  • variadic templates
  • 'constexpr' (not in VS 2013)
  • inheriting constructors (not in VS 2013)

Reference

C++11/14/17 Features In VS 2015 RTM http://blogs.msdn.com/b/vcblog/archive/2015/06/19/c-11-14-17-features-in-vs-2015-rtm.aspx

Issue

The issue is that code written with these new features will not compile under VS 2012, the current designated environment.

Action

This is not so much a particular technical problem as a policy change that affects the solutions to other issues.

Change History (12)

comment:1 Changed 4 years ago by eric@…

A nonessential gripe: VS 2103 doesn't have noexcept.

comment:2 Changed 4 years ago by eric@…

  • Cc eric@… added

comment:3 Changed 4 years ago by eric@…

  • Blocked By 1197 added

comment:4 Changed 4 years ago by eric@…

Please see https://issues.adblockplus.org/ticket/1197#comment:1, which provides a mitigation tactic to use that delays the need for final resolution of the v8 issue, allowing us to move on with C++11 for everything else.

comment:5 Changed 4 years ago by oleksandr

  • Blocked By 1280 added
  • Priority changed from Unknown to P3

comment:6 Changed 4 years ago by fhd

  • Blocked By 1280 removed

comment:7 Changed 3 years ago by oleksandr

  • Blocking 2599 added

comment:8 Changed 3 years ago by oleksandr

  • Blocking 2940 added

comment:9 Changed 3 years ago by sergz

  • Blocking 2940 removed

comment:10 Changed 3 years ago by sergz

  • Blocking 2599 removed

comment:11 Changed 3 years ago by eric@…

  • Description modified (diff)
  • Summary changed from Switch from Visual Studio 2012 to Visual Studio 2013 to Switch from Visual Studio 2012 to Visual Studio 2015
  • Tester set to Unknown

Since this ticket was originally written, Visual Studio 2015 has been released. Its new "Community Edition" is better than the old "Express Edition". In particular, it comes with an up-to-date version of ATL, which will greatly simplify our build. (It's also useful that it supports plugins, but that's just a bonus.)

Updating this ticket to VS 2015.

comment:12 Changed 2 years ago by eric@…

  • Cc fhd added

Visual Studio 2017 RC has been released. It comes with "toolset 14.1", the new compiler etc. We are currently Visual Studio 2012 with "toolset 11". Intervening there has been VS 2013 with "toolset 12" and VS 2015 with "toolset 14". (Microsoft omitted 13.) When this new version is out in a few months, we'll be three compiler versions behind.

It's already the case that to compile ABP-IE with free tools you need both VS 2012 (compiler toolset) and VS 2013 (ATL) installed. They're still available for download through an "older version" link, but you've go to know how to hunt it down.

Last edited 2 years ago by eric@… (previous) (diff)
Note: See TracTickets for help on using tickets.