| /* PR17544 Incorrect -Wunreachable-code warning |
| Origin: sebor@roguewave.com |
| |
| G++ appends a "return 0;" when finishing a function, but it was not |
| given a source location. The gimplifier thinks a return statement |
| needs a locus so it would add one, making the compiler generated code |
| visible to the unreachable code warning. */ |
| |
| /* { dg-do compile } */ |
| /* { dg-options "-O -Wunreachable-code" } */ |
| |
| int |
| main (int argc, char *argv[]) |
| { |
| const char* const s = argc < 2 ? "" : argv [1]; |
| int i = 0; |
| do { |
| ++i; |
| } while (i < s [0]); |
| return i; |
| } |
| |