Add sub-controls for Hack array compat runtime checks
Summary:
Split the runtime checks controlled by HackArrCompatNotices five ways:
- intish string casts
- refs in arrays
- falsey promotion
- comparisons
- everything else
These Check* options still require HackArrCompatNotices to be on, since
optimizations which hide notices are still controlled by the toplevel
HackArrCompatNotices option.
In hphpc and hhbbc, we turn on all the runtime check options if
HackArrCompatNotices is on, in order to avoid constant-folding any
functions where we might want to make runtime checks.
Reviewed By: ricklavoie
Differential Revision:
D6902410
fbshipit-source-id:
62e08beb100967251163474a071960f2e01ad921