[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