Sorry for my mail conf.

Building & test as:

$ mkdir obj && cd obj
$ bash ../gcc-4.3-20080125/configure --prefix=/usr/local/gcc-4.3.x \
     --enable-languages=c,c++,fortran \
     --with-gmp=/usr/local --with-mpfr=/usr/local
$ gmake CFLAGS='-O2 -pipe' LIBCFLAGS='-g -O2' LIBCXXFLAGS='-g -O2
-fno-implicit-templates' bootstrap
$ sudo gmake install && gmake -k check

patch as attachment.

Dongsheng

2008/1/31, Dongsheng Song <[EMAIL PROTECTED]>:
> LAST_UPDATED: Obtained from SVN: trunk revision 131847
>
>  Native configuration is i386-unknown-openbsd4.2
>
>                 === gcc Summary ===
>
>  # of expected passes            48932
>  # of unexpected failures        341
>  # of unexpected successes       1
>  # of expected failures          164
>  # of unresolved testcases       14
>  # of untested testcases         78
>  # of unsupported tests          412
>  /home/dongsheng/wc/tmp/obj/gcc/xgcc  version 4.3.0 20080125 (experimental) 
> (GCC)
>
>
>  Compiler version: 4.3.0 20080125 (experimental) (GCC)
>  Platform: i386-unknown-openbsd4.2
>  configure flags: --prefix=/usr/local/gcc-4.3.x 
> --enable-languages=c,c++,fortran --with-gmp=/usr/local --with-mpfr=/usr/local
>
diff -udr -x contrib gcc-4.3-20080125.orig/gcc/builtins.c gcc-4.3-20080125/gcc/builtins.c
--- gcc-4.3-20080125.orig/gcc/builtins.c	Thu Dec  6 21:25:37 2007
+++ gcc-4.3-20080125/gcc/builtins.c	Tue Jan 29 05:21:15 2008
@@ -12729,13 +12729,13 @@
 	  int inexact;
 	  mpfr_t m1, m2;
 
-	  mpfr_inits2 (prec, m1, m2, NULL);
+	  mpfr_inits2 (prec, m1, m2, (char *)NULL);
 	  mpfr_from_real (m1, ra1, GMP_RNDN);
 	  mpfr_from_real (m2, ra2, GMP_RNDN);
 	  mpfr_clear_flags ();
 	  inexact = func (m1, m1, m2, GMP_RNDN);
 	  result = do_mpfr_ckconv (m1, type, inexact);
-	  mpfr_clears (m1, m2, NULL);
+	  mpfr_clears (m1, m2, (char *)NULL);
 	}
     }
   
@@ -12775,14 +12775,14 @@
 	  int inexact;
 	  mpfr_t m1, m2, m3;
 
-	  mpfr_inits2 (prec, m1, m2, m3, NULL);
+	  mpfr_inits2 (prec, m1, m2, m3, (char *)NULL);
 	  mpfr_from_real (m1, ra1, GMP_RNDN);
 	  mpfr_from_real (m2, ra2, GMP_RNDN);
 	  mpfr_from_real (m3, ra3, GMP_RNDN);
 	  mpfr_clear_flags ();
 	  inexact = func (m1, m1, m2, m3, GMP_RNDN);
 	  result = do_mpfr_ckconv (m1, type, inexact);
-	  mpfr_clears (m1, m2, m3, NULL);
+	  mpfr_clears (m1, m2, m3, (char *)NULL);
 	}
     }
   
@@ -12819,13 +12819,13 @@
 	  int inexact;
 	  mpfr_t m, ms, mc;
 
-	  mpfr_inits2 (prec, m, ms, mc, NULL);
+	  mpfr_inits2 (prec, m, ms, mc, (char *)NULL);
 	  mpfr_from_real (m, ra, GMP_RNDN);
 	  mpfr_clear_flags ();
 	  inexact = mpfr_sin_cos (ms, mc, m, GMP_RNDN);
 	  result_s = do_mpfr_ckconv (ms, type, inexact);
 	  result_c = do_mpfr_ckconv (mc, type, inexact);
-	  mpfr_clears (m, ms, mc, NULL);
+	  mpfr_clears (m, ms, mc, (char *)NULL);
 	  if (result_s && result_c)
 	    {
 	      /* If we are to return in a complex value do so.  */
@@ -12933,7 +12933,7 @@
 	  long integer_quo;
 	  mpfr_t m0, m1;
 
-	  mpfr_inits2 (prec, m0, m1, NULL);
+	  mpfr_inits2 (prec, m0, m1, (char *)NULL);
 	  mpfr_from_real (m0, ra0, GMP_RNDN);
 	  mpfr_from_real (m1, ra1, GMP_RNDN);
 	  mpfr_clear_flags ();
@@ -12941,7 +12941,7 @@
 	  /* Remquo is independent of the rounding mode, so pass
 	     inexact=0 to do_mpfr_ckconv().  */
 	  result_rem = do_mpfr_ckconv (m0, type, /*inexact=*/ 0);
-	  mpfr_clears (m0, m1, NULL);
+	  mpfr_clears (m0, m1, (char *)NULL);
 	  if (result_rem)
 	    {
 	      /* MPFR calculates quo in the host's long so it may
diff -udr -x contrib gcc-4.3-20080125.orig/gcc/c-aux-info.c gcc-4.3-20080125/gcc/c-aux-info.c
--- gcc-4.3-20080125.orig/gcc/c-aux-info.c	Thu Aug  9 06:29:12 2007
+++ gcc-4.3-20080125/gcc/c-aux-info.c	Tue Jan 29 04:55:25 2008
@@ -90,14 +90,14 @@
      add a blank after the data-type of course.  */
 
   if (p == type_or_decl)
-    return concat (data_type, " ", type_or_decl, NULL);
+    return concat (data_type, " ", type_or_decl, (char *)NULL);
 
   saved = *p;
   *p = '\0';
-  qualifiers_then_data_type = concat (type_or_decl, data_type, NULL);
+  qualifiers_then_data_type = concat (type_or_decl, data_type, (char *)NULL);
   *p = saved;
   return reconcat (qualifiers_then_data_type,
-		   qualifiers_then_data_type, " ", p, NULL);
+		   qualifiers_then_data_type, " ", p, (char *)NULL);
 }
 
 /* Given a tree node which represents some "function type", generate the
@@ -122,13 +122,13 @@
       const char *this_type;
 
       if (*formal_list)
-	formal_list = concat (formal_list, ", ", NULL);
+	formal_list = concat (formal_list, ", ", (char *)NULL);
 
       this_type = gen_type ("", TREE_VALUE (formal_type), ansi);
       formal_list
 	= ((strlen (this_type))
-	   ? concat (formal_list, affix_data_type (this_type), NULL)
-	   : concat (formal_list, data_type, NULL));
+	   ? concat (formal_list, affix_data_type (this_type), (char *)NULL)
+	   : concat (formal_list, data_type, (char *)NULL));
 
       formal_type = TREE_CHAIN (formal_type);
     }
@@ -177,10 +177,10 @@
 	 petered out to a NULL (i.e. without being terminated by a
 	 void_type_node) then we need to tack on an ellipsis.  */
       if (!formal_type)
-	formal_list = concat (formal_list, ", ...", NULL);
+	formal_list = concat (formal_list, ", ...", (char *)NULL);
     }
 
-  return concat (" (", formal_list, ")", NULL);
+  return concat (" (", formal_list, ")", (char *)NULL);
 }
 
 /* For the generation of an ANSI prototype for a function definition, we have
@@ -236,23 +236,23 @@
       const char *this_formal;
 
       if (*formal_list && ((style == ansi) || (style == k_and_r_names)))
-	formal_list = concat (formal_list, ", ", NULL);
+	formal_list = concat (formal_list, ", ", (char *)NULL);
       this_formal = gen_decl (formal_decl, 0, style);
       if (style == k_and_r_decls)
-	formal_list = concat (formal_list, this_formal, "; ", NULL);
+	formal_list = concat (formal_list, this_formal, "; ", (char *)NULL);
       else
-	formal_list = concat (formal_list, this_formal, NULL);
+	formal_list = concat (formal_list, this_formal, (char *)NULL);
       formal_decl = TREE_CHAIN (formal_decl);
     }
   if (style == ansi)
     {
       if (!DECL_ARGUMENTS (fndecl))
-	formal_list = concat (formal_list, "void", NULL);
+	formal_list = concat (formal_list, "void", (char *)NULL);
       if (deserves_ellipsis (TREE_TYPE (fndecl)))
-	formal_list = concat (formal_list, ", ...", NULL);
+	formal_list = concat (formal_list, ", ...", (char *)NULL);
     }
   if ((style == ansi) || (style == k_and_r_names))
-    formal_list = concat (" (", formal_list, ")", NULL);
+    formal_list = concat (" (", formal_list, ")", (char *)NULL);
   return formal_list;
 }
 
@@ -311,14 +311,14 @@
 	{
 	case POINTER_TYPE:
 	  if (TYPE_READONLY (t))
-	    ret_val = concat ("const ", ret_val, NULL);
+	    ret_val = concat ("const ", ret_val, (char *)NULL);
 	  if (TYPE_VOLATILE (t))
-	    ret_val = concat ("volatile ", ret_val, NULL);
+	    ret_val = concat ("volatile ", ret_val, (char *)NULL);
 
-	  ret_val = concat ("*", ret_val, NULL);
+	  ret_val = concat ("*", ret_val, (char *)NULL);
 
 	  if (TREE_CODE (TREE_TYPE (t)) == ARRAY_TYPE || TREE_CODE (TREE_TYPE (t)) == FUNCTION_TYPE)
-	    ret_val = concat ("(", ret_val, ")", NULL);
+	    ret_val = concat ("(", ret_val, ")", (char *)NULL);
 
 	  ret_val = gen_type (ret_val, TREE_TYPE (t), style);
 
@@ -326,17 +326,17 @@
 
 	case ARRAY_TYPE:
 	  if (!COMPLETE_TYPE_P (t) || TREE_CODE (TYPE_SIZE (t)) != INTEGER_CST)
-	    ret_val = gen_type (concat (ret_val, "[]", NULL),
+	    ret_val = gen_type (concat (ret_val, "[]", (char *)NULL),
 				TREE_TYPE (t), style);
 	  else if (int_size_in_bytes (t) == 0)
-	    ret_val = gen_type (concat (ret_val, "[0]", NULL),
+	    ret_val = gen_type (concat (ret_val, "[0]", (char *)NULL),
 				TREE_TYPE (t), style);
 	  else
 	    {
 	      int size = (int_size_in_bytes (t) / int_size_in_bytes (TREE_TYPE (t)));
 	      char buff[10];
 	      sprintf (buff, "[%d]", size);
-	      ret_val = gen_type (concat (ret_val, buff, NULL),
+	      ret_val = gen_type (concat (ret_val, buff, (char *)NULL),
 				  TREE_TYPE (t), style);
 	    }
 	  break;
@@ -344,7 +344,7 @@
 	case FUNCTION_TYPE:
 	  ret_val = gen_type (concat (ret_val,
 				      gen_formal_list_for_type (t, style),
-				      NULL),
+				      (char *)NULL),
 			      TREE_TYPE (t), style);
 	  break;
 
@@ -373,13 +373,13 @@
 	      while (chain_p)
 		{
 		  data_type = concat (data_type, gen_decl (chain_p, 0, ansi),
-				      NULL);
+				      (char *)NULL);
 		  chain_p = TREE_CHAIN (chain_p);
-		  data_type = concat (data_type, "; ", NULL);
+		  data_type = concat (data_type, "; ", (char *)NULL);
 		}
-	      data_type = concat ("{ ", data_type, "}", NULL);
+	      data_type = concat ("{ ", data_type, "}", (char *)NULL);
 	    }
-	  data_type = concat ("struct ", data_type, NULL);
+	  data_type = concat ("struct ", data_type, (char *)NULL);
 	  break;
 
 	case UNION_TYPE:
@@ -392,13 +392,13 @@
 	      while (chain_p)
 		{
 		  data_type = concat (data_type, gen_decl (chain_p, 0, ansi),
-				      NULL);
+				      (char *)NULL);
 		  chain_p = TREE_CHAIN (chain_p);
-		  data_type = concat (data_type, "; ", NULL);
+		  data_type = concat (data_type, "; ", (char *)NULL);
 		}
-	      data_type = concat ("{ ", data_type, "}", NULL);
+	      data_type = concat ("{ ", data_type, "}", (char *)NULL);
 	    }
-	  data_type = concat ("union ", data_type, NULL);
+	  data_type = concat ("union ", data_type, (char *)NULL);
 	  break;
 
 	case ENUMERAL_TYPE:
@@ -411,14 +411,14 @@
 	      while (chain_p)
 		{
 		  data_type = concat (data_type,
-			IDENTIFIER_POINTER (TREE_PURPOSE (chain_p)), NULL);
+			IDENTIFIER_POINTER (TREE_PURPOSE (chain_p)), (char *)NULL);
 		  chain_p = TREE_CHAIN (chain_p);
 		  if (chain_p)
-		    data_type = concat (data_type, ", ", NULL);
+		    data_type = concat (data_type, ", ", (char *)NULL);
 		}
-	      data_type = concat ("{ ", data_type, " }", NULL);
+	      data_type = concat ("{ ", data_type, " }", (char *)NULL);
 	    }
-	  data_type = concat ("enum ", data_type, NULL);
+	  data_type = concat ("enum ", data_type, (char *)NULL);
 	  break;
 
 	case TYPE_DECL:
@@ -431,7 +431,7 @@
 	  /* Normally, `unsigned' is part of the deal.  Not so if it comes
 	     with a type qualifier.  */
 	  if (TYPE_UNSIGNED (t) && TYPE_QUALS (t))
-	    data_type = concat ("unsigned ", data_type, NULL);
+	    data_type = concat ("unsigned ", data_type, (char *)NULL);
 	  break;
 
 	case REAL_TYPE:
@@ -451,11 +451,11 @@
 	}
     }
   if (TYPE_READONLY (t))
-    ret_val = concat ("const ", ret_val, NULL);
+    ret_val = concat ("const ", ret_val, (char *)NULL);
   if (TYPE_VOLATILE (t))
-    ret_val = concat ("volatile ", ret_val, NULL);
+    ret_val = concat ("volatile ", ret_val, (char *)NULL);
   if (TYPE_RESTRICT (t))
-    ret_val = concat ("restrict ", ret_val, NULL);
+    ret_val = concat ("restrict ", ret_val, (char *)NULL);
   return ret_val;
 }
 
@@ -494,9 +494,9 @@
      generate the qualifiers here.  */
 
   if (TREE_THIS_VOLATILE (decl))
-    ret_val = concat ("volatile ", ret_val, NULL);
+    ret_val = concat ("volatile ", ret_val, (char *)NULL);
   if (TREE_READONLY (decl))
-    ret_val = concat ("const ", ret_val, NULL);
+    ret_val = concat ("const ", ret_val, (char *)NULL);
 
   data_type = "";
 
@@ -515,7 +515,7 @@
   if (TREE_CODE (decl) == FUNCTION_DECL && is_func_definition)
     {
       ret_val = concat (ret_val, gen_formal_list_for_func_def (decl, ansi),
-			NULL);
+			(char *)NULL);
 
       /* Since we have already added in the formals list stuff, here we don't
 	 add the whole "type" of the function we are considering (which
@@ -532,11 +532,11 @@
   ret_val = affix_data_type (ret_val);
 
   if (TREE_CODE (decl) != FUNCTION_DECL && C_DECL_REGISTER (decl))
-    ret_val = concat ("register ", ret_val, NULL);
+    ret_val = concat ("register ", ret_val, (char *)NULL);
   if (TREE_PUBLIC (decl))
-    ret_val = concat ("extern ", ret_val, NULL);
+    ret_val = concat ("extern ", ret_val, (char *)NULL);
   if (TREE_CODE (decl) == FUNCTION_DECL && !TREE_PUBLIC (decl))
-    ret_val = concat ("static ", ret_val, NULL);
+    ret_val = concat ("static ", ret_val, (char *)NULL);
 
   return ret_val;
 }
diff -udr -x contrib gcc-4.3-20080125.orig/gcc/c-incpath.c gcc-4.3-20080125/gcc/c-incpath.c
--- gcc-4.3-20080125.orig/gcc/c-incpath.c	Thu Jul 26 16:37:01 2007
+++ gcc-4.3-20080125/gcc/c-incpath.c	Tue Jan 29 04:59:31 2008
@@ -147,9 +147,9 @@
 		continue;
 	      if (!strncmp (p->fname, cpp_GCC_INCLUDE_DIR, len))
 		{
-		  char *str = concat (iprefix, p->fname + len, NULL);
+		  char *str = concat (iprefix, p->fname + len, (char *)NULL);
 		  if (p->multilib && imultilib)
-		    str = concat (str, dir_separator_str, imultilib, NULL);
+		    str = concat (str, dir_separator_str, imultilib, (char *)NULL);
 		  add_path (str, SYSTEM, p->cxx_aware, false);
 		}
 	    }
@@ -164,7 +164,7 @@
 
 	  /* Should this directory start with the sysroot?  */
 	  if (sysroot && p->add_sysroot)
-	    str = concat (sysroot, p->fname, NULL);
+	    str = concat (sysroot, p->fname, (char *)NULL);
 	  else if (!p->add_sysroot && relocated
 		   && strncmp (p->fname, cpp_PREFIX, cpp_PREFIX_len) == 0)
 	    {
@@ -179,7 +179,7 @@
 		  char *dummy;
 		  /* Make relative prefix expects the first argument
 		     to be a program, not a directory.  */
-		  dummy = concat (gcc_exec_prefix, "dummy", NULL);
+		  dummy = concat (gcc_exec_prefix, "dummy", (char *)NULL);
 		  relocated_prefix 
 		    = make_relative_prefix (dummy,
 					    cpp_EXEC_PREFIX,
@@ -187,14 +187,14 @@
 		}
 	      str = concat (relocated_prefix,
 			    p->fname + cpp_PREFIX_len, 
-			    NULL);
+			    (char *)NULL);
 	      str = update_path (str, p->component);
 	    }
 	  else
 	    str = update_path (p->fname, p->component);
 
 	  if (p->multilib && imultilib)
-	    str = concat (str, dir_separator_str, imultilib, NULL);
+	    str = concat (str, dir_separator_str, imultilib, (char *)NULL);
 
 	  add_path (str, SYSTEM, p->cxx_aware, false);
 	}
@@ -293,7 +293,7 @@
 
   for (p = heads[chain]; p != NULL; p = p->next)
     if (p->name[0] == '=' && p->user_supplied_p)
-      p->name = concat (sysroot, p->name + 1, NULL);
+      p->name = concat (sysroot, p->name + 1, (char *)NULL);
 }
 
 /* Merge the four include chains together in the order quote, bracket,
diff -udr -x contrib gcc-4.3-20080125.orig/gcc/collect2.c gcc-4.3-20080125/gcc/collect2.c
--- gcc-4.3-20080125.orig/gcc/collect2.c	Mon Dec 31 23:02:59 2007
+++ gcc-4.3-20080125/gcc/collect2.c	Tue Jan 29 06:44:02 2008
@@ -1596,7 +1596,7 @@
       if (EOF == status)
         fatal ("could not close response file %s", response_file);
 
-      response_arg = concat ("@", response_file, NULL);
+      response_arg = concat ("@", response_file, (char *)NULL);
       response_argv[0] = argv0;
       response_argv[1] = response_arg;
       response_argv[2] = NULL;
@@ -1892,8 +1892,8 @@
     notice ("\nwrite_c_file - output name is %s, prefix is %s\n",
 	    output_file, prefix);
 
-  initname = concat ("_GLOBAL__FI_", prefix, NULL);
-  fininame = concat ("_GLOBAL__FD_", prefix, NULL);
+  initname = concat ("_GLOBAL__FI_", prefix, (char *)NULL);
+  fininame = concat ("_GLOBAL__FD_", prefix, (char *)NULL);
 
   free (prefix);
 
diff -udr -x contrib gcc-4.3-20080125.orig/gcc/config/i386/driver-i386.c gcc-4.3-20080125/gcc/config/i386/driver-i386.c
--- gcc-4.3-20080125.orig/gcc/config/i386/driver-i386.c	Wed Nov  7 04:14:22 2007
+++ gcc-4.3-20080125/gcc/config/i386/driver-i386.c	Tue Jan 29 06:53:48 2008
@@ -43,7 +43,7 @@
   sprintf (size, "--param l1-cache-size=%u", l1_sizekb);
   sprintf (line, "--param l1-cache-line-size=%u", l1_line);
 
-  return concat (size, " ", line, " ", NULL);
+  return concat (size, " ", line, " ", (char *)NULL);
 }
 
 /* Returns the description of caches for an AMD processor.  */
@@ -379,13 +379,13 @@
   if (arch)
     {
       if (has_cmpxchg16b)
-	options = concat (options, "-mcx16 ", NULL);
+	options = concat (options, "-mcx16 ", (char *)NULL);
       if (has_lahf_lm)
-	options = concat (options, "-msahf ", NULL);
+	options = concat (options, "-msahf ", (char *)NULL);
     }
 
 done:
-  return concat (cache, "-m", argv[0], "=", cpu, " ", options, NULL);
+  return concat (cache, "-m", argv[0], "=", cpu, " ", options, (char *)NULL);
 }
 #else
 
diff -udr -x contrib gcc-4.3-20080125.orig/gcc/coverage.c gcc-4.3-20080125/gcc/coverage.c
--- gcc-4.3-20080125.orig/gcc/coverage.c	Thu Jul 26 16:37:01 2007
+++ gcc-4.3-20080125/gcc/coverage.c	Tue Jan 29 05:26:19 2008
@@ -827,7 +827,7 @@
   fields = field;
   filename = getpwd ();
   filename = (filename && da_file_name[0] != '/'
-	      ? concat (filename, "/", da_file_name, NULL)
+	      ? concat (filename, "/", da_file_name, (char *)NULL)
 	      : da_file_name);
   filename_len = strlen (filename);
   filename_string = build_string (filename_len + 1, filename);
diff -udr -x contrib gcc-4.3-20080125.orig/gcc/cp/call.c gcc-4.3-20080125/gcc/cp/call.c
--- gcc-4.3-20080125.orig/gcc/cp/call.c	Sat Jan 26 03:45:11 2008
+++ gcc-4.3-20080125/gcc/cp/call.c	Tue Jan 29 06:25:14 2008
@@ -5416,7 +5416,7 @@
 	  || name == base_dtor_identifier
 	  || name == deleting_dtor_identifier)
 	{
-	  pretty_name = concat ("~", pretty_name, NULL);
+	  pretty_name = concat ("~", pretty_name, (char *)NULL);
 	  /* Remember that we need to free the memory allocated.  */
 	  *free_p = true;
 	}
@@ -5426,7 +5426,7 @@
       pretty_name = concat ("operator ",
 			    type_as_string (TREE_TYPE (name),
 					    TFF_PLAIN_IDENTIFIER),
-			    NULL);
+			    (char *)NULL);
       /* Remember that we need to free the memory allocated.  */
       *free_p = true;
     }
diff -udr -x contrib gcc-4.3-20080125.orig/gcc/cp/decl2.c gcc-4.3-20080125/gcc/cp/decl2.c
--- gcc-4.3-20080125.orig/gcc/cp/decl2.c	Sat Jan 26 03:47:28 2008
+++ gcc-4.3-20080125/gcc/cp/decl2.c	Tue Jan 29 06:30:24 2008
@@ -3113,7 +3113,7 @@
 	  oid = DECL_ASSEMBLER_NAME (fndecl);
 	  oname = IDENTIFIER_POINTER (oid);
 	  gcc_assert (oname[0] == '_' && oname[1] == 'Z');
-	  nname = ACONCAT (("_ZGA", oname+2, NULL));
+	  nname = ACONCAT (("_ZGA", oname+2, (char *)NULL));
 	  nid = get_identifier (nname);
 
 	  alias = make_alias_for (fndecl, nid);
diff -udr -x contrib gcc-4.3-20080125.orig/gcc/cp/parser.c gcc-4.3-20080125/gcc/cp/parser.c
--- gcc-4.3-20080125.orig/gcc/cp/parser.c	Wed Jan 16 06:58:02 2008
+++ gcc-4.3-20080125/gcc/cp/parser.c	Tue Jan 29 06:32:58 2008
@@ -17712,7 +17712,7 @@
       /* Output the MESSAGE -- unless we're parsing tentatively.  */
       if (!cp_parser_simulate_error (parser))
 	{
-	  char *message = concat ("expected ", token_desc, NULL);
+	  char *message = concat ("expected ", token_desc, (char *)NULL);
 	  cp_parser_error (parser, message);
 	  free (message);
 	}
diff -udr -x contrib gcc-4.3-20080125.orig/gcc/dbxout.c gcc-4.3-20080125/gcc/dbxout.c
--- gcc-4.3-20080125.orig/gcc/dbxout.c	Fri Sep 21 05:27:39 2007
+++ gcc-4.3-20080125/gcc/dbxout.c	Tue Jan 29 05:28:31 2008
@@ -1007,7 +1007,7 @@
 	  if (cwd[0] == '\0')
 	    cwd = "/";
 	  else if (!IS_DIR_SEPARATOR (cwd[strlen (cwd) - 1]))
-	    cwd = concat (cwd, "/", NULL);
+	    cwd = concat (cwd, "/", (char *)NULL);
 	  cwd = remap_debug_filename (cwd);
 	}
 #ifdef DBX_OUTPUT_MAIN_SOURCE_DIRECTORY
diff -udr -x contrib gcc-4.3-20080125.orig/gcc/diagnostic.c gcc-4.3-20080125/gcc/diagnostic.c
--- gcc-4.3-20080125.orig/gcc/diagnostic.c	Thu Sep 27 15:24:58 2007
+++ gcc-4.3-20080125/gcc/diagnostic.c	Tue Jan 29 05:31:54 2008
@@ -412,7 +412,7 @@
       if (context->show_option_requested && diagnostic->option_index)
 	diagnostic->message.format_spec
 	  = ACONCAT ((diagnostic->message.format_spec,
-		      " [", cl_options[diagnostic->option_index].opt_text, "]", NULL));
+		      " [", cl_options[diagnostic->option_index].opt_text, "]", (char *)NULL));
 
       diagnostic->message.locus = &diagnostic->location;
       diagnostic->message.abstract_origin = &diagnostic->abstract_origin;
diff -udr -x contrib gcc-4.3-20080125.orig/gcc/gcc.c gcc-4.3-20080125/gcc/gcc.c
--- gcc-4.3-20080125.orig/gcc/gcc.c	Fri Jan 25 02:57:12 2008
+++ gcc-4.3-20080125/gcc/gcc.c	Tue Jan 29 06:50:03 2008
@@ -1342,7 +1342,7 @@
 		  /* Store the translation as one argv elt or as two.  */
 		  if (arg != 0 && strchr (arginfo, 'j') != 0)
 		    newv[newindex++] = concat (option_map[j].equivalent, arg,
-					       NULL);
+					       (char *)NULL);
 		  else if (arg != 0)
 		    {
 		      newv[newindex++] = option_map[j].equivalent;
@@ -1875,7 +1875,7 @@
 
   old_spec = *(sl->ptr_spec);
   *(sl->ptr_spec) = ((spec[0] == '+' && ISSPACE ((unsigned char)spec[1]))
-		     ? concat (old_spec, spec + 1, NULL)
+		     ? concat (old_spec, spec + 1, (char *)NULL)
 		     : xstrdup (spec));
 
 #ifdef DEBUG_SPECS
@@ -2445,12 +2445,12 @@
   just_multi_suffix = just_machine_suffix;
   if (do_multi && multilib_dir && strcmp (multilib_dir, ".") != 0)
     {
-      multi_dir = concat (multilib_dir, dir_separator_str, NULL);
-      multi_suffix = concat (multi_suffix, multi_dir, NULL);
-      just_multi_suffix = concat (just_multi_suffix, multi_dir, NULL);
+      multi_dir = concat (multilib_dir, dir_separator_str, (char *)NULL);
+      multi_suffix = concat (multi_suffix, multi_dir, (char *)NULL);
+      just_multi_suffix = concat (just_multi_suffix, multi_dir, (char *)NULL);
     }
   if (do_multi && multilib_os_dir && strcmp (multilib_os_dir, ".") != 0)
-    multi_os_dir = concat (multilib_os_dir, dir_separator_str, NULL);
+    multi_os_dir = concat (multilib_os_dir, dir_separator_str, (char *)NULL);
 
   while (1)
     {
@@ -2807,8 +2807,8 @@
   if (target_system_root)
     {
       if (target_sysroot_suffix)
-	  prefix = concat (target_sysroot_suffix, prefix, NULL);
-      prefix = concat (target_system_root, prefix, NULL);
+	  prefix = concat (target_sysroot_suffix, prefix, (char *)NULL);
+      prefix = concat (target_system_root, prefix, (char *)NULL);
 
       /* We have to override this because GCC's notion of sysroot
 	 moves along with GCC.  */
@@ -3392,7 +3392,7 @@
 	  break;
       new_argv0 = xmemdup (progname, baselen,
 			   baselen + concat_length (new_version, new_machine,
-						    "-gcc-", NULL) + 1);
+						    "-gcc-", (char *)NULL) + 1);
       strcpy (new_argv0 + baselen, new_machine);
       strcat (new_argv0, "-gcc-");
       strcat (new_argv0, new_version);
@@ -3419,7 +3419,7 @@
 						 standard_bindir_prefix,
 						 standard_libexec_prefix);
       if (gcc_exec_prefix)
-	xputenv (concat ("GCC_EXEC_PREFIX=", gcc_exec_prefix, NULL));
+	xputenv (concat ("GCC_EXEC_PREFIX=", gcc_exec_prefix, (char *)NULL));
     }
   else
     {
@@ -3427,7 +3427,7 @@
 	 GCC_EXEC_PREFIX is typically a directory name with a trailing
 	 / (which is ignored by make_relative_prefix), so append a
 	 program name.  */
-      char *tmp_prefix = concat (gcc_exec_prefix, "gcc", NULL);
+      char *tmp_prefix = concat (gcc_exec_prefix, "gcc", (char *)NULL);
       gcc_libexec_prefix = make_relative_prefix (tmp_prefix,
 						 standard_exec_prefix,
 						 standard_libexec_prefix);
@@ -3482,7 +3482,7 @@
 	    {
 	      strncpy (nstore, startp, endp - startp);
 	      if (endp == startp)
-		strcpy (nstore, concat (".", dir_separator_str, NULL));
+		strcpy (nstore, concat (".", dir_separator_str, (char *)NULL));
 	      else if (!IS_DIR_SEPARATOR (endp[-1]))
 		{
 		  nstore[endp - startp] = DIR_SEPARATOR;
@@ -3516,7 +3516,7 @@
 	    {
 	      strncpy (nstore, startp, endp - startp);
 	      if (endp == startp)
-		strcpy (nstore, concat (".", dir_separator_str, NULL));
+		strcpy (nstore, concat (".", dir_separator_str, (char *)NULL));
 	      else if (!IS_DIR_SEPARATOR (endp[-1]))
 		{
 		  nstore[endp - startp] = DIR_SEPARATOR;
@@ -3549,7 +3549,7 @@
 	    {
 	      strncpy (nstore, startp, endp - startp);
 	      if (endp == startp)
-		strcpy (nstore, concat (".", dir_separator_str, NULL));
+		strcpy (nstore, concat (".", dir_separator_str, (char *)NULL));
 	      else if (!IS_DIR_SEPARATOR (endp[-1]))
 		{
 		  nstore[endp - startp] = DIR_SEPARATOR;
@@ -4018,20 +4018,20 @@
 
   gcc_assert (!IS_ABSOLUTE_PATH (tooldir_base_prefix));
   tooldir_prefix = concat (tooldir_base_prefix, spec_machine,
-			   dir_separator_str, NULL);
+			   dir_separator_str, (char *)NULL);
 
   /* Look for tools relative to the location from which the driver is
      running, or, if that is not available, the configured prefix.  */
   tooldir_prefix
     = concat (gcc_exec_prefix ? gcc_exec_prefix : standard_exec_prefix,
 	      spec_machine, dir_separator_str,
-	      spec_version, dir_separator_str, tooldir_prefix, NULL);
+	      spec_version, dir_separator_str, tooldir_prefix, (char *)NULL);
 
   add_prefix (&exec_prefixes,
-	      concat (tooldir_prefix, "bin", dir_separator_str, NULL),
+	      concat (tooldir_prefix, "bin", dir_separator_str, (char *)NULL),
 	      "BINUTILS", PREFIX_PRIORITY_LAST, 0, 0);
   add_prefix (&startfile_prefixes,
-	      concat (tooldir_prefix, "lib", dir_separator_str, NULL),
+	      concat (tooldir_prefix, "lib", dir_separator_str, (char *)NULL),
 	      "BINUTILS", PREFIX_PRIORITY_LAST, 0, 1);
 
 #if defined(TARGET_SYSTEM_ROOT_RELOCATABLE) && !defined(VMS)
@@ -4153,7 +4153,7 @@
 	{ /* POSIX allows separation of -l and the lib arg;
 	     canonicalize by concatenating -l with its arg */
 	  infiles[n_infiles].language = "*";
-	  infiles[n_infiles++].name = concat ("-l", argv[++i], NULL);
+	  infiles[n_infiles++].name = concat ("-l", argv[++i], (char *)NULL);
 	}
       else if (strncmp (argv[i], "-l", 2) == 0)
 	{
@@ -4996,7 +4996,7 @@
 	      info.append = "include-fixed";
 	      if (*sysroot_hdrs_suffix_spec)
 		info.append = concat (info.append, dir_separator_str,
-				      multilib_dir, NULL);
+				      multilib_dir, (char *)NULL);
 	      info.append_len = strlen (info.append);
 	      for_each_path (&include_prefixes, false, info.append_len,
 			     spec_path, &info);
@@ -5021,7 +5021,7 @@
                   int n_files, j, status;
                   FILE *f;
 
-                  at_argument = concat ("@", temp_file, NULL);
+                  at_argument = concat ("@", temp_file, (char *)NULL);
                   store_arg (at_argument, 0, 0);
 
                   /* Convert OUTFILES into a form suitable for writeargv.  */
@@ -6252,8 +6252,8 @@
   /* Read specs from a file if there is one.  */
 
   machine_suffix = concat (spec_machine, dir_separator_str,
-			   spec_version, dir_separator_str, NULL);
-  just_machine_suffix = concat (spec_machine, dir_separator_str, NULL);
+			   spec_version, dir_separator_str, (char *)NULL);
+  just_machine_suffix = concat (spec_machine, dir_separator_str, (char *)NULL);
 
   specs_file = find_a_file (&startfile_prefixes, "specs", R_OK, true);
   /* Read the specs file unless it is a default one.  */
@@ -6368,7 +6368,7 @@
 		      concat (gcc_exec_prefix 
 			      ? gcc_exec_prefix : standard_exec_prefix, 
 			      machine_suffix, 
-			      standard_startfile_prefix, NULL),
+			      standard_startfile_prefix, (char *)NULL),
 		      NULL, PREFIX_PRIORITY_LAST, 0, 1);
 	}
 
@@ -6396,7 +6396,7 @@
   /* If we have a GCC_EXEC_PREFIX envvar, modify it for cpp's sake.  */
   if (gcc_exec_prefix)
     gcc_exec_prefix = concat (gcc_exec_prefix, spec_machine, dir_separator_str,
-			      spec_version, dir_separator_str, NULL);
+			      spec_version, dir_separator_str, (char *)NULL);
 
   /* Now we have the specs.
      Set the `valid' bits for switches that match anything in any spec.  */
diff -udr -x contrib gcc-4.3-20080125.orig/gcc/gensupport.c gcc-4.3-20080125/gcc/gensupport.c
--- gcc-4.3-20080125.orig/gcc/gensupport.c	Thu Jul 26 16:37:01 2007
+++ gcc-4.3-20080125/gcc/gensupport.c	Tue Jan 29 04:44:28 2008
@@ -219,7 +219,7 @@
 	{
 	  static const char sep[2] = { DIR_SEPARATOR, '\0' };
 
-	  pathname = concat (stackp->fname, sep, filename, NULL);
+	  pathname = concat (stackp->fname, sep, filename, (char *)NULL);
 	  input_file = fopen (pathname, "r");
 	  if (input_file != NULL)
 	    goto success;
@@ -228,7 +228,7 @@
     }
 
   if (base_dir)
-    pathname = concat (base_dir, filename, NULL);
+    pathname = concat (base_dir, filename, (char *)NULL);
   else
     pathname = xstrdup (filename);
   input_file = fopen (pathname, "r");
diff -udr -x contrib gcc-4.3-20080125.orig/gcc/omp-low.c gcc-4.3-20080125/gcc/omp-low.c
--- gcc-4.3-20080125.orig/gcc/omp-low.c	Sun Jan 20 01:49:46 2008
+++ gcc-4.3-20080125/gcc/omp-low.c	Tue Jan 29 05:42:44 2008
@@ -4573,7 +4573,7 @@
 	  decl = create_tmp_var_raw (ptr_type_node, NULL);
 
 	  new_str = ACONCAT ((".gomp_critical_user_",
-			      IDENTIFIER_POINTER (name), NULL));
+			      IDENTIFIER_POINTER (name), (char *)NULL));
 	  DECL_NAME (decl) = get_identifier (new_str);
 	  TREE_PUBLIC (decl) = 1;
 	  TREE_STATIC (decl) = 1;
diff -udr -x contrib gcc-4.3-20080125.orig/gcc/passes.c gcc-4.3-20080125/gcc/passes.c
--- gcc-4.3-20080125.orig/gcc/passes.c	Tue Jan 22 21:27:52 2008
+++ gcc-4.3-20080125/gcc/passes.c	Tue Jan 29 05:46:34 2008
@@ -347,7 +347,7 @@
     sprintf (num, "%d", ((int) pass->static_pass_number < 0
 			 ? 1 : pass->static_pass_number));
 
-  dot_name = concat (".", pass->name, num, NULL);
+  dot_name = concat (".", pass->name, num, (char *)NULL);
   if (ipa)
     prefix = "ipa-", flags = TDF_IPA;
   else if (properties & PROP_trees)
@@ -355,8 +355,8 @@
   else
     prefix = "rtl-", flags = TDF_RTL;
 
-  flag_name = concat (prefix, pass->name, num, NULL);
-  glob_name = concat (prefix, pass->name, NULL);
+  flag_name = concat (prefix, pass->name, num, (char *)NULL);
+  glob_name = concat (prefix, pass->name, (char *)NULL);
   pass->static_pass_number = dump_register (dot_name, flag_name, glob_name,
                                             flags, pass->letter);
 }
diff -udr -x contrib gcc-4.3-20080125.orig/gcc/prefix.c gcc-4.3-20080125/gcc/prefix.c
--- gcc-4.3-20080125.orig/gcc/prefix.c	Tue Sep  4 01:09:20 2007
+++ gcc-4.3-20080125/gcc/prefix.c	Tue Jan 29 05:01:32 2008
@@ -98,7 +98,7 @@
 #endif
 
   if (prefix == 0)
-    prefix = getenv (temp = concat (key, "_ROOT", NULL));
+    prefix = getenv (temp = concat (key, "_ROOT", (char *)NULL));
 
   if (prefix == 0)
     prefix = std_prefix;
@@ -222,7 +222,7 @@
 	 together.  */
 
       old_name = name;
-      name = concat (prefix, &name[keylen + 1], NULL);
+      name = concat (prefix, &name[keylen + 1], (char *)NULL);
       free (old_name);
     }
 
@@ -260,11 +260,11 @@
 
       if (key[0] != '$')
 	{
-	  key = concat ("@", key, NULL);
+	  key = concat ("@", key, (char *)NULL);
 	  free_key = true;
 	}
 
-      result = concat (key, &path[len], NULL);
+      result = concat (key, &path[len], (char *)NULL);
       if (free_key)
 	free (CONST_CAST (char *, key));
       result = translate_name (result);
diff -udr -x contrib gcc-4.3-20080125.orig/gcc/read-rtl.c gcc-4.3-20080125/gcc/read-rtl.c
--- gcc-4.3-20080125.orig/gcc/read-rtl.c	Wed Nov 21 01:24:51 2007
+++ gcc-4.3-20080125/gcc/read-rtl.c	Tue Jan 29 04:40:01 2008
@@ -787,7 +787,7 @@
   if (cond2 == 0 || cond2[0] == 0)
     return cond1;
 
-  result = concat ("(", cond1, ") && (", cond2, ")", NULL);
+  result = concat ("(", cond1, ") && (", cond2, ")", (char *)NULL);
   obstack_ptr_grow (&joined_conditions_obstack, result);
   obstack_ptr_grow (&joined_conditions_obstack, cond1);
   obstack_ptr_grow (&joined_conditions_obstack, cond2);
diff -udr -x contrib gcc-4.3-20080125.orig/gcc/tree-complex.c gcc-4.3-20080125/gcc/tree-complex.c
--- gcc-4.3-20080125.orig/gcc/tree-complex.c	Fri Dec 14 05:49:09 2007
+++ gcc-4.3-20080125/gcc/tree-complex.c	Tue Jan 29 05:54:45 2008
@@ -409,7 +409,7 @@
       const char *name = IDENTIFIER_POINTER (DECL_NAME (orig));
       tree inner_type;
 
-      DECL_NAME (r) = get_identifier (ACONCAT ((name, suffix, NULL)));
+      DECL_NAME (r) = get_identifier (ACONCAT ((name, suffix, (char *)NULL)));
 
       inner_type = TREE_TYPE (TREE_TYPE (orig));
       SET_DECL_DEBUG_EXPR (r, build1 (code, type, orig));
diff -udr -x contrib gcc-4.3-20080125.orig/gcc/tree-dump.c gcc-4.3-20080125/gcc/tree-dump.c
--- gcc-4.3-20080125.orig/gcc/tree-dump.c	Sat Aug 25 23:10:40 2007
+++ gcc-4.3-20080125/gcc/tree-dump.c	Tue Jan 29 05:58:30 2008
@@ -908,7 +908,7 @@
 	dump_id[0] = '\0';
     }
 
-  return concat (dump_base_name, dump_id, dfi->suffix, NULL);
+  return concat (dump_base_name, dump_id, dfi->suffix, (char *)NULL);
 }
 
 /* Begin a tree dump for PHASE. Stores any user supplied flag in
diff -udr -x contrib gcc-4.3-20080125.orig/gcc/tree-mudflap.c gcc-4.3-20080125/gcc/tree-mudflap.c
--- gcc-4.3-20080125.orig/gcc/tree-mudflap.c	Wed Jan  2 07:08:05 2008
+++ gcc-4.3-20080125/gcc/tree-mudflap.c	Tue Jan 29 05:06:38 2008
@@ -236,7 +236,7 @@
   else
     op = name = cp = "";
 
-  string = concat (file, colon, line, op, name, cp, NULL);
+  string = concat (file, colon, line, op, name, cp, (char *)NULL);
   result = mf_build_string (string);
   free (string);
 
diff -udr -x contrib gcc-4.3-20080125.orig/gcc/tree-nested.c gcc-4.3-20080125/gcc/tree-nested.c
--- gcc-4.3-20080125.orig/gcc/tree-nested.c	Fri Jan 25 20:54:42 2008
+++ gcc-4.3-20080125/gcc/tree-nested.c	Tue Jan 29 06:00:59 2008
@@ -204,7 +204,7 @@
 
       name = concat ("FRAME.",
 		     IDENTIFIER_POINTER (DECL_NAME (info->context)),
-		     NULL);
+		     (char *)NULL);
       TYPE_NAME (type) = get_identifier (name);
       free (name);
 
diff -udr -x contrib gcc-4.3-20080125.orig/gcc/tree-vect-transform.c gcc-4.3-20080125/gcc/tree-vect-transform.c
--- gcc-4.3-20080125.orig/gcc/tree-vect-transform.c	Fri Dec 28 03:14:17 2007
+++ gcc-4.3-20080125/gcc/tree-vect-transform.c	Tue Jan 29 06:10:37 2008
@@ -799,7 +799,7 @@
 
   if (name)
     {
-      char* tmp = concat (prefix, name, NULL);
+      char* tmp = concat (prefix, name, (char *)NULL);
       new_vect_var = create_tmp_var (type, tmp);
       free (tmp);
     }
diff -udr -x contrib gcc-4.3-20080125.orig/gcc/tree.c gcc-4.3-20080125/gcc/tree.c
--- gcc-4.3-20080125.orig/gcc/tree.c	Wed Jan 23 01:03:12 2008
+++ gcc-4.3-20080125/gcc/tree.c	Tue Jan 29 06:15:47 2008
@@ -7572,11 +7572,11 @@
 	  *q = TOLOWER (*p);
 	*q = '\0';
 
-	built_in_names[mcode] = concat ("__mul", mode_name_buf, "3", NULL);
+	built_in_names[mcode] = concat ("__mul", mode_name_buf, "3", (char *)NULL);
         local_define_builtin (built_in_names[mcode], ftype, mcode,
 			      built_in_names[mcode], ECF_CONST | ECF_NOTHROW);
 
-	built_in_names[dcode] = concat ("__div", mode_name_buf, "3", NULL);
+	built_in_names[dcode] = concat ("__div", mode_name_buf, "3", (char *)NULL);
         local_define_builtin (built_in_names[dcode], ftype, dcode,
 			      built_in_names[dcode], ECF_CONST | ECF_NOTHROW);
       }
diff -udr -x contrib gcc-4.3-20080125.orig/gcc/varasm.c gcc-4.3-20080125/gcc/varasm.c
--- gcc-4.3-20080125.orig/gcc/varasm.c	Thu Dec  6 05:55:10 2007
+++ gcc-4.3-20080125/gcc/varasm.c	Tue Jan 29 06:18:59 2008
@@ -632,7 +632,7 @@
 
       stripped_name = targetm.strip_name_encoding (name);
 
-      buffer = ACONCAT ((stripped_name, "_unlikely", NULL));
+      buffer = ACONCAT ((stripped_name, "_unlikely", (char *)NULL));
       cfun->unlikely_text_section_name = ggc_strdup (buffer);
     }
   else
diff -udr -x contrib gcc-4.3-20080125.orig/libstdc++-v3/config/os/generic/error_constants.h gcc-4.3-20080125/libstdc++-v3/config/os/generic/error_constants.h
--- gcc-4.3-20080125.orig/libstdc++-v3/config/os/generic/error_constants.h	Thu Dec 27 20:59:01 2007
+++ gcc-4.3-20080125/libstdc++-v3/config/os/generic/error_constants.h	Thu Jan 31 00:50:04 2008
@@ -117,7 +117,11 @@
 
       not_connected = 				ENOTCONN,
       not_enough_memory = 			ENOMEM,
+#ifdef ENOTSUP
       not_supported = 				ENOTSUP,
+#else
+      not_supported =				EOPNOTSUPP,
+#endif
 
 #ifdef _GLIBCXX_HAVE_ECANCELED
       operation_canceled = 			ECANCELED,


Reply via email to