Commit 721a4f13 by Vasiliy Fofanov Committed by Arnaud Charlet

init.c (facility_resignal_table): new array

2006-02-17  Vasiliy Fofanov  <fofanov@adacore.com>

	* init.c (facility_resignal_table): new array
	(__gnat_default_resignal_p): enhance default predicate to resignal if
	VMS condition has one of the predefined facility codes.

From-SVN: r111189
parent 0e3e1f15
...@@ -1308,6 +1308,12 @@ const int *cond_resignal_table [] = { ...@@ -1308,6 +1308,12 @@ const int *cond_resignal_table [] = {
0 0
}; };
const int facility_resignal_table [] = {
0x1380000, /* RDB */
0x2220000, /* SQL */
0
};
/* Default GNAT predicate for resignaling conditions. */ /* Default GNAT predicate for resignaling conditions. */
static int static int
...@@ -1315,6 +1321,10 @@ __gnat_default_resignal_p (int code) ...@@ -1315,6 +1321,10 @@ __gnat_default_resignal_p (int code)
{ {
int i, iexcept; int i, iexcept;
for (i = 0; facility_resignal_table [i]; i++)
if ((code & 0xfff0000) == facility_resignal_table [i])
return 1;
for (i = 0, iexcept = 0; for (i = 0, iexcept = 0;
cond_resignal_table [i] && cond_resignal_table [i] &&
!(iexcept = LIB$MATCH_COND (&code, &cond_resignal_table [i])); !(iexcept = LIB$MATCH_COND (&code, &cond_resignal_table [i]));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment