Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(140)

Issue 803183004: Work around VC++ /analyze internal compiler error (Closed)

Created:
6 years ago by brucedawson
Modified:
4 years, 1 month ago
Reviewers:
Nico, mdempsky
CC:
chromium-reviews, erikwright+watch_chromium.org, dcheng
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Avoid a /analyze internal compiler error with MakeIndexSequence The recently added MakeIndexSequence templates cause a VC++ internal compiler error when building with /analyze. This happens on dozens of source files so disabling /analyze for those files is impractical. This change conditionally replaces the template recursion with a straightforward implementation for values from zero to five. This is sufficient to build Chrome at the moment. The code which VC++ doesn't like was introduced in change: https://codereview.chromium.org/693693005 It's an ugly fix, but justified by the desire to allow running /analyze. The /analyze version of the code will never be run. A VC++ bug has been filed: https://connect.microsoft.com/VisualStudio/feedback/details/1053626 BUG=427616 Committed: https://crrev.com/b132ccda867e4fc8479450db3baf96f1b713b827 Cr-Commit-Position: refs/heads/master@{#312469}

Patch Set 1 #

Patch Set 2 : Added support for zero and five. #

Total comments: 1

Patch Set 3 : Updated to support up to seven, from new repo. #

Patch Set 4 : Removed accidental change from bad merge. #

Patch Set 5 : Significantly simplified. #

Patch Set 6 : This tuple goes to eleven! #

Unified diffs Side-by-side diffs Delta from patch set Stats (+46 lines, -0 lines) Patch
M base/tuple.h View 1 2 3 4 5 2 chunks +46 lines, -0 lines 0 comments Download

Messages

Total messages: 25 (3 generated)
brucedawson
6 years ago (2014-12-15 22:07:50 UTC) #2
Nico
Urgh, this is horrible. Is _PREFAST_ only enabled in /analyze mode? How important is it ...
6 years ago (2014-12-15 22:14:40 UTC) #4
mdempsky
https://codereview.chromium.org/803183004/diff/20001/base/tuple.h File base/tuple.h (right): https://codereview.chromium.org/803183004/diff/20001/base/tuple.h#newcode101 base/tuple.h:101: struct MakeIndexSequenceImpl<N, Ns...> I previously wrote this as: template ...
6 years ago (2014-12-15 22:17:55 UTC) #5
brucedawson
6 years ago (2014-12-15 22:28:24 UTC) #6
brucedawson
My previous replies got lost -- trying again: _PREFAST_ is only enabled in /analyze mode. ...
6 years ago (2014-12-15 22:29:16 UTC) #7
mdempsky
On 2014/12/15 22:29:16, brucedawson wrote: > Unfortunately the non-inheritance version fails in the same way. ...
6 years ago (2014-12-15 22:38:18 UTC) #8
Nico
On 2014/12/15 22:29:16, brucedawson wrote: > My previous replies got lost -- trying again: > ...
6 years ago (2014-12-15 23:33:51 UTC) #9
brucedawson
I'll hold off for now. To avoid polluting my existing repos it means that I ...
6 years ago (2014-12-15 23:50:03 UTC) #10
Nico
On 2014/12/15 23:50:03, brucedawson wrote: > I'll hold off for now. To avoid polluting my ...
6 years ago (2014-12-15 23:52:16 UTC) #11
brucedawson
When building all of Chromium (no target specified instead of 'chrome' as the target) the ...
6 years ago (2014-12-16 18:25:07 UTC) #12
brucedawson
I'm just about ready to fire up a /analyze fyi bot and that will require ...
5 years, 11 months ago (2015-01-21 00:25:44 UTC) #13
Nico
On 2015/01/21 00:25:44, brucedawson wrote: > I'm just about ready to fire up a /analyze ...
5 years, 11 months ago (2015-01-21 00:38:39 UTC) #14
brucedawson
I'll do a run tonight with https://codereview.chromium.org/743853002/. More than 7 parameters can be handled as ...
5 years, 11 months ago (2015-01-21 00:50:20 UTC) #15
Nico
On 2015/01/21 00:50:20, brucedawson wrote: > I'll do a run tonight with https://codereview.chromium.org/743853002/. > > ...
5 years, 11 months ago (2015-01-21 00:52:06 UTC) #16
brucedawson
> This tuple should go to eleven. Not sure if serious... but why not?
5 years, 11 months ago (2015-01-21 01:05:56 UTC) #17
brucedawson
The run with https://codereview.chromium.org/743853002/ worked with no errors or new warnings, and my change now ...
5 years, 11 months ago (2015-01-21 18:23:28 UTC) #18
Nico
On 2015/01/21 18:23:28, brucedawson wrote: > The run with https://codereview.chromium.org/743853002/ worked with no errors or ...
5 years, 11 months ago (2015-01-21 19:27:06 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/803183004/100001
5 years, 11 months ago (2015-01-21 19:40:22 UTC) #21
commit-bot: I haz the power
Committed patchset #6 (id:100001)
5 years, 11 months ago (2015-01-21 22:02:42 UTC) #22
commit-bot: I haz the power
Patchset 6 (id:??) landed as https://crrev.com/b132ccda867e4fc8479450db3baf96f1b713b827 Cr-Commit-Position: refs/heads/master@{#312469}
5 years, 11 months ago (2015-01-21 22:03:48 UTC) #23
Nico
Is this still needed with vs2015?
4 years, 1 month ago (2016-11-15 19:17:00 UTC) #24
brucedawson
4 years, 1 month ago (2016-11-15 19:52:20 UTC) #25
Message was sent while issue was closed.
On 2016/11/15 19:17:00, Nico wrote:
> Is this still needed with vs2015?

Unknown. We'd have to try removing it. It does seem likely that Update 3 of VS
2015 would have a fix for this.

Powered by Google App Engine
This is Rietveld 408576698