{"push_id":617375587,"size":3,"distinct_size":3,"ref":"refs/heads/trunk","head":"c4ec0a68ea5297d6e6d9f05854f0e20cd5b0ae48","before":"b88a26f92263a3ce243d22ed381870ae904f7ca2","commits":[{"sha":"998a11f41686a8c979b7f174ba7c6d41c87ad108","author":{"email":"f27ba9adc18de2a5a5776756692485fab6b7583e@91177308-0d34-0410-b5e6-96231b3b80d8","name":"dsanders"},"message":"[mips] Add support for 'ZC' inline assembly memory constraint.\n\nSummary: Also add tests for 'R' and 'm'.\n\nReviewers: atanasyan\n\nReviewed By: atanasyan\n\nSubscribers: cfe-commits\n\nDifferential Revision: http://reviews.llvm.org/D8449\n\ngit-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@233542 91177308-0d34-0410-b5e6-96231b3b80d8","distinct":true,"url":"https://api.github.com/repos/spurious/clang-mirror/commits/998a11f41686a8c979b7f174ba7c6d41c87ad108"},{"sha":"6a029ee98f196ba7872c4e5513bc2e519320383d","author":{"email":"91db8f0c9669aab7aaac0665fcc1b4d115bc788f@91177308-0d34-0410-b5e6-96231b3b80d8","name":"uweigand"},"message":"[SystemZ] Fix some ABI corner cases\n\nRunning the GCC's inter-compiler ABI compatibility test suite uncovered\na couple of errors in clang's SystemZ ABI implementation.  These all\naffect only rare corner cases:\n\n- Short vector types\n\nGCC synthetic vector types defined with __attribute__ ((vector_size ...))\nare always passed and returned by reference.  (This is not documented in\nthe official ABI document, but is the de-facto ABI implemented by GCC.)\nclang would do that only for vector sizes >= 16 bytes, but not for shorter\nvector types.\n\n- Float-like aggregates and empty bitfields\n\nclang would consider any aggregate containing an empty bitfield as\nfirst element to be a float-like aggregate.  That's obviously wrong.\nAccording to the ABI doc, the presence of an empty bitfield makes\nan aggregate to be *not* float-like.  However, due to a bug in GCC,\nempty bitfields are ignored in C++; this patch changes clang to be\ncompatible with this \"feature\" of GCC.\n\n- Float-like aggregates and va_arg\n\nThe va_arg implementation would mis-detect some aggregates as float-like\nthat aren't actually passed as such.  This applies to aggregates that\nhave only a single element of type float or double, but using an aligned\nattribute that increases the total struct size to more than 8 bytes.\n\nThis error occurred because the va_arg implement used to have an copy\nof the float-like aggregate detection logic (i.e. it would call the\nisFPArgumentType routine, but not perform the size check).\n\nTo simplify the logic, this patch removes the duplicated logic and\ninstead simply checks the (possibly coerced) LLVM argument type as\nalready determined by classifyArgumentType.\n\n\n\ngit-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@233543 91177308-0d34-0410-b5e6-96231b3b80d8","distinct":true,"url":"https://api.github.com/repos/spurious/clang-mirror/commits/6a029ee98f196ba7872c4e5513bc2e519320383d"},{"sha":"c4ec0a68ea5297d6e6d9f05854f0e20cd5b0ae48","author":{"email":"91db8f0c9669aab7aaac0665fcc1b4d115bc788f@91177308-0d34-0410-b5e6-96231b3b80d8","name":"uweigand"},"message":"[SystemZ] Fix definition of IntMaxType / Int64Type\n\nLike on other 64-bit platforms, Int64Type should be SignedLong\non SystemZ, not SignedLongLong as per default.  This could cause\nABI incompatibilities in certain cases (e.g. name mangling).\n\n\n\ngit-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@233544 91177308-0d34-0410-b5e6-96231b3b80d8","distinct":true,"url":"https://api.github.com/repos/spurious/clang-mirror/commits/c4ec0a68ea5297d6e6d9f05854f0e20cd5b0ae48"}]}