{"push_id":2805839329,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"a8da1ab024f89708f46f0efc77311ed5c738c28d","before":"ff2d9a1a71cdf5367b0e3edd1337cb2ae1329cdf","commits":[{"sha":"a8da1ab024f89708f46f0efc77311ed5c738c28d","author":{"name":"Zachary Turner","email":"4239aa0d2a9a9fe1ca57c7ca6a764f6a324fc92f@google.com"},"message":"[MS Demangler] Rework the way operators are demangled.\n\nPreviously, some of the code for actually parsing mangled\noperator names was more like formatting code in nature,\nand was interspersed with the demangling code which builds\nthe AST.  This means that by the time we got to the printing\ncode, we had lost all information about what type of operator\nwe had, and all we were left with was a string that we just\nhad to print.  However, not all operators are actually even\noperators.  it's basically just a catch-all mangling for\n\"special names\", and for some of the other types it helps\nto know when we're actually doing the printing what it is.\n\nThis patch changes the way things work by introducing an\nOperatorInfo structure and corresponding enumeration.  When\nwe demangle we store the enumeration value and demangled\ncomponents separately.  This gives more flexibility during\nprinting.\n\nIn doing so, some demanglings of special names which we didn't\npreviously support come out of this for free, so we now demangle\nthose.\n\nA few are more complex and are better left for a followup patch\nthough.\n\nAn exhaustive test of every possible operator code is included,\nwith the ones that don't yet work commented out.","distinct":true,"url":"https://api.github.com/repos/llvm-project/llvm-project-20170507/commits/a8da1ab024f89708f46f0efc77311ed5c738c28d"}]}
{"actor":{"display_login":"chapuni"}}