)]}'
{
  "commit": "14837f7e48000dd03b6cf857355fb6f512cda283",
  "tree": "6dcb5c64297cb3fca5029e0c40586d8af8ac6d15",
  "parents": [
    "ac01a743f1aa7ebfbabbfaacd1472676db777bdd"
  ],
  "author": {
    "name": "Rafaël Carré",
    "email": "funman@videolan.org",
    "time": "Sun May 19 20:32:11 2013 +0000"
  },
  "committer": {
    "name": "Rafaël Carré",
    "email": "funman@videolan.org",
    "time": "Sun May 19 20:32:11 2013 +0000"
  },
  "message": "fix constraints in stosb/d/w/q inline assembler\n\nPatch by David Wohlferd limegreensocks@yahoo.com\n\n\nThere are actually 4 things changed:\n\n1) The memory clobber.  This is the key change.  There is an non-inline \nversion of __stosb elsewhere which works correctly because it\u0027s \n\"call\"ed.  But if you are using the inline asm version in winnt.h, it \nmust have the clobber to ensure it works correctly.\n\n2) I have changed Dest and Count from input+output to just inputs. \nSaying they are outputs when they aren\u0027t puts unnecessary constraints on \nthe compiler.\n\n3) By using %z2 in the instruction template, the compiler will generate \ncorrect assembly whether the code is compiled with -masm\u003datt (the \ndefault) or -masm\u003dintel.  While I expect that most people are going to \nuse the default, it seems like system headers should support both.  \nEspecially in the Windows world, where people may be more used to \nworking with intel format.  We wouldn\u0027t want to get people in a position \nwhere someone needs to include windows.h which requires att, and some \nother library header which requires intel.\n\n4) Removed the symbolic names (ie [Dest]) since they aren\u0027t being used.  \nI\u0027m a big believe in using symbolic names.  I think all inline asm \nshould use them.  But only if it, well, uses them.\n\nI suppose a fifth thing would be that by using a macro, the code is \nsomewhat shorter, but that\u0027s just incidental.  It made things easier to \nchange while I was experimenting.\n\n\ngit-svn-id: svn+ssh://svn.code.sf.net/p/mingw-w64/code/trunk@5867 4407c894-4637-0410-b4f5-ada5f102cad1\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0aec56f526bcc955987d98bb4ddb1096494305a5",
      "old_mode": 33188,
      "old_path": "mingw-w64-headers/include/winnt.h",
      "new_id": "bd5b0a5fd96f81a8ac855b32a3d93760fb5bc8b2",
      "new_mode": 33188,
      "new_path": "mingw-w64-headers/include/winnt.h"
    }
  ]
}
