break in blocks cannot cross C function boundaries; fix #2298