diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2013-04-11 09:13:11 +0000 |
---|---|---|
committer | <> | 2014-04-23 12:05:38 +0000 |
commit | 6af3fdec2262dd94954acc5e426ef71cbd4521d3 (patch) | |
tree | 9be02de9a80f7935892a2d03741adee44723e65d /fixincludes | |
parent | 19be2b4342ac32e9edc78ce6fed8f61b63ae98d1 (diff) | |
download | gcc-tarball-6af3fdec2262dd94954acc5e426ef71cbd4521d3.tar.gz |
Imported from /home/lorry/working-area/delta_gcc-tarball/gcc-4.7.3.tar.bz2.gcc-4.7.3
Diffstat (limited to 'fixincludes')
-rw-r--r-- | fixincludes/ChangeLog | 117 | ||||
-rw-r--r-- | fixincludes/check.tpl | 7 | ||||
-rw-r--r-- | fixincludes/config.h.in | 45 | ||||
-rwxr-xr-x | fixincludes/configure | 781 | ||||
-rw-r--r-- | fixincludes/configure.ac | 1 | ||||
-rw-r--r-- | fixincludes/fixincl.x | 656 | ||||
-rwxr-xr-x | fixincludes/genfixes | 2 | ||||
-rw-r--r-- | fixincludes/inclhack.def | 245 | ||||
-rwxr-xr-x | fixincludes/mkfixinc.sh | 3 | ||||
-rw-r--r-- | fixincludes/tests/base/iso/math_iso.h | 17 | ||||
-rw-r--r-- | fixincludes/tests/base/iso/setjmp_iso.h | 14 | ||||
-rw-r--r-- | fixincludes/tests/base/iso/stdio_iso.h | 14 | ||||
-rw-r--r-- | fixincludes/tests/base/iso/stdlib_iso.h | 16 | ||||
-rw-r--r-- | fixincludes/tests/base/malloc.h | 5 | ||||
-rw-r--r-- | fixincludes/tests/base/net/if_arp.h | 16 | ||||
-rw-r--r-- | fixincludes/tests/base/pthread.h | 14 | ||||
-rw-r--r-- | fixincludes/tests/base/rtldef/decc$types.h | 21 | ||||
-rw-r--r-- | fixincludes/tests/base/rtldef/string.h | 15 | ||||
-rw-r--r-- | fixincludes/tests/base/spawn.h | 15 | ||||
-rw-r--r-- | fixincludes/tests/base/stdio.h | 10 | ||||
-rw-r--r-- | fixincludes/tests/base/sys/cdefs.h | 5 | ||||
-rw-r--r-- | fixincludes/tests/base/testing.h | 11 |
22 files changed, 1701 insertions, 329 deletions
diff --git a/fixincludes/ChangeLog b/fixincludes/ChangeLog index e1242194b8..8fae00387d 100644 --- a/fixincludes/ChangeLog +++ b/fixincludes/ChangeLog @@ -1,14 +1,119 @@ -2011-10-26 Release Manager +2013-04-11 Release Manager - * GCC 4.6.2 released. + * GCC 4.7.3 released. -2011-06-27 Release Manager +2012-09-20 Release Manager - * GCC 4.6.1 released. + * GCC 4.7.2 released. -2011-03-25 Release Manager +2012-06-14 Release Manager - * GCC 4.6.0 released. + * GCC 4.7.1 released. + +2012-03-26 David Edelsohn <dje.gcc@gmail.com> + + * inclhack.def (aix_malloc): New. + * fixincl.x: Regenerate. + * tests/base/malloc.h [AIX_MALLOC_CHECK]: New. + +2012-03-22 Release Manager + + * GCC 4.7.0 released. + +2012-01-11 Bruce Korb <bkorb@gnu.org> + Steven G. Kargl <kargl@gcc.gnu.org> + Andreas Tobler <andreast@fgznet.ch> + + PR bootstrap/51705 + PR preprocessor/51776 + * inclhack.def (cdef_cplusplus): Add a replacement for [[noreturn]]. + * fixincl.x: Regenerate. + * tests/base/sys/cdefs.h: Update. + + * genfixes: Remove the 'Ver.' from the version check. + +2011-12-20 Andreas Schwab <schwab@linux-m68k.org> + + * configure: Regenerate. + +2011-12-19 Andreas Schwab <schwab@linux-m68k.org> + + * configure: Regenerate. + +2011-11-16 David Edelsohn <dje.gcc@gmail.com> + + * inclhack.def (aix_once_init_[12]): New fixes. + * fixincl.x: Regenerate. + * tests/base/pthread.h: Update. + +2011-10-25 Mike Stump <mikestump@comcast.net> + + PR target/48851 + * inclhack.def (void_null): New bypass. + * fixincl.x: Regenerate. + +2011-09-26 Tristan Gingold <gingold@adacore.com> + + * inclhack.def (ms_define_can_use_extern_prefix): + (vms_use_pragma_extern_model, vms_disable_decc_string_builtins): + New fixes. + * fixincl.x: Regenerate. + * tests/base/rtldef/string.h: New test. + * tests/base/rtldef/decc$types.h: Likewise. + * tests/base/testing.h: Update + +2011-09-22 Tristan Gingold <gingold@adacore.com> + + * mkfixinc.sh (target): Remove alpha-vms from particular targets. + +2011-08-23 Steve Ellcey <sje@cup.hp.com> + + PR libstdc++/50153 + * inclhack.def (hpux11_abs): Extend to all hpux machines. + * fixincl.x: Regenerate. + +2011-08-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + Marc Glisse <marc.glisse@normalesup.org> + + PR libstdc++-v3/1773 + * inclhack.def (solaris_cxx_linkage, solaris_getc_strict_stdc) + (solaris_longjmp_noreturn, solaris_pow_int_overload) + (solaris_std___filbuf): New fixes. + * tests/base/iso/math_iso.h, tests/base/iso/setjmp_iso.h, + tests/base/iso/stdio_iso.h, tests/base/iso/stdlib_iso.h: New tests. + * tests/base/stdio.h [SOLARIS_STD___FILBUF_CHECK]: New test. + +2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + PR c++/49347 + * inclhack.def (solaris_posix_spawn_restrict): New fix. + * fixincl.x: Regenerate. + * tests/base/spawn.h: New test. + +2011-06-08 Douglas B Rupp <rupp@gnat.com> + + * configure.ac (AC_USE_SYSTEM_EXTENSIONS): Add. + * configure: Regenerate. + * config.h.in: Regenerate. + +2011-06-06 Peter O'Gorman <pogma@thewrittenword.com> + + * inclhack.def (aix_net_if_arp): New fix. + * fixincl.x: Regenerate. + * tests/base/net/if_arp.h [AIX_NET_IF_ARP_CHECK]: New test. + +2011-05-17 Tristan Gingold <gingold@adacore.com> + + * inclhack.def (solaris_complex_cxx): Fix syntax. + * fixincl.x: Regenerate. + +2011-05-17 Tristan Gingold <gingold@adacore.com> + + * check.tpl: Shell-quote testing file. + +2011-03-22 Joseph Myers <joseph@codesourcery.com> + + * mkfixinc.sh: Don't handle i?86-moss-msdos* or i?86-*-pe. 2010-11-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> diff --git a/fixincludes/check.tpl b/fixincludes/check.tpl index b239d8b559..a9810e28a8 100644 --- a/fixincludes/check.tpl +++ b/fixincludes/check.tpl @@ -85,11 +85,8 @@ FOR fix =][= (get "hackname") )) ) =][= ELSE =] -cat >> [= - IF (exist? "files") =][= - files[0] =][= - ELSE =]testing.h[= - ENDIF =] <<_HACK_EOF_ +cat >> [= (raw-shell-str (if (exist? "files") (get "files[0]") "testing.h")) + =] <<_HACK_EOF_ #if defined( [=(. HACK)=]_CHECK ) diff --git a/fixincludes/config.h.in b/fixincludes/config.h.in index 07cfb60e08..3f6cf1e574 100644 --- a/fixincludes/config.h.in +++ b/fixincludes/config.h.in @@ -26,8 +26,8 @@ #endif -/* Define to 1 if you have the declaration of `basename', and to 0 if you - don't. */ +/* Define to 1 if you have the declaration of `basename(char *)', and to 0 if + you don't. */ #ifndef USED_FOR_TARGET #undef HAVE_DECL_BASENAME #endif @@ -393,6 +393,47 @@ #endif +/* Enable extensions on AIX 3, Interix. */ +#ifndef _ALL_SOURCE +# undef _ALL_SOURCE +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# undef _GNU_SOURCE +#endif +/* Enable threading extensions on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +# undef _POSIX_PTHREAD_SEMANTICS +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +# undef _TANDEM_SOURCE +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# undef __EXTENSIONS__ +#endif + + +/* Define to 1 if on MINIX. */ +#ifndef USED_FOR_TARGET +#undef _MINIX +#endif + + +/* Define to 2 if the system does not provide POSIX.1 features except with + this defined. */ +#ifndef USED_FOR_TARGET +#undef _POSIX_1_SOURCE +#endif + + +/* Define to 1 if you need to in order for `stat' and other things to work. */ +#ifndef USED_FOR_TARGET +#undef _POSIX_SOURCE +#endif + + /* Define to xatexit if the host system does not support atexit */ #ifndef USED_FOR_TARGET #undef atexit diff --git a/fixincludes/configure b/fixincludes/configure index 7b7109a930..4a28cd1f3f 100755 --- a/fixincludes/configure +++ b/fixincludes/configure @@ -591,15 +591,15 @@ ac_includes_default="\ ac_subst_vars='LTLIBOBJS LIBOBJS MAINT -EGREP -GREP -CPP TARGET target_noncanonical WERROR WARN_PEDANTIC WARN_CFLAGS SED +EGREP +GREP +CPP OBJEXT EXEEXT ac_ct_CC @@ -1464,48 +1464,6 @@ fi } # ac_fn_c_try_cpp -# ac_fn_c_try_run LINENO -# ---------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - return $ac_retval - -} # ac_fn_c_try_run - # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists, giving a warning if it cannot be compiled using @@ -1593,6 +1551,48 @@ fi } # ac_fn_c_check_header_mongrel +# ac_fn_c_try_run LINENO +# ---------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes +# that executables *can* be run. +ac_fn_c_try_run () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then : + ac_retval=0 +else + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=$ac_status +fi + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + return $ac_retval + +} # ac_fn_c_try_run + # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in @@ -4028,262 +4028,7 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 -$as_echo_n "checking for a sed that does not truncate output... " >&6; } -if test "${ac_cv_path_SED+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for ac_i in 1 2 3 4 5 6 7; do - ac_script="$ac_script$as_nl$ac_script" - done - echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed - { ac_script=; unset ac_script;} - if test -z "$SED"; then - ac_path_SED_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue -# Check for GNU ac_path_SED and select it if it is found. - # Check for GNU $ac_path_SED -case `"$ac_path_SED" --version 2>&1` in -*GNU*) - ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo '' >> "conftest.nl" - "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_SED_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_SED="$ac_path_SED" - ac_path_SED_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - $ac_path_SED_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_SED"; then - as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5 - fi -else - ac_cv_path_SED=$SED -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 -$as_echo "$ac_cv_path_SED" >&6; } - SED="$ac_cv_path_SED" - rm -f conftest.sed - - -# Figure out what compiler warnings we can enable. -# See config/warnings.m4 for details. - - -WARN_CFLAGS= -save_CFLAGS="$CFLAGS" -for option in -W -Wall -Wwrite-strings -Wstrict-prototypes \ - -Wmissing-prototypes -Wold-style-definition \ - -Wmissing-format-attribute -Wno-overlength-strings; do - as_acx_Woption=`$as_echo "acx_cv_prog_cc_warning_$option" | $as_tr_sh` - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports $option" >&5 -$as_echo_n "checking whether $CC supports $option... " >&6; } -if { as_var=$as_acx_Woption; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - CFLAGS="$option" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$as_acx_Woption=yes" -else - eval "$as_acx_Woption=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -eval ac_res=\$$as_acx_Woption - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - if test `eval 'as_val=${'$as_acx_Woption'};$as_echo "$as_val"'` = yes; then : - WARN_CFLAGS="$WARN_CFLAGS${WARN_CFLAGS:+ }$option" -fi - done -CFLAGS="$save_CFLAGS" - -WARN_PEDANTIC= -if test "$GCC" = yes; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -pedantic -Wno-long-long" >&5 -$as_echo_n "checking whether $CC supports -pedantic -Wno-long-long... " >&6; } -if test "${acx_cv_prog_cc_pedantic__Wno_long_long+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - save_CFLAGS="$CFLAGS" -CFLAGS="-pedantic -Wno-long-long" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - acx_cv_prog_cc_pedantic__Wno_long_long=yes -else - acx_cv_prog_cc_pedantic__Wno_long_long=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -CFLAGS="$save_CFLAGS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_prog_cc_pedantic__Wno_long_long" >&5 -$as_echo "$acx_cv_prog_cc_pedantic__Wno_long_long" >&6; } -if test $acx_cv_prog_cc_pedantic__Wno_long_long = yes; then : - WARN_PEDANTIC="$WARN_PEDANTIC${WARN_PEDANTIC:+ }-pedantic -Wno-long-long" -fi - -fi - - -# Only enable with --enable-werror-always until existing warnings are -# corrected. -WERROR= -# Check whether --enable-werror-always was given. -if test "${enable_werror_always+set}" = set; then : - enableval=$enable_werror_always; -else - enable_werror_always=no -fi - -if test $enable_werror_always = yes; then : - WERROR="$WERROR${WERROR:+ }-Werror" -fi - - - -# Determine the noncanonical target name, for directory use. - case ${build_alias} in - "") build_noncanonical=${build} ;; - *) build_noncanonical=${build_alias} ;; -esac - - case ${host_alias} in - "") host_noncanonical=${build_noncanonical} ;; - *) host_noncanonical=${host_alias} ;; -esac - - case ${target_alias} in - "") target_noncanonical=${host_noncanonical} ;; - *) target_noncanonical=${target_alias} ;; -esac - - - - -# Specify the local prefix -local_prefix= - -# Check whether --with-local-prefix was given. -if test "${with_local_prefix+set}" = set; then : - withval=$with_local_prefix; case "${withval}" in -yes) as_fn_error "bad value ${withval} given for local include directory prefix" "$LINENO" 5 ;; -no) ;; -*) local_prefix=$with_local_prefix ;; -esac -fi - - -# Default local prefix if it is empty -if test x$local_prefix = x; then - local_prefix=/usr/local -fi - -# Choose one or two-process fix methodology. Systems that cannot handle -# bi-directional pipes must use the two process method. -# -# Check whether --enable-twoprocess was given. -if test "${enable_twoprocess+set}" = set; then : - enableval=$enable_twoprocess; if test "x$enable_twoprocess" = xyes; then - TARGET=twoprocess -else - TARGET=oneprocess -fi -else - case $host in - i?86-*-msdosdjgpp* | \ - i?86-*-mingw32* | \ - x86_64-*-mingw32* | \ - *-*-beos* ) - TARGET=twoprocess - ;; - - * ) - TARGET=oneprocess - ;; -esac -fi - - - -if test $TARGET = twoprocess; then - -$as_echo "#define SEPARATE_FIX_PROC 1" >>confdefs.h - -fi - -case $host in - vax-dec-bsd* ) - -$as_echo "#define exit xexit" >>confdefs.h - - -$as_echo "#define atexit xatexit" >>confdefs.h - - ;; -esac - - -cat >>confdefs.h <<_ACEOF -#define EXE_EXT "$ac_exeext" -_ACEOF - - -# Checks for header files. ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -4682,6 +4427,442 @@ fi done + + ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default" +if test "x$ac_cv_header_minix_config_h" = x""yes; then : + MINIX=yes +else + MINIX= +fi + + + if test "$MINIX" = yes; then + +$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h + + +$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h + + +$as_echo "#define _MINIX 1" >>confdefs.h + + fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 +$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } +if test "${ac_cv_safe_to_define___extensions__+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +# define __EXTENSIONS__ 1 + $ac_includes_default +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_safe_to_define___extensions__=yes +else + ac_cv_safe_to_define___extensions__=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5 +$as_echo "$ac_cv_safe_to_define___extensions__" >&6; } + test $ac_cv_safe_to_define___extensions__ = yes && + $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h + + $as_echo "#define _ALL_SOURCE 1" >>confdefs.h + + $as_echo "#define _GNU_SOURCE 1" >>confdefs.h + + $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h + + $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +$as_echo_n "checking for a sed that does not truncate output... " >&6; } +if test "${ac_cv_path_SED+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for ac_i in 1 2 3 4 5 6 7; do + ac_script="$ac_script$as_nl$ac_script" + done + echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed + { ac_script=; unset ac_script;} + if test -z "$SED"; then + ac_path_SED_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue +# Check for GNU ac_path_SED and select it if it is found. + # Check for GNU $ac_path_SED +case `"$ac_path_SED" --version 2>&1` in +*GNU*) + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo '' >> "conftest.nl" + "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_SED_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_SED="$ac_path_SED" + ac_path_SED_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_SED_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_SED"; then + as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5 + fi +else + ac_cv_path_SED=$SED +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +$as_echo "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed + + +# Figure out what compiler warnings we can enable. +# See config/warnings.m4 for details. + +WARN_CFLAGS= +save_CFLAGS="$CFLAGS" +for real_option in -W -Wall -Wwrite-strings -Wstrict-prototypes \ + -Wmissing-prototypes -Wold-style-definition \ + -Wmissing-format-attribute -Wno-overlength-strings; do + # Do the check with the no- prefix removed since gcc silently + # accepts any -Wno-* option on purpose + case $real_option in + -Wno-*) option=-W`expr x$real_option : 'x-Wno-\(.*\)'` ;; + *) option=$real_option ;; + esac + as_acx_Woption=`$as_echo "acx_cv_prog_cc_warning_$option" | $as_tr_sh` + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports $option" >&5 +$as_echo_n "checking whether $CC supports $option... " >&6; } +if { as_var=$as_acx_Woption; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + CFLAGS="$option" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_acx_Woption=yes" +else + eval "$as_acx_Woption=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +eval ac_res=\$$as_acx_Woption + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + if test `eval 'as_val=${'$as_acx_Woption'};$as_echo "$as_val"'` = yes; then : + WARN_CFLAGS="$WARN_CFLAGS${WARN_CFLAGS:+ }$real_option" +fi + done +CFLAGS="$save_CFLAGS" + +WARN_PEDANTIC= +# Do the check with the no- prefix removed from the warning options +# since gcc silently accepts any -Wno-* option on purpose +if test "$GCC" = yes; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -pedantic -Wlong-long" >&5 +$as_echo_n "checking whether $CC supports -pedantic -Wlong-long... " >&6; } +if test "${acx_cv_prog_cc_pedantic__Wlong_long+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + save_CFLAGS="$CFLAGS" +CFLAGS="-pedantic -Wlong-long" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + acx_cv_prog_cc_pedantic__Wlong_long=yes +else + acx_cv_prog_cc_pedantic__Wlong_long=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +CFLAGS="$save_CFLAGS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_prog_cc_pedantic__Wlong_long" >&5 +$as_echo "$acx_cv_prog_cc_pedantic__Wlong_long" >&6; } +if test $acx_cv_prog_cc_pedantic__Wlong_long = yes; then : + WARN_PEDANTIC="$WARN_PEDANTIC${WARN_PEDANTIC:+ }-pedantic -Wno-long-long" +fi + +fi + + +# Only enable with --enable-werror-always until existing warnings are +# corrected. +WERROR= +# Check whether --enable-werror-always was given. +if test "${enable_werror_always+set}" = set; then : + enableval=$enable_werror_always; +else + enable_werror_always=no +fi + +if test $enable_werror_always = yes; then : + WERROR="$WERROR${WERROR:+ }-Werror" +fi + + + +# Determine the noncanonical target name, for directory use. + case ${build_alias} in + "") build_noncanonical=${build} ;; + *) build_noncanonical=${build_alias} ;; +esac + + case ${host_alias} in + "") host_noncanonical=${build_noncanonical} ;; + *) host_noncanonical=${host_alias} ;; +esac + + case ${target_alias} in + "") target_noncanonical=${host_noncanonical} ;; + *) target_noncanonical=${target_alias} ;; +esac + + + + +# Specify the local prefix +local_prefix= + +# Check whether --with-local-prefix was given. +if test "${with_local_prefix+set}" = set; then : + withval=$with_local_prefix; case "${withval}" in +yes) as_fn_error "bad value ${withval} given for local include directory prefix" "$LINENO" 5 ;; +no) ;; +*) local_prefix=$with_local_prefix ;; +esac +fi + + +# Default local prefix if it is empty +if test x$local_prefix = x; then + local_prefix=/usr/local +fi + +# Choose one or two-process fix methodology. Systems that cannot handle +# bi-directional pipes must use the two process method. +# +# Check whether --enable-twoprocess was given. +if test "${enable_twoprocess+set}" = set; then : + enableval=$enable_twoprocess; if test "x$enable_twoprocess" = xyes; then + TARGET=twoprocess +else + TARGET=oneprocess +fi +else + case $host in + i?86-*-msdosdjgpp* | \ + i?86-*-mingw32* | \ + x86_64-*-mingw32* | \ + *-*-beos* ) + TARGET=twoprocess + ;; + + * ) + TARGET=oneprocess + ;; +esac +fi + + + +if test $TARGET = twoprocess; then + +$as_echo "#define SEPARATE_FIX_PROC 1" >>confdefs.h + +fi + +case $host in + vax-dec-bsd* ) + +$as_echo "#define exit xexit" >>confdefs.h + + +$as_echo "#define atexit xatexit" >>confdefs.h + + ;; +esac + + +cat >>confdefs.h <<_ACEOF +#define EXE_EXT "$ac_exeext" +_ACEOF + + +# Checks for header files. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if test "${ac_cv_header_stdc+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdlib.h> +#include <stdarg.h> +#include <string.h> +#include <float.h> + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_stdc=yes +else + ac_cv_header_stdc=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <string.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdlib.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <ctype.h> +#include <stdlib.h> +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + +else + ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +$as_echo "#define STDC_HEADERS 1" >>confdefs.h + +fi + for ac_header in stddef.h stdlib.h strings.h unistd.h fcntl.h sys/file.h \ sys/stat.h do : diff --git a/fixincludes/configure.ac b/fixincludes/configure.ac index 2c488e7033..e7de791826 100644 --- a/fixincludes/configure.ac +++ b/fixincludes/configure.ac @@ -6,6 +6,7 @@ AC_CONFIG_AUX_DIR(..) m4_sinclude(../libtool.m4) AC_CANONICAL_SYSTEM AC_PROG_CC +AC_USE_SYSTEM_EXTENSIONS AC_PROG_SED # Figure out what compiler warnings we can enable. diff --git a/fixincludes/fixincl.x b/fixincludes/fixincl.x index d9117d8e3f..e6d07d8c19 100644 --- a/fixincludes/fixincl.x +++ b/fixincludes/fixincl.x @@ -2,11 +2,11 @@ * * DO NOT EDIT THIS FILE (fixincl.x) * - * It has been AutoGen-ed Monday November 8, 2010 at 08:33:47 PM MET + * It has been AutoGen-ed March 26, 2012 at 10:53:21 AM by AutoGen 5.10 * From the definitions inclhack.def * and the template file fixincl */ -/* DO NOT SVN-MERGE THIS FILE, EITHER Mon Nov 8 20:33:47 MET 2010 +/* DO NOT SVN-MERGE THIS FILE, EITHER Mon Mar 26 10:53:21 EDT 2012 * * You must regenerate it. Use the ./genfixes script. * @@ -15,7 +15,7 @@ * certain ANSI-incompatible system header files which are fixed to work * correctly with ANSI C and placed in a directory that GNU C will search. * - * This file contains 210 fixup descriptions. + * This file contains 224 fixup descriptions. * * See README for more information. * @@ -522,6 +522,158 @@ static const char* apzAix_ComplexPatch[] = { /* * * * * * * * * * * * * * * * * * * * * * * * * * * + * Description of Aix_Malloc fix + */ +tSCC zAix_MallocName[] = + "aix_malloc"; + +/* + * File name selection pattern + */ +tSCC zAix_MallocList[] = + "malloc.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzAix_MallocMachs[] = { + "*-*-aix*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zAix_MallocSelect0[] = + "#ifdef __cplusplus"; + +#define AIX_MALLOC_TEST_CT 1 +static tTestDesc aAix_MallocTests[] = { + { TT_EGREP, zAix_MallocSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Aix_Malloc + */ +static const char* apzAix_MallocPatch[] = { + "format", + "#if (defined(__cplusplus) && defined(__IBMCPP__))", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Aix_Net_If_Arp fix + */ +tSCC zAix_Net_If_ArpName[] = + "aix_net_if_arp"; + +/* + * File name selection pattern + */ +tSCC zAix_Net_If_ArpList[] = + "net/if_arp.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzAix_Net_If_ArpMachs[] = { + "*-*-aix*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zAix_Net_If_ArpSelect0[] = + "^struct fc_softc \\{"; + +#define AIX_NET_IF_ARP_TEST_CT 1 +static tTestDesc aAix_Net_If_ArpTests[] = { + { TT_EGREP, zAix_Net_If_ArpSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Aix_Net_If_Arp + */ +static const char* apzAix_Net_If_ArpPatch[] = { + "format", + "typedef struct _fc_softc {", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Aix_Once_Init_1 fix + */ +tSCC zAix_Once_Init_1Name[] = + "aix_once_init_1"; + +/* + * File name selection pattern + */ +tSCC zAix_Once_Init_1List[] = + "pthread.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzAix_Once_Init_1Machs[] = { + "*-*-aix*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zAix_Once_Init_1Select0[] = + "#define[ \t]PTHREAD_ONCE_INIT \\\\\n\ +\\{ \\\\\n"; + +#define AIX_ONCE_INIT_1_TEST_CT 1 +static tTestDesc aAix_Once_Init_1Tests[] = { + { TT_EGREP, zAix_Once_Init_1Select0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Aix_Once_Init_1 + */ +static const char* apzAix_Once_Init_1Patch[] = { + "format", + "#define PTHREAD_ONCE_INIT \\\n\ +{{ \\\n", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Aix_Once_Init_2 fix + */ +tSCC zAix_Once_Init_2Name[] = + "aix_once_init_2"; + +/* + * File name selection pattern + */ +tSCC zAix_Once_Init_2List[] = + "pthread.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzAix_Once_Init_2Machs[] = { + "*-*-aix*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zAix_Once_Init_2Select0[] = + "[ \t]0 \\\\\n\ +\\}\n"; + +#define AIX_ONCE_INIT_2_TEST_CT 1 +static tTestDesc aAix_Once_Init_2Tests[] = { + { TT_EGREP, zAix_Once_Init_2Select0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Aix_Once_Init_2 + */ +static const char* apzAix_Once_Init_2Patch[] = { + "format", + "\t0 \\\n\ +}}\n", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * * Description of Aix_Pthread fix */ tSCC zAix_PthreadName[] = @@ -1765,6 +1917,41 @@ int vfscanf(FILE *, const char *, __builtin_va_list) __asm__ (_BSD_STRING(__USER /* * * * * * * * * * * * * * * * * * * * * * * * * * * + * Description of Cdef_Cplusplus fix + */ +tSCC zCdef_CplusplusName[] = + "cdef_cplusplus"; + +/* + * File name selection pattern + */ +tSCC zCdef_CplusplusList[] = + "sys/cdefs.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzCdef_CplusplusMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zCdef_CplusplusSelect0[] = + "\\[\\[noreturn\\]\\]"; + +#define CDEF_CPLUSPLUS_TEST_CT 1 +static tTestDesc aCdef_CplusplusTests[] = { + { TT_EGREP, zCdef_CplusplusSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Cdef_Cplusplus + */ +static const char* apzCdef_CplusplusPatch[] = { + "format", + "__attribute__((__noreturn__))", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * * Description of Ctrl_Quotes_Def fix */ tSCC zCtrl_Quotes_DefName[] = @@ -3310,7 +3497,7 @@ tSCC zHpux11_AbsList[] = * Machine/OS name selection pattern */ tSCC* apzHpux11_AbsMachs[] = { - "ia64-hp-hpux11*", + "*-hp-hpux11*", (const char*)NULL }; /* @@ -6256,10 +6443,12 @@ tSCC* apzSolaris_Complex_CxxMachs[] = { * Fix Command Arguments for Solaris_Complex_Cxx */ static const char* apzSolaris_Complex_CxxPatch[] = { sed_cmd_z, - "-e", "/#if[ \t]*!defined(__cplusplus)/c#ifdef\t__cplusplus\\\n\ + "-e", "/#if[ \t]*!defined(__cplusplus)/c\\\n\ +#ifdef\t__cplusplus\\\n\ extern \"C\" {\\\n\ #endif", - "-e", "/#endif[ \t]*\\/\\* !defined(__cplusplus) \\*\\//c#ifdef\t__cplusplus\\\n\ + "-e", "/#endif[ \t]*\\/\\* !defined(__cplusplus) \\*\\//c\\\n\ +#ifdef\t__cplusplus\\\n\ }\\\n\ #endif", (char*)NULL }; @@ -6304,6 +6493,127 @@ static const char* apzSolaris_Cond_InitPatch[] = { /* * * * * * * * * * * * * * * * * * * * * * * * * * * + * Description of Solaris_Cxx_Linkage fix + */ +tSCC zSolaris_Cxx_LinkageName[] = + "solaris_cxx_linkage"; + +/* + * File name selection pattern + */ +tSCC zSolaris_Cxx_LinkageList[] = + "iso/stdlib_iso.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzSolaris_Cxx_LinkageMachs[] = { + "*-*-solaris2*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSolaris_Cxx_LinkageSelect0[] = + "(#if __cplusplus >= 199711L)\n\ +(extern \"C\\+\\+\" \\{\n\ +)(.*(bsearch|qsort).*)"; + +#define SOLARIS_CXX_LINKAGE_TEST_CT 1 +static tTestDesc aSolaris_Cxx_LinkageTests[] = { + { TT_EGREP, zSolaris_Cxx_LinkageSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Solaris_Cxx_Linkage + */ +static const char* apzSolaris_Cxx_LinkagePatch[] = { + "format", + "%1 && !__GNUG__\n\ +%2%3", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Solaris_Getc_Strict_Stdc fix + */ +tSCC zSolaris_Getc_Strict_StdcName[] = + "solaris_getc_strict_stdc"; + +/* + * File name selection pattern + */ +tSCC zSolaris_Getc_Strict_StdcList[] = + "iso/stdio_iso.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzSolaris_Getc_Strict_StdcMachs[] = { + "*-*-solaris2*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSolaris_Getc_Strict_StdcSelect0[] = + "(.*&& )!defined\\(_STRICT_STDC\\)(.*)"; + +#define SOLARIS_GETC_STRICT_STDC_TEST_CT 1 +static tTestDesc aSolaris_Getc_Strict_StdcTests[] = { + { TT_EGREP, zSolaris_Getc_Strict_StdcSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Solaris_Getc_Strict_Stdc + */ +static const char* apzSolaris_Getc_Strict_StdcPatch[] = { + "format", + "%1(!defined(_STRICT_STDC) || (__cplusplus >= 199711L))%2", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Solaris_Longjmp_Noreturn fix + */ +tSCC zSolaris_Longjmp_NoreturnName[] = + "solaris_longjmp_noreturn"; + +/* + * File name selection pattern + */ +tSCC zSolaris_Longjmp_NoreturnList[] = + "iso/setjmp_iso.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzSolaris_Longjmp_NoreturnMachs[] = { + "*-*-solaris2*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSolaris_Longjmp_NoreturnSelect0[] = + "(.*longjmp\\(jmp_buf.*[^)]+\\));"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zSolaris_Longjmp_NoreturnBypass0[] = + "__NORETURN"; + +#define SOLARIS_LONGJMP_NORETURN_TEST_CT 2 +static tTestDesc aSolaris_Longjmp_NoreturnTests[] = { + { TT_NEGREP, zSolaris_Longjmp_NoreturnBypass0, (regex_t*)NULL }, + { TT_EGREP, zSolaris_Longjmp_NoreturnSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Solaris_Longjmp_Noreturn + */ +static const char* apzSolaris_Longjmp_NoreturnPatch[] = { + "format", + "%1 __attribute__ ((__noreturn__));", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * * Description of Solaris_Math_1 fix */ tSCC zSolaris_Math_1Name[] = @@ -6650,6 +6960,46 @@ static const char* apzSolaris_Mutex_Init_2Patch[] = { /* * * * * * * * * * * * * * * * * * * * * * * * * * * + * Description of Solaris_Pow_Int_Overload fix + */ +tSCC zSolaris_Pow_Int_OverloadName[] = + "solaris_pow_int_overload"; + +/* + * File name selection pattern + */ +tSCC zSolaris_Pow_Int_OverloadList[] = + "iso/math_iso.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzSolaris_Pow_Int_OverloadMachs[] = { + "*-*-solaris2*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSolaris_Pow_Int_OverloadSelect0[] = + "^[ \t]*inline [a-z ]* pow\\([^()]*, int [^()]*\\) *\\{[^{}]*\n\ +[^{}]*\\}"; + +#define SOLARIS_POW_INT_OVERLOAD_TEST_CT 1 +static tTestDesc aSolaris_Pow_Int_OverloadTests[] = { + { TT_EGREP, zSolaris_Pow_Int_OverloadSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Solaris_Pow_Int_Overload + */ +static const char* apzSolaris_Pow_Int_OverloadPatch[] = { + "format", + "#ifndef __GXX_EXPERIMENTAL_CXX0X__\n\ +%0\n\ +#endif", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * * Description of Solaris_Rwlock_Init_1 fix */ tSCC zSolaris_Rwlock_Init_1Name[] = @@ -6969,6 +7319,92 @@ static const char* apzSolaris_Int_TypesPatch[] = { /* * * * * * * * * * * * * * * * * * * * * * * * * * * + * Description of Solaris_Posix_Spawn_Restrict fix + */ +tSCC zSolaris_Posix_Spawn_RestrictName[] = + "solaris_posix_spawn_restrict"; + +/* + * File name selection pattern + */ +tSCC zSolaris_Posix_Spawn_RestrictList[] = + "spawn.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzSolaris_Posix_Spawn_RestrictMachs[] = { + "*-*-solaris2*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSolaris_Posix_Spawn_RestrictSelect0[] = + "(.*[ \t]+)([a-z]+)\\[_RESTRICT_KYWD\\](.*)"; + +#define SOLARIS_POSIX_SPAWN_RESTRICT_TEST_CT 1 +static tTestDesc aSolaris_Posix_Spawn_RestrictTests[] = { + { TT_EGREP, zSolaris_Posix_Spawn_RestrictSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Solaris_Posix_Spawn_Restrict + */ +static const char* apzSolaris_Posix_Spawn_RestrictPatch[] = { + "format", + "%1*_RESTRICT_KYWD %2%3", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Solaris_Std___Filbuf fix + */ +tSCC zSolaris_Std___FilbufName[] = + "solaris_std___filbuf"; + +/* + * File name selection pattern + */ +tSCC zSolaris_Std___FilbufList[] = + "stdio.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzSolaris_Std___FilbufMachs[] = { + "*-*-solaris2*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSolaris_Std___FilbufSelect0[] = + "(using std::perror;\n\ +)(#endif)"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zSolaris_Std___FilbufBypass0[] = + "using std::__filbuf"; + +#define SOLARIS_STD___FILBUF_TEST_CT 2 +static tTestDesc aSolaris_Std___FilbufTests[] = { + { TT_NEGREP, zSolaris_Std___FilbufBypass0, (regex_t*)NULL }, + { TT_EGREP, zSolaris_Std___FilbufSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Solaris_Std___Filbuf + */ +static const char* apzSolaris_Std___FilbufPatch[] = { + "format", + "%1#ifndef _LP64\n\ +using std::__filbuf;\n\ +using std::__flsbuf;\n\ +#endif\n\ +%2", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * * Description of Solaris_Stdio_Tag fix */ tSCC zSolaris_Stdio_TagName[] = @@ -8160,6 +8596,121 @@ static const char* apzVa_I960_MacroPatch[] = { /* * * * * * * * * * * * * * * * * * * * * * * * * * * + * Description of Vms_Define_Can_Use_Extern_Prefix fix + */ +tSCC zVms_Define_Can_Use_Extern_PrefixName[] = + "vms_define_can_use_extern_prefix"; + +/* + * File name selection pattern + */ +tSCC zVms_Define_Can_Use_Extern_PrefixList[] = + "rtldef/decc$types.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzVms_Define_Can_Use_Extern_PrefixMachs[] = { + "*-*-*vms*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zVms_Define_Can_Use_Extern_PrefixSelect0[] = + "#[ \t]*else\n\ +#[ \t]*if defined\\(__DECCXX\\)\n\ +#[ \t]*define __CAN_USE_EXTERN_PREFIX 1\n"; + +#define VMS_DEFINE_CAN_USE_EXTERN_PREFIX_TEST_CT 1 +static tTestDesc aVms_Define_Can_Use_Extern_PrefixTests[] = { + { TT_EGREP, zVms_Define_Can_Use_Extern_PrefixSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Vms_Define_Can_Use_Extern_Prefix + */ +static const char* apzVms_Define_Can_Use_Extern_PrefixPatch[] = { + "format", + "%0# elif defined (__GNUC__)\n\ +#\tdefine __CAN_USE_EXTERN_PREFIX 1\n", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Vms_Use_Pragma_Extern_Model fix + */ +tSCC zVms_Use_Pragma_Extern_ModelName[] = + "vms_use_pragma_extern_model"; + +/* + * File name selection pattern + */ +#define zVms_Use_Pragma_Extern_ModelList (char*)NULL +/* + * Machine/OS name selection pattern + */ +tSCC* apzVms_Use_Pragma_Extern_ModelMachs[] = { + "*-*-*vms*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zVms_Use_Pragma_Extern_ModelSelect0[] = + "#if defined\\(__DECC\\) \\|\\| defined\\(__DECCXX\\)\n\ +# pragma extern_model __save\n"; + +#define VMS_USE_PRAGMA_EXTERN_MODEL_TEST_CT 1 +static tTestDesc aVms_Use_Pragma_Extern_ModelTests[] = { + { TT_EGREP, zVms_Use_Pragma_Extern_ModelSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Vms_Use_Pragma_Extern_Model + */ +static const char* apzVms_Use_Pragma_Extern_ModelPatch[] = { + "format", + "#if defined(__DECC) || defined(__DECCXX) || defined(__GNUC__)\n\ +# pragma extern_model __save\n", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Vms_Disable_Decc_String_Builtins fix + */ +tSCC zVms_Disable_Decc_String_BuiltinsName[] = + "vms_disable_decc_string_builtins"; + +/* + * File name selection pattern + */ +tSCC zVms_Disable_Decc_String_BuiltinsList[] = + "rtldef/string.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzVms_Disable_Decc_String_BuiltinsMachs[] = { + "*-*-*vms*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zVms_Disable_Decc_String_BuiltinsSelect0[] = + "#if !defined\\(__VAX\\)\n"; + +#define VMS_DISABLE_DECC_STRING_BUILTINS_TEST_CT 1 +static tTestDesc aVms_Disable_Decc_String_BuiltinsTests[] = { + { TT_EGREP, zVms_Disable_Decc_String_BuiltinsSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Vms_Disable_Decc_String_Builtins + */ +static const char* apzVms_Disable_Decc_String_BuiltinsPatch[] = { + "format", + "#if !defined(__VAX) && !defined(__GNUC__)\n", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * * Description of Void_Null fix */ tSCC zVoid_NullName[] = @@ -8186,10 +8737,13 @@ tSCC zVoid_NullSelect0[] = */ tSCC zVoid_NullBypass0[] = "__cplusplus"; +tSCC zVoid_NullBypass1[] = + "__null"; -#define VOID_NULL_TEST_CT 2 +#define VOID_NULL_TEST_CT 3 static tTestDesc aVoid_NullTests[] = { { TT_NEGREP, zVoid_NullBypass0, (regex_t*)NULL }, + { TT_NEGREP, zVoid_NullBypass1, (regex_t*)NULL }, { TT_EGREP, zVoid_NullSelect0, (regex_t*)NULL }, }; /* @@ -8552,9 +9106,9 @@ static const char* apzX11_SprintfPatch[] = { * * List of all fixes */ -#define REGEX_COUNT 249 +#define REGEX_COUNT 266 #define MACH_LIST_SIZE_LIMIT 181 -#define FIX_COUNT 210 +#define FIX_COUNT 224 /* * Enumerate the fixes @@ -8569,6 +9123,10 @@ typedef enum { AAB_SOLARIS_SYS_VARARGS_H_FIXIDX, AAB_SUN_MEMCPY_FIXIDX, AIX_COMPLEX_FIXIDX, + AIX_MALLOC_FIXIDX, + AIX_NET_IF_ARP_FIXIDX, + AIX_ONCE_INIT_1_FIXIDX, + AIX_ONCE_INIT_2_FIXIDX, AIX_PTHREAD_FIXIDX, AIX_STDINT_1_FIXIDX, AIX_STDINT_2_FIXIDX, @@ -8601,6 +9159,7 @@ typedef enum { BROKEN_CABS_FIXIDX, BROKEN_NAN_FIXIDX, BSD_STDIO_ATTRS_CONFLICT_FIXIDX, + CDEF_CPLUSPLUS_FIXIDX, CTRL_QUOTES_DEF_FIXIDX, CTRL_QUOTES_USE_FIXIDX, CXX_UNREADY_FIXIDX, @@ -8715,6 +9274,9 @@ typedef enum { SOLARIS_COMPLEX_FIXIDX, SOLARIS_COMPLEX_CXX_FIXIDX, SOLARIS_COND_INIT_FIXIDX, + SOLARIS_CXX_LINKAGE_FIXIDX, + SOLARIS_GETC_STRICT_STDC_FIXIDX, + SOLARIS_LONGJMP_NORETURN_FIXIDX, SOLARIS_MATH_1_FIXIDX, SOLARIS_MATH_2_FIXIDX, SOLARIS_MATH_3_FIXIDX, @@ -8723,6 +9285,7 @@ typedef enum { SOLARIS_MATH_9_FIXIDX, SOLARIS_MATH_10_FIXIDX, SOLARIS_MUTEX_INIT_2_FIXIDX, + SOLARIS_POW_INT_OVERLOAD_FIXIDX, SOLARIS_RWLOCK_INIT_1_FIXIDX, SOLARIS_ONCE_INIT_1_FIXIDX, SOLARIS_ONCE_INIT_2_FIXIDX, @@ -8731,6 +9294,8 @@ typedef enum { SOLARIS_INT_LIMITS_2_FIXIDX, SOLARIS_INT_LIMITS_3_FIXIDX, SOLARIS_INT_TYPES_FIXIDX, + SOLARIS_POSIX_SPAWN_RESTRICT_FIXIDX, + SOLARIS_STD___FILBUF_FIXIDX, SOLARIS_STDIO_TAG_FIXIDX, SOLARIS_SYS_VA_LIST_FIXIDX, STATSSWTCH_FIXIDX, @@ -8761,6 +9326,9 @@ typedef enum { ULTRIX_CONST_FIXIDX, ULTRIX_CONST2_FIXIDX, VA_I960_MACRO_FIXIDX, + VMS_DEFINE_CAN_USE_EXTERN_PREFIX_FIXIDX, + VMS_USE_PRAGMA_EXTERN_MODEL_FIXIDX, + VMS_DISABLE_DECC_STRING_BUILTINS_FIXIDX, VOID_NULL_FIXIDX, VXWORKS_GCC_PROBLEM_FIXIDX, VXWORKS_NEEDS_VXTYPES_FIXIDX, @@ -8818,6 +9386,26 @@ tFixDesc fixDescList[ FIX_COUNT ] = { AIX_COMPLEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aAix_ComplexTests, apzAix_ComplexPatch, 0 }, + { zAix_MallocName, zAix_MallocList, + apzAix_MallocMachs, + AIX_MALLOC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aAix_MallocTests, apzAix_MallocPatch, 0 }, + + { zAix_Net_If_ArpName, zAix_Net_If_ArpList, + apzAix_Net_If_ArpMachs, + AIX_NET_IF_ARP_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aAix_Net_If_ArpTests, apzAix_Net_If_ArpPatch, 0 }, + + { zAix_Once_Init_1Name, zAix_Once_Init_1List, + apzAix_Once_Init_1Machs, + AIX_ONCE_INIT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aAix_Once_Init_1Tests, apzAix_Once_Init_1Patch, 0 }, + + { zAix_Once_Init_2Name, zAix_Once_Init_2List, + apzAix_Once_Init_2Machs, + AIX_ONCE_INIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aAix_Once_Init_2Tests, apzAix_Once_Init_2Patch, 0 }, + { zAix_PthreadName, zAix_PthreadList, apzAix_PthreadMachs, AIX_PTHREAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, @@ -8978,6 +9566,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = { BSD_STDIO_ATTRS_CONFLICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aBsd_Stdio_Attrs_ConflictTests, apzBsd_Stdio_Attrs_ConflictPatch, 0 }, + { zCdef_CplusplusName, zCdef_CplusplusList, + apzCdef_CplusplusMachs, + CDEF_CPLUSPLUS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aCdef_CplusplusTests, apzCdef_CplusplusPatch, 0 }, + { zCtrl_Quotes_DefName, zCtrl_Quotes_DefList, apzCtrl_Quotes_DefMachs, CTRL_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, @@ -9548,6 +10141,21 @@ tFixDesc fixDescList[ FIX_COUNT ] = { SOLARIS_COND_INIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aSolaris_Cond_InitTests, apzSolaris_Cond_InitPatch, 0 }, + { zSolaris_Cxx_LinkageName, zSolaris_Cxx_LinkageList, + apzSolaris_Cxx_LinkageMachs, + SOLARIS_CXX_LINKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aSolaris_Cxx_LinkageTests, apzSolaris_Cxx_LinkagePatch, 0 }, + + { zSolaris_Getc_Strict_StdcName, zSolaris_Getc_Strict_StdcList, + apzSolaris_Getc_Strict_StdcMachs, + SOLARIS_GETC_STRICT_STDC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aSolaris_Getc_Strict_StdcTests, apzSolaris_Getc_Strict_StdcPatch, 0 }, + + { zSolaris_Longjmp_NoreturnName, zSolaris_Longjmp_NoreturnList, + apzSolaris_Longjmp_NoreturnMachs, + SOLARIS_LONGJMP_NORETURN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aSolaris_Longjmp_NoreturnTests, apzSolaris_Longjmp_NoreturnPatch, 0 }, + { zSolaris_Math_1Name, zSolaris_Math_1List, apzSolaris_Math_1Machs, SOLARIS_MATH_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, @@ -9588,6 +10196,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = { SOLARIS_MUTEX_INIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aSolaris_Mutex_Init_2Tests, apzSolaris_Mutex_Init_2Patch, 0 }, + { zSolaris_Pow_Int_OverloadName, zSolaris_Pow_Int_OverloadList, + apzSolaris_Pow_Int_OverloadMachs, + SOLARIS_POW_INT_OVERLOAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aSolaris_Pow_Int_OverloadTests, apzSolaris_Pow_Int_OverloadPatch, 0 }, + { zSolaris_Rwlock_Init_1Name, zSolaris_Rwlock_Init_1List, apzSolaris_Rwlock_Init_1Machs, SOLARIS_RWLOCK_INIT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, @@ -9628,6 +10241,16 @@ tFixDesc fixDescList[ FIX_COUNT ] = { SOLARIS_INT_TYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aSolaris_Int_TypesTests, apzSolaris_Int_TypesPatch, 0 }, + { zSolaris_Posix_Spawn_RestrictName, zSolaris_Posix_Spawn_RestrictList, + apzSolaris_Posix_Spawn_RestrictMachs, + SOLARIS_POSIX_SPAWN_RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aSolaris_Posix_Spawn_RestrictTests, apzSolaris_Posix_Spawn_RestrictPatch, 0 }, + + { zSolaris_Std___FilbufName, zSolaris_Std___FilbufList, + apzSolaris_Std___FilbufMachs, + SOLARIS_STD___FILBUF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aSolaris_Std___FilbufTests, apzSolaris_Std___FilbufPatch, 0 }, + { zSolaris_Stdio_TagName, zSolaris_Stdio_TagList, apzSolaris_Stdio_TagMachs, SOLARIS_STDIO_TAG_TEST_CT, FD_MACH_ONLY, @@ -9778,6 +10401,21 @@ tFixDesc fixDescList[ FIX_COUNT ] = { VA_I960_MACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aVa_I960_MacroTests, apzVa_I960_MacroPatch, 0 }, + { zVms_Define_Can_Use_Extern_PrefixName, zVms_Define_Can_Use_Extern_PrefixList, + apzVms_Define_Can_Use_Extern_PrefixMachs, + VMS_DEFINE_CAN_USE_EXTERN_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aVms_Define_Can_Use_Extern_PrefixTests, apzVms_Define_Can_Use_Extern_PrefixPatch, 0 }, + + { zVms_Use_Pragma_Extern_ModelName, zVms_Use_Pragma_Extern_ModelList, + apzVms_Use_Pragma_Extern_ModelMachs, + VMS_USE_PRAGMA_EXTERN_MODEL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aVms_Use_Pragma_Extern_ModelTests, apzVms_Use_Pragma_Extern_ModelPatch, 0 }, + + { zVms_Disable_Decc_String_BuiltinsName, zVms_Disable_Decc_String_BuiltinsList, + apzVms_Disable_Decc_String_BuiltinsMachs, + VMS_DISABLE_DECC_STRING_BUILTINS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aVms_Disable_Decc_String_BuiltinsTests, apzVms_Disable_Decc_String_BuiltinsPatch, 0 }, + { zVoid_NullName, zVoid_NullList, apzVoid_NullMachs, VOID_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, diff --git a/fixincludes/genfixes b/fixincludes/genfixes index 6bc60d2279..f186a50824 100755 --- a/fixincludes/genfixes +++ b/fixincludes/genfixes @@ -62,7 +62,7 @@ fi AG="autogen $AG" set -e -if [ -z "`${AG} -v | fgrep 'Ver. 5.'`" ] +if [ -z "`${AG} -v | fgrep ' 5.'`" ] then echo "AutoGen appears to be out of date or not correctly installed." echo "Please download and install:" diff --git a/fixincludes/inclhack.def b/fixincludes/inclhack.def index ac8f795834..2e9fee5ec8 100644 --- a/fixincludes/inclhack.def +++ b/fixincludes/inclhack.def @@ -369,6 +369,61 @@ fix = { test_text = "#define _Complex_I __I\n"; }; +/* + * malloc.h on AIX6 uses XLC++ specific builtin syntax + */ +fix = { + hackname = aix_malloc; + mach = "*-*-aix*"; + files = "malloc.h"; + select = "#ifdef __cplusplus"; + c_fix = format; + c_fix_arg = "#if (defined(__cplusplus) && defined(__IBMCPP__))"; + test_text = "#ifdef __cplusplus"; +}; + +/* + * net/if_arp.h defines a variable fc_softc instead of adding a + * typedef for the struct on AIX 5.2, 5.3, 6.1 and 7.1 + */ +fix = { + hackname = aix_net_if_arp; + mach = "*-*-aix*"; + files = "net/if_arp.h"; + select = "^struct fc_softc \\{"; + c_fix = format; + c_fix_arg = "typedef struct _fc_softc {"; + test_text = "struct fc_softc {\n int a;\n};"; +}; + +/* + * pthread.h on AIX defines PTHREAD_ONCE_INIT without enough braces. + */ +fix = { + hackname = aix_once_init_1; + mach = "*-*-aix*"; + files = "pthread.h"; + select = "#define[ \t]PTHREAD_ONCE_INIT \\\\\n" + "\\{ \\\\\n"; + c_fix = format; + c_fix_arg = "#define PTHREAD_ONCE_INIT \\\n" + "{{ \\\n"; + test_text = "#define PTHREAD_ONCE_INIT \\\\\n" + "{ \\\\\n"; +}; + +fix = { + hackname = aix_once_init_2; + mach = "*-*-aix*"; + files = "pthread.h"; + select = "[ \t]0 \\\\\n" + "\\}\n"; + c_fix = format; + c_fix_arg = " 0 \\\n" + "}}\n"; + test_text = " 0 \\\\\n" + "}\n"; +}; /* * pthread.h on AIX 4.3.3 tries to define a macro without whitspace @@ -986,6 +1041,21 @@ fix = { test_text = '#define vfscanf __svfscanf'; }; +/* + * 'g++ -std=c++11' defines __cplusplus to 201103L, which suggests + * that it conforms to ISO/IEC 14882:2011. It currently does + * not support the [[noreturn]] procedure attribute. + * When it does, this hack should be removed. + * SEE: gcc.gnu.org/bugzilla/show_bug.cgi?id=51776 + */ +fix = { + hackname = cdef_cplusplus; + files = sys/cdefs.h; + select = '\[\[noreturn\]\]'; + c_fix = format; + c_fix_arg = '__attribute__((__noreturn__))'; + test_text = "#define _Noreturn [[noreturn]]"; +}; /* * Fix various macros used to define ioctl numbers. @@ -1849,7 +1919,7 @@ fix = { */ fix = { hackname = hpux11_abs; - mach = "ia64-hp-hpux11*"; + mach = "*-hp-hpux11*"; files = stdlib.h; select = "ifndef _MATH_INCLUDED"; c_fix = format; @@ -3315,9 +3385,9 @@ fix = { hackname = solaris_complex_cxx; mach = "*-*-solaris2.*"; files = complex.h; - sed = "/#if[ \t]*!defined(__cplusplus)/c" + sed = "/#if[ \t]*!defined(__cplusplus)/c\\\n" "#ifdef\t__cplusplus\\\nextern \"C\" {\\\n#endif"; - sed = "/#endif[ \t]*\\/\\* !defined(__cplusplus) \\*\\//c" + sed = "/#endif[ \t]*\\/\\* !defined(__cplusplus) \\*\\//c\\\n" "#ifdef\t__cplusplus\\\n}\\\n#endif"; test_text = "#if !defined(__cplusplus)\n" "#endif /* !defined(__cplusplus) */"; @@ -3345,6 +3415,59 @@ fix = { /* + * g++ rejects functions declared with both C and C++ linkage. + */ +fix = { + hackname = solaris_cxx_linkage; + mach = '*-*-solaris2*'; + files = "iso/stdlib_iso.h"; + select = "(#if __cplusplus >= 199711L)\n" + "(extern \"C\\+\\+\" \\{\n)" + "(.*(bsearch|qsort).*)"; + c_fix = format; + c_fix_arg = "%1 && !__GNUG__\n%2%3"; + + test_text = + "#if __cplusplus >= 199711L\n" + "extern \"C++\" {\n" + " void *bsearch(const void *, const void *, size_t, size_t,"; +}; + + +/* + * Solaris <iso/stdio_iso.h> doesn't declare getc for C++ with + * _STRICT_STDC, but uses it. + */ +fix = { + hackname = solaris_getc_strict_stdc; + mach = "*-*-solaris2*"; + files = "iso/stdio_iso.h"; + select = "(.*&& )!defined\\(_STRICT_STDC\\)(.*)"; + c_fix = format; + c_fix_arg = "%1(!defined(_STRICT_STDC) || (__cplusplus >= 199711L))%2"; + + test_text = + "#if !defined(_REENTRANT) && !defined(_LP64) && !defined(_STRICT_STDC)"; +}; + + +/* + * Before Solaris 10, <iso/setjmp_iso.h> doesn't mark longjump noreturn. + */ +fix = { + hackname = solaris_longjmp_noreturn; + mach = "*-*-solaris2*"; + files = "iso/setjmp_iso.h"; + bypass = "__NORETURN"; + select = "(.*longjmp\\(jmp_buf.*[^)]+\\));"; + c_fix = format; + c_fix_arg = "%1 __attribute__ ((__noreturn__));"; + + test_text = "extern void longjmp(jmp_buf, int);"; +}; + + +/* * Sun Solaris 10 defines several C99 math macros in terms of * builtins specific to the Studio compiler, in particular not * compatible with the GNU compiler. @@ -3517,6 +3640,24 @@ fix = { /* + * The pow overloads with int were removed in C++ 2011. + */ +fix = { + hackname = solaris_pow_int_overload; + mach = '*-*-solaris2*'; + files = "iso/math_iso.h"; + select = "^[ \t]*inline [a-z ]* pow\\([^()]*, int [^()]*\\)" + " *\\{[^{}]*\n[^{}]*\\}"; + c_fix = format; + c_fix_arg = "#ifndef __GXX_EXPERIMENTAL_CXX0X__\n%0\n#endif"; + + test_text = + " inline long double pow(long double __X, int __Y) { return\n" + " __powl(__X, (long double) (__Y)); }"; +}; + + +/* * Sun Solaris defines PTHREAD_RWLOCK_INITIALIZER with a "0" for some * fields of the pthread_rwlock_t structure, which are of type * upad64_t, which itself is typedef'd to int64_t, but with __STDC__ @@ -3693,6 +3834,44 @@ fix = { /* + * Solaris 10+ <spawn.h> uses char *const argv[_RESTRICT_KYWD] in the + * posix_spawn declarations, which doesn't work with C++. + */ +fix = { + hackname = solaris_posix_spawn_restrict; + files = spawn.h; + mach = '*-*-solaris2*'; + c_fix = format; + c_fix_arg = "%1*_RESTRICT_KYWD %2%3"; + select = "(.*[ \t]+)([a-z]+)\\[_RESTRICT_KYWD\\](.*)"; + test_text = + "char *const argv[_RESTRICT_KYWD],\n" + "char *const envp[_RESTRICT_KYWD]);"; +}; + + +/* + * Before Solaris 10, <stdio.h> lacks declarations of std::__filbuf and + * std::__flsbuf, but <iso/stdio_iso.h> uses them. + */ +fix = { + hackname = solaris_std___filbuf; + files = stdio.h; + mach = '*-*-solaris2*'; + bypass = "using std::__filbuf"; + select = "(using std::perror;\n)(#endif)"; + c_fix = format; + c_fix_arg = "%1#ifndef _LP64\n" + "using std::__filbuf;\n" + "using std::__flsbuf;\n" + "#endif\n%2"; + + test_text = "using std::perror;\n" + "#endif"; +}; + + +/* * Sun Solaris 8 has what appears to be some gross workaround for * some old version of their c++ compiler. G++ doesn't want it * either, but doesn't want to be tied to SunPRO version numbers. @@ -4386,6 +4565,65 @@ fix = { /* + * Define __CAN_USE_EXTERN_PREFIX on vms. + */ +fix = { + hackname = vms_define_can_use_extern_prefix; + files = "rtldef/decc$types.h"; + select = "#[ \t]*else\n" + "#[ \t]*if defined\\(__DECCXX\\)\n" + "#[ \t]*define __CAN_USE_EXTERN_PREFIX 1\n"; + mach = "*-*-*vms*"; + c_fix = format; + + c_fix_arg = "%0" + "# elif defined (__GNUC__)\n" + "#\tdefine __CAN_USE_EXTERN_PREFIX 1\n"; + + test_text = "# else\n" + "# if defined(__DECCXX)\n" + "#\tdefine __CAN_USE_EXTERN_PREFIX 1\n" + "# endif\n" + "# endif\n"; +}; + +/* + * On VMS, use pragma extern_model instead of VAX-C keywords. + */ +fix = { + hackname = vms_use_pragma_extern_model; + select = "#if defined\\(__DECC\\) \\|\\| defined\\(__DECCXX\\)\n" + "# pragma extern_model __save\n"; + mach = "*-*-*vms*"; + c_fix = format; + + c_fix_arg = "#if defined(__DECC) || defined(__DECCXX) || defined(__GNUC__)\n" + "# pragma extern_model __save\n"; + + test_text = "#if defined(__DECC) || defined(__DECCXX)\n" + "# pragma extern_model __save\n" + "# pragma extern_model strict_refdef\n" + " extern struct x zz$yy;\n" + "# pragma extern_model __restore\n" + "#endif\n"; +}; + +/* + * On VMS, disable the use of dec-c string builtins + */ +fix = { + hackname = vms_disable_decc_string_builtins; + select = "#if !defined\\(__VAX\\)\n"; + mach = "*-*-*vms*"; + files = "rtldef/string.h"; + c_fix = format; + + c_fix_arg = "#if !defined(__VAX) && !defined(__GNUC__)\n"; + + test_text = "#if !defined(__VAX)\n"; +}; + +/* * AIX and Interix headers define NULL to be cast to a void pointer, * which is illegal in ANSI C++. */ @@ -4404,6 +4642,7 @@ fix = { files = sys/types.h; /* avoid changing C++ friendly NULL */ bypass = __cplusplus; + bypass = __null; select = "^#[ \t]*define[ \t]+NULL[ \t]+\\(\\(void[ \t]*\\*\\)0\\)"; c_fix = format; c_fix_arg = "#define NULL 0"; diff --git a/fixincludes/mkfixinc.sh b/fixincludes/mkfixinc.sh index b45f1795dc..89e8ab7d5f 100755 --- a/fixincludes/mkfixinc.sh +++ b/fixincludes/mkfixinc.sh @@ -11,9 +11,6 @@ target=fixinc.sh # Check for special fix rules for particular targets case $machine in - alpha*-dec-*vms* | \ - i?86-moss-msdos* | \ - i?86-*-pe | \ i?86-*-cygwin* | \ i?86-*-mingw32* | \ x86_64-*-mingw32* | \ diff --git a/fixincludes/tests/base/iso/math_iso.h b/fixincludes/tests/base/iso/math_iso.h new file mode 100644 index 0000000000..6c08a94bb5 --- /dev/null +++ b/fixincludes/tests/base/iso/math_iso.h @@ -0,0 +1,17 @@ +/* DO NOT EDIT THIS FILE. + + It has been auto-edited by fixincludes from: + + "fixinc/tests/inc/iso/math_iso.h" + + This had to be done to correct non-standard usages in the + original, manufacturer supplied header file. */ + + + +#if defined( SOLARIS_POW_INT_OVERLOAD_CHECK ) +#ifndef __GXX_EXPERIMENTAL_CXX0X__ + inline long double pow(long double __X, int __Y) { return + __powl(__X, (long double) (__Y)); } +#endif +#endif /* SOLARIS_POW_INT_OVERLOAD_CHECK */ diff --git a/fixincludes/tests/base/iso/setjmp_iso.h b/fixincludes/tests/base/iso/setjmp_iso.h new file mode 100644 index 0000000000..4cf872007c --- /dev/null +++ b/fixincludes/tests/base/iso/setjmp_iso.h @@ -0,0 +1,14 @@ +/* DO NOT EDIT THIS FILE. + + It has been auto-edited by fixincludes from: + + "fixinc/tests/inc/iso/setjmp_iso.h" + + This had to be done to correct non-standard usages in the + original, manufacturer supplied header file. */ + + + +#if defined( SOLARIS_LONGJMP_NORETURN_CHECK ) +extern void longjmp(jmp_buf, int) __attribute__ ((__noreturn__)); +#endif /* SOLARIS_LONGJMP_NORETURN_CHECK */ diff --git a/fixincludes/tests/base/iso/stdio_iso.h b/fixincludes/tests/base/iso/stdio_iso.h new file mode 100644 index 0000000000..d476752f09 --- /dev/null +++ b/fixincludes/tests/base/iso/stdio_iso.h @@ -0,0 +1,14 @@ +/* DO NOT EDIT THIS FILE. + + It has been auto-edited by fixincludes from: + + "fixinc/tests/inc/iso/stdio_iso.h" + + This had to be done to correct non-standard usages in the + original, manufacturer supplied header file. */ + + + +#if defined( SOLARIS_GETC_STRICT_STDC_CHECK ) +#if !defined(_REENTRANT) && !defined(_LP64) && (!defined(_STRICT_STDC) || (__cplusplus >= 199711L)) +#endif /* SOLARIS_GETC_STRICT_STDC_CHECK */ diff --git a/fixincludes/tests/base/iso/stdlib_iso.h b/fixincludes/tests/base/iso/stdlib_iso.h new file mode 100644 index 0000000000..3fb5b34955 --- /dev/null +++ b/fixincludes/tests/base/iso/stdlib_iso.h @@ -0,0 +1,16 @@ +/* DO NOT EDIT THIS FILE. + + It has been auto-edited by fixincludes from: + + "fixinc/tests/inc/iso/stdlib_iso.h" + + This had to be done to correct non-standard usages in the + original, manufacturer supplied header file. */ + + + +#if defined( SOLARIS_CXX_LINKAGE_CHECK ) +#if __cplusplus >= 199711L && !__GNUG__ +extern "C++" { + void *bsearch(const void *, const void *, size_t, size_t, +#endif /* SOLARIS_CXX_LINKAGE_CHECK */ diff --git a/fixincludes/tests/base/malloc.h b/fixincludes/tests/base/malloc.h index 3866af8c7c..15be8b02b8 100644 --- a/fixincludes/tests/base/malloc.h +++ b/fixincludes/tests/base/malloc.h @@ -9,6 +9,11 @@ +#if defined( AIX_MALLOC_CHECK ) +#if (defined(__cplusplus) && defined(__IBMCPP__)) +#endif /* AIX_MALLOC_CHECK */ + + #if defined( SUN_MALLOC_CHECK ) typedef void * malloc_t; void free(); diff --git a/fixincludes/tests/base/net/if_arp.h b/fixincludes/tests/base/net/if_arp.h new file mode 100644 index 0000000000..dec20a7bd7 --- /dev/null +++ b/fixincludes/tests/base/net/if_arp.h @@ -0,0 +1,16 @@ +/* DO NOT EDIT THIS FILE. + + It has been auto-edited by fixincludes from: + + "fixinc/tests/inc/net/if_arp.h" + + This had to be done to correct non-standard usages in the + original, manufacturer supplied header file. */ + + + +#if defined( AIX_NET_IF_ARP_CHECK ) +typedef struct _fc_softc { + int a; +}; +#endif /* AIX_NET_IF_ARP_CHECK */ diff --git a/fixincludes/tests/base/pthread.h b/fixincludes/tests/base/pthread.h index 834f0519ed..24a215fa47 100644 --- a/fixincludes/tests/base/pthread.h +++ b/fixincludes/tests/base/pthread.h @@ -9,6 +9,20 @@ +#if defined( AIX_ONCE_INIT_1_CHECK ) +#define PTHREAD_ONCE_INIT \ +{{ \ + +#endif /* AIX_ONCE_INIT_1_CHECK */ + + +#if defined( AIX_ONCE_INIT_2_CHECK ) + 0 \ +}} + +#endif /* AIX_ONCE_INIT_2_CHECK */ + + #if defined( AIX_PTHREAD_CHECK ) #define PTHREAD_MUTEX_INITIALIZER \ {...init stuff...} diff --git a/fixincludes/tests/base/rtldef/decc$types.h b/fixincludes/tests/base/rtldef/decc$types.h new file mode 100644 index 0000000000..5a7e0fc68e --- /dev/null +++ b/fixincludes/tests/base/rtldef/decc$types.h @@ -0,0 +1,21 @@ +/* DO NOT EDIT THIS FILE. + + It has been auto-edited by fixincludes from: + + "fixinc/tests/inc/rtldef/decc$types.h" + + This had to be done to correct non-standard usages in the + original, manufacturer supplied header file. */ + + + +#if defined( VMS_DEFINE_CAN_USE_EXTERN_PREFIX_CHECK ) +# else +# if defined(__DECCXX) +# define __CAN_USE_EXTERN_PREFIX 1 +# elif defined (__GNUC__) +# define __CAN_USE_EXTERN_PREFIX 1 +# endif +# endif + +#endif /* VMS_DEFINE_CAN_USE_EXTERN_PREFIX_CHECK */ diff --git a/fixincludes/tests/base/rtldef/string.h b/fixincludes/tests/base/rtldef/string.h new file mode 100644 index 0000000000..1ac9b2add9 --- /dev/null +++ b/fixincludes/tests/base/rtldef/string.h @@ -0,0 +1,15 @@ +/* DO NOT EDIT THIS FILE. + + It has been auto-edited by fixincludes from: + + "fixinc/tests/inc/rtldef/string.h" + + This had to be done to correct non-standard usages in the + original, manufacturer supplied header file. */ + + + +#if defined( VMS_DISABLE_DECC_STRING_BUILTINS_CHECK ) +#if !defined(__VAX) && !defined(__GNUC__) + +#endif /* VMS_DISABLE_DECC_STRING_BUILTINS_CHECK */ diff --git a/fixincludes/tests/base/spawn.h b/fixincludes/tests/base/spawn.h new file mode 100644 index 0000000000..6590f3b043 --- /dev/null +++ b/fixincludes/tests/base/spawn.h @@ -0,0 +1,15 @@ +/* DO NOT EDIT THIS FILE. + + It has been auto-edited by fixincludes from: + + "fixinc/tests/inc/spawn.h" + + This had to be done to correct non-standard usages in the + original, manufacturer supplied header file. */ + + + +#if defined( SOLARIS_POSIX_SPAWN_RESTRICT_CHECK ) +char *const *_RESTRICT_KYWD argv, +char *const *_RESTRICT_KYWD envp); +#endif /* SOLARIS_POSIX_SPAWN_RESTRICT_CHECK */ diff --git a/fixincludes/tests/base/stdio.h b/fixincludes/tests/base/stdio.h index 5fda7bd34d..975d0a5216 100644 --- a/fixincludes/tests/base/stdio.h +++ b/fixincludes/tests/base/stdio.h @@ -65,6 +65,16 @@ extern int rename(const char *_old, const char *_new); #endif /* RS6000_PARAM_CHECK */ +#if defined( SOLARIS_STD___FILBUF_CHECK ) +using std::perror; +#ifndef _LP64 +using std::__filbuf; +using std::__flsbuf; +#endif +#endif +#endif /* SOLARIS_STD___FILBUF_CHECK */ + + #if defined( STDIO_STDARG_H_CHECK ) #endif /* STDIO_STDARG_H_CHECK */ diff --git a/fixincludes/tests/base/sys/cdefs.h b/fixincludes/tests/base/sys/cdefs.h index 6ccd0b7738..e42df6f527 100644 --- a/fixincludes/tests/base/sys/cdefs.h +++ b/fixincludes/tests/base/sys/cdefs.h @@ -9,6 +9,11 @@ +#if defined( CDEF_CPLUSPLUS_CHECK ) +#define _Noreturn __attribute__((__noreturn__)) +#endif /* CDEF_CPLUSPLUS_CHECK */ + + #if defined( FREEBSD_GCC3_BREAKAGE_CHECK ) #if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 #endif /* FREEBSD_GCC3_BREAKAGE_CHECK */ diff --git a/fixincludes/tests/base/testing.h b/fixincludes/tests/base/testing.h index 43a4ff715d..c15a151280 100644 --- a/fixincludes/tests/base/testing.h +++ b/fixincludes/tests/base/testing.h @@ -120,3 +120,14 @@ extern unsigned int extern size_t strlen(), strspn(); #endif /* SYSV68_STRING_CHECK */ + + +#if defined( VMS_USE_PRAGMA_EXTERN_MODEL_CHECK ) +#if defined(__DECC) || defined(__DECCXX) || defined(__GNUC__) +# pragma extern_model __save +# pragma extern_model strict_refdef + extern struct x zz; +# pragma extern_model __restore +#endif + +#endif /* VMS_USE_PRAGMA_EXTERN_MODEL_CHECK */ |