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

Review URL: https://codereview.chromium.org/803183004

Cr-Commit-Position: refs/heads/master@{#312469}


CrOS-Libchrome-Original-Commit: b132ccda867e4fc8479450db3baf96f1b713b827
1 file changed
tree: 11c19d5c74162698b861f352a02cef2469e53e33
  1. base/
  2. build/
  3. components/
  4. dbus/
  5. device/
  6. ipc/
  7. mojo/
  8. testing/
  9. third_party/
  10. ui/