Re: [PATCH] Fix __atomic_compare_exchange handling (PR c++/52215)

2012-02-13 Thread Richard Henderson
On 02/13/2012 11:42 AM, Jakub Jelinek wrote: > 2012-02-13 Jakub Jelinek > > PR c++/52215 > * c-common.c (sync_resolve_params): Don't decide whether to convert > or not based on TYPE_SIZE comparison, convert whenever arg_type > is unsigned INTEGER_TYPE. > > * g++.d

[PATCH] Fix __atomic_compare_exchange handling (PR c++/52215)

2012-02-13 Thread Jakub Jelinek
Hi! As the testcase shows, deciding on whether to convert an argument or not based on TYPE_SIZE is wrong. While the old __sync_* builtins in the _[1248]/_16 variants only had a VPTR as first argument and optionally I[1248]/I16 argument or arguments that should be converted, the new __atomic_* bui