[cfe-commits] r147202 - in /cfe/trunk: include/clang/Basic/DiagnosticGroups.td include/clang/Basic/DiagnosticParseKinds.td include/clang/Parse/Parser.h lib/Parse/ParseStmt.cpp test/Parser/warn-dangling-else.cpp
Chad Rosier
mcrosier at apple.com
Mon Jan 16 19:43:35 PST 2012
No problem. I missed the initial discussion, do I was just looking for clarification.
Thanks David, Chandler, Nico, etc.
On Jan 16, 2012, at 7:26 PM, Nico Weber <thakis at chromium.org> wrote:
> Hi Chad,
>
> On Mon, Jan 16, 2012 at 7:03 PM, Chad Rosier <mcrosier at apple.com> wrote:
>> Hi Nico,
>> I get a warning with the following test case.
>>
>> int foo(int a, int b, int c) {
>> int rval = 0;
>> if (a != b)
>> if (b == c) {
>> rval = 0;
>> } else {
>> rval = 1;
>> }
>> return rval;
>> }
>>
>> mcrosier$ clang -O3 t.c -Wall -c -o /dev/null
>> t.c:6:11: warning: add explicit braces to avoid dangling else [-Wdangling-else]
>> } else {
>> ^
>> 1 warning generated.
>>
>> Is this expected behavior? This code seems rather explicit to me.
>
> This was discussed when I proposed the warning:
> http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20111219/050474.html
>
> Richard and Eli both preferred the warning to fire in this case,
> Chandler was against it.
>
> I'm happy with adding any tweak we agree on (say "don't warn if the
> else starts on the same line the previous if starts" or something like
> that).
>
> How often do you run into this in practice?
>
> Nico
More information about the cfe-commits
mailing list