xfail scan-tree-dump-not throw in g++.dg/pr99966.C on hppa*64*-*-*
[official-gcc.git] / gcc / m2 / mc-boot-ch / Gmcrts.c
bloba803f80a1b76121359bfb15e0fe2138182f5e0b7
1 /* Gmcrts.c implements case and return exceptions.
3 Copyright (C) 2016-2024 Free Software Foundation, Inc.
4 Contributed by Gaius Mulley <gaius@glam.ac.uk>.
6 This file is part of GNU Modula-2.
8 GNU Modula-2 is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 3, or (at your option)
11 any later version.
13 GNU Modula-2 is distributed in the hope that it will be useful, but
14 WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with GNU Modula-2; see the file COPYING3. If not see
20 <http://www.gnu.org/licenses/>. */
22 #include "config.h"
23 #include "system.h"
25 # ifdef __cplusplus
26 extern "C" {
27 # endif
29 void
30 CaseException (const char *s, unsigned int high, unsigned int lineno)
32 fprintf (stderr, "%s:%d:case statement has no matching selection\n", s,
33 lineno);
34 _exit (1);
37 void
38 ReturnException (const char *s, unsigned int high, unsigned int lineno)
40 fprintf (stderr, "%s:%d:procedure function is about to finish and no return "
41 "statement has been executed\n",
42 s, lineno);
43 _exit (1);
46 void _throw (int n)
48 fprintf (stderr, "throw called (%d)\n", n);
49 _exit (1);
52 # ifdef __cplusplus
54 # endif