scc

simple c99 compiler
git clone git://git.simple-cc.org/scc
Log | Files | Refs | Submodules | README | LICENSE

commit 0717542bba2021b87f92ab99fbd1851618e17da5
parent 582337f4ec80f5afcbcbf77965865afb9042a25a
Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
Date:   Sun, 31 Oct 2021 08:16:50 +0100

cc1: Disable longjmp()

We do not set the recovery points at this moment,
and it means that executing the longjmp() of
discard() will surely generate a segmentation
fault. This patch disables the call to longjmp()
with an exit() until we fix the recovery problem.

Diffstat:
Msrc/cmd/cc/cc1/lex.c | 9+++++++++
1 file changed, 9 insertions(+), 0 deletions(-)

diff --git a/src/cmd/cc/cc1/lex.c b/src/cmd/cc/cc1/lex.c @@ -852,5 +852,14 @@ discard(void) } jump: yytoken = c; + exit(EXIT_FAILURE); + + /* + * FIXME: We don't have a proper recover mechanism at this moment + * and we don't set the recover point ever, so executing this + * longjmp will generate surely a segmentation fault, so it does + * not make sense to do it. We just exit until we can find time + * to solve this problem. + */ longjmp(recover, 1); }