MSVC implements enumerated types as signed values. This causes problems when enums are used as elements in a bit field (especially 1-bit elements) because MSVC wants to include a sign bit in its encoding. This means we lose one bit of resolution, often causing incorrect behavior. Static analysis found this problem in Debugger.h. This patch corrects the bug so that we don't run into this on Windows builds.
<rdar://problem/18563519>
See also Bug 134252.
Created attachment 239369 [details] Patch
Comment on attachment 239369 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=239369&action=review r=me with the comment added. > Source/JavaScriptCore/debugger/Debugger.h:195 > + unsigned m_steppingMode : 1; I recall Darin saying that the accepted practice is to add a trailing comment to indicate the expected type: unsigned m_steppingMode : 1; // SteppingMode
Comment on attachment 239369 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=239369&action=review >> Source/JavaScriptCore/debugger/Debugger.h:195 >> + unsigned m_steppingMode : 1; > > I recall Darin saying that the accepted practice is to add a trailing comment to indicate the expected type: > > unsigned m_steppingMode : 1; // SteppingMode Will do!
Committed in r174381. <http://trac.webkit.org/changeset/174381>