This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Prevent 'control reaches end of non-void function' warning for DO_WHILE


On 04/14/2012 05:43 PM, Tom de Vries wrote:
>>  +      tree expr = NULL;
>>  +      append_to_statement_list (*block,&expr);
>>  +      *block = expr;
>
>  Rather than doing this dance here, I think it would be better to enhance
>  append_to_statement_list to handle the case of the list argument being a
>  non-list.
>
Added return value to append_to_statement_list, so now it's:

*block = append_to_statement_list (*block, NULL);

That's different from what I was suggesting; if the list argument is a pointer to a non-list, we can build up a list for at at that time, so we don't need the


+ *block = append_to_statement_list (*block, NULL);

line at all; when we see


+      append_to_statement_list (build1 (LABEL_EXPR, void_type_node, label),
+				block);

if *block isn't a STATEMENT_LIST we just make the necessary adjustments.


Jason


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]