[cfe-commits] r141170 - in /cfe/trunk: include/clang/Sema/Sema.h lib/Sema/SemaCXXCast.cpp lib/Sema/SemaChecking.cpp lib/Sema/SemaExpr.cpp lib/Sema/SemaExprCXX.cpp
Jakob Stoklund Olesen
stoklund at 2pi.dk
Wed Oct 5 13:17:47 PDT 2011
On Oct 5, 2011, at 10:56 AM, John McCall wrote:
>
> On Oct 5, 2011, at 9:44 AM, Jakob Stoklund Olesen wrote:
>
>>
>> On Oct 5, 2011, at 12:41 AM, John McCall wrote:
>>
>>> Author: rjmccall
>>> Date: Wed Oct 5 02:41:44 2011
>>> New Revision: 141170
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=141170&view=rev
>>> Log:
>>> Refactor the analysis of C++ cast expressions so that even
>>> C-style and functional casts are built in SemaCXXCast.cpp.
>>> Introduce a helper class to encapsulate most of the random
>>> state being passed around, at least one level down.
>>
>> John,
>>
>> I think this commit caused this failure:
>>
>> $ Release+Asserts/bin/clang /d/g/clang-tests/gcc-4_2-testsuite/src/g++.apple/block-sync-compare-and-swap.C
>> /d/g/clang-tests/gcc-4_2-testsuite/src/g++.apple/block-sync-compare-and-swap.C:10:36: error: cannot initialize a
>> parameter of type 'void (^)()' with an rvalue of type 'void *'
>> __sync_bool_compare_and_swap(&b, (void*)0, ^{ print("hello\n"); });
>> ^~~~~~~~
>> 1 error generated.
>
> Yeah, this should not work; (void*) 0 is not convertible to void(^)() in C++ because it's not a valid null pointer constant.
>
>> It was one of the commits in the r141163-141174 range.
>
> Should be fixed in r141192, thanks.
Bot is happy again.
Thanks, John.
/jakob
More information about the cfe-commits
mailing list