On Dec 3, 2013, at 9:35 AM, Jordan Rose <[email protected]> wrote:

> 
> On Dec 3, 2013, at 9:10 , Fariborz Jahanian <[email protected]> wrote:
> 
>> Author: fjahanian
>> Date: Tue Dec  3 11:10:08 2013
>> New Revision: 196296
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=196296&view=rev
>> Log:
>> Issue diagnostic when constructor or destructor
>> return void expression. // rdar://15366494
>> pr17759.
>> 
>> Modified:
>>   cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
>>   cfe/trunk/lib/Sema/SemaStmt.cpp
>>   cfe/trunk/test/SemaCXX/return.cpp
>> 
>> Modified: cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
>> URL: 
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td?rev=196296&r1=196295&r2=196296&view=diff
>> ==============================================================================
>> --- cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td (original)
>> +++ cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td Tue Dec  3 11:10:08 
>> 2013
>> @@ -6426,6 +6426,8 @@ def ext_return_has_void_expr : Extension
>> def err_return_init_list : Error<
>>  "%select{void function|void method|constructor|destructor}1 %0 "
>>  "must not return a value">;
>> +def err_ctor_dtor_returns_void : Error<
>> +  "%select{constructor|destructor}1 %0 must not return void expression">;
> 
> Nitpicking: this wording makes it sound like it must return some other kind 
> of expression. How about "...may not return an expression"? Or, if we care 
> about being technically correct, "using an expression with 'return' is not 
> allowed in a %select{constructor|destructor}0”.

There are situations where we issue ExtWarn when a non-void expression is 
returned. So, I wanted to say ‘void expressions’.
(see ext_return_has_expr).
- Fariborz

> 
> Jordan

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to