| // RUN: %clang_cc1 -fsyntax-only -verify %s |
| // expected-no-diagnostics |
| |
| //PR9463 |
| int subfun(const char *text) { |
| const char *tmp = text; |
| return 0; |
| } |
| |
| void fun(const char* text) { |
| int count = 0; |
| bool check = true; |
| |
| if (check) |
| { |
| const char *end = text; |
| |
| if (check) |
| { |
| do |
| { |
| if (check) |
| { |
| count = subfun(end); |
| goto end; |
| } |
| |
| check = !check; |
| } |
| while (check); |
| } |
| // also works, after commenting following line of source code |
| int e = subfun(end); |
| } |
| end: |
| if (check) |
| ++count; |
| } |
| |
| const char *text = "some text"; |
| |
| int main() { |
| const char *ptr = text; |
| |
| fun(ptr); |
| |
| return 0; |
| } |