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,