Opened on 07/18/2014 at 07:20:07 PM

Last modified on 12/01/2016 at 05:08:47 PM

#1087 new change

Switch from Visual Studio 2012 to Visual Studio 2015

Reported by: eric@adblockplus.org Assignee:
Priority: P3 Milestone:
Module: Adblock-Plus-for-Internet-Explorer Keywords:
Cc: eric@adblockplus.org, 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@adblockplus.org)

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.

Attachments (0)

Change History (12)

comment:1 Changed on 07/18/2014 at 08:15:18 PM by eric@adblockplus.org

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

comment:2 Changed on 07/22/2014 at 02:46:29 PM by eric@adblockplus.org

  • Cc eric@adblockplus.org added

comment:3 Changed on 08/12/2014 at 01:16:48 PM by eric@adblockplus.org

  • Blocked By 1197 added

comment:4 Changed on 08/13/2014 at 06:19:32 PM by eric@adblockplus.org

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 on 10/26/2014 at 05:22:35 PM by oleksandr

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

comment:6 Changed on 10/31/2014 at 02:51:53 PM by fhd

  • Blocked By 1280 removed

comment:7 Changed on 06/19/2015 at 12:52:21 PM by oleksandr

  • Blocking 2599 added

comment:8 Changed on 08/20/2015 at 10:28:53 PM by oleksandr

  • Blocking 2940 added

comment:9 Changed on 12/03/2015 at 01:16:41 PM by sergz

  • Blocking 2940 removed

comment:10 Changed on 12/03/2015 at 01:16:59 PM by sergz

  • Blocking 2599 removed

comment:11 Changed on 01/25/2016 at 04:00:58 PM by eric@adblockplus.org

  • 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 on 12/01/2016 at 04:43:34 PM by eric@adblockplus.org

  • 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 on 12/01/2016 at 05:08:47 PM by eric@adblockplus.org

Add Comment

Modify Ticket

Change Properties
Action
as new .
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from (none).
Next status will be 'reviewing'.
 
Note: See TracTickets for help on using tickets.