1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-02-09 17:57:24 +03:00

fixed a Relax-NG compilation/streaming bug introduced when fixing the

* relaxng.c: fixed a Relax-NG compilation/streaming bug introduced
  when fixing the previous Relax-NG bugs
* result/relaxng/*: This slightly changes the output messages of
  some regression tests.
* configure.in: added support of -with-fexceptions for nested C++
  support.
Daniel
This commit is contained in:
Daniel Veillard 2003-07-28 13:02:24 +00:00
parent 63f3a47dbf
commit d94849b092
10 changed files with 74 additions and 13 deletions

View File

@ -1,3 +1,12 @@
Sun Jul 27 14:30:56 EDT 2003 Daniel Veillard <daniel@veillard.com>
* relaxng.c: fixed a Relax-NG compilation/streaming bug introduced
when fixing the previous Relax-NG bugs
* result/relaxng/*: This slightly changes the output messages of
some regression tests.
* configure.in: added support of -with-fexceptions for nested C++
support.
Thu Jul 24 15:46:02 MDT 2003 John Fleck <jfleck@inkstain.net>
* doc/tutorial/apa.html

View File

@ -244,6 +244,8 @@ dnl
XML_CFLAGS=""
RDL_LIBS=""
AC_ARG_WITH(fexceptions,
[ --with-fexceptions add GCC flag -fexceptions for C++ exceptions (off)])
dnl
dnl Workaround for native compilers
dnl HP : http://bugs.gnome.org/db/31/3163.html
@ -259,6 +261,15 @@ if test "${GCC}" != "yes" ; then
;;
esac
else
if test "$with_fexceptions" = "yes"
then
#
# Not activated by default because this inflates the code size
# Used to allow propagation of C++ exceptions through the library
#
CFLAGS="${CFLAGS} -fexceptions"
fi
CFLAGS="${CFLAGS} -Wall"
case "${host}" in
alpha*-*-linux* )

View File

@ -2709,6 +2709,9 @@ xmlRelaxNGIsCompileable(xmlRelaxNGDefinePtr def) {
ret = 1;
break;
case XML_RELAXNG_ELEMENT:
/*
* Check if the element content is compileable
*/
if (((def->dflags & IS_NOT_COMPILABLE) == 0) &&
((def->dflags & IS_COMPILABLE) == 0)) {
xmlRelaxNGDefinePtr list;
@ -2721,12 +2724,31 @@ xmlRelaxNGIsCompileable(xmlRelaxNGDefinePtr def) {
}
if (ret == 0) def->dflags |= IS_NOT_COMPILABLE;
if (ret == 1) def->dflags |= IS_COMPILABLE;
#ifdef DEBUG_COMPILE
if (ret == 1) {
xmlGenericError(xmlGenericErrorContext,
"element content for %s is compilable\n",
def->name);
} else if (ret == 0) {
xmlGenericError(xmlGenericErrorContext,
"element content for %s is not compilable\n",
def->name);
} else {
xmlGenericError(xmlGenericErrorContext,
"Problem in RelaxNGIsCompileable for element %s\n",
def->name);
}
#endif
}
if (ret == 1) {
if ((def->nameClass != NULL) || (def->name == NULL))
ret = 0;
}
break;
/*
* All elements return a compileable status unless they
* are generic like anyName
*/
if ((def->nameClass != NULL) || (def->name == NULL))
ret = 0;
else
ret = 1;
return(ret);
case XML_RELAXNG_REF:
case XML_RELAXNG_EXTERNALREF:
case XML_RELAXNG_PARENTREF:
@ -2778,6 +2800,21 @@ xmlRelaxNGIsCompileable(xmlRelaxNGDefinePtr def) {
}
if (ret == 0) def->dflags |= IS_NOT_COMPILABLE;
if (ret == 1) def->dflags |= IS_COMPILABLE;
#ifdef DEBUG_COMPILE
if (ret == 1) {
xmlGenericError(xmlGenericErrorContext,
"RelaxNGIsCompileable %s : true\n",
xmlRelaxNGDefName(def));
} else if (ret == 0) {
xmlGenericError(xmlGenericErrorContext,
"RelaxNGIsCompileable %s : false\n",
xmlRelaxNGDefName(def));
} else {
xmlGenericError(xmlGenericErrorContext,
"Problem in RelaxNGIsCompileable %s\n",
xmlRelaxNGDefName(def));
}
#endif
return(ret);
}

View File

@ -1,2 +1,2 @@
RNG validity error: file ./test/relaxng/tutor10_7_3.xml line 2 element card
Element addressBook has extra content: card
Element card failed to validate attributes

View File

@ -1,2 +1,2 @@
RNG validity error: file ./test/relaxng/tutor10_8_3.xml line 2 element card
Element addressBook has extra content: card
Element card failed to validate attributes

View File

@ -1,2 +1,4 @@
RNG validity error: file ./test/relaxng/tutor3_5_2.xml line 2 element card
Element addressBook has extra content: card
RNG validity error: file ./test/relaxng/tutor3_5_2.xml line 2 element email
Expecting element name, got email
RNG validity error: file ./test/relaxng/tutor3_5_2.xml line 2 element email
Element card failed to validate content

View File

@ -1,2 +1,4 @@
RNG validity error: file ./test/relaxng/tutor9_5_2.xml line 2 element card
Element addressBook has extra content: card
Invalid sequence in interleave
RNG validity error: file ./test/relaxng/tutor9_5_2.xml line 2 element card
Element card failed to validate attributes

View File

@ -1,2 +1,2 @@
RNG validity error: file ./test/relaxng/tutor9_5_3.xml line 2 element card
Element addressBook has extra content: card
Invalid attribute error for element card

View File

@ -1,2 +1,2 @@
RNG validity error: file ./test/relaxng/tutor9_6_2.xml line 2 element card
Element addressBook has extra content: card
Element card failed to validate attributes

View File

@ -1,2 +1,2 @@
RNG validity error: file ./test/relaxng/tutor9_6_3.xml line 2 element card
Element addressBook has extra content: card
Invalid attribute error for element card