49 lines
766 B
C++
49 lines
766 B
C++
|
// 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;
|
||
|
}
|