Mark the linker's -Bsymbolic-functions test as an expected failure for MIPS targets.
[deliverable/binutils-gdb.git] / gdb / xml-support.c
index 4306c5c40bd74156fd2763fa34ca38ebacf0930c..930513de4b6426be832db5798ab2053b109973cd 100644 (file)
@@ -1,6 +1,6 @@
 /* Helper routines for parsing XML using Expat.
 
-   Copyright (C) 2006-2015 Free Software Foundation, Inc.
+   Copyright (C) 2006-2016 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -83,7 +83,7 @@ struct gdb_xml_parser
 static void
 gdb_xml_body_text (void *data, const XML_Char *text, int length)
 {
-  struct gdb_xml_parser *parser = data;
+  struct gdb_xml_parser *parser = (struct gdb_xml_parser *) data;
   struct scope_level *scope = VEC_last (scope_level_s, parser->scopes);
 
   if (parser->error.reason < 0)
@@ -156,7 +156,7 @@ xml_find_attribute (VEC(gdb_xml_value_s) *attributes, const char *name)
 static void
 gdb_xml_values_cleanup (void *data)
 {
-  VEC(gdb_xml_value_s) **values = data;
+  VEC(gdb_xml_value_s) **values = (VEC(gdb_xml_value_s) **) data;
   struct gdb_xml_value *value;
   int ix;
 
@@ -173,7 +173,7 @@ static void
 gdb_xml_start_element (void *data, const XML_Char *name,
                       const XML_Char **attrs)
 {
-  struct gdb_xml_parser *parser = data;
+  struct gdb_xml_parser *parser = (struct gdb_xml_parser *) data;
   struct scope_level *scope;
   struct scope_level new_scope;
   const struct gdb_xml_element *element;
@@ -312,23 +312,23 @@ static void
 gdb_xml_start_element_wrapper (void *data, const XML_Char *name,
                               const XML_Char **attrs)
 {
-  struct gdb_xml_parser *parser = data;
-  volatile struct gdb_exception ex;
+  struct gdb_xml_parser *parser = (struct gdb_xml_parser *) data;
 
   if (parser->error.reason < 0)
     return;
 
-  TRY_CATCH (ex, RETURN_MASK_ALL)
+  TRY
     {
       gdb_xml_start_element (data, name, attrs);
     }
-  if (ex.reason < 0)
+  CATCH (ex, RETURN_MASK_ALL)
     {
       parser->error = ex;
 #ifdef HAVE_XML_STOPPARSER
       XML_StopParser (parser->expat_parser, XML_FALSE);
 #endif
     }
+  END_CATCH
 }
 
 /* Handle the end of an element.  DATA is our local XML parser, and
@@ -337,7 +337,7 @@ gdb_xml_start_element_wrapper (void *data, const XML_Char *name,
 static void
 gdb_xml_end_element (void *data, const XML_Char *name)
 {
-  struct gdb_xml_parser *parser = data;
+  struct gdb_xml_parser *parser = (struct gdb_xml_parser *) data;
   struct scope_level *scope = VEC_last (scope_level_s, parser->scopes);
   const struct gdb_xml_element *element;
   unsigned int seen;
@@ -365,7 +365,7 @@ gdb_xml_end_element (void *data, const XML_Char *name)
 
          length = obstack_object_size (scope->body);
          obstack_1grow (scope->body, '\0');
-         body = obstack_finish (scope->body);
+         body = (char *) obstack_finish (scope->body);
 
          /* Strip leading and trailing whitespace.  */
          while (length > 0 && ISSPACE (body[length-1]))
@@ -395,23 +395,23 @@ gdb_xml_end_element (void *data, const XML_Char *name)
 static void
 gdb_xml_end_element_wrapper (void *data, const XML_Char *name)
 {
-  struct gdb_xml_parser *parser = data;
-  volatile struct gdb_exception ex;
+  struct gdb_xml_parser *parser = (struct gdb_xml_parser *) data;
 
   if (parser->error.reason < 0)
     return;
 
-  TRY_CATCH (ex, RETURN_MASK_ALL)
+  TRY
     {
       gdb_xml_end_element (data, name);
     }
-  if (ex.reason < 0)
+  CATCH (ex, RETURN_MASK_ALL)
     {
       parser->error = ex;
 #ifdef HAVE_XML_STOPPARSER
       XML_StopParser (parser->expat_parser, XML_FALSE);
 #endif
     }
+  END_CATCH
 }
 
 /* Free a parser and all its associated state.  */
@@ -419,7 +419,7 @@ gdb_xml_end_element_wrapper (void *data, const XML_Char *name)
 static void
 gdb_xml_cleanup (void *arg)
 {
-  struct gdb_xml_parser *parser = arg;
+  struct gdb_xml_parser *parser = (struct gdb_xml_parser *) arg;
   struct scope_level *scope;
   int ix;
 
@@ -489,7 +489,8 @@ gdb_xml_fetch_external_entity (XML_Parser expat_parser,
                               const XML_Char *systemId,
                               const XML_Char *publicId)
 {
-  struct gdb_xml_parser *parser = XML_GetUserData (expat_parser);
+  struct gdb_xml_parser *parser
+    = (struct gdb_xml_parser *) XML_GetUserData (expat_parser);
   XML_Parser entity_parser;
   const char *text;
   enum XML_Status status;
@@ -666,7 +667,7 @@ gdb_xml_parse_attr_ulongest (struct gdb_xml_parser *parser,
     gdb_xml_error (parser, _("Can't convert %s=\"%s\" to an integer"),
                   attribute->name, value);
 
-  ret = xmalloc (sizeof (result));
+  ret = XNEW (ULONGEST);
   memcpy (ret, &result, sizeof (result));
   return ret;
 }
@@ -689,10 +690,12 @@ gdb_xml_parse_attr_enum (struct gdb_xml_parser *parser,
                         const struct gdb_xml_attribute *attribute,
                         const char *value)
 {
-  const struct gdb_xml_enum *enums = attribute->handler_data;
+  const struct gdb_xml_enum *enums
+    = (const struct gdb_xml_enum *) attribute->handler_data;
   void *ret;
 
-  for (enums = attribute->handler_data; enums->name != NULL; enums++)
+  for (enums = (const struct gdb_xml_enum *) attribute->handler_data;
+       enums->name != NULL; enums++)
     if (strcasecmp (enums->name, value) == 0)
       break;
 
@@ -754,8 +757,9 @@ xinclude_start_include (struct gdb_xml_parser *parser,
                        const struct gdb_xml_element *element,
                        void *user_data, VEC(gdb_xml_value_s) *attributes)
 {
-  struct xinclude_parsing_data *data = user_data;
-  char *href = xml_find_attribute (attributes, "href")->value;
+  struct xinclude_parsing_data *data
+    = (struct xinclude_parsing_data *) user_data;
+  char *href = (char *) xml_find_attribute (attributes, "href")->value;
   struct cleanup *back_to;
   char *text, *output;
 
@@ -789,7 +793,8 @@ xinclude_end_include (struct gdb_xml_parser *parser,
                      const struct gdb_xml_element *element,
                      void *user_data, const char *body_text)
 {
-  struct xinclude_parsing_data *data = user_data;
+  struct xinclude_parsing_data *data
+    = (struct xinclude_parsing_data *) user_data;
 
   data->skip_depth--;
 }
@@ -797,8 +802,9 @@ xinclude_end_include (struct gdb_xml_parser *parser,
 static void XMLCALL
 xml_xinclude_default (void *data_, const XML_Char *s, int len)
 {
-  struct gdb_xml_parser *parser = data_;
-  struct xinclude_parsing_data *data = parser->user_data;
+  struct gdb_xml_parser *parser = (struct gdb_xml_parser *) data_;
+  struct xinclude_parsing_data *data
+    = (struct xinclude_parsing_data *) parser->user_data;
 
   /* If we are inside of e.g. xi:include or the DTD, don't save this
      string.  */
@@ -815,8 +821,9 @@ xml_xinclude_start_doctype (void *data_, const XML_Char *doctypeName,
                            const XML_Char *sysid, const XML_Char *pubid,
                            int has_internal_subset)
 {
-  struct gdb_xml_parser *parser = data_;
-  struct xinclude_parsing_data *data = parser->user_data;
+  struct gdb_xml_parser *parser = (struct gdb_xml_parser *) data_;
+  struct xinclude_parsing_data *data
+    = (struct xinclude_parsing_data *) parser->user_data;
 
   /* Don't print out the doctype, or the contents of the DTD internal
      subset, if any.  */
@@ -826,8 +833,9 @@ xml_xinclude_start_doctype (void *data_, const XML_Char *doctypeName,
 static void XMLCALL
 xml_xinclude_end_doctype (void *data_)
 {
-  struct gdb_xml_parser *parser = data_;
-  struct xinclude_parsing_data *data = parser->user_data;
+  struct gdb_xml_parser *parser = (struct gdb_xml_parser *) data_;
+  struct xinclude_parsing_data *data
+    = (struct xinclude_parsing_data *) parser->user_data;
 
   data->skip_depth--;
 }
@@ -844,7 +852,7 @@ xml_xinclude_xml_decl (void *data_, const XML_Char *version,
 static void
 xml_xinclude_cleanup (void *data_)
 {
-  struct xinclude_parsing_data *data = data_;
+  struct xinclude_parsing_data *data = (struct xinclude_parsing_data *) data_;
 
   obstack_free (&data->obstack, NULL);
   xfree (data);
@@ -905,7 +913,7 @@ xml_process_xincludes (const char *name, const char *text,
   if (gdb_xml_parse (parser, text) == 0)
     {
       obstack_1grow (&data->obstack, '\0');
-      result = xstrdup (obstack_finish (&data->obstack));
+      result = xstrdup ((const char *) obstack_finish (&data->obstack));
 
       if (depth == 0)
        gdb_xml_debug (parser, _("XInclude processing succeeded."));
@@ -1015,7 +1023,7 @@ obstack_xml_printf (struct obstack *obstack, const char *format, ...)
 char *
 xml_fetch_content_from_file (const char *filename, void *baton)
 {
-  const char *dirname = baton;
+  const char *dirname = (const char *) baton;
   FILE *file;
   struct cleanup *back_to;
   char *text;
@@ -1041,7 +1049,7 @@ xml_fetch_content_from_file (const char *filename, void *baton)
   /* Read in the whole file, one chunk at a time.  */
   len = 4096;
   offset = 0;
-  text = xmalloc (len);
+  text = (char *) xmalloc (len);
   make_cleanup (free_current_contents, &text);
   while (1)
     {
@@ -1063,7 +1071,7 @@ xml_fetch_content_from_file (const char *filename, void *baton)
        break;
 
       len = len * 2;
-      text = xrealloc (text, len);
+      text = (char *) xrealloc (text, len);
     }
 
   fclose (file);
This page took 0.027031 seconds and 4 git commands to generate.