<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>57352</bug_id>
          
          <creation_ts>2011-03-29 09:41:34 -0700</creation_ts>
          <short_desc>Style Checker should prevent enums in bitfields</short_desc>
          <delta_ts>2014-07-12 17:31:40 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://rogerkarlsson.com/blogs/programming/enum-bit-field-visual-studio/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Levi Weintraub">leviw</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>brian.holt</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dpranke</cc>
    
    <cc>eric</cc>
    
    <cc>glenn</cc>
    
    <cc>levin</cc>
    
    <cc>leviw</cc>
    
    <cc>mrobinson</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>375437</commentid>
    <comment_count>0</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-03-29 09:41:34 -0700</bug_when>
    <thetext>MSVC 8.0 has a bug where enums in bitfields are treated as signed, which causes the value when you read them back out to be incorrect (see description in link).

The style checker should prevent us from falling in this hole like I almost did.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375445</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-03-29 09:46:09 -0700</bug_when>
    <thetext>We (somewhat famously) hit this bug early during the Safari Win bringup.  Folks continue to hit it today.  Making check-webkit-style catch it would be nifty.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375469</commentid>
    <comment_count>2</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-03-29 10:20:27 -0700</bug_when>
    <thetext>fwiw, the code is here: http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/style/checkers/cpp.py

And I&apos;m willing to give pointers (and reviews) to anyone who wants to add checks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>908902</commentid>
    <comment_count>3</comment_count>
      <attachid>206786</attachid>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-07-16 08:39:06 -0700</bug_when>
    <thetext>Created attachment 206786
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>922469</commentid>
    <comment_count>4</comment_count>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-08-29 08:20:47 -0700</bug_when>
    <thetext>Any thoughts on the patch? David would you be interested in reviewing it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1022022</commentid>
    <comment_count>5</comment_count>
      <attachid>206786</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-07-12 16:59:00 -0700</bug_when>
    <thetext>Comment on attachment 206786
Patch

Looks OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1022042</commentid>
    <comment_count>6</comment_count>
      <attachid>206786</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-07-12 17:31:35 -0700</bug_when>
    <thetext>Comment on attachment 206786
Patch

Clearing flags on attachment: 206786

Committed r171038: &lt;http://trac.webkit.org/changeset/171038&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1022043</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-07-12 17:31:40 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206786</attachid>
            <date>2013-07-16 08:39:06 -0700</date>
            <delta_ts>2014-07-12 17:31:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57352-20130716163910.patch</filename>
            <type>text/plain</type>
            <size>4155</size>
            <attacher name="Brian Holt">brian.holt</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyNjMxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggN2Y0MTk3ZDU0ZTYzNDRkMDU2NzA2OWZhNmFlZjJjMzQ5
Mjk4MmFiYi4uYjczMmFiNmUwZmNlNjcyNjBkY2JhYTczYmFjMTQwZmNkZWFhYjM2OCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDEzLTA3LTE2ICBCcmlhbiBIb2x0ICA8YnJpYW4uaG9sdEBzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBTdHlsZSBDaGVja2VyIHNob3VsZCBwcmV2ZW50IGVudW1zIGluIGJpdGZpZWxkcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTczNTIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBjaGVj
ayB0aGF0IGVudW1zIGFyZSBub3QgdXNlZCBhcyB0eXBlcyBmb3IgYml0ZmllbGRzCisgICAgICAg
IGFuZCBhIHVuaXQgdGVzdC4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hl
Y2tlcnMvY3BwLnB5OgorICAgICAgICAoY2hlY2tfbGFuZ3VhZ2UpOgorICAgICAgICAoQ3BwQ2hl
Y2tlcik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHBfdW5p
dHRlc3QucHk6CisgICAgICAgIChDcHBTdHlsZVRlc3QpOgorICAgICAgICAoQ3BwU3R5bGVUZXN0
LnRlc3RfZW51bV9iaXRmaWVsZHMpOgorICAgICAgICAoQ3BwU3R5bGVUZXN0LnRlc3RfcGxhaW5f
aW50ZWdyYWxfYml0ZmllbGRzKToKKwogMjAxMy0wNy0xNSAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2
YXIgIDxjYWx2YXJpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIEluY3JlYXNlIHRoZSBK
SEJ1aWxkIHZlcnNpb24gb2YgR1N0cmVhbWVyIHRvIDEuMC43CmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvc3R5bGUvY2hlY2tlcnMvY3BwLnB5CmluZGV4IGFlMmYxNTNmMGQxMDY2MzgwNzBiMTc3
NTA2ZGE4NTliMGM1OTY5OWQuLmY4NGY4MjUwY2FmZWY1NTQ0MGMxMTZhOWI4OTdjNGJlZTFmMWU5
NjEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY3Bw
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY3BwLnB5CkBA
IC0zMDkwLDYgKzMwOTAsMTcgQEAgZGVmIGNoZWNrX2xhbmd1YWdlKGZpbGVuYW1lLCBjbGVhbl9s
aW5lcywgbGluZV9udW1iZXIsIGZpbGVfZXh0ZW5zaW9uLCBpbmNsdWRlX3MKICAgICAgICAgZXJy
b3IobGluZV9udW1iZXIsICdydW50aW1lL2JpdGZpZWxkcycsIDUsCiAgICAgICAgICAgICAgICdQ
bGVhc2UgZGVjbGFyZSBpbnRlZ3JhbCB0eXBlIGJpdGZpZWxkcyB3aXRoIGVpdGhlciBzaWduZWQg
b3IgdW5zaWduZWQuJykKIAorICAgICMgQmV3YXJlIG9mIHVzaW5nIGVudW1zIGFzIHR5cGVzIGZv
ciBiaXRmaWVsZHMsIHRoZXJlIGNhbiBzb21ldGltZXMgYmUgYSBtaXNtYXRjaAorICAgICMgYmV0
d2VlbiB0aGUgc2lnbmVkbmVzcyBvZiB0aGUgZW51bSBhbmQgdGhlIGVudW0gYml0ZmllbGQgdHlw
ZS4KKyAgICAjIFZpc3VhbCBTdHVkaW8ncyA4LjAgY29tcGlsZXIgaXMgYW4gZXhhbXBsZSB3aGVy
ZSBpdCByZXByZXNlbnRzIGJpdCBmaWVsZHMgb2YKKyAgICAjIGVudW0gdHlwZXMgd2l0aCBhIHNp
Z25lZCB0eXBlLCBidXQgZW51bXMgYXMgdW5zaWduZWQuCisgICAgbWF0Y2hlZCA9IHJlLm1hdGNo
KHInXHMqKChjb25zdHxtdXRhYmxlKVxzKyk/KFthLXpBLVpfXVthLXpBLVowLTlfXSopXHMrW2Et
ekEtWl9dW2EtekEtWjAtOV9dKlxzKjpccypcZCtccyo7JywgbGluZSkKKyAgICBpZiBtYXRjaGVk
OgorICAgICAgICAjIE1ha2Ugc3VyZSB0aGUgdHlwZSBpcyBhbiBlbnVtIGFuZCBub3QgYW4gaW50
ZWdyYWwgdHlwZQorICAgICAgICBpZiBub3QgbWF0Y2gocidjaGFyfChzaG9ydChccytpbnQpPyl8
aW50fGxvbmcoXHMrKGxvbmd8aW50KSl8KHNpZ25lZHx1bnNpZ25lZCkoXHMraW50KT8nLCBtYXRj
aGVkLmdyb3VwKDMpKToKKyAgICAgICAgICAgIGVycm9yKGxpbmVfbnVtYmVyLCAncnVudGltZS9l
bnVtX2JpdGZpZWxkcycsIDUsCisgICAgICAgICAgICAgICAgICAnUGxlYXNlIGRlY2xhcmUgZW51
bSBiaXRmaWVsZHMgYXMgdW5zaWduZWQgaW50ZWdyYWwgdHlwZXMuJykKKwogICAgIGNoZWNrX2lk
ZW50aWZpZXJfbmFtZV9pbl9kZWNsYXJhdGlvbihmaWxlbmFtZSwgbGluZV9udW1iZXIsIGxpbmUs
IGZpbGVfc3RhdGUsIGVycm9yKQogCiAgICAgIyBDaGVjayBmb3IgdW5zaWduZWQgaW50IChzaG91
bGQgYmUganVzdCAndW5zaWduZWQnKQpAQCAtMzY1NSw2ICszNjY2LDcgQEAgY2xhc3MgQ3BwQ2hl
Y2tlcihvYmplY3QpOgogICAgICAgICAncnVudGltZS9iaXRmaWVsZHMnLAogICAgICAgICAncnVu
dGltZS9jYXN0aW5nJywKICAgICAgICAgJ3J1bnRpbWUvY3R5cGVfZnVuY3Rpb24nLAorICAgICAg
ICAncnVudGltZS9lbnVtX2JpdGZpZWxkcycsCiAgICAgICAgICdydW50aW1lL2V4cGxpY2l0JywK
ICAgICAgICAgJ3J1bnRpbWUvaW5pdCcsCiAgICAgICAgICdydW50aW1lL2ludCcsCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcF91bml0dGVzdC5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY3BwX3VuaXR0ZXN0LnB5
CmluZGV4IDFiZjk0OTc5M2Q5YTczMGMxNGU4YjI4MTlkYjFkODJjZDMyN2I2MzMuLmMzZjQ1ZjUz
NzdlYTA5ODIwYzc0ODU3ZDZjZDU1Nzg5ZTM3Mzc3OTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY3BwX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY3BwX3VuaXR0ZXN0LnB5CkBAIC0yNDM4LDYg
KzI0MzgsMTQgQEAgY2xhc3MgQ3BwU3R5bGVUZXN0KENwcFN0eWxlVGVzdEJhc2UpOgogICAgICAg
ICAgICAgICAgICAgICAgICAgICdDaGFuZ2luZyBwb2ludGVyIGluc3RlYWQgb2YgdmFsdWUgKG9y
IHVudXNlZCB2YWx1ZSBvZiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ29wZXJhdG9yKiku
ICBbcnVudGltZS9pbnZhbGlkX2luY3JlbWVudF0gWzVdJykKIAorICAgICMgRW51bSBiaXRmaWVs
ZHMgYXJlIG5vdCBhbGxvd2VkIGFuZCBzaG91bGQgYmUgZGVjbGFyZWQgYXMgdW5zaWduZWQgaW50
ZWdyYWwgdHlwZXMuCisgICAgZGVmIHRlc3RfZW51bV9iaXRmaWVsZHMoc2VsZik6CisgICAgICAg
IGVycm1zZyA9ICgnUGxlYXNlIGRlY2xhcmUgZW51bSBiaXRmaWVsZHMgYXMgdW5zaWduZWQgaW50
ZWdyYWwgdHlwZXMuICBbcnVudGltZS9lbnVtX2JpdGZpZWxkc10gWzVdJykKKworICAgICAgICBz
ZWxmLmFzc2VydF9saW50KCdBbkVudW0gYSA6IDMwOycsIGVycm1zZykKKyAgICAgICAgc2VsZi5h
c3NlcnRfbGludCgnbXV0YWJsZSBBbkVudW0gYSA6IDE0OycsIGVycm1zZykKKyAgICAgICAgc2Vs
Zi5hc3NlcnRfbGludCgnY29uc3QgQW5FbnVtIGEgOiA2OycsIGVycm1zZykKKwogICAgICMgSW50
ZWdyYWwgYml0ZmllbGRzIG11c3QgYmUgZGVjbGFyZWQgd2l0aCBlaXRoZXIgc2lnbmVkIG9yIHVu
c2lnbmVkIGtleXdvcmQuCiAgICAgZGVmIHRlc3RfcGxhaW5faW50ZWdyYWxfYml0ZmllbGRzKHNl
bGYpOgogICAgICAgICBlcnJtc2cgPSAoJ1BsZWFzZSBkZWNsYXJlIGludGVncmFsIHR5cGUgYml0
ZmllbGRzIHdpdGggZWl0aGVyIHNpZ25lZCBvciB1bnNpZ25lZC4gIFtydW50aW1lL2JpdGZpZWxk
c10gWzVdJykKQEAgLTI0NDgsNiArMjQ1Niw3IEBAIGNsYXNzIENwcFN0eWxlVGVzdChDcHBTdHls
ZVRlc3RCYXNlKToKICAgICAgICAgc2VsZi5hc3NlcnRfbGludCgnbG9uZyBpbnQgYSA6IDMwOycs
IGVycm1zZykKICAgICAgICAgc2VsZi5hc3NlcnRfbGludCgnaW50IGEgPSAxID8gMCA6IDMwOycs
ICcnKQogCisKIGNsYXNzIENsZWFuc2VkTGluZXNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAg
ICBkZWYgdGVzdF9pbml0KHNlbGYpOgogICAgICAgICBsaW5lcyA9IFsnTGluZSAxJywK
</data>

          </attachment>
      

    </bug>

</bugzilla>