Merge basic-improvements-branch to trunk

From-SVN: r60174
This commit is contained in:
Zack Weinberg 2002-12-16 18:23:00 +00:00
parent b51dc04500
commit 4977bab6ed
626 changed files with 26084 additions and 14445 deletions

180
ChangeLog
View File

@ -1,3 +1,8 @@
2002-12-13 Nathanael Nerode <neroden@gcc.gnu.org>
* configure.in, Makefile.tpl, Makefile.def: Remove tclX.
* Makefile.in: Regenerate.
2002-12-13 Jason Merrill <jason@redhat.com>
* Makefile.tpl (check-gcc-c++): Renamed from check-c++. Don't run
@ -5,25 +10,160 @@
(check-c++): Just depend on it and check-target-libstdc++-v3.
* Makefile.in: Regenerate.
2002-12-12 Alexandre Oliva <aoliva@redhat.com>
* Makefile.tpl (configure-target-rda): Depend on $(ALL_GCC_C).
* Makefile.in: Rebuilt.
2002-12-12 Alexandre Oliva <aoliva@redhat.com>
* Makefile.in (configure-target-rda): Depend on ALL_GCC_C.
2002-12-10 Nathanael Nerode <neroden@gcc.gnu.org>
* configure: Fix bug put in by gremlins.
* Makefile.tpl: Substitute more autoconfily.
* configure: Substitute more autoconfily.
* Makefile.in: Regenerate.
2002-12-09 Svein E. Seldal <Svein.Seldal@solidas.com>
* config.sub: Import from master repository
* config.guess: Ditto
* MAINTAINERS: Added Svein Seldal under write after approval
2002-12-08 Andrew Cagney <ac131313@redhat.com>
* Makefile.tpl (all-sim): Depend on maybe-configure-gdb.
* Makefile.in (all-sim): Ditto.
2002-12-06 DJ Delorie <dj@redhat.com>
* Makefile.tpl: Change configure dependencies to not have real
targets depend on phony targets.
2002-12-05 Nathanael Nerode <neroden@gcc.gnu.org>
* configure.in: Revert unintentional change.
* Makefile.tpl: Change dependency for */multilib.out so that
it works when gcc isn't in the tree.
* configure.in: Substitute more.
* configure: Run subconfigures from the Makefile.
* Makefile.tpl: Run subconfigures from the Makefile; add a few
convenience targets. Make sure gcc isn't rebuilt after bootstrap.
2002-12-05 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
* MAINTAINERS: Add Christian Ehrhardt under "GNATS only".
2002-12-03 Nathanael Nerode <neroden@gcc.gnu.org>
* Makefile.tpl: Add targets for configuring host subdirs in Makefile,
and corresponding dependencies.
* Makefile.in: Regenerate.
* configure.in (host_tools): Order binutils, gas and ld for
convenience in running the testsuites.
* Makefile.tpl: Introduce rules to serialize subconfigure runs.
* Makefile.in: Regenerate.
* configure.in: Introduce rules to serialize subconfigure runs.
* configure.in: Introduce BASE_CC_FOR_TARGET.
* Makefile.tpl: Reorganize and comment. Introduce HOST_CONFIGARGS.
Realize configure-build-* targets. Realize configure-target-* targets.
* Makefile.in: Regenerate.
2002-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
* configure: Move gcc_version_trigger stuff from here...
* configure.in: ...to here.
* configure.in: Separate subconfigure options added by this file from
options given by the user. Add machinery to put args for host
subconfigures into the Makefile.
* Makefile.tpl: Remove 'vault' targets.
* Makefile.tpl: Reorder and comment dependencies.
* Makefile.in: Regenerate.
2002-12-01 Nathanael Nerode <neroden@gcc.gnu.org>
* configure.in: Fix my broken commit of previous patch. (sigh)
2002-11-28 Geoffrey Keating <geoffk@apple.com>
* configure.in: Move host-specific darwin noconfigdirs into
the host-specific section.
2002-11-28 Geoffrey Keating <geoffk@apple.com>
* configure.in: Move host-specific darwin noconfigdirs into
the host-specific section.
2002-11-26 Nathanael Nerode <neroden@gcc.gnu.org>
* configure: Remove skip-this-dir support.
* Makefile.tpl: Remove skip-this-dir support.
* Makefile.tpl: Remove leftover support for non-autoconfiscated
subdirectories.
* Makefile.in: Regenerate.
* Makefile.tpl: Strip out useless setting of 'dir'.
* Makefile.in: Regenerate.
2002-11-22 Nathanael Nerode <neroden@gcc.gnu.org>
* configure.in: Fix deeply stupid bug.
* configure.in: Introduce RAW_CXX_FOR_TARGET and simplify embedded
shell code in CXX_FOR_TARGET
* Makefile.def: Introduce raw_cxx.
* Makefile.tpl: Use raw_cxx to select between CXX_FOR_TARGET and
RAW_CXX_FOR_TARGET.
* Makefile.in: Regenerate.
2002-11-21 Nathanael Nerode <neroden@gcc.gnu.org>
* Makefile.tpl: Remove unnecessary ifs.
* Makefile.in: Regenerate.
* Makefile.tpl: Implement soft dependency machinery. Maybe-ize
dependencies. Maybe-ize build-libiberty. Create dummy install
targets for 'no_install' modules.
* configure: Move GDB_TK substitution to configure.in. Move
build_modules stuff to configure.in.
* configure.in: Implement soft dependency machinery. Maybe-ize
GDB_TK, rearrange slightly. Move build_modules stuff from configure.
* Makefile.in: Regenerate.
2002-11-19 Nathanael Nerode <neroden@gcc.gnu.org>
* Makefile.tpl: Make all-target, install-target behave similarly
to all, install (only hitting configured targets). Eliminate
unused macro defintions.
* Makefile.tpl: Add all-gcc: all-build-libiberty dependency when
build != host.
* Makefile.tpl: Add all-gcc: all-libiberty dependency.
* ltcf-c.sh, ltcf-gcj.sh, Makefile.tpl: Correct BUILD/HOST confusion.
* configure.in: Produce lists of subdir targets we're actually
configuring. Remove references to "dosrel".
* Makefile.tpl: Let configure set which subdir targets are hit.
Remove install-cross; clean up install; remove ALL. Remove
references to "dosrel". Remove "EXTRA_TARGET_HOST" hackery.
Autogenerate host module targets. Remove empty dependency lines
and redundant dependency; rearrange slightly.
* Makefile.def: Add host-side libtermcap, utils.
* Makefile.in: Regenerate.
2002-11-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* ltconfig (osf[345]): Append $major to soname_spec.
@ -56,10 +196,50 @@
* MAINTAINERS: Add myself to write-after-approval list.
2002-11-12 Nathanael Nerode <neroden@gcc.gnu.org>
* Makefile.def: Add list of recursive targets to autogenerate.
Add build_modules.
* Makefile.tpl: Autogenerate do-* targets. Autogenerate *-target-*
targets. Autogenerate *-build-* targets.
* Makefile.in: Regenerate.
2002-11-12 Nathanael Nerode <neroden@gcc.gnu.org>
* configure: More autoconf-style substitutions.
* Makefile.tpl: More autoconf-style substitutions.
* Makefile.in: Regenerate.
2002-11-11 Nathanael Nerode <neroden@gcc.gnu.org>
* configure: Substitute more variables in a more autoconf-friendly
way. Simplify slightly.
* Makefile.tpl: Make more variables substitutable in an
autoconf-friendly way.
* Makefile.in: Regenerate.
2002-11-11 Jonathan Wakely <redi@gcc.gnu.org>
* MAINTAINERS (Write After Approval): Add myself.
2002-11-10 Nathanael Nerode <neroden@gcc.gnu.org>
* configure.in (v810*): Remove special setting of tools.
* configure: Add support for extra required flags for ar or nm.
* configure.in (aix4.3+): Use above support for target-specific
issues, rather than using config/mt-aix43.
2002-11-09 Nathanael Nerode <neroden@gcc.gnu.org>
* configure: Remove 'removing', which doesn't work. Replace $subdir
with . everywhere. Replace $subdirs with ''. Replace $makesrcdir
with $srcdir. Reformat indentation. Substitute some variables
formerly hard-coded in the Makefile for build=host.
* Makefile.tpl: Autogenerate more; make more autoconf-friendly.
* Makefile.def: Autogenerate more.
* Makefile.in: Regenerate.
2002-11-04 Adam Nemet <anemet@lnxw.com>
* MAINTAINERS (Write After Approval): Add myself.

View File

@ -1,6 +1,8 @@
#! /usr/bin/autogen
AutoGen definitions Makefile.tpl;
build_modules= { module= libiberty; };
host_modules= { module= ash; };
host_modules= { module= autoconf; };
host_modules= { module= automake; };
@ -61,8 +63,15 @@ host_modules= { module= uudecode; };
host_modules= { module= wdiff; };
host_modules= { module= zip; no_check_cross=true; };
host_modules= { module= zlib; no_install=true; no_check=true; };
host_modules= { module= gdb; with_x=true; };
host_modules= { module= expect; with_x=true; };
host_modules= { module= guile; with_x=true; };
host_modules= { module= tk; with_x=true; };
host_modules= { module= tix; with_x=true; };
host_modules= { module= libtermcap; no_check=true; no_clean=true; };
host_modules= { module= utils; no_check=true; };
target_modules = { module= libstdc++-v3; };
target_modules = { module= libstdc++-v3; raw_cxx=true; };
target_modules = { module= newlib; };
target_modules = { module= libf2c; };
target_modules = { module= libobjc; };
@ -73,8 +82,20 @@ target_modules = { module= libiberty; };
target_modules = { module= gperf; };
target_modules = { module= examples; no_check=true; no_install=true; };
target_modules = { module= libffi; no_install=true; };
target_modules = { module= libjava; };
target_modules = { module= libjava; raw_cxx=true; };
target_modules = { module= zlib; };
target_modules = { module= boehm-gc; };
target_modules = { module= qthreads; };
target_modules = { module= rda; };
// These are (some of) the targets to be done in each subdirectory.
// Not all; these are the ones which don't have special options.
recursive_targets = { target= clean; };
recursive_targets = { target= distclean; };
recursive_targets = { target= dvi; };
recursive_targets = { target= info; };
recursive_targets = { target= install-info; };
recursive_targets = { target= installcheck; };
recursive_targets = { target= mostlyclean; };
recursive_targets = { target= maintainer-clean; };
recursive_targets = { target= TAGS; };

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +1,7 @@
2002-11-23 H.J. Lu <hjl@gnu.org>
* accross.m4: New.
2002-11-10 Stan Shebs <shebs@apple.com>
Retire common MPW configury bits.

98
config/accross.m4 Normal file
View File

@ -0,0 +1,98 @@
AC_DEFUN([AC_COMPILE_CHECK_SIZEOF],
[changequote(<<, >>)dnl
dnl The name to #define.
define(<<AC_TYPE_NAME>>, translit(sizeof_$1, [a-z *], [A-Z_P]))dnl
dnl The cache variable name.
define(<<AC_CV_NAME>>, translit(ac_cv_sizeof_$1, [ *], [_p]))dnl
changequote([, ])dnl
AC_MSG_CHECKING(size of $1)
AC_CACHE_VAL(AC_CV_NAME,
[for ac_size in 4 8 1 2 16 12 $2 ; do # List sizes in rough order of prevalence.
AC_TRY_COMPILE([#include "confdefs.h"
#include <sys/types.h>
$2
], [switch (0) case 0: case (sizeof ($1) == $ac_size):;], AC_CV_NAME=$ac_size)
if test x$AC_CV_NAME != x ; then break; fi
done
])
if test x$AC_CV_NAME = x ; then
AC_MSG_ERROR([cannot determine a size for $1])
fi
AC_MSG_RESULT($AC_CV_NAME)
AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME, [The number of bytes in type $1])
undefine([AC_TYPE_NAME])dnl
undefine([AC_CV_NAME])dnl
])
AC_DEFUN([AC_C_BIGENDIAN_CROSS],
[AC_CACHE_CHECK(whether byte ordering is bigendian, ac_cv_c_bigendian,
[ac_cv_c_bigendian=unknown
# See if sys/param.h defines the BYTE_ORDER macro.
AC_TRY_COMPILE([#include <sys/types.h>
#include <sys/param.h>], [
#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
bogus endian macros
#endif], [# It does; now see whether it defined to BIG_ENDIAN or not.
AC_TRY_COMPILE([#include <sys/types.h>
#include <sys/param.h>], [
#if BYTE_ORDER != BIG_ENDIAN
not big endian
#endif], ac_cv_c_bigendian=yes, ac_cv_c_bigendian=no)])
if test $ac_cv_c_bigendian = unknown; then
AC_TRY_RUN([main () {
/* Are we little or big endian? From Harbison&Steele. */
union
{
long l;
char c[sizeof (long)];
} u;
u.l = 1;
exit (u.c[sizeof (long) - 1] == 1);
}], ac_cv_c_bigendian=no, ac_cv_c_bigendian=yes,
[ echo $ac_n "cross-compiling... " 2>&AC_FD_MSG ])
fi])
if test $ac_cv_c_bigendian = unknown; then
AC_MSG_CHECKING(to probe for byte ordering)
[
cat >conftest.c <<EOF
short ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
short ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
void _ascii() { char* s = (char*) ascii_mm; s = (char*) ascii_ii; }
short ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
short ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
void _ebcdic() { char* s = (char*) ebcdic_mm; s = (char*) ebcdic_ii; }
int main() { _ascii (); _ebcdic (); return 0; }
EOF
] if test -f conftest.c ; then
if ${CC-cc} ${CFLAGS} conftest.c -o conftest.o && test -f conftest.o ; then
if test `grep -l BIGenDianSyS conftest.o` ; then
echo $ac_n ' big endian probe OK, ' 1>&AC_FD_MSG
ac_cv_c_bigendian=yes
fi
if test `grep -l LiTTleEnDian conftest.o` ; then
echo $ac_n ' little endian probe OK, ' 1>&AC_FD_MSG
if test $ac_cv_c_bigendian = yes ; then
ac_cv_c_bigendian=unknown;
else
ac_cv_c_bigendian=no
fi
fi
echo $ac_n 'guessing bigendian ... ' >&AC_FD_MSG
fi
fi
AC_MSG_RESULT($ac_cv_c_bigendian)
fi
if test $ac_cv_c_bigendian = yes; then
AC_DEFINE(WORDS_BIGENDIAN, 1, [whether byteorder is bigendian])
AC_DEFINE(HOST_WORDS_BIG_ENDIAN, 1,
[Define if the host machine stores words of multi-word integers in
big-endian order.])
BYTEORDER=4321
else
BYTEORDER=1234
fi
AC_DEFINE_UNQUOTED(BYTEORDER, $BYTEORDER, [1234 = LIL_ENDIAN, 4321 = BIGENDIAN])
if test $ac_cv_c_bigendian = unknown; then
AC_MSG_ERROR(unknown endianess - sorry, please pre-set ac_cv_c_bigendian)
fi
])

893
configure vendored
View File

@ -79,17 +79,15 @@ program_suffixoption=
program_transform_name=
program_transform_nameoption=
redirect=
removing=
site=
site_makefile_frag=
site_option=
srcdir=
srctrigger=
subdirs=
target_alias=NOTARGET
target_makefile_frag=
undefs=NOUNDEFS
version="$Revision: 1.48 $"
version="$Revision: 1.46.6.11 $"
x11=default
bindir='${exec_prefix}/bin'
sbindir='${exec_prefix}/sbin'
@ -317,9 +315,6 @@ do
program_transform_name="${program_transform_name} -e `echo ${optarg} | sed -e 's/\\\\/\\\\\\\\/g' -e 's/\\\$/$$/g'`"
program_transform_nameoption="${program_transform_nameoption} --program-transform-name='$optarg'"
;;
--rm)
removing=--rm
;;
--sb*)
sbindir=$optarg
diroptions="$diroptions --sbindir=$optarg"
@ -590,28 +585,6 @@ case "${exec_prefixoption}" in
*) ;;
esac
# Define the trigger file to make sure configure will re-run whenever
# the gcc version number changes.
if [ "${with_gcc_version_trigger+set}" = set ]; then
gcc_version_trigger="$with_gcc_version_trigger"
gcc_version=`grep version_string ${with_gcc_version_trigger} | sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/'`
else
# If gcc's sources are available, define the trigger file.
if [ -f ${topsrcdir}/gcc/version.c ] ; then
gcc_version_trigger=${topsrcdir}/gcc/version.c
gcc_version=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/'`
case "$arguments" in
*--with-gcc-version-trigger=$gcc_version_trigger* )
;;
* )
# Make sure configure.in knows about this.
arguments="--with-gcc-version-trigger=$gcc_version_trigger $arguments"
;;
esac
withoptions="--with-gcc-version-trigger=$gcc_version_trigger $withoptions"
fi
fi
### break up ${srcdir}/configure.in.
case "`grep '^# per\-host:' ${srcdir}/configure.in`" in
"")
@ -639,7 +612,7 @@ case "`grep '^# per\-host:' ${srcdir}/configure.in`" in
${program_transform_nameoption} ${site_option} \
${withoptions} ${withoutoptions} \
${enableoptions} ${disableoptions} ${floating_pointoption} \
${cache_file_option} ${removing} ${other_options} ${redirect}
${cache_file_option} ${other_options} ${redirect}
else
echo '***' There is no configure script present though. 1>&2
fi
@ -687,24 +660,8 @@ fi
### do common part of configure.in
# If the language specific compiler does not exist, but the "gcc" directory does,
# we will skip this directory; in this case the sub-directory's common part
# of configure.in will create a small shell script "skip-this-dir" containing
# commands to completely clean up any temporary or created files.
. ${tmpfile}.com
if test -f skip-this-dir; then
# Perform the same cleanup as the trap handler, minus the "exit 1" of course,
# and reset the trap handler.
trap 0
rm -rf Makefile* ${tmpdir}
# Execute the final clean-up actions
${config_shell} skip-this-dir
# and stop configuring this directory.
exit 0
fi
# some sanity checks on configure.in
case "${srctrigger}" in
"")
@ -911,10 +868,10 @@ do
test -n "$DEFAULT_LEX" && break
done
if [ "${build}" != "${host}" ]; then
# If we are doing a Canadian Cross, in which the host and build systems
# are not the same, we set reasonable default values for the tools.
tools="AR AR_FOR_TARGET AS AS_FOR_TARGET BISON CC_FOR_BUILD"
tools="${tools} CC_FOR_TARGET CXX_FOR_TARGET GCJ_FOR_TARGET"
tools="${tools} DLLTOOL DLLTOOL_FOR_TARGET GCC_FOR_TARGET BUILD_PREFIX"
@ -941,6 +898,7 @@ t loop
AR=${AR-${host_alias}-ar}
AR_FOR_TARGET=${AR_FOR_TARGET-${target_alias}-ar}
AR_FOR_TARGET=${AR_FOR_TARGET}${extra_arflags_for_target}
AS=${AS-${host_alias}-as}
AS_FOR_TARGET=${AS_FOR_TARGET-${target_alias}-as}
BISON=${BISON-bison}
@ -962,6 +920,7 @@ t loop
MAKEINFO=${MAKEINFO-makeinfo}
NM=${NM-${host_alias}-nm}
NM_FOR_TARGET=${NM_FOR_TARGET-${target_alias}-nm}
NM_FOR_TARGET=${NM_FOR_TARGET}${extra_nmflags_for_target}
RANLIB=${RANLIB-${host_alias}-ranlib}
RANLIB_FOR_TARGET=${RANLIB_FOR_TARGET-${target_alias}-ranlib}
WINDRES=${WINDRES-${host_alias}-windres}
@ -1021,6 +980,44 @@ t loop
export OBJCOPY
export OBJDUMP
else
# Set reasonable default values for some tools even if not Canadian.
# Of course, these are different reasonable default values, originally
# specified directly in the Makefile.
# We don't export, so that autoconf can do its job.
# Note that all these settings are above the fragment inclusion point
# in Makefile.in, so can still be overridden by fragments.
# This is all going to change when we autoconfiscate...
tools="AR AR_FOR_TARGET AS AS_FOR_TARGET BISON CC_FOR_BUILD"
tools="${tools} DLLTOOL DLLTOOL_FOR_TARGET GCC_FOR_TARGET BUILD_PREFIX"
tools="${tools} BUILD_PREFIX_1 LD LD_FOR_TARGET LEX MAKEINFO NM"
tools="${tools} NM_FOR_TARGET RANLIB_FOR_TARGET"
tools="${tools} WINDRES WINDRES_FOR_TARGET YACC"
AR=ar
AR_FOR_TARGET='\$(USUAL_AR_FOR_TARGET)'
AR_FOR_TARGET=${AR_FOR_TARGET}${extra_arflags_for_target}
AS=as
AS_FOR_TARGET='\$(USUAL_AS_FOR_TARGET)'
BISON='$(USUAL_BISON)'
CC_FOR_BUILD='\$(CC)'
DLLTOOL=dlltool
DLLTOOL_FOR_TARGET='\$(USUAL_DLLTOOL_FOR_TARGET)'
GCC_FOR_TARGET='\$(USUAL_GCC_FOR_TARGET)'
BUILD_PREFIX=
BUILD_PREFIX_1=loser-
LD=ld
LD_FOR_TARGET='\$(USUAL_LD_FOR_TARGET)'
MAKEINFO='\$(USUAL_MAKEINFO)'
NM=nm
NM_FOR_TARGET='\$(USUAL_NM_FOR_TARGET)'
NM_FOR_TARGET=${NM_FOR_TARGET}${extra_nmflags_for_target}
RANLIB_FOR_TARGET='\$(USUAL_RANLIB_FOR_TARGET)'
WINDRES=windres
WINDRES_FOR_TARGET='\$(USUAL_WINDRES_FOR_TARGET)'
LEX='\$(USUAL_LEX)'
YACC='\$(USUAL_YACC)'
# If CC is still not set, try to get gcc.
if [ -z "${CC}" ]; then
IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
@ -1072,527 +1069,309 @@ export CXX
export CFLAGS
export CXXFLAGS
all_build_modules=
if test x"${build_alias}" != x"${host_alias}"
then
all_build_modules='$(ALL_BUILD_MODULES_LIST)'
# FIXME Should this be done recursively ??? (Useful for e.g. gdbtest)
# Set up the list of links to be made.
# ${links} is the list of link names, and ${files} is the list of names to link to.
# Make the links.
configlinks="${links}"
if [ -r ./config.status ] ; then
mv -f ./config.status ./config.back
fi
while [ -n "${files}" ] ; do
# set file to car of files, files to cdr of files
set ${files}; file=$1; shift; files=$*
set ${links}; link=$1; shift; links=$*
for subdir in . ${subdirs} ; do
# ${subdir} is relative path from . to the directory we're currently
# configuring.
# ${invsubdir} is inverse of ${subdir), *with* trailing /, if needed.
invsubdir=`echo ${subdir}/ | sed -e 's|\./||g' -e 's|[^/]*/|../|g'`
### figure out what to do with srcdir
case "${srcdir}" in
".") # no -srcdir option. We're building in place.
makesrcdir=. ;;
/* | [A-Za-z]:[\\/]* ) # absolute path
makesrcdir=`echo ${srcdir}/${subdir} | sed -e 's|/\.$||'`
;;
*) # otherwise relative
case "${subdir}" in
.) makesrcdir=${srcdir} ;;
*) makesrcdir=${invsubdir}${srcdir}/${subdir} ;;
esac
;;
esac
if [ "${subdir}/" != "./" ] ; then
Makefile=${subdir}/Makefile
if [ ! -r ${srcdir}/${file} ] ; then
if [ ! -r ${file} ] ; then
echo '***' "${progname}: cannot create a link \"${link}\"," 1>&2
echo '***' "since the file \"${srcdir}/${file}\" does not exist." 1>&2
exit 1
else
srcfile=${file}
fi
else
srcfile=${srcdir}/${file}
fi
if [ ! -d ${subdir} ] ; then
if mkdir ${subdir} ; then
true
else
echo '***' "${progname}: could not make ${PWD=`${PWDCMD-pwd}`}/${subdir}" 1>&2
exit 1
fi
fi
${remove} -f ${link}
# Make a symlink if possible, otherwise try a hard link
if ${symbolic_link} ${srcfile} ${link} >/dev/null 2>&1 ; then
true
else
# We need to re-remove the file because Lynx leaves a
# very strange directory there when it fails an NFS symlink.
${remove} -r -f ${link}
${hard_link} ${srcfile} ${link}
fi
if [ ! -r ${link} ] ; then
echo '***' "${progname}: unable to link \"${link}\" to \"${srcfile}\"." 1>&2
exit 1
fi
case "${removing}" in
"")
case "${subdir}" in
.) ;;
*) eval echo Building in ${subdir} ${redirect} ;;
esac
# FIXME Should this be done recursively ??? (Useful for e.g. gdbtest)
# Set up the list of links to be made.
# ${links} is the list of link names, and ${files} is the list of names to link to.
# Make the links.
configlinks="${links}"
if [ -r ${subdir}/config.status ] ; then
mv -f ${subdir}/config.status ${subdir}/config.back
fi
while [ -n "${files}" ] ; do
# set file to car of files, files to cdr of files
set ${files}; file=$1; shift; files=$*
set ${links}; link=$1; shift; links=$*
if [ ! -r ${srcdir}/${file} ] ; then
if [ ! -r ${file} ] ; then
echo '***' "${progname}: cannot create a link \"${link}\"," 1>&2
echo '***' "since the file \"${srcdir}/${file}\" does not exist." 1>&2
exit 1
else
srcfile=${file}
fi
else
srcfile=${srcdir}/${file}
fi
${remove} -f ${link}
# Make a symlink if possible, otherwise try a hard link
if ${symbolic_link} ${srcfile} ${link} >/dev/null 2>&1 ; then
true
else
# We need to re-remove the file because Lynx leaves a
# very strange directory there when it fails an NFS symlink.
${remove} -r -f ${link}
${hard_link} ${srcfile} ${link}
fi
if [ ! -r ${link} ] ; then
echo '***' "${progname}: unable to link \"${link}\" to \"${srcfile}\"." 1>&2
exit 1
fi
echo "Linked \"${link}\" to \"${srcfile}\"."
done
# Create a .gdbinit file which runs the one in srcdir
# and tells GDB to look there for source files.
if [ -r ${srcdir}/${subdir}/.gdbinit ] ; then
case ${srcdir} in
.) ;;
*) cat > ${subdir}/.gdbinit <<EOF
# ${NO_EDIT}
dir ${makesrcdir}
dir .
source ${makesrcdir}/.gdbinit
EOF
;;
esac
fi
# Install a makefile, and make it set VPATH
# if necessary so that the sources are found.
# Also change its value of srcdir.
# NOTE: Makefile generation constitutes the majority of the time in configure. Hence, this section has
# been somewhat optimized and is perhaps a bit twisty.
# code is order so as to try to sed the smallest input files we know.
# so do these separately because I don't trust the order of sed -e expressions.
# the five makefile fragments MUST end up in the resulting Makefile in this order:
# package macros, target, host, site, and package rules.
if [ -f ${srcdir}/${subdir}/${Makefile_in} ] ; then
# Conditionalize the makefile for this package from "Makefile.in" (or whatever it's called) into Makefile.tem.
rm -f ${subdir}/${Makefile}.tem
case "${package_makefile_rules_frag}" in
"") cp ${srcdir}/${subdir}/${Makefile_in} ${subdir}/Makefile.tem ;;
*)
if [ ! -f ${package_makefile_rules_frag} ] ; then
package_makefile_rules_frag=${srcdir}/${package_makefile_rules_frag}
fi
if [ -f ${package_makefile_rules_frag} ] ; then
sed -e "/^####/ r ${package_makefile_rules_frag}" ${srcdir}/${subdir}/${Makefile_in} > ${Makefile}.tem
else
echo '***' Expected package makefile rules fragment \"${package_makefile_rules_frag}\" 1>&2
echo '***' is missing in ${PWD=`${PWDCMD-pwd}`}. 1>&2
cp ${srcdir}/${subdir}/${Makefile_in} ${subdir}/Makefile.tem
fi
esac
# working copy now in ${Makefile}.tem
# Conditionalize for this site.
rm -f ${Makefile}
case "${site}" in
"") mv ${subdir}/Makefile.tem ${Makefile} ;;
*)
site_makefile_frag=${srcdir}/config/ms-${site}
if [ -f ${site_makefile_frag} ] ; then
sed -e "/^####/ r ${site_makefile_frag}" ${subdir}/Makefile.tem \
> ${Makefile}
else
mv ${subdir}/Makefile.tem ${Makefile}
site_makefile_frag=
fi
;;
esac
# working copy now in ${Makefile}
# Conditionalize the makefile for this host.
rm -f ${subdir}/Makefile.tem
case "${host_makefile_frag}" in
"") mv ${Makefile} ${subdir}/Makefile.tem ;;
*)
if [ ! -f ${host_makefile_frag} ] ; then
host_makefile_frag=${srcdir}/${host_makefile_frag}
fi
if [ -f ${host_makefile_frag} ] ; then
sed -e "/^####/ r ${host_makefile_frag}" ${Makefile} > ${subdir}/Makefile.tem
else
echo '***' Expected host makefile fragment \"${host_makefile_frag}\" 1>&2
echo '***' is missing in ${PWD=`${PWDCMD-pwd}`}. 1>&2
mv ${Makefile} ${subdir}/Makefile.tem
fi
esac
# working copy now in ${subdir)/Makefile.tem
# Conditionalize the makefile for this target.
rm -f ${Makefile}
case "${target_makefile_frag}" in
"") mv ${subdir}/Makefile.tem ${Makefile} ;;
*)
if [ ! -f ${target_makefile_frag} ] ; then
target_makefile_frag=${srcdir}/${target_makefile_frag}
fi
if [ -f ${target_makefile_frag} ] ; then
sed -e "/^####/ r ${target_makefile_frag}" ${subdir}/Makefile.tem > ${Makefile}
else
mv ${subdir}/Makefile.tem ${Makefile}
target_makefile_frag=
fi
;;
esac
# working copy now in ${Makefile}
# Emit the default values of this package's macros.
rm -f ${subdir}/Makefile.tem
case "${package_makefile_frag}" in
"") mv ${Makefile} ${subdir}/Makefile.tem ;;
*)
if [ ! -f ${package_makefile_frag} ] ; then
package_makefile_frag=${srcdir}/${package_makefile_frag}
fi
if [ -f ${package_makefile_frag} ] ; then
sed -e "/^####/ r ${package_makefile_frag}" ${Makefile} > ${subdir}/Makefile.tem
else
echo '***' Expected package makefile fragment \"${package_makefile_rules_frag}\" 1>&2
echo '***' is missing in ${PWD=`${PWDCMD-pwd}`}. 1>&2
mv ${Makefile} ${subdir}/Makefile.tem
fi
esac
# real copy now in ${subdir}/Makefile.tem
# prepend warning about editing, and a bunch of variables.
rm -f ${Makefile}
cat > ${Makefile} <<EOF
# ${NO_EDIT}
VPATH = ${makesrcdir}
links = ${configlinks}
host_alias = ${host_alias}
host_cpu = ${host_cpu}
host_vendor = ${host_vendor}
host_os = ${host_os}
host_canonical = ${host_cpu}-${host_vendor}-${host_os}
target_alias = ${target_alias}
target_cpu = ${target_cpu}
target_vendor = ${target_vendor}
target_os = ${target_os}
target_canonical = ${target_cpu}-${target_vendor}-${target_os}
EOF
case "${build}" in
"") ;;
*) cat >> ${Makefile} << EOF
build_alias = ${build_alias}
build_cpu = ${build_cpu}
build_vendor = ${build_vendor}
build_os = ${build_os}
build_canonical = ${build_cpu}-${build_vendor}-${build_os}
EOF
esac
case "${package_makefile_frag}" in
"") ;;
/* | [A-Za-z]:[\\/]* ) echo package_makefile_frag = ${package_makefile_frag} >>${Makefile} ;;
*) echo package_makefile_frag = ${invsubdir}${package_makefile_frag} >>${Makefile} ;;
esac
case "${target_makefile_frag}" in
"") ;;
/* | [A-Za-z]:[\\/]* ) echo target_makefile_frag = ${target_makefile_frag} >>${Makefile} ;;
*) echo target_makefile_frag = ${invsubdir}${target_makefile_frag} >>${Makefile} ;;
esac
case "${host_makefile_frag}" in
"") ;;
/* | [A-Za-z]:[\\/]* ) echo host_makefile_frag = ${host_makefile_frag} >>${Makefile} ;;
*) echo host_makefile_frag = ${invsubdir}${host_makefile_frag} >>${Makefile} ;;
esac
if [ "${site_makefile_frag}" != "" ] ; then
echo site_makefile_frag = ${invsubdir}${site_makefile_frag} >>${Makefile}
fi
echo enable_shared = ${enable_shared} >> ${Makefile}
echo enable_threads = ${enable_threads} >> ${Makefile}
# record if we want to rumtime library stuff installed in libsubdir.
if test -z "${enable_version_specific_runtime_libs}"; then
echo enable_version_specific_runtime_libs = no >> ${Makefile}
else
echo enable_version_specific_runtime_libs = ${enable_version_specific_runtime_libs} >> ${Makefile}
fi
# Emit a macro which describes the file containing gcc's
# version number.
echo gcc_version_trigger = ${gcc_version_trigger} >> ${Makefile}
# And emit a macro defining gcc's version number.
echo gcc_version = ${gcc_version} >> ${Makefile}
# reset prefix, exec_prefix, srcdir, SUBDIRS, NONSUBDIRS,
# remove any form feeds.
if [ -z "${subdirs}" ]; then
rm -f ${subdir}/Makefile.tm2
sedtemp=sed.$$
cat >$sedtemp <<EOF
s:@configdirs@:${configdirs}:
EOF
sed -f $sedtemp \
${subdir}/Makefile.tem > ${subdir}/Makefile.tm2
rm -f $sedtemp
rm -f ${subdir}/Makefile.tem
mv ${subdir}/Makefile.tm2 ${subdir}/Makefile.tem
fi
sed -e "s|@prefix@|${prefix}|" \
-e "s|@exec_prefix@|${exec_prefix}|" \
-e "s|@bindir@|${bindir}|" \
-e "s|@sbindir@|${sbindir}|" \
-e "s|@libexecdir@|${libexecdir}|" \
-e "s|@datadir@|${datadir}|" \
-e "s|@sysconfdir@|${sysconfdir}|" \
-e "s|@sharedstatedir@|${sharedstatedir}|" \
-e "s|@localstatedir@|${localstatedir}|" \
-e "s|@libdir@|${libdir}|" \
-e "s|@includedir@|${includedir}|" \
-e "s|@oldincludedir@|${oldincludedir}|" \
-e "s|@infodir@|${infodir}|" \
-e "s|@mandir@|${mandir}|" \
-e "s|@all_build_modules@|${all_build_modules}|" \
-e "/^CC[ ]*=/{
:loop1
/\\\\$/ N
s/\\\\\\n//g
t loop1
s%^CC[ ]*=.*$%CC = ${CC}%
}" \
-e "/^CXX[ ]*=/{
:loop2
/\\\\$/ N
s/\\\\\\n//g
t loop2
s%^CXX[ ]*=.*$%CXX = ${CXX}%
}" \
-e "/^CFLAGS[ ]*=/{
:loop3
/\\\\$/ N
s/\\\\\\n//g
t loop3
s%^CFLAGS[ ]*=.*$%CFLAGS = ${CFLAGS}%
}" \
-e "/^CXXFLAGS[ ]*=/{
:loop4
/\\\\$/ N
s/\\\\\\n//g
t loop4
s%^CXXFLAGS[ ]*=.*$%CXXFLAGS = ${CXXFLAGS}%
}" \
-e "s|@config_shell@|${config_shell}|" \
-e "s|@srcdir@|${makesrcdir}|" \
-e "s/ //" \
-e "s:@program_transform_name@:${program_transform_name}:" \
-e "s|@tooldir@|${tooldir}|" \
-e "s|@build_tooldir@|${tooldir}|" \
-e "s:@DEFAULT_YACC@:${DEFAULT_YACC}:" \
-e "s:@DEFAULT_LEX@:${DEFAULT_LEX}:" \
-e "s:@DEFAULT_M4@:${DEFAULT_M4}:" \
${subdir}/Makefile.tem >> ${Makefile}
sed -e "s:@GDB_TK@:${GDB_TK}:" ${Makefile} >${Makefile}.tem
mv -f ${Makefile}.tem ${Makefile}
# If this is a Canadian Cross, preset the values of many more
# tools.
if [ "${build}" != "${host}" ]; then
for var in ${tools}; do
eval val=\$${var}
sed -e "/^${var}[ ]*=/{
:loop1
/\\\\$/ N
/\\\\$/ b loop1
s/\\\\\\n//g
s%^${var}[ ]*=.*$%${var} = ${val}%
}" ${Makefile} > ${Makefile}.tem
mv -f ${Makefile}.tem ${Makefile}
done
fi
# final copy now in ${Makefile}
else
echo "No Makefile.in found in ${srcdir}/${subdir}, unable to configure" 1>&2
fi
rm -f ${subdir}/Makefile.tem
case "${host_makefile_frag}" in
"") using= ;;
*) using="and \"${host_makefile_frag}\"" ;;
esac
case "${target_makefile_frag}" in
"") ;;
*) using="${using} and \"${target_makefile_frag}\"" ;;
esac
case "${site_makefile_frag}" in
"") ;;
*) using="${using} and \"${site_makefile_frag}\"" ;;
esac
newusing=`echo "${using}" | sed 's/and/using/'`
using=${newusing}
echo "Created \"${Makefile}\" in" ${PWD=`${PWDCMD-pwd}`} ${using}
. ${tmpfile}.pos
# describe the chosen configuration in config.status.
# Make that file a shellscript which will reestablish
# the same configuration. Used in Makefiles to rebuild
# Makefiles.
case "${norecursion}" in
"") arguments="${arguments} --norecursion" ;;
*) ;;
esac
if [ ${subdir} = . ] ; then
echo "#!/bin/sh
# ${NO_EDIT}
# This directory was configured as follows:
${progname}" ${arguments} "
# ${using}" > ${subdir}/config.new
else
echo "#!/bin/sh
# ${NO_EDIT}
# This directory was configured as follows:
cd ${invsubdir}
${progname}" ${arguments} "
# ${using}" > ${subdir}/config.new
fi
chmod a+x ${subdir}/config.new
if [ -r ${subdir}/config.back ] ; then
mv -f ${subdir}/config.back ${subdir}/config.status
fi
${config_shell} ${moveifchange} ${subdir}/config.new ${subdir}/config.status
;;
*) rm -f ${Makefile} ${subdir}/config.status ${links} ;;
esac
echo "Linked \"${link}\" to \"${srcfile}\"."
done
# If there are subdirectories, then recur.
if [ -z "${norecursion}" ] && [ -n "${configdirs}" ] ; then
for configdir in ${configdirs} ${extraconfigdirs} ; do
# Create a .gdbinit file which runs the one in srcdir
# and tells GDB to look there for source files.
# If configdir contains ',' it is
# srcdir,builddir,target_alias
# These come from extraconfigdirs.
case ${configdir} in
*,*)
eval `echo ${configdir} | sed -e 's/\([^,]*\),\([^,]*\),\(.*\)/cfg_dir=\1 bld_dir=\2 tgt_alias=\3/'`
;;
*)
cfg_dir=${configdir}
bld_dir=${configdir}
tgt_alias=${target_alias}
;;
esac
if [ -d ${srcdir}/${cfg_dir} ] ; then
eval echo Configuring ${configdir}... ${redirect}
case "${srcdir}" in
".") ;;
*)
if [ ! -d ./${bld_dir} ] ; then
if mkdir ./${bld_dir} ; then
true
else
echo '***' "${progname}: could not make ${PWD=`${PWDCMD-pwd}`}/${bld_dir}" 1>&2
exit 1
fi
fi
;;
esac
POPDIR=${PWD=`${PWDCMD-pwd}`}
cd ${bld_dir}
### figure out what to do with srcdir
case "${srcdir}" in
".") newsrcdir=${srcdir} ;; # no -srcdir option. We're building in place.
/* | [A-Za-z]:[\\/]* ) # absolute path
newsrcdir=${srcdir}/${cfg_dir}
srcdiroption="--srcdir=${newsrcdir}"
;;
*) # otherwise relative
newsrcdir=../${srcdir}/${cfg_dir}
srcdiroption="--srcdir=${newsrcdir}"
;;
esac
# Handle --cache-file=../XXX
case "${cache_file}" in
"") # empty
;;
/* | [A-Za-z]:[\\/]* ) # absolute path
cache_file_option="--cache-file=${cache_file}"
;;
*) # relative path
cache_file_option="--cache-file=../${cache_file}"
;;
esac
### check for guested configure, otherwise fix possibly relative progname
if [ -f ${newsrcdir}/configure ] ; then
recprog=${newsrcdir}/configure
elif [ -f ${newsrcdir}/configure.in ] ; then
case "${progname}" in
/* | [A-Za-z]:[\\/]* ) recprog=${progname} ;;
*) recprog=../${progname} ;;
esac
else
eval echo No configuration information in ${cfg_dir} ${redirect}
recprog=
fi
### The recursion line is here.
if [ ! -z "${recprog}" ] ; then
if eval ${config_shell} ${recprog} ${verbose} ${buildopt} --host=${host_alias} --target=${tgt_alias} \
${prefixoption} ${tmpdiroption} ${exec_prefixoption} \
${srcdiroption} ${diroptions} ${program_prefixoption} ${program_suffixoption} ${program_transform_nameoption} ${site_option} ${withoptions} ${withoutoptions} ${enableoptions} ${disableoptions} ${floating_pointoption} ${cache_file_option} ${removing} ${other_options} ${redirect} ; then
true
else
echo Configure in `${PWDCMD-pwd}` failed, exiting. 1>&2
exit 1
fi
fi
cd ${POPDIR}
fi
done
if [ -r ${srcdir}/.gdbinit ] ; then
case ${srcdir} in
.) ;;
*) cat > ./.gdbinit <<EOF
# ${NO_EDIT}
dir ${srcdir}
dir .
source ${srcdir}/.gdbinit
EOF
;;
esac
fi
# Install a makefile, and make it set VPATH
# if necessary so that the sources are found.
# Also change its value of srcdir.
# NOTE: Makefile generation constitutes the majority of the time in configure. Hence, this section has
# been somewhat optimized and is perhaps a bit twisty.
# code is order so as to try to sed the smallest input files we know.
# so do these separately because I don't trust the order of sed -e expressions.
# the five makefile fragments MUST end up in the resulting Makefile in this order:
# package macros, target, host, site, and package rules.
if [ -f ${srcdir}/${Makefile_in} ] ; then
# Conditionalize the makefile for this package from "Makefile.in" (or whatever it's called) into Makefile.tem.
rm -f ./${Makefile}.tem
case "${package_makefile_rules_frag}" in
"") cp ${srcdir}/${Makefile_in} ./Makefile.tem ;;
*)
if [ ! -f ${package_makefile_rules_frag} ] ; then
package_makefile_rules_frag=${srcdir}/${package_makefile_rules_frag}
fi
if [ -f ${package_makefile_rules_frag} ] ; then
sed -e "/^####/ r ${package_makefile_rules_frag}" ${srcdir}/${Makefile_in} > ${Makefile}.tem
else
echo '***' Expected package makefile rules fragment \"${package_makefile_rules_frag}\" 1>&2
echo '***' is missing in ${PWD=`${PWDCMD-pwd}`}. 1>&2
cp ${srcdir}/${Makefile_in} ./Makefile.tem
fi
esac
# working copy now in ${Makefile}.tem
# Conditionalize for this site.
rm -f ${Makefile}
case "${site}" in
"") mv ./Makefile.tem ${Makefile} ;;
*)
site_makefile_frag=${srcdir}/config/ms-${site}
if [ -f ${site_makefile_frag} ] ; then
sed -e "/^####/ r ${site_makefile_frag}" ./Makefile.tem > ${Makefile}
else
mv ./Makefile.tem ${Makefile}
site_makefile_frag=
fi
;;
esac
# working copy now in ${Makefile}
# Conditionalize the makefile for this host.
rm -f ./Makefile.tem
case "${host_makefile_frag}" in
"") mv ${Makefile} ./Makefile.tem ;;
*)
if [ ! -f ${host_makefile_frag} ] ; then
host_makefile_frag=${srcdir}/${host_makefile_frag}
fi
if [ -f ${host_makefile_frag} ] ; then
sed -e "/^####/ r ${host_makefile_frag}" ${Makefile} > ./Makefile.tem
else
echo '***' Expected host makefile fragment \"${host_makefile_frag}\" 1>&2
echo '***' is missing in ${PWD=`${PWDCMD-pwd}`}. 1>&2
mv ${Makefile} ./Makefile.tem
fi
esac
# working copy now in ./Makefile.tem
# Conditionalize the makefile for this target.
rm -f ${Makefile}
case "${target_makefile_frag}" in
"") mv ./Makefile.tem ${Makefile} ;;
*)
if [ ! -f ${target_makefile_frag} ] ; then
target_makefile_frag=${srcdir}/${target_makefile_frag}
fi
if [ -f ${target_makefile_frag} ] ; then
sed -e "/^####/ r ${target_makefile_frag}" ./Makefile.tem > ${Makefile}
else
mv ./Makefile.tem ${Makefile}
target_makefile_frag=
fi
;;
esac
# working copy now in ${Makefile}
# Emit the default values of this package's macros.
rm -f ./Makefile.tem
case "${package_makefile_frag}" in
"") mv ${Makefile} ./Makefile.tem ;;
*)
if [ ! -f ${package_makefile_frag} ] ; then
package_makefile_frag=${srcdir}/${package_makefile_frag}
fi
if [ -f ${package_makefile_frag} ] ; then
sed -e "/^####/ r ${package_makefile_frag}" ${Makefile} > ./Makefile.tem
else
echo '***' Expected package makefile fragment \"${package_makefile_rules_frag}\" 1>&2
echo '***' is missing in ${PWD=`${PWDCMD-pwd}`}. 1>&2
mv ${Makefile} ./Makefile.tem
fi
esac
# real copy now in ./Makefile.tem
# record if we want runtime library stuff installed in libsubdir.
# Blank means no.
if test -z "${enable_version_specific_runtime_libs}"; then
enable_version_specific_runtime_libs=no
fi
sed -e "s|@configlinks@|${configlinks}|" \
-e "s|@build_alias@|${build_alias}|" \
-e "s|@build_cpu@|${build_cpu}|" \
-e "s|@build_vendor@|${build_vendor}|" \
-e "s|@build_os@|${build_os}|" \
-e "s|@host_alias@|${host_alias}|" \
-e "s|@host_cpu@|${host_cpu}|" \
-e "s|@host_vendor@|${host_vendor}|" \
-e "s|@host_os@|${host_os}|" \
-e "s|@target_alias@|${target_alias}|" \
-e "s|@target_cpu@|${target_cpu}|" \
-e "s|@target_vendor@|${target_vendor}|" \
-e "s|@target_os@|${target_os}|" \
-e "s|@target_makefile_frag@|${target_makefile_frag}|" \
-e "s|@host_makefile_frag@|${host_makefile_frag}|" \
-e "s|@enable_shared@|${enable_shared}|" \
-e "s|@enable_threads@|${enable_threads}|" \
-e "s|@enable_version_specific_runtime_libs@|${enable_version_specific_runtime_libs}|" \
-e "s|@gcc_version_trigger@|${gcc_version_trigger}|" \
-e "s|@gcc_version@|${gcc_version}|" \
./Makefile.tem > ${Makefile}
mv -f ${Makefile} ./Makefile.tem
# Real copy now in Makefile.tem; no prologue.
# reset prefix, exec_prefix, srcdir, SUBDIRS, NONSUBDIRS,
# remove any form feeds.
sed -e "s|@configdirs@|${configdirs}|" \
-e "s|@prefix@|${prefix}|" \
-e "s|@exec_prefix@|${exec_prefix}|" \
-e "s|@bindir@|${bindir}|" \
-e "s|@sbindir@|${sbindir}|" \
-e "s|@libexecdir@|${libexecdir}|" \
-e "s|@datadir@|${datadir}|" \
-e "s|@sysconfdir@|${sysconfdir}|" \
-e "s|@sharedstatedir@|${sharedstatedir}|" \
-e "s|@localstatedir@|${localstatedir}|" \
-e "s|@libdir@|${libdir}|" \
-e "s|@includedir@|${includedir}|" \
-e "s|@oldincludedir@|${oldincludedir}|" \
-e "s|@infodir@|${infodir}|" \
-e "s|@mandir@|${mandir}|" \
-e "s|@CC@|${CC}|" \
-e "s|@CXX@|${CXX}|" \
-e "s|@CFLAGS@|${CFLAGS}|" \
-e "s|@CXXFLAGS@|${CXXFLAGS}|" \
-e "s|@config_shell@|${config_shell}|" \
-e "s|@srcdir@|${srcdir}|" \
-e "s/ //" \
-e "s:@program_transform_name@:${program_transform_name}:" \
-e "s|@tooldir@|${tooldir}|" \
-e "s|@build_tooldir@|${tooldir}|" \
-e "s:@DEFAULT_YACC@:${DEFAULT_YACC}:" \
-e "s:@DEFAULT_LEX@:${DEFAULT_LEX}:" \
-e "s:@DEFAULT_M4@:${DEFAULT_M4}:" \
./Makefile.tem > ${Makefile}
# If this is a Canadian Cross, preset the values of many more
# tools.
if [ "${build}" != "${host}" ]; then
for var in ${tools}; do
eval val=\$${var}
sed -e "/^${var}[ ]*=/{
:loop1
/\\\\$/ N
/\\\\$/ b loop1
s/\\\\\\n//g
s%^${var}[ ]*=.*$%${var} = ${val}%
}" ${Makefile} > ${Makefile}.tem
mv -f ${Makefile}.tem ${Makefile}
done
fi
# If this is NOT a Canadian Cross, preset the values of some more
# tools. The above line should get merged into this, but this
# substitutes *once* where the above substitutes *globally*; that
# needs to be worked out before the merger. The issue is in Makefile
# fragment elements (ick, yuck, ugh).
if [ "${build}" = "${host}" ]; then
for var in ${tools}; do
eval val=\$${var}
sed -e "s%@${var}@%${val}%" ${Makefile} > ${Makefile}.tem
mv -f ${Makefile}.tem ${Makefile}
done
fi
# final copy now in ${Makefile}
else
echo "No Makefile.in found in ${srcdir}/., unable to configure" 1>&2
fi
rm -f ./Makefile.tem
case "${host_makefile_frag}" in
"") using= ;;
*) using="and \"${host_makefile_frag}\"" ;;
esac
case "${target_makefile_frag}" in
"") ;;
*) using="${using} and \"${target_makefile_frag}\"" ;;
esac
case "${site_makefile_frag}" in
"") ;;
*) using="${using} and \"${site_makefile_frag}\"" ;;
esac
newusing=`echo "${using}" | sed 's/and/using/'`
using=${newusing}
echo "Created \"${Makefile}\" in" ${PWD=`${PWDCMD-pwd}`} ${using}
. ${tmpfile}.pos
# describe the chosen configuration in config.status.
# Make that file a shellscript which will reestablish
# the same configuration. Used in Makefiles to rebuild
# Makefiles.
case "${norecursion}" in
"") arguments="${arguments} --norecursion" ;;
*) ;;
esac
echo "#!/bin/sh
# ${NO_EDIT}
# This directory was configured as follows:
${progname}" ${arguments} "
# ${using}" > ./config.new
chmod a+x ./config.new
if [ -r ./config.back ] ; then
mv -f ./config.back ./config.status
fi
${config_shell} ${moveifchange} ./config.new ./config.status
# Perform the same cleanup as the trap handler, minus the "exit 1" of course,
# and reset the trap handler.
rm -rf ${tmpdir}

View File

@ -33,23 +33,56 @@
##############################################################################
extra_host_args=
# Define the trigger file to make sure configure will re-run whenever
# the gcc version number changes.
if [ "${with_gcc_version_trigger+set}" = set ]; then
gcc_version_trigger="$with_gcc_version_trigger"
gcc_version=`grep version_string ${with_gcc_version_trigger} | sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/'`
else
# If gcc's sources are available, define the trigger file.
if [ -f ${topsrcdir}/gcc/version.c ] ; then
gcc_version_trigger=${topsrcdir}/gcc/version.c
gcc_version=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/'`
case "$arguments" in
*--with-gcc-version-trigger=$gcc_version_trigger* )
;;
* )
# Add to all subconfigure arguments: build, host, and target.
arguments="--with-gcc-version-trigger=$gcc_version_trigger $arguments"
;;
esac
# This will be redundant when we start all subconfigures from the Makefile.
extra_host_args="--with-gcc-version-trigger=$gcc_version_trigger $extra_host_args"
fi
fi
### To add a new directory to the tree, first choose whether it is a target
### or a host dependent tool. Then put it into the appropriate list
### (library or tools, host or target), doing a dependency sort. For
### example, gdb requires that byacc (or bison) be built first, so it is in
### the ${host_tools} list after byacc and bison.
### (library or tools, host or target), doing a dependency sort.
# Subdirs will be configured in the order listed in build_configdirs,
# configdirs, or target_configdirs; see the serialization section below.
# Dependency sorting is only needed when *configuration* must be done in
# a particular order. In all cases a dependency should be specified in
# the Makefile, whether or not it's implicitly specified here.
# Double entries in build_configdirs, configdirs, or target_configdirs may
# cause circular dependencies and break everything horribly.
# these libraries are used by various programs built for the host environment
#
host_libs="intl mmalloc libiberty opcodes bfd readline db tcl tk tclX itcl tix libgui zlib"
host_libs="intl mmalloc libiberty opcodes bfd readline db tcl tk itcl tix libgui zlib"
libstdcxx_version="target-libstdc++-v3"
# these tools are built for the host environment
# Note, the powerpc-eabi build depends on sim occurring before gdb in order to
# know that we are building the simulator.
host_tools="texinfo byacc flex bison binutils ld gas gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool grep diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils snavigator libtool gettext zip fastjar"
# binutils, gas and ld appear in that order because it makes sense to run
# "make check" in that particular order.
host_tools="texinfo byacc flex bison binutils gas ld gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool grep diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils snavigator gettext zip fastjar"
# libgcj represents the runtime libraries only used by gcj.
libgcj="target-libffi \
@ -197,12 +230,8 @@ esac
# Configure extra directories which are host specific
case "${host}" in
i[3456]86-*-go32*)
configdirs="$configdirs dosrel" ;;
i[3456]86-*-mingw32*)
configdirs="$configdirs dosrel" ;;
*-cygwin*)
configdirs="$configdirs libtermcap dosrel" ;;
configdirs="$configdirs libtermcap" ;;
esac
# Remove more programs from consideration, based on the host or
@ -855,13 +884,6 @@ case "$host" in
*msdosdjgpp*)
enable_gdbtk=no ;;
esac
# Determine whether gdb needs tk/tcl or not.
case "$enable_gdbtk" in
no)
GDB_TK="" ;;
*)
GDB_TK="all-tcl all-tk all-itcl all-tix all-libgui" ;;
esac
copy_dirs=
@ -1121,10 +1143,9 @@ if test -n "${host_makefile_frag}" ; then
host_makefile_frag=mh-frag
fi
extra_arflags_for_target=
extra_nmflags_for_target=
case "${target}" in
v810*)
target_makefile_frag="config/mt-v810"
;;
i[3456]86-*-netware*)
target_makefile_frag="config/mt-netware"
;;
@ -1135,7 +1156,11 @@ case "${target}" in
target_makefile_frag="config/mt-linux"
;;
*-*-aix4.[3456789]* | *-*-aix[56789].*)
target_makefile_frag="config/mt-aix43"
# nm and ar from AIX 4.3 and above require -X32_64 flag to all ar and nm
# commands to handle both 32-bit and 64-bit objects. These flags are
# harmless if we're using GNU nm or ar.
extra_arflags_for_target=" -X32_64"
extra_nmflags_for_target=" -B -X32_64"
;;
mips*-*-pe | sh*-*-pe | *arm-wince-pe)
target_makefile_frag="config/mt-wince"
@ -1197,21 +1222,21 @@ fi
if test x${use_gnu_as} = x &&
echo " ${configdirs} " | grep " gas " > /dev/null 2>&1 ; then
with_gnu_as=yes
withoptions="$withoptions --with-gnu-as"
extra_host_args="$extra_host_args --with-gnu-as"
fi
if test x${use_gnu_ld} = x &&
echo " ${configdirs} " | grep " ld " > /dev/null 2>&1 ; then
with_gnu_ld=yes
withoptions="$withoptions --with-gnu-ld"
extra_host_args="$extra_host_args --with-gnu-ld"
fi
# If using newlib, add --with-newlib to the withoptions so that gcc/configure
# If using newlib, add --with-newlib to the extra_host_args so that gcc/configure
# can detect this case.
if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 ; then
with_newlib=yes
withoptions="$withoptions --with-newlib"
extra_host_args="$extra_host_args --with-newlib"
fi
# We default to --with-shared on platforms where -fpic is meaningless.
@ -1238,13 +1263,13 @@ if test x${with_stabs} = x ; then
case "${target}" in
mips*-*-irix6*o32)
with_stabs=yes;
withoptions="${withoptions} --with-stabs"
extra_host_args="${extra_host_args} --with-stabs"
;;
mips*-*-irix6*)
;;
mips*-*-* | alpha*-*-osf*)
with_stabs=yes;
withoptions="${withoptions} --with-stabs"
extra_host_args="${extra_host_args} --with-stabs"
;;
esac
fi
@ -1253,10 +1278,13 @@ fi
# them automatically.
case "${host}" in
hppa*64*-*-hpux11*)
withoptions="$withoptions -x-libraries=/usr/lib/pa20_64 -x-includes=/usr/X11R6/include"
extra_host_args="$extra_host_args -x-libraries=/usr/lib/pa20_64 -x-includes=/usr/X11R6/include"
;;
esac
# This will go away when we start subconfigures from the Makefile.
withoptions="${withoptions} ${extra_host_args}"
# If we aren't going to be using gcc, see if we can extract a definition
# of CC from the fragment.
# Actually, use the 'pre-extracted' version above.
@ -1348,6 +1376,107 @@ sed -e "s/@RPATH_ENVVAR@/${RPATH_ENVVAR}/" Makefile > Makefile.tem
rm -f Makefile
mv -f Makefile.tem Makefile
# Record target_configdirs and the configure arguments for target and
# build configuration in Makefile.
target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'`
# This is the final value for target_configdirs. configdirs already
# has its final value. It's time to create some lists of valid targets.
all_build_modules=
configure_build_modules=
# Only make build modules if build != host.
# This should be done more generally, but at the moment it doesn't matter.
if test ${host_alias} != ${build_alias} ; then
all_build_modules=all-build-libiberty
configure_build_modules=configure-build-libiberty
fi
all_host_modules=
check_host_modules=
install_host_modules=
configure_host_modules=
for module in ${configdirs} ; do
all_host_modules="${all_host_modules} all-${module}"
check_host_modules="${check_host_modules} check-${module}"
install_host_modules="${install_host_modules} install-${module}"
configure_host_modules="${configure_host_modules} configure-${module}"
done
install_host_modules_nogcc=`echo "${install_host_modules}" | sed -e 's/install-gcc//g'`
all_target_modules=
check_target_modules=
install_target_modules=
configure_target_modules=
for module in ${target_configdirs} ; do
all_target_modules="${all_target_modules} all-target-${module}"
check_target_modules="${check_target_modules} check-target-${module}"
install_target_modules="${install_target_modules} install-target-${module}"
configure_target_modules="${configure_target_modules} configure-target-${module}"
done
# Determine whether gdb needs tk/tcl or not.
# Use 'maybe' since enable_gdbtk might be true even if tk isn't available
# and in that case we want gdb to be built without tk. Ugh!
# In fact I believe gdb is the *only* package directly dependent on tk,
# so we should be able to put the 'maybe's in unconditionally and
# leave out the maybe dependencies when enable_gdbtk is false. I'm not
# 100% sure that that's safe though.
case "$enable_gdbtk" in
no)
GDB_TK="" ;;
*)
GDB_TK="maybe-all-tcl maybe-all-tk maybe-all-itcl maybe-all-tix maybe-all-libgui" ;;
esac
# Create the 'maybe dependencies'. This uses a temporary file.
rm -f maybedep.tmp
for item in ${all_build_modules} ${all_host_modules} ${all_target_modules} \
${install_host_modules} ${install_target_modules} \
${configure_build_modules} ${configure_host_modules} ${configure_target_modules} \
; do
echo "maybe-${item}: ${item}" >> maybedep.tmp
done
sed -e '/@maybe_dependencies@/r maybedep.tmp' \
-e 's/@maybe_dependencies@//' Makefile > Makefile.tem
rm -f Makefile
mv -f Makefile.tem Makefile
rm -f maybedep.tmp
# Create the serialization dependencies. This uses a temporary file.
# These force 'configure's to be done one at a time, to avoid problems
# with contention over a shared config.cache.
rm -f serdep.tmp
olditem=
for item in ${build_configdirs} ; do
case ${olditem} in
"") ;;
*) echo "\$(BUILD_SUBDIR)/${item}/Makefile: \$(BUILD_SUBDIR)/${olditem}/Makefile" >> serdep.tmp ;;
esac
olditem=${item}
done
olditem=
for item in ${configdirs} ; do
case ${olditem} in
"") ;;
*) echo "${item}/Makefile: ${olditem}/Makefile" >> serdep.tmp ;;
esac
olditem=${item}
done
olditem=
for item in ${target_configdirs} ; do
case ${olditem} in
"") ;;
*) echo "\$(TARGET_SUBDIR)/${item}/Makefile: \$(TARGET_SUBDIR)/${olditem}/Makefile" >> serdep.tmp ;;
esac
olditem=${item}
done
sed -e '/@serialization_dependencies@/r serdep.tmp' \
-e 's/@serialization_dependencies@//' Makefile > Makefile.tem
rm -f Makefile
mv -f Makefile.tem Makefile
rm -f serdep.tmp
# Base args. Strip norecursion, cache-file, srcdir, host, build, target.
# These are the ones we might not want to pass down to subconfigures.
@ -1364,9 +1493,18 @@ baseargs=`echo "${arguments}" | \
# desired.
buildargs="--cache-file=../config.cache --build=${build_alias} --host=${build_alias} ${baseargs}"
# Record target_configdirs and the configure arguments for target and
# build configuration in Makefile.
target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'`
# For host modules, accept cache file option, or specification as blank.
case "${cache_file}" in
"") # empty
cache_file_option="" ;;
/* | [A-Za-z]:[\\/]* ) # absolute path
cache_file_option="--cache-file=${cache_file}" ;;
*) # relative path
cache_file_option="--cache-file=../${cache_file}" ;;
esac
hostargs="${cache_file_option} ${buildopt} --host=${host_alias} --target=${target_alias} ${extra_host_args} ${baseargs}"
targargs=${baseargs}
# Passing a --with-cross-host argument lets the target libraries know
@ -1518,7 +1656,8 @@ case $GCJ_FOR_TARGET in
esac
# Don't use libstdc++-v3's flags to configure/build itself.
libstdcxx_flags='`case $$dir in libstdc++-v3 | libjava) ;; *) test ! -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/testsuite_flags || $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/testsuite_flags --build-includes;; esac` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs'
libstdcxx_flags='`test ! -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/testsuite_flags || $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/testsuite_flags --build-includes` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs'
raw_libstdcxx_flags=' -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs'
if test "x${CXX_FOR_TARGET+set}" = xset; then
:
@ -1526,17 +1665,28 @@ elif test -d ${srcdir}/gcc; then
# We add -shared-libgcc to CXX_FOR_TARGET whenever we use xgcc instead
# of g++ for linking C++ or Java, because g++ has -shared-libgcc by
# default whereas gcc does not.
CXX_FOR_TARGET='$$r/gcc/`case $$dir in libstdc++-v3 | libjava) echo xgcc -shared-libgcc ;; *) echo g++ ;; esac` -B$$r/gcc/ -nostdinc++ '$libstdcxx_flags
# RAW_CXX_FOR_TARGET is for linking C++ or java; CXX_FOR_TARGET is for
# all other cases.
CXX_FOR_TARGET='$$r/gcc/g++ -B$$r/gcc/ -nostdinc++ '$libstdcxx_flags
RAW_CXX_FOR_TARGET='$$r/gcc/xgcc -shared-libgcc -B$$r/gcc/ -nostdinc++ '$raw_libstdcxx_flags
elif test "$host" = "$target"; then
CXX_FOR_TARGET='$(CXX)'
RAW_CXX_FOR_TARGET=${CXX_FOR_TARGET}
else
CXX_FOR_TARGET=`echo c++ | sed -e 's/x/x/' ${program_transform_name}`
RAW_CXX_FOR_TARGET=${CXX_FOR_TARGET}
fi
case $CXX_FOR_TARGET in
*' $(FLAGS_FOR_TARGET)') ;;
*) CXX_FOR_TARGET=$CXX_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;;
esac
case $RAW_CXX_FOR_TARGET in
*' $(FLAGS_FOR_TARGET)') ;;
*) RAW_CXX_FOR_TARGET=$RAW_CXX_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;;
esac
qCXX_FOR_TARGET=`echo "$CXX_FOR_TARGET" | sed 's,[&%],\\\&,g'`
qRAW_CXX_FOR_TARGET=`echo "$RAW_CXX_FOR_TARGET" | sed 's,[&%],\\\&,g'`
# We want to defer the evaluation of `cmd`s and shell variables in
# CXX_FOR_TARGET when recursing in the top-level Makefile, such as for
@ -1545,27 +1695,46 @@ qCXX_FOR_TARGET=`echo "$CXX_FOR_TARGET" | sed 's,[&%],\\\&,g'`
# can be expanded by the nested make as shell variables, not as make
# macros.
qqCXX_FOR_TARGET=`echo "$qCXX_FOR_TARGET" | sed -e 's,[$][$],$$$$,g'`
qqRAW_CXX_FOR_TARGET=`echo "$qRAW_CXX_FOR_TARGET" | sed -e 's,[$][$],$$$$,g'`
# BASE_CC_FOR_TARGET is the actual program file of CC_FOR_TARGET,
# for use in dependencies. Replace $$r with a relative
# path if it's present.
set dummy $CC_FOR_TARGET; cc_for_target_first_word=$2
BASE_CC_FOR_TARGET=`echo "$cc_for_target_first_word" | sed -e 's,[$][$]r,.,'`
sedtemp=sed.$$
cat >$sedtemp <<EOF
s%@GDB_TK@%${GDB_TK}%
s%@configure_build_modules@%${configure_build_modules}%
s%@all_build_modules@%${all_build_modules}%
s%@configure_host_modules@%${configure_host_modules}%
s%@all_host_modules@%${all_host_modules}%
s%@check_host_modules@%${check_host_modules}%
s%@install_host_modules@%${install_host_modules}%
s%@install_host_modules_nogcc@%${install_host_modules_nogcc}%
s%@configure_target_modules@%${configure_target_modules}%
s%@all_target_modules@%${all_target_modules}%
s%@check_target_modules@%${check_target_modules}%
s%@install_target_modules@%${install_target_modules}%
s:@target_configdirs@:${target_configdirs}:
s%@target_configargs@%${targargs}%
s%@FLAGS_FOR_TARGET@%${FLAGS_FOR_TARGET}%
s%@CC_FOR_TARGET@%\$(STAGE_CC_WRAPPER) ${CC_FOR_TARGET}%
s%@BASE_CC_FOR_TARGET@%${BASE_CC_FOR_TARGET}%
s%@GCJ_FOR_TARGET@%\$(STAGE_CC_WRAPPER) ${GCJ_FOR_TARGET}%
s%@CXX_FOR_TARGET@%\$(STAGE_CC_WRAPPER) ${qCXX_FOR_TARGET}%
s%@RAW_CXX_FOR_TARGET@%\$(STAGE_CC_WRAPPER) ${qRAW_CXX_FOR_TARGET}%
s%@CXX_FOR_TARGET_FOR_RECURSIVE_MAKE@%\$(STAGE_CC_WRAPPER) ${qqCXX_FOR_TARGET}%
s%@RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE@%\$(STAGE_CC_WRAPPER) ${qqRAW_CXX_FOR_TARGET}%
s%@target_subdir@%${target_subdir}%
s%@build_subdir@%${build_subdir}%
s%@build_configargs@%${buildargs}%
s%@gxx_include_dir@%${gxx_include_dir}%
s%@host_configargs@%${hostargs}%
EOF
sed -f $sedtemp Makefile > Makefile.tem
rm -f Makefile $sedtemp
mv -f Makefile.tem Makefile
#
# Local Variables:
# fill-column: 131
# End:
#

View File

@ -1,3 +1,7 @@
2002-11-09 Zack Weinberg <zack@codesourcery.com>
* gthr_supp_vxw_5x.c: New file.
2002-10-21 Richard Henderson <rth@redhat.com>
* paranoia.cc (real_c_float::image): Accomodate size of
@ -181,7 +185,7 @@ Mon Jul 23 15:47:19 CEST 2001 Jan Hubicka <jh@suse.cz>
2001-06-14 Albert Chin-A-Young <china@thewrittenword.com>
* contrib/gcc_update: Fix timestamp on gcc/f/intdoc.texi.
* contrib/gcc_update: Fix timestamp on gcc/f/intdoc.texi.
2001-06-13 Mark Mitchell <mark@codesourcery.com>
@ -513,7 +517,7 @@ Sun Nov 28 00:41:44 1999 William Bader (william@nscs.fast.net)
* test_summary: Replace egcs with gcc. Update e-mail address.
1999-07-05 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
Jerry Quinn <jquinn@nortelnetworks.com>
Jerry Quinn <jquinn@nortelnetworks.com>
* egcs_update (touch_files, apply_patch): New functions.
Use them. New command-line option --patch. Split test of local
@ -668,7 +672,7 @@ Wed Aug 12 19:59:36 1998 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
* egcs_update: Assigned copyright to FSF.
Tue Aug 11 17:55:53 1998 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
Alexandre Oliva <oliva@dcc.unicamp.br>
Alexandre Oliva <oliva@dcc.unicamp.br>
* egcs_update: New switch --nostdflags and documentation
enhancements.

View File

@ -0,0 +1,92 @@
/* Kernel-side additional module for the VxWorks threading support
logic for GCC. Written 2002 by Zack Weinberg.
This file is distributed with GCC, but it is not part of GCC.
The contents of this file are in the public domain. */
/* If you are using the Tornado IDE, copy this file to
$WIND_BASE/target/config/comps/src/gthread_supp.c. Then create a
file named 10comp_gthread_supp.cdf in target/config/comps/vxWorks
with the following contents:
Component INCLUDE_GCC_GTHREAD {
NAME GCC 3.x gthread support (required by C++)
CONFIGLETTES gthread_supp.c
REQUIRES INCLUDE_CPLUS
INCLUDE_WHEN INCLUDE_CPLUS
_FOLDER FOLDER_CPLUS
}
If you are using command line builds, instead copy this file to
$WIND_BASE/target/src/config/gthread_supp.c, and add the following
block to target/src/config/usrExtra.c:
#ifdef INCLUDE_CPLUS
#include "../../src/config/gthread_supp.c"
#endif
You should now be able to rebuild your application using GCC 3.x. */
#include <vxWorks.h>
#include <taskLib.h>
/* This file provides these routines: */
extern void *__gthread_get_tsd_data (WIND_TCB *tcb);
extern void __gthread_set_tsd_data (WIND_TCB *tcb, void *data);
extern void __gthread_enter_tsd_dtor_context (WIND_TCB *tcb);
extern void __gthread_leave_tsd_dtor_context (WIND_TCB *tcb);
/* Set and retrieve the TSD data block for the task TCB.
Possible choices for TSD_SLOT are:
reserved1
reserved2
spare1
spare2
spare3
spare4
(these are all fields of the TCB structure; all have type 'int').
If you find that the slot chosen by default is already used for
something else, simply change the #define below and recompile this
file. No other file should reference TSD_SLOT directly. */
/* WARNING: This code is not 64-bit clean (it assumes that a pointer
can be held in an 'int' without truncation). As much of the rest
of VxWorks also makes this assumption, we can't really avoid it. */
#define TSD_SLOT reserved1
void *
__gthread_get_tsd_data (WIND_TCB *tcb)
{
return (void *) (tcb->TSD_SLOT);
}
void
__gthread_set_tsd_data (WIND_TCB *tcb, void *data)
{
tcb->TSD_SLOT = (int) data;
}
/* Enter and leave "TSD destructor context". This is defined as a
state in which it is safe to call free() from a task delete hook
on a memory block allocated by the task being deleted.
For VxWorks 5.x, nothing needs to be done. */
#if __GNUC__ >= 2
#define UNUSED __attribute__((unused))
#else
#define UNUSED
#endif
void
__gthread_enter_tsd_dtor_context (WIND_TCB *tcb UNUSED)
{
}
void
__gthread_leave_tsd_dtor_context (WIND_TCB *tcb UNUSED)
{
}

View File

@ -2,6 +2,18 @@
* fastjar.texi (jar @direntry, grepjar @direntry): Add (fastjar).
2002-11-23 H.J. Lu <hjl@gnu.org>
* acinclude.m4: Include ../config/accross.m4.
(gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
(gcc_AC_EXAMINE_OBJECT): Removed.
(gcc_AC_C_COMPILE_ENDIAN): Removed.
* aclocal.m4; Rebuild.
* configure.in: Replace AC_C_BIGENDIAN with AC_C_BIGENDIAN_CROSS.
Replace AC_CHECK_SIZEOF with AC_COMPILE_CHECK_SIZEOF.
* configure: Likewise.
2002-11-21 Ranjit Mathew <rmathew@hotmail.com>
* jartool.c (extract_jar): Use "open" with O_BINARY instead of
@ -31,6 +43,11 @@
* jartool.c: Use mode 0666 when opening new file.
2002-09-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
* jargrep.c (chk_wrd): Remove unused variable(s).
* jartool.c (main, create_central_header, list_jar): Likewise.
2002-10-15 Ranjit Mathew <rmathew@hotmail.com>
* configure, config.h.in: Rebuilt.
@ -153,7 +170,7 @@
* aclocal.m4: Regenerated.
* stamp-h.in: Regenerated.
* jargrep.c: Eliminate some signed/unsigned and default
uninitialized warnings. Use HAVE_STDLIB_H instead of
uninitialized warnings. Use HAVE_STDLIB_H instead of
STDC_HEADERS macro.
* jartool.c: Likewise.
* compress.c: Likewise.
@ -195,7 +212,7 @@
2001-05-15 Per Bothner <per@bothner.com>
* Makefile.am (bin_PROGRAMS): Renamed from "fastjar" to "jar".
* Makefile.am (bin_PROGRAMS): Renamed from "fastjar" to "jar".
2001-05-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
@ -213,7 +230,7 @@
* jartool.c (MAXPATHLEN): Provide if not defined.
2000-12-15 Tom Tromey <tromey@redhat.com>
Kelley Cook <kelleycook@home.com>
Kelley Cook <kelleycook@home.com>
* jargrep.c: Include getopt.h if it exists.
(optind): Declare.

View File

@ -1,114 +1,4 @@
dnl Host type sizes probe.
dnl By Kaveh R. Ghazi. One typo fixed since.
dnl
AC_DEFUN([gcc_AC_COMPILE_CHECK_SIZEOF],
[changequote(<<, >>)dnl
dnl The name to #define.
define(<<AC_TYPE_NAME>>, translit(sizeof_$1, [a-z *], [A-Z_P]))dnl
dnl The cache variable name.
define(<<AC_CV_NAME>>, translit(ac_cv_sizeof_$1, [ *], [_p]))dnl
changequote([, ])dnl
AC_MSG_CHECKING(size of $1)
AC_CACHE_VAL(AC_CV_NAME,
[for ac_size in 4 8 1 2 16 $3 ; do # List sizes in rough order of prevalence.
AC_TRY_COMPILE([#include "confdefs.h"
#include <sys/types.h>
$2
], [switch (0) case 0: case (sizeof ($1) == $ac_size):;], AC_CV_NAME=$ac_size)
if test x$AC_CV_NAME != x ; then break; fi
done
])
if test x$AC_CV_NAME = x ; then
AC_MSG_ERROR([cannot determine a size for $1])
fi
AC_MSG_RESULT($AC_CV_NAME)
AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME, [The number of bytes in type $1])
undefine([AC_TYPE_NAME])dnl
undefine([AC_CV_NAME])dnl
])
dnl Utility macro used by next two tests.
dnl AC_EXAMINE_OBJECT(C source code,
dnl commands examining object file,
dnl [commands to run if compile failed]):
dnl
dnl Compile the source code to an object file; then convert it into a
dnl printable representation. All unprintable characters and
dnl asterisks (*) are replaced by dots (.). All white space is
dnl deleted. Newlines (ASCII 0x10) in the input are preserved in the
dnl output, but runs of newlines are compressed to a single newline.
dnl Finally, line breaks are forcibly inserted so that no line is
dnl longer than 80 columns and the file ends with a newline. The
dnl result of all this processing is in the file conftest.dmp, which
dnl may be examined by the commands in the second argument.
dnl
AC_DEFUN([gcc_AC_EXAMINE_OBJECT],
[AC_LANG_SAVE
AC_LANG_C
dnl Next bit cribbed from AC_TRY_COMPILE.
cat > conftest.$ac_ext <<EOF
[#line __oline__ "configure"
#include "confdefs.h"
$1
]EOF
if AC_TRY_EVAL(ac_compile); then
od -c conftest.o |
sed ['s/^[0-7]*[ ]*/ /
s/\*/./g
s/ \\n/*/g
s/ [0-9][0-9][0-9]/./g
s/ \\[^ ]/./g'] |
tr -d '
' | tr -s '*' '
' | fold | sed '$a\
' > conftest.dmp
$2
ifelse($3, , , else
$3
)dnl
fi
rm -rf conftest*
AC_LANG_RESTORE])
dnl Host endianness probe.
dnl Differs from AC_C_BIGENDIAN in that it does not require
dnl running a program on the host.
dnl
AC_DEFUN([fastjar_AC_COMPILE_C_BIGENDIAN],
[AC_CACHE_CHECK(byte ordering, ac_cv_c_compile_endian,
[ac_cv_c_compile_endian=unknown
gcc_AC_EXAMINE_OBJECT([
#ifdef HAVE_LIMITS_H
# include <limits.h>
#endif
/* This structure must have no internal padding. */
struct {
char prefix[sizeof "\nendian:" - 1];
short word;
char postfix[2];
} tester = {
"\nendian:",
#if SIZEOF_SHORT == 4
('A' << (CHAR_BIT * 3)) | ('B' << (CHAR_BIT * 2)) |
#endif
('A' << CHAR_BIT) | 'B',
'X', '\n'
};],
[if grep 'endian:AB' conftest.dmp >/dev/null 2>&1; then
ac_cv_c_compile_endian=big-endian
elif grep 'endian:BA' conftest.dmp >/dev/null 2>&1; then
ac_cv_c_compile_endian=little-endian
fi])
])
if test $ac_cv_c_compile_endian = unknown; then
AC_MSG_ERROR([*** unable to determine endianness])
elif test $ac_cv_c_compile_endian = big-endian; then
AC_DEFINE(WORDS_BIG_ENDIAN, 1,
[Define if the host machine stores words of multi-word integers in
big-endian order.])
fi
])
sinclude(../config/accross.m4)
dnl Define MKDIR_TAKES_ONE_ARG if mkdir accepts only one argument instead
dnl of the usual 2.

128
fastjar/aclocal.m4 vendored
View File

@ -1,6 +1,6 @@
dnl aclocal.m4 generated automatically by aclocal 1.4
dnl aclocal.m4 generated automatically by aclocal 1.4-p5
dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@ -10,117 +10,7 @@ dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
dnl PARTICULAR PURPOSE.
dnl Host type sizes probe.
dnl By Kaveh R. Ghazi. One typo fixed since.
dnl
AC_DEFUN([gcc_AC_COMPILE_CHECK_SIZEOF],
[changequote(<<, >>)dnl
dnl The name to #define.
define(<<AC_TYPE_NAME>>, translit(sizeof_$1, [a-z *], [A-Z_P]))dnl
dnl The cache variable name.
define(<<AC_CV_NAME>>, translit(ac_cv_sizeof_$1, [ *], [_p]))dnl
changequote([, ])dnl
AC_MSG_CHECKING(size of $1)
AC_CACHE_VAL(AC_CV_NAME,
[for ac_size in 4 8 1 2 16 $3 ; do # List sizes in rough order of prevalence.
AC_TRY_COMPILE([#include "confdefs.h"
#include <sys/types.h>
$2
], [switch (0) case 0: case (sizeof ($1) == $ac_size):;], AC_CV_NAME=$ac_size)
if test x$AC_CV_NAME != x ; then break; fi
done
])
if test x$AC_CV_NAME = x ; then
AC_MSG_ERROR([cannot determine a size for $1])
fi
AC_MSG_RESULT($AC_CV_NAME)
AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME, [The number of bytes in type $1])
undefine([AC_TYPE_NAME])dnl
undefine([AC_CV_NAME])dnl
])
dnl Utility macro used by next two tests.
dnl AC_EXAMINE_OBJECT(C source code,
dnl commands examining object file,
dnl [commands to run if compile failed]):
dnl
dnl Compile the source code to an object file; then convert it into a
dnl printable representation. All unprintable characters and
dnl asterisks (*) are replaced by dots (.). All white space is
dnl deleted. Newlines (ASCII 0x10) in the input are preserved in the
dnl output, but runs of newlines are compressed to a single newline.
dnl Finally, line breaks are forcibly inserted so that no line is
dnl longer than 80 columns and the file ends with a newline. The
dnl result of all this processing is in the file conftest.dmp, which
dnl may be examined by the commands in the second argument.
dnl
AC_DEFUN([gcc_AC_EXAMINE_OBJECT],
[AC_LANG_SAVE
AC_LANG_C
dnl Next bit cribbed from AC_TRY_COMPILE.
cat > conftest.$ac_ext <<EOF
[#line __oline__ "configure"
#include "confdefs.h"
$1
]EOF
if AC_TRY_EVAL(ac_compile); then
od -c conftest.o |
sed ['s/^[0-7]*[ ]*/ /
s/\*/./g
s/ \\n/*/g
s/ [0-9][0-9][0-9]/./g
s/ \\[^ ]/./g'] |
tr -d '
' | tr -s '*' '
' | fold | sed '$a\
' > conftest.dmp
$2
ifelse($3, , , else
$3
)dnl
fi
rm -rf conftest*
AC_LANG_RESTORE])
dnl Host endianness probe.
dnl Differs from AC_C_BIGENDIAN in that it does not require
dnl running a program on the host.
dnl
AC_DEFUN([fastjar_AC_COMPILE_C_BIGENDIAN],
[AC_CACHE_CHECK(byte ordering, ac_cv_c_compile_endian,
[ac_cv_c_compile_endian=unknown
gcc_AC_EXAMINE_OBJECT([
#ifdef HAVE_LIMITS_H
# include <limits.h>
#endif
/* This structure must have no internal padding. */
struct {
char prefix[sizeof "\nendian:" - 1];
short word;
char postfix[2];
} tester = {
"\nendian:",
#if SIZEOF_SHORT == 4
('A' << (CHAR_BIT * 3)) | ('B' << (CHAR_BIT * 2)) |
#endif
('A' << CHAR_BIT) | 'B',
'X', '\n'
};],
[if grep 'endian:AB' conftest.dmp >/dev/null 2>&1; then
ac_cv_c_compile_endian=big-endian
elif grep 'endian:BA' conftest.dmp >/dev/null 2>&1; then
ac_cv_c_compile_endian=little-endian
fi])
])
if test $ac_cv_c_compile_endian = unknown; then
AC_MSG_ERROR([*** unable to determine endianness])
elif test $ac_cv_c_compile_endian = big-endian; then
AC_DEFINE(WORDS_BIG_ENDIAN, 1,
[Define if the host machine stores words of multi-word integers in
big-endian order.])
fi
])
sinclude(../config/accross.m4)
dnl Define MKDIR_TAKES_ONE_ARG if mkdir accepts only one argument instead
dnl of the usual 2.
@ -153,7 +43,7 @@ fi
dnl Usage:
dnl AM_INIT_AUTOMAKE(package,version, [no-define])
AC_DEFUN(AM_INIT_AUTOMAKE,
AC_DEFUN([AM_INIT_AUTOMAKE],
[AC_REQUIRE([AC_PROG_INSTALL])
PACKAGE=[$1]
AC_SUBST(PACKAGE)
@ -181,7 +71,7 @@ AC_REQUIRE([AC_PROG_MAKE_SET])])
# Check to make sure that the build environment is sane.
#
AC_DEFUN(AM_SANITY_CHECK,
AC_DEFUN([AM_SANITY_CHECK],
[AC_MSG_CHECKING([whether build environment is sane])
# Just in case
sleep 1
@ -222,7 +112,7 @@ AC_MSG_RESULT(yes)])
dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
dnl The program must properly implement --version.
AC_DEFUN(AM_MISSING_PROG,
AC_DEFUN([AM_MISSING_PROG],
[AC_MSG_CHECKING(for working $2)
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
@ -238,7 +128,7 @@ AC_SUBST($1)])
# Like AC_CONFIG_HEADER, but automatically create stamp file.
AC_DEFUN(AM_CONFIG_HEADER,
AC_DEFUN([AM_CONFIG_HEADER],
[AC_PREREQ([2.12])
AC_CONFIG_HEADER([$1])
dnl When config.status generates a header, we must update the stamp-h file.
@ -264,7 +154,7 @@ changequote([,]))])
# serial 1
AC_DEFUN(AM_MAINTAINER_MODE,
AC_DEFUN([AM_MAINTAINER_MODE],
[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
dnl maintainer-mode is disabled by default
AC_ARG_ENABLE(maintainer-mode,
@ -281,7 +171,7 @@ AC_DEFUN(AM_MAINTAINER_MODE,
# Define a conditional.
AC_DEFUN(AM_CONDITIONAL,
AC_DEFUN([AM_CONDITIONAL],
[AC_SUBST($1_TRUE)
AC_SUBST($1_FALSE)
if $2; then

390
fastjar/configure vendored
View File

@ -33,7 +33,6 @@ program_suffix=NONE
program_transform_name=s,x,x,
silent=
site=
sitefile=
srcdir=
target=NONE
verbose=
@ -148,7 +147,6 @@ Configuration:
--help print this message
--no-create do not create output files
--quiet, --silent do not print \`checking...' messages
--site-file=FILE use FILE as the site file
--version print the version of autoconf that created configure
Directory and file names:
--prefix=PREFIX install architecture-independent files in PREFIX
@ -319,11 +317,6 @@ EOF
-site=* | --site=* | --sit=*)
site="$ac_optarg" ;;
-site-file | --site-file | --site-fil | --site-fi | --site-f)
ac_prev=sitefile ;;
-site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
sitefile="$ac_optarg" ;;
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
ac_prev=srcdir ;;
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
@ -489,16 +482,12 @@ fi
srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
# Prefer explicitly selected file to automatically selected ones.
if test -z "$sitefile"; then
if test -z "$CONFIG_SITE"; then
if test "x$prefix" != xNONE; then
CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
else
CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
fi
if test -z "$CONFIG_SITE"; then
if test "x$prefix" != xNONE; then
CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
else
CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
fi
else
CONFIG_SITE="$sitefile"
fi
for ac_site_file in $CONFIG_SITE; do
if test -r "$ac_site_file"; then
@ -568,7 +557,7 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
echo "configure:572: checking for a BSD compatible install" >&5
echo "configure:561: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@ -621,7 +610,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
echo "configure:625: checking whether build environment is sane" >&5
echo "configure:614: checking whether build environment is sane" >&5
# Just in case
sleep 1
echo timestamp > conftestfile
@ -678,7 +667,7 @@ test "$program_suffix" != NONE &&
test "$program_transform_name" = "" && program_transform_name="s,x,x,"
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
echo "configure:682: checking whether ${MAKE-make} sets \${MAKE}" >&5
echo "configure:671: checking whether ${MAKE-make} sets \${MAKE}" >&5
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@ -724,7 +713,7 @@ EOF
missing_dir=`cd $ac_aux_dir && pwd`
echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
echo "configure:728: checking for working aclocal" >&5
echo "configure:717: checking for working aclocal" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@ -737,7 +726,7 @@ else
fi
echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
echo "configure:741: checking for working autoconf" >&5
echo "configure:730: checking for working autoconf" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@ -750,7 +739,7 @@ else
fi
echo $ac_n "checking for working automake""... $ac_c" 1>&6
echo "configure:754: checking for working automake" >&5
echo "configure:743: checking for working automake" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@ -763,7 +752,7 @@ else
fi
echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
echo "configure:767: checking for working autoheader" >&5
echo "configure:756: checking for working autoheader" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@ -776,7 +765,7 @@ else
fi
echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
echo "configure:780: checking for working makeinfo" >&5
echo "configure:769: checking for working makeinfo" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@ -796,7 +785,7 @@ fi
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:800: checking for $ac_word" >&5
echo "configure:789: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@ -826,7 +815,7 @@ if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:830: checking for $ac_word" >&5
echo "configure:819: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@ -877,7 +866,7 @@ fi
# Extract the first word of "cl", so it can be a program name with args.
set dummy cl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:881: checking for $ac_word" >&5
echo "configure:870: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@ -909,7 +898,7 @@ fi
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
echo "configure:913: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
echo "configure:902: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@ -920,12 +909,12 @@ cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext << EOF
#line 924 "configure"
#line 913 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
if { (eval echo configure:929: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
if { (eval echo configure:918: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
@ -951,12 +940,12 @@ if test $ac_cv_prog_cc_works = no; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
echo "configure:955: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "configure:944: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
echo "configure:960: checking whether we are using GNU C" >&5
echo "configure:949: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@ -965,7 +954,7 @@ else
yes;
#endif
EOF
if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:969: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:958: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
@ -984,7 +973,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
echo "configure:988: checking whether ${CC-cc} accepts -g" >&5
echo "configure:977: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@ -1027,7 +1016,7 @@ fi
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
echo "configure:1031: checking for a BSD compatible install" >&5
echo "configure:1020: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@ -1082,7 +1071,7 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
# Extract the first word of "rm", so it can be a program name with args.
set dummy rm; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:1086: checking for $ac_word" >&5
echo "configure:1075: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_RM'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@ -1118,7 +1107,7 @@ fi
# Extract the first word of "cp", so it can be a program name with args.
set dummy cp; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:1122: checking for $ac_word" >&5
echo "configure:1111: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_CP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@ -1154,7 +1143,7 @@ fi
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:1158: checking for $ac_word" >&5
echo "configure:1147: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_STRIP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@ -1190,7 +1179,7 @@ fi
# Extract the first word of "chmod", so it can be a program name with args.
set dummy chmod; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:1194: checking for $ac_word" >&5
echo "configure:1183: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_CHMOD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@ -1224,12 +1213,12 @@ else
fi
echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
echo "configure:1228: checking for Cygwin environment" >&5
echo "configure:1217: checking for Cygwin environment" >&5
if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1233 "configure"
#line 1222 "configure"
#include "confdefs.h"
int main() {
@ -1240,7 +1229,7 @@ int main() {
return __CYGWIN__;
; return 0; }
EOF
if { (eval echo configure:1244: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if { (eval echo configure:1233: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_cygwin=yes
else
@ -1257,19 +1246,19 @@ echo "$ac_t""$ac_cv_cygwin" 1>&6
CYGWIN=
test "$ac_cv_cygwin" = yes && CYGWIN=yes
echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
echo "configure:1261: checking for mingw32 environment" >&5
echo "configure:1250: checking for mingw32 environment" >&5
if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1266 "configure"
#line 1255 "configure"
#include "confdefs.h"
int main() {
return __MINGW32__;
; return 0; }
EOF
if { (eval echo configure:1273: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if { (eval echo configure:1262: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_mingw32=yes
else
@ -1288,7 +1277,7 @@ test "$ac_cv_mingw32" = yes && MINGW32=yes
echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
echo "configure:1292: checking for executable suffix" >&5
echo "configure:1281: checking for executable suffix" >&5
if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@ -1298,10 +1287,10 @@ else
rm -f conftest*
echo 'int main () { return 0; }' > conftest.$ac_ext
ac_cv_exeext=
if { (eval echo configure:1302: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
if { (eval echo configure:1291: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
for file in conftest.*; do
case $file in
*.c | *.o | *.obj | *.ilk | *.pdb) ;;
*.c | *.o | *.obj) ;;
*) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
esac
done
@ -1320,7 +1309,7 @@ ac_exeext=$EXEEXT
echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
echo "configure:1324: checking whether to enable maintainer-specific portions of Makefiles" >&5
echo "configure:1313: checking whether to enable maintainer-specific portions of Makefiles" >&5
# Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
if test "${enable_maintainer_mode+set}" = set; then
enableval="$enable_maintainer_mode"
@ -1353,12 +1342,12 @@ for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6
echo "configure:1357: checking for $ac_hdr that defines DIR" >&5
echo "configure:1346: checking for $ac_hdr that defines DIR" >&5
if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1362 "configure"
#line 1351 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <$ac_hdr>
@ -1366,7 +1355,7 @@ int main() {
DIR *dirp = 0;
; return 0; }
EOF
if { (eval echo configure:1370: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if { (eval echo configure:1359: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
eval "ac_cv_header_dirent_$ac_safe=yes"
else
@ -1391,7 +1380,7 @@ done
# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
if test $ac_header_dirent = dirent.h; then
echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6
echo "configure:1395: checking for opendir in -ldir" >&5
echo "configure:1384: checking for opendir in -ldir" >&5
ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@ -1399,7 +1388,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-ldir $LIBS"
cat > conftest.$ac_ext <<EOF
#line 1403 "configure"
#line 1392 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@ -1410,7 +1399,7 @@ int main() {
opendir()
; return 0; }
EOF
if { (eval echo configure:1414: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
if { (eval echo configure:1403: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@ -1432,7 +1421,7 @@ fi
else
echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
echo "configure:1436: checking for opendir in -lx" >&5
echo "configure:1425: checking for opendir in -lx" >&5
ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@ -1440,7 +1429,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lx $LIBS"
cat > conftest.$ac_ext <<EOF
#line 1444 "configure"
#line 1433 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@ -1451,7 +1440,7 @@ int main() {
opendir()
; return 0; }
EOF
if { (eval echo configure:1455: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
if { (eval echo configure:1444: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@ -1474,7 +1463,7 @@ fi
fi
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
echo "configure:1478: checking how to run the C preprocessor" >&5
echo "configure:1467: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
@ -1489,13 +1478,13 @@ else
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp.
cat > conftest.$ac_ext <<EOF
#line 1493 "configure"
#line 1482 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:1499: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
{ (eval echo configure:1488: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
@ -1506,13 +1495,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
#line 1510 "configure"
#line 1499 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:1516: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
{ (eval echo configure:1505: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
@ -1523,13 +1512,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -nologo -E"
cat > conftest.$ac_ext <<EOF
#line 1527 "configure"
#line 1516 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:1533: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
{ (eval echo configure:1522: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
@ -1554,12 +1543,12 @@ fi
echo "$ac_t""$CPP" 1>&6
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
echo "configure:1558: checking for ANSI C header files" >&5
echo "configure:1547: checking for ANSI C header files" >&5
if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1563 "configure"
#line 1552 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
@ -1567,7 +1556,7 @@ else
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:1571: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
{ (eval echo configure:1560: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@ -1584,7 +1573,7 @@ rm -f conftest*
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
#line 1588 "configure"
#line 1577 "configure"
#include "confdefs.h"
#include <string.h>
EOF
@ -1602,7 +1591,7 @@ fi
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
#line 1606 "configure"
#line 1595 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
@ -1623,7 +1612,7 @@ if test "$cross_compiling" = yes; then
:
else
cat > conftest.$ac_ext <<EOF
#line 1627 "configure"
#line 1616 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@ -1634,7 +1623,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
exit (0); }
EOF
if { (eval echo configure:1638: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
if { (eval echo configure:1627: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
@ -1658,12 +1647,12 @@ EOF
fi
echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6
echo "configure:1662: checking whether struct tm is in sys/time.h or time.h" >&5
echo "configure:1651: checking whether struct tm is in sys/time.h or time.h" >&5
if eval "test \"`echo '$''{'ac_cv_struct_tm'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1667 "configure"
#line 1656 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <time.h>
@ -1671,7 +1660,7 @@ int main() {
struct tm *tp; tp->tm_sec;
; return 0; }
EOF
if { (eval echo configure:1675: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if { (eval echo configure:1664: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_tm=time.h
else
@ -1695,17 +1684,17 @@ for ac_hdr in fcntl.h unistd.h sys/param.h stdlib.h limits.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
echo "configure:1699: checking for $ac_hdr" >&5
echo "configure:1688: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1704 "configure"
#line 1693 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:1709: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
{ (eval echo configure:1698: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@ -1733,12 +1722,12 @@ done
echo $ac_n "checking for off_t""... $ac_c" 1>&6
echo "configure:1737: checking for off_t" >&5
echo "configure:1726: checking for off_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1742 "configure"
#line 1731 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@ -1766,12 +1755,12 @@ EOF
fi
echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6
echo "configure:1770: checking whether struct tm is in sys/time.h or time.h" >&5
echo "configure:1759: checking whether struct tm is in sys/time.h or time.h" >&5
if eval "test \"`echo '$''{'ac_cv_struct_tm'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1775 "configure"
#line 1764 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <time.h>
@ -1779,7 +1768,7 @@ int main() {
struct tm *tp; tp->tm_sec;
; return 0; }
EOF
if { (eval echo configure:1783: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if { (eval echo configure:1772: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_tm=time.h
else
@ -1802,12 +1791,12 @@ fi
# mkdir takes a single argument on some systems.
echo $ac_n "checking if mkdir takes one argument""... $ac_c" 1>&6
echo "configure:1806: checking if mkdir takes one argument" >&5
echo "configure:1795: checking if mkdir takes one argument" >&5
if eval "test \"`echo '$''{'gcc_cv_mkdir_takes_one_arg'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1811 "configure"
#line 1800 "configure"
#include "confdefs.h"
#include <sys/types.h>
@ -1824,7 +1813,7 @@ int main() {
mkdir ("foo", 0);
; return 0; }
EOF
if { (eval echo configure:1828: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if { (eval echo configure:1817: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
gcc_cv_mkdir_takes_one_arg=no
else
@ -1846,13 +1835,13 @@ fi
echo $ac_n "checking size of char""... $ac_c" 1>&6
echo "configure:1850: checking size of char" >&5
echo "configure:1839: checking size of char" >&5
if eval "test \"`echo '$''{'ac_cv_sizeof_char'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
for ac_size in 4 8 1 2 16 12 ; do # List sizes in rough order of prevalence.
cat > conftest.$ac_ext <<EOF
#line 1856 "configure"
#line 1845 "configure"
#include "confdefs.h"
#include "confdefs.h"
#include <sys/types.h>
@ -1862,7 +1851,7 @@ int main() {
switch (0) case 0: case (sizeof (char) == $ac_size):;
; return 0; }
EOF
if { (eval echo configure:1866: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if { (eval echo configure:1855: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_sizeof_char=$ac_size
else
@ -1885,13 +1874,13 @@ EOF
echo $ac_n "checking size of short""... $ac_c" 1>&6
echo "configure:1889: checking size of short" >&5
echo "configure:1878: checking size of short" >&5
if eval "test \"`echo '$''{'ac_cv_sizeof_short'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
for ac_size in 4 8 1 2 16 12 ; do # List sizes in rough order of prevalence.
cat > conftest.$ac_ext <<EOF
#line 1895 "configure"
#line 1884 "configure"
#include "confdefs.h"
#include "confdefs.h"
#include <sys/types.h>
@ -1901,7 +1890,7 @@ int main() {
switch (0) case 0: case (sizeof (short) == $ac_size):;
; return 0; }
EOF
if { (eval echo configure:1905: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if { (eval echo configure:1894: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_sizeof_short=$ac_size
else
@ -1924,13 +1913,13 @@ EOF
echo $ac_n "checking size of int""... $ac_c" 1>&6
echo "configure:1928: checking size of int" >&5
echo "configure:1917: checking size of int" >&5
if eval "test \"`echo '$''{'ac_cv_sizeof_int'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
for ac_size in 4 8 1 2 16 12 ; do # List sizes in rough order of prevalence.
cat > conftest.$ac_ext <<EOF
#line 1934 "configure"
#line 1923 "configure"
#include "confdefs.h"
#include "confdefs.h"
#include <sys/types.h>
@ -1940,7 +1929,7 @@ int main() {
switch (0) case 0: case (sizeof (int) == $ac_size):;
; return 0; }
EOF
if { (eval echo configure:1944: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if { (eval echo configure:1933: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_sizeof_int=$ac_size
else
@ -1963,13 +1952,13 @@ EOF
echo $ac_n "checking size of long""... $ac_c" 1>&6
echo "configure:1967: checking size of long" >&5
echo "configure:1956: checking size of long" >&5
if eval "test \"`echo '$''{'ac_cv_sizeof_long'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
for ac_size in 4 8 1 2 16 12 ; do # List sizes in rough order of prevalence.
cat > conftest.$ac_ext <<EOF
#line 1973 "configure"
#line 1962 "configure"
#include "confdefs.h"
#include "confdefs.h"
#include <sys/types.h>
@ -1979,7 +1968,7 @@ int main() {
switch (0) case 0: case (sizeof (long) == $ac_size):;
; return 0; }
EOF
if { (eval echo configure:1983: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if { (eval echo configure:1972: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_sizeof_long=$ac_size
else
@ -2002,13 +1991,13 @@ EOF
echo $ac_n "checking size of long long""... $ac_c" 1>&6
echo "configure:2006: checking size of long long" >&5
echo "configure:1995: checking size of long long" >&5
if eval "test \"`echo '$''{'ac_cv_sizeof_long_long'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
for ac_size in 4 8 1 2 16 12 ; do # List sizes in rough order of prevalence.
cat > conftest.$ac_ext <<EOF
#line 2012 "configure"
#line 2001 "configure"
#include "confdefs.h"
#include "confdefs.h"
#include <sys/types.h>
@ -2018,7 +2007,7 @@ int main() {
switch (0) case 0: case (sizeof (long long) == $ac_size):;
; return 0; }
EOF
if { (eval echo configure:2022: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if { (eval echo configure:2011: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_sizeof_long_long=$ac_size
else
@ -2041,77 +2030,140 @@ EOF
echo $ac_n "checking byte ordering""... $ac_c" 1>&6
echo "configure:2046: checking byte ordering" >&5
if eval "test \"`echo '$''{'ac_cv_c_compile_endian'+set}'`\" = set"; then
echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6
echo "configure:2035: checking whether byte ordering is bigendian" >&5
if eval "test \"`echo '$''{'ac_cv_c_bigendian'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_c_compile_endian=unknown
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CPP $CPPFLAGS'
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
cross_compiling=$ac_cv_prog_cc_cross
ac_cv_c_bigendian=unknown
# See if sys/param.h defines the BYTE_ORDER macro.
cat > conftest.$ac_ext <<EOF
#line 2060 "configure"
#line 2042 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/param.h>
int main() {
#ifdef HAVE_LIMITS_H
# include <limits.h>
#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
bogus endian macros
#endif
/* This structure must have no internal padding. */
struct {
char prefix[sizeof "\nendian:" - 1];
short word;
char postfix[2];
} tester = {
"\nendian:",
#if SIZEOF_SHORT == 4
('A' << (CHAR_BIT * 3)) | ('B' << (CHAR_BIT * 2)) |
#endif
('A' << CHAR_BIT) | 'B',
'X', '\n'
};
; return 0; }
EOF
if { (eval echo configure:2080: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
od -c conftest.o |
sed 's/^[0-7]*[ ]*/ /
s/\*/./g
s/ \\n/*/g
s/ [0-9][0-9][0-9]/./g
s/ \\[^ ]/./g' |
tr -d '
' | tr -s '*' '
' | fold | sed '$a\
' > conftest.dmp
if grep 'endian:AB' conftest.dmp >/dev/null 2>&1; then
ac_cv_c_compile_endian=big-endian
elif grep 'endian:BA' conftest.dmp >/dev/null 2>&1; then
ac_cv_c_compile_endian=little-endian
if { (eval echo configure:2053: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
# It does; now see whether it defined to BIG_ENDIAN or not.
cat > conftest.$ac_ext <<EOF
#line 2057 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/param.h>
int main() {
#if BYTE_ORDER != BIG_ENDIAN
not big endian
#endif
; return 0; }
EOF
if { (eval echo configure:2068: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_bigendian=yes
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
ac_cv_c_bigendian=no
fi
rm -f conftest*
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
fi
rm -f conftest*
if test $ac_cv_c_bigendian = unknown; then
if test "$cross_compiling" = yes; then
echo $ac_n "cross-compiling... " 2>&6
else
cat > conftest.$ac_ext <<EOF
#line 2088 "configure"
#include "confdefs.h"
main () {
/* Are we little or big endian? From Harbison&Steele. */
union
{
long l;
char c[sizeof (long)];
} u;
u.l = 1;
exit (u.c[sizeof (long) - 1] == 1);
}
EOF
if { (eval echo configure:2101: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_c_bigendian=no
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -fr conftest*
ac_cv_c_bigendian=yes
fi
rm -fr conftest*
fi
fi
fi
echo "$ac_t""$ac_cv_c_bigendian" 1>&6
if test $ac_cv_c_bigendian = unknown; then
echo $ac_n "checking to probe for byte ordering""... $ac_c" 1>&6
echo "configure:2119: checking to probe for byte ordering" >&5
cat >conftest.c <<EOF
short ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
short ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
void _ascii() { char* s = (char*) ascii_mm; s = (char*) ascii_ii; }
short ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
short ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
void _ebcdic() { char* s = (char*) ebcdic_mm; s = (char*) ebcdic_ii; }
int main() { _ascii (); _ebcdic (); return 0; }
EOF
if test -f conftest.c ; then
if ${CC-cc} ${CFLAGS} conftest.c -o conftest.o && test -f conftest.o ; then
if test `grep -l BIGenDianSyS conftest.o` ; then
echo $ac_n ' big endian probe OK, ' 1>&6
ac_cv_c_bigendian=yes
fi
if test `grep -l LiTTleEnDian conftest.o` ; then
echo $ac_n ' little endian probe OK, ' 1>&6
if test $ac_cv_c_bigendian = yes ; then
ac_cv_c_bigendian=unknown;
else
ac_cv_c_bigendian=no
fi
fi
echo $ac_n 'guessing bigendian ... ' >&6
fi
fi
echo "$ac_t""$ac_cv_c_bigendian" 1>&6
fi
rm -rf conftest*
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CPP $CPPFLAGS'
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
cross_compiling=$ac_cv_prog_cc_cross
fi
echo "$ac_t""$ac_cv_c_compile_endian" 1>&6
if test $ac_cv_c_compile_endian = unknown; then
{ echo "configure: error: *** unable to determine endianness" 1>&2; exit 1; }
elif test $ac_cv_c_compile_endian = big-endian; then
if test $ac_cv_c_bigendian = yes; then
cat >> confdefs.h <<\EOF
#define WORDS_BIG_ENDIAN 1
#define WORDS_BIGENDIAN 1
EOF
cat >> confdefs.h <<\EOF
#define HOST_WORDS_BIG_ENDIAN 1
EOF
BYTEORDER=4321
else
BYTEORDER=1234
fi
cat >> confdefs.h <<EOF
#define BYTEORDER $BYTEORDER
EOF
if test $ac_cv_c_bigendian = unknown; then
{ echo "configure: error: unknown endianess - sorry" 1>&2; exit 1; }
fi
@ -2128,7 +2180,7 @@ ZINCS=
use_zlib=maybe
if test "$with_system_zlib" = yes; then
echo $ac_n "checking for deflate in -lz""... $ac_c" 1>&6
echo "configure:2132: checking for deflate in -lz" >&5
echo "configure:2184: checking for deflate in -lz" >&5
ac_lib_var=`echo z'_'deflate | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@ -2136,7 +2188,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lz $LIBS"
cat > conftest.$ac_ext <<EOF
#line 2140 "configure"
#line 2192 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@ -2147,7 +2199,7 @@ int main() {
deflate()
; return 0; }
EOF
if { (eval echo configure:2151: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
if { (eval echo configure:2203: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@ -2359,7 +2411,7 @@ cat >> $CONFIG_STATUS <<\EOF
# Split the substitutions into bite-sized pieces for seds with
# small command number limits, like on Digital OSF/1 and HP-UX.
ac_max_sed_cmds=60 # Maximum number of lines to put in a sed script.
ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
ac_file=1 # Number of current file.
ac_beg=1 # First line for current file.
ac_end=$ac_max_sed_cmds # Line after last line for current file.

View File

@ -34,14 +34,14 @@ AC_STRUCT_TM
gcc_AC_FUNC_MKDIR_TAKES_ONE_ARG
dnl Check for type-widths
gcc_AC_COMPILE_CHECK_SIZEOF(char)
gcc_AC_COMPILE_CHECK_SIZEOF(short)
gcc_AC_COMPILE_CHECK_SIZEOF(int)
gcc_AC_COMPILE_CHECK_SIZEOF(long)
gcc_AC_COMPILE_CHECK_SIZEOF(long long)
AC_COMPILE_CHECK_SIZEOF(char)
AC_COMPILE_CHECK_SIZEOF(short)
AC_COMPILE_CHECK_SIZEOF(int)
AC_COMPILE_CHECK_SIZEOF(long)
AC_COMPILE_CHECK_SIZEOF(long long)
dnl Check byte order
fastjar_AC_COMPILE_C_BIGENDIAN
AC_C_BIGENDIAN_CROSS
AC_ARG_WITH(system-zlib,
[ --with-system-zlib use installed libz])

View File

@ -373,7 +373,6 @@ returns: TRUE if it is a word, FALSE of it is a substring.
static int chk_wrd(regex_t *exp, const char *str) {
int wrd_fnd = FALSE;
int regflag;
int frnt_ok;
int bck_ok;
const char *str2;
@ -381,7 +380,7 @@ static int chk_wrd(regex_t *exp, const char *str) {
str2 = str;
frnt_ok = bck_ok = FALSE;
while(!wrd_fnd && !(regflag = regexec(exp, str2, 1, &match, 0))) {
while(!wrd_fnd && !regexec(exp, str2, 1, &match, 0)) {
if(!match.rm_so && (str2 == str)) frnt_ok = TRUE;
else if(!isalnum((unsigned char)str2[match.rm_so - 1])
&& str2[match.rm_so - 1] != '_')

View File

@ -327,7 +327,6 @@ int main(int argc, char **argv){
int manifest = TRUE;
int opt;
int j;
int jarfd = -1;
/* These are used to collect file names and `-C' options for the
@ -345,8 +344,6 @@ int main(int argc, char **argv){
if(argc < 2)
usage(argv[0]);
j = strlen(argv[1]);
new_argc = 0;
new_argv = (char **) malloc (argc * sizeof (char *));
@ -1121,13 +1118,10 @@ int create_central_header(int fd){
ub1 end_header[22];
int start_offset;
int dir_size;
int *iheader;
int total_in = 0, total_out = 22;
zipentry *ze;
iheader = (int*)header;
/* magic number */
header[0] = 'P';
header[1] = 'K';
@ -1551,7 +1545,6 @@ int extract_jar(int fd, char **files, int file_num){
}
int list_jar(int fd, char **files, int file_num){
int rdamt;
ub4 signature;
ub4 csize;
ub4 usize;
@ -1713,7 +1706,7 @@ int list_jar(int fd, char **files, int file_num){
init_inflation();
for(;;){
if((rdamt = pb_read(&pbf, scratch, 4)) != 4){
if(pb_read(&pbf, scratch, 4) != 4){
perror("read");
break;
}
@ -1742,7 +1735,7 @@ int list_jar(int fd, char **files, int file_num){
break;
}
if((rdamt = pb_read(&pbf, (file_header + 4), 26)) != 26){
if(pb_read(&pbf, (file_header + 4), 26) != 26){
perror("read");
break;
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

78
gcc/aclocal.m4 vendored
View File

@ -1,3 +1,5 @@
sinclude(../config/accross.m4)
dnl See if stdbool.h properly defines bool and true/false.
AC_DEFUN(gcc_AC_HEADER_STDBOOL,
[AC_CACHE_CHECK([for working stdbool.h],
@ -799,35 +801,6 @@ if test $gcc_cv_enum_bf_unsigned = yes; then
[Define if enumerated bitfields are treated as unsigned values.])
fi])
dnl Host type sizes probe.
dnl By Kaveh R. Ghazi. One typo fixed since.
dnl
AC_DEFUN([gcc_AC_COMPILE_CHECK_SIZEOF],
[changequote(<<, >>)dnl
dnl The name to #define.
define(<<AC_TYPE_NAME>>, translit(sizeof_$1, [a-z *], [A-Z_P]))dnl
dnl The cache variable name.
define(<<AC_CV_NAME>>, translit(ac_cv_sizeof_$1, [ *], [_p]))dnl
changequote([, ])dnl
AC_MSG_CHECKING(size of $1)
AC_CACHE_VAL(AC_CV_NAME,
[for ac_size in 4 8 1 2 16 $3 ; do # List sizes in rough order of prevalence.
AC_TRY_COMPILE([#include "confdefs.h"
#include <sys/types.h>
$2
], [switch (0) case 0: case (sizeof ($1) == $ac_size):;], AC_CV_NAME=$ac_size)
if test x$AC_CV_NAME != x ; then break; fi
done
])
if test x$AC_CV_NAME = x ; then
AC_MSG_ERROR([cannot determine a size for $1])
fi
AC_MSG_RESULT($AC_CV_NAME)
AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME, [The number of bytes in type $1])
undefine([AC_TYPE_NAME])dnl
undefine([AC_CV_NAME])dnl
])
dnl Probe number of bits in a byte.
dnl Note C89 requires CHAR_BIT >= 8.
dnl
@ -958,49 +931,6 @@ fi
rm -rf conftest*
AC_LANG_RESTORE])
dnl Host endianness probe.
dnl This tests byte-within-word endianness. GCC actually needs
dnl to know word-within-larger-object endianness. They are the
dnl same on all presently supported hosts.
dnl Differs from AC_C_BIGENDIAN in that it does not require
dnl running a program on the host, and it defines the macro we
dnl want to see.
dnl
AC_DEFUN([gcc_AC_C_COMPILE_ENDIAN],
[AC_CACHE_CHECK(byte ordering, ac_cv_c_compile_endian,
[ac_cv_c_compile_endian=unknown
gcc_AC_EXAMINE_OBJECT([
#ifdef HAVE_LIMITS_H
# include <limits.h>
#endif
/* This structure must have no internal padding. */
struct {
char prefix[sizeof "\nendian:" - 1];
short word;
char postfix[2];
} tester = {
"\nendian:",
#if SIZEOF_SHORT == 4
('A' << (CHAR_BIT * 3)) | ('B' << (CHAR_BIT * 2)) |
#endif
('A' << CHAR_BIT) | 'B',
'X', '\n'
};],
[if grep 'endian:AB' conftest.dmp >/dev/null 2>&1; then
ac_cv_c_compile_endian=big-endian
elif grep 'endian:BA' conftest.dmp >/dev/null 2>&1; then
ac_cv_c_compile_endian=little-endian
fi])
])
if test $ac_cv_c_compile_endian = unknown; then
AC_MSG_ERROR([*** unable to determine endianness])
elif test $ac_cv_c_compile_endian = big-endian; then
AC_DEFINE(HOST_WORDS_BIG_ENDIAN, 1,
[Define if the host machine stores words of multi-word integers in
big-endian order.])
fi
])
dnl Floating point format probe.
dnl The basic concept is the same as the above: grep the object
dnl file for an interesting string. We have to watch out for
@ -1063,12 +993,12 @@ format=
fbigend=
case $ac_cv_c_float_format in
'IEEE (big-endian)' )
if test $ac_cv_c_compile_endian = little-endian; then
if test $ac_cv_c_bigendian = no; then
fbigend=1
fi
;;
'IEEE (little-endian)' )
if test $ac_cv_c_compile_endian = big-endian; then
if test $ac_cv_c_bigendian = yes; then
fbigend=0
fi
;;

View File

@ -4,13 +4,20 @@
2002-12-14 Geert Bosch <bosch@gnat.com>
* sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
case of a body created for a Renaming_As_Body, on which
conformance checks are not performed. Fixes PR ada/5690.
* sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
case of a body created for a Renaming_As_Body, on which
conformance checks are not performed. Fixes PR ada/5690.
2002-11-30 Zack Weinberg <zack@codesourcery.com>
* cuintp.c, decl.c, deftarg.c, misc.c, targtyps.c, trans.c,
utils.c, utils2.c: Include coretypes.h and tm.h, and system.h when
not already included.
* Make-lang.in: Update dependencies.
2002-11-18 Nathanael Nerode <neroden@gcc.gnu.org>
* adaint.c (__gnat_tmp_name): Better, but good enough for now,
solution to buffer overflow bug on GNU/Linux.
solution to buffer overflow bug on GNU/Linux.
2002-11-14 Nathanael Nerode <neroden@gcc.gnu.org>
Closes PR ada/5856 and PR ada/6919 !
@ -32,7 +39,7 @@
2002-11-05 Graham Stott <graham.stott@btinternet.com>
PR ada/8358
* trans.c (gnu_pending_elaboration_lists): New GC root.
(build_unit_elab): Use..
(build_unit_elab): Use..
2002-10-30 Geert Bosch <bosch@gnat.com>
PR ada/6558
@ -41,12 +48,12 @@
* Make-lang.in (misc.o): Add dependency on optabs.h
2002-10-29 Geert Bosch <bosch@gnat.com>
PR ada/6558
PR ada/6558
* Make-lang.in (gnatbind): Depend on CONFIG_H
2002-10-29 Geert bosch <bosch@gnat.com>
PR ada/6558
* misc.c: Unrevert misc.c (1.13)
PR ada/6558
* misc.c: Unrevert misc.c (1.13)
2002-10-28 Nathanael Nerode <neroden@gcc.gnu.org>
@ -55,265 +62,265 @@
2002-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
PR ada/5904
* 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb
5stpopse.adb 5vtaspri.ads 5zintman.adb 5ztaprop.adb
7staprop.adb: Correct statements in comments about
* 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb
5stpopse.adb 5vtaspri.ads 5zintman.adb 5ztaprop.adb
7staprop.adb: Correct statements in comments about
maintainership of GNAT.
PR ada/5904
* 1ssecsta.adb 1ssecsta.ads adadecode.c adadecode.h aux-io.c
gnatname.adb gnatname.ads mkdir.c osint-b.adb osint-b.ads
osint-c.adb osint-c.ads osint-l.adb osint-l.ads osint-m.adb
osint-m.ads prj-makr.adb prj-makr.ads prj-pp.adb prj-pp.ads
s-atacco.ads s-traceb.adb s-traceb.ads s-traces.adb
s-traces.ads s-tratas.adb s-tratas.ads sinput-d.adb
sinput-d.ads switch-b.adb switch-b.ads switch-c.adb
* 1ssecsta.adb 1ssecsta.ads adadecode.c adadecode.h aux-io.c
gnatname.adb gnatname.ads mkdir.c osint-b.adb osint-b.ads
osint-c.adb osint-c.ads osint-l.adb osint-l.ads osint-m.adb
osint-m.ads prj-makr.adb prj-makr.ads prj-pp.adb prj-pp.ads
s-atacco.ads s-traceb.adb s-traceb.ads s-traces.adb
s-traces.ads s-tratas.adb s-tratas.ads sinput-d.adb
sinput-d.ads switch-b.adb switch-b.ads switch-c.adb
switch-c.ads switch-m.adb switch-m.ads: Correct statements in
comments about maintainership of GNAT.
PR ada/6919 (forward port of patch for PR ada/5904)
* 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads
4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb
4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads
4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads
4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb
4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb
4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb
52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads
5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads
5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads
5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads
5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb
5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads
5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads
5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads
5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads
5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads
5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads
5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb
5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads
5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads
5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb
5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads
5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb
5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb
5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb
5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb
5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb
7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb
a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb
a-chahan.ads a-colien.adb a-colien.ads a-colire.adb
a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads
a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads
a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads
a-except.adb a-except.ads a-excpol.adb a-exctra.adb
a-exctra.ads a-filico.adb a-filico.ads a-finali.adb
a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads
a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb
a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads
a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb
a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb
a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb
a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads
a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads
a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads
a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads
a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb
a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb
a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads
a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads
a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads
a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads
a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads
a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads
a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads
a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads
a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads
a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads
a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads
a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb
a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads
a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads
a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads
a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads
a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads
a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads
a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb
a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h
adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads
alloc.ads argv.c atree.adb atree.ads atree.h back_end.adb
back_end.ads bcheck.adb bcheck.ads binde.adb binde.ads
binderr.adb binderr.ads bindgen.adb bindgen.ads bindusg.adb
bindusg.ads butil.adb butil.ads cal.c casing.adb casing.ads
ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads
csets.adb csets.ads csinfo.adb cstand.adb cstand.ads
cstreams.c cuintp.c debug.adb debug.ads debug_a.adb
debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c
einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h
errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c
exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads
exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb
exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads
exp_ch3.adb exp_ch3.ads exp_ch4.adb exp_ch4.ads exp_ch5.adb
exp_ch5.ads exp_ch6.adb exp_ch6.ads exp_ch7.adb exp_ch7.ads
exp_ch8.adb exp_ch8.ads exp_ch9.adb exp_ch9.ads exp_code.adb
exp_code.ads exp_dbug.adb exp_dbug.ads exp_disp.adb
exp_disp.ads exp_dist.adb exp_dist.ads exp_fixd.adb
exp_fixd.ads exp_imgv.adb exp_imgv.ads exp_intr.adb
exp_intr.ads exp_pakd.adb exp_pakd.ads exp_prag.adb
exp_prag.ads exp_smem.adb exp_smem.ads exp_strm.adb
exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads
exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h
final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads
fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb
freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb
g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads
g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h
gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb
gnatbind.ads gnatbl.c gnatcmd.adb gnatcmd.ads gnatdll.adb
gnatfind.adb gnatkr.adb gnatkr.ads gnatlbr.adb gnatlink.adb
gnatlink.ads gnatls.adb gnatls.ads gnatmake.adb gnatmake.ads
gnatmem.adb gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads
gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads
i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb
i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads
i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads
i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads
impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c
itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h
lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb
lib-load.ads lib-sort.adb lib-util.adb lib-util.ads
lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb
lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb
makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c
namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h
nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb
osint.ads output.adb output.ads par-ch10.adb par-ch11.adb
par-ch12.adb par-ch13.adb par-ch2.adb par-ch3.adb par-ch4.adb
par-ch5.adb par-ch6.adb par-ch7.adb par-ch8.adb par-ch9.adb
par-endh.adb par-labl.adb par-load.adb par-prag.adb
par-sync.adb par-tchk.adb par-util.adb par.adb par.ads
prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb
prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads
prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads
prj-part.adb prj-part.ads prj-proc.adb prj-proc.ads
prj-strt.adb prj-strt.ads prj-tree.adb prj-tree.ads
prj-util.adb prj-util.ads prj.adb prj.ads raise.c raise.h
repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads
rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads
s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads
s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb
s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads
s-direio.adb s-direio.ads s-except.ads s-exctab.adb
s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads
s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads
s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads
s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads
s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads
s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads
s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb
s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads
s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads
s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads
s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb
s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb
s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb
s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb
s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb
s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb
s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb
s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb
s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads
s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb
s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads
s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads
s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads
s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads
s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads
s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads
s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads
s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads
s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads
s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads
s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads
s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads
s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads
s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads
s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads
s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads
s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads
s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads
s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads
s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads
s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads
s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads
s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads
s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads
s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads
s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads
s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads
s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads
s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads
s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads
s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads
s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads
s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads
s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb
s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb
s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb
s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb
s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb
s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb
s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads
s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads
s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads
s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads
s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads
s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads
s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads
s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads
s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads
s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads
s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads
s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads
s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb
s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb
s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb
s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb
s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb
s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb
s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads
scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb
sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads
sem_case.adb sem_case.ads sem_cat.adb sem_cat.ads sem_ch10.adb
sem_ch10.ads sem_ch11.adb sem_ch11.ads sem_ch12.adb
sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads
sem_ch3.adb sem_ch3.ads sem_ch4.adb sem_ch4.ads sem_ch5.adb
sem_ch5.ads sem_ch6.adb sem_ch6.ads sem_ch7.adb sem_ch7.ads
sem_ch8.adb sem_ch8.ads sem_ch9.adb sem_ch9.ads sem_disp.adb
sem_disp.ads sem_dist.adb sem_dist.ads sem_elab.adb
sem_elab.ads sem_elim.adb sem_elim.ads sem_eval.adb
sem_eval.ads sem_intr.adb sem_intr.ads sem_maps.adb
sem_maps.ads sem_mech.adb sem_mech.ads sem_prag.adb
sem_prag.ads sem_res.adb sem_res.ads sem_smem.adb sem_smem.ads
sem_type.adb sem_type.ads sem_util.adb sem_util.ads
sem_vfpt.adb sem_vfpt.ads sem_warn.adb sem_warn.ads
sfn_scan.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb
sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb
sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads
snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb
stringt.ads stringt.h style.adb style.ads stylesw.adb
stylesw.ads switch.adb switch.ads sysdep.c system.ads
table.adb table.ads targparm.adb targparm.ads targtyps.c
tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads
tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb
treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads
types.adb types.ads types.h uintp.adb uintp.ads uintp.h
uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb
usage.ads utils.c utils2.c validsw.adb validsw.ads
widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb
xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb
* 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads
4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb
4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads
4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads
4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb
4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb
4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb
52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads
5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads
5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads
5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads
5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb
5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads
5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads
5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads
5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads
5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads
5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads
5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb
5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads
5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads
5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb
5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads
5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb
5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb
5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb
5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb
5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb
7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb
a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb
a-chahan.ads a-colien.adb a-colien.ads a-colire.adb
a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads
a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads
a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads
a-except.adb a-except.ads a-excpol.adb a-exctra.adb
a-exctra.ads a-filico.adb a-filico.ads a-finali.adb
a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads
a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb
a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads
a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb
a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb
a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb
a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads
a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads
a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads
a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads
a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb
a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb
a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads
a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads
a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads
a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads
a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads
a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads
a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads
a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads
a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads
a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads
a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads
a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb
a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads
a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads
a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads
a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads
a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads
a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads
a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb
a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h
adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads
alloc.ads argv.c atree.adb atree.ads atree.h back_end.adb
back_end.ads bcheck.adb bcheck.ads binde.adb binde.ads
binderr.adb binderr.ads bindgen.adb bindgen.ads bindusg.adb
bindusg.ads butil.adb butil.ads cal.c casing.adb casing.ads
ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads
csets.adb csets.ads csinfo.adb cstand.adb cstand.ads
cstreams.c cuintp.c debug.adb debug.ads debug_a.adb
debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c
einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h
errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c
exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads
exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb
exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads
exp_ch3.adb exp_ch3.ads exp_ch4.adb exp_ch4.ads exp_ch5.adb
exp_ch5.ads exp_ch6.adb exp_ch6.ads exp_ch7.adb exp_ch7.ads
exp_ch8.adb exp_ch8.ads exp_ch9.adb exp_ch9.ads exp_code.adb
exp_code.ads exp_dbug.adb exp_dbug.ads exp_disp.adb
exp_disp.ads exp_dist.adb exp_dist.ads exp_fixd.adb
exp_fixd.ads exp_imgv.adb exp_imgv.ads exp_intr.adb
exp_intr.ads exp_pakd.adb exp_pakd.ads exp_prag.adb
exp_prag.ads exp_smem.adb exp_smem.ads exp_strm.adb
exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads
exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h
final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads
fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb
freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb
g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads
g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h
gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb
gnatbind.ads gnatbl.c gnatcmd.adb gnatcmd.ads gnatdll.adb
gnatfind.adb gnatkr.adb gnatkr.ads gnatlbr.adb gnatlink.adb
gnatlink.ads gnatls.adb gnatls.ads gnatmake.adb gnatmake.ads
gnatmem.adb gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads
gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads
i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb
i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads
i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads
i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads
impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c
itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h
lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb
lib-load.ads lib-sort.adb lib-util.adb lib-util.ads
lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb
lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb
makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c
namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h
nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb
osint.ads output.adb output.ads par-ch10.adb par-ch11.adb
par-ch12.adb par-ch13.adb par-ch2.adb par-ch3.adb par-ch4.adb
par-ch5.adb par-ch6.adb par-ch7.adb par-ch8.adb par-ch9.adb
par-endh.adb par-labl.adb par-load.adb par-prag.adb
par-sync.adb par-tchk.adb par-util.adb par.adb par.ads
prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb
prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads
prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads
prj-part.adb prj-part.ads prj-proc.adb prj-proc.ads
prj-strt.adb prj-strt.ads prj-tree.adb prj-tree.ads
prj-util.adb prj-util.ads prj.adb prj.ads raise.c raise.h
repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads
rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads
s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads
s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb
s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads
s-direio.adb s-direio.ads s-except.ads s-exctab.adb
s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads
s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads
s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads
s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads
s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads
s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads
s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb
s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads
s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads
s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads
s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb
s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb
s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb
s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb
s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb
s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb
s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb
s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb
s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads
s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb
s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads
s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads
s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads
s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads
s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads
s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads
s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads
s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads
s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads
s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads
s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads
s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads
s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads
s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads
s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads
s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads
s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads
s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads
s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads
s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads
s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads
s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads
s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads
s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads
s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads
s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads
s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads
s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads
s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads
s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads
s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads
s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads
s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads
s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb
s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb
s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb
s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb
s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb
s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb
s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads
s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads
s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads
s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads
s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads
s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads
s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads
s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads
s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads
s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads
s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads
s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads
s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb
s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb
s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb
s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb
s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb
s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb
s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads
scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb
sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads
sem_case.adb sem_case.ads sem_cat.adb sem_cat.ads sem_ch10.adb
sem_ch10.ads sem_ch11.adb sem_ch11.ads sem_ch12.adb
sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads
sem_ch3.adb sem_ch3.ads sem_ch4.adb sem_ch4.ads sem_ch5.adb
sem_ch5.ads sem_ch6.adb sem_ch6.ads sem_ch7.adb sem_ch7.ads
sem_ch8.adb sem_ch8.ads sem_ch9.adb sem_ch9.ads sem_disp.adb
sem_disp.ads sem_dist.adb sem_dist.ads sem_elab.adb
sem_elab.ads sem_elim.adb sem_elim.ads sem_eval.adb
sem_eval.ads sem_intr.adb sem_intr.ads sem_maps.adb
sem_maps.ads sem_mech.adb sem_mech.ads sem_prag.adb
sem_prag.ads sem_res.adb sem_res.ads sem_smem.adb sem_smem.ads
sem_type.adb sem_type.ads sem_util.adb sem_util.ads
sem_vfpt.adb sem_vfpt.ads sem_warn.adb sem_warn.ads
sfn_scan.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb
sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb
sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads
snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb
stringt.ads stringt.h style.adb style.ads stylesw.adb
stylesw.ads switch.adb switch.ads sysdep.c system.ads
table.adb table.ads targparm.adb targparm.ads targtyps.c
tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads
tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb
treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads
types.adb types.ads types.h uintp.adb uintp.ads uintp.h
uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb
usage.ads utils.c utils2.c validsw.adb validsw.ads
widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb
xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb
xtreeprs.adb: Correct statements in comments about maintainership
of GNAT.

View File

@ -972,14 +972,13 @@ ada/memtrack.o : ada/memtrack.adb ada/s-memory.ads
$(ADAC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) -O0 \
$(ADA_INCLUDES) $< $(OUTPUT_OPTION)
ada/adadecode.o : ada/adadecode.c ada/adadecode.h $(CONFIG_H) $(SYSTEM_H) \
ada/adadecode.h
ada/adaint.o : ada/adaint.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h
ada/argv.o : ada/argv.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h
ada/adadecode.o : ada/adadecode.c $(CONFIG_H) $(SYSTEM_H) ada/adadecode.h
ada/adaint.o : ada/adaint.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h
ada/argv.o : ada/argv.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h
ada/cstreams.o : ada/cstreams.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h
ada/exit.o : ada/exit.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h
ada/final.o : ada/final.c $(CONFIG_H) $(SYSTEM_H) ada/raise.h
ada/link.o : ada/link.c
ada/exit.o : ada/exit.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h
ada/final.o : ada/final.c $(CONFIG_H) $(SYSTEM_H) ada/raise.h
ada/link.o : ada/link.c
ada/cio.o : ada/cio.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h
$(CC) -c $(ALL_CFLAGS) $(ALL_ADA_CFLAGS) $(RT_FLAGS) \
@ -999,44 +998,41 @@ ada/tracebak.o : ada/tracebak.c $(CONFIG_H) $(SYSTEM_H)
$(CC) -c $(ALL_CFLAGS) $(ALL_ADA_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-fno-omit-frame-pointer $< $(OUTPUT_OPTION)
ada/cuintp.o : ada/cuintp.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) ada/ada.h \
ada/types.h ada/uintp.h ada/atree.h ada/stringt.h ada/elists.h \
ada/cuintp.o : ada/cuintp.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
ada/ada.h ada/types.h ada/uintp.h ada/atree.h ada/stringt.h ada/elists.h \
ada/nlists.h ada/fe.h ada/gigi.h
ada/decl.o : ada/decl.c $(CONFIG_H) $(TREE_H) $(srcdir)/flags.h \
$(srcdir)/toplev.h $(srcdir)/convert.h ada/ada.h ada/types.h ada/atree.h \
ada/nlists.h ada/elists.h ada/uintp.h ada/sinfo.h ada/einfo.h ada/snames.h \
ada/namet.h ada/stringt.h ada/repinfo.h ada/fe.h $(ADA_TREE_H) ada/gigi.h \
gt-ada-decl.h
ada/decl.o : ada/decl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
flags.h toplev.h convert.h ada/ada.h ada/types.h ada/atree.h ada/nlists.h \
ada/elists.h ada/uintp.h ada/sinfo.h ada/einfo.h ada/snames.h ada/namet.h \
ada/stringt.h ada/repinfo.h ada/fe.h $(ADA_TREE_H) ada/gigi.h gt-ada-decl.h
ada/misc.o : ada/misc.c $(CONFIG_H) $(TREE_H) $(RTL_H) $(srcdir)/expr.h \
insn-codes.h insn-flags.h insn-config.h $(srcdir)/recog.h \
$(srcdir)/flags.h $(srcdir)/diagnostic.h $(srcdir)/output.h \
$(srcdir)/except.h tm_p.h $(srcdir)/langhooks.h $(srcdir)/debug.h \
$(srcdir)/langhooks-def.h $(srcdir)/libfuncs.h $(srcdir)/optabs.h \
ada/ada.h ada/types.h ada/atree.h ada/nlists.h ada/elists.h ada/sinfo.h \
ada/einfo.h ada/namet.h ada/stringt.h ada/uintp.h ada/fe.h $(ADA_TREE_H) \
ada/gigi.h ada/adadecode.h
ada/misc.o : ada/misc.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
$(RTL_H) expr.h insn-codes.h insn-flags.h insn-config.h recog.h flags.h \
diagnostic.h output.h except.h $(TM_P_H) langhooks.h debug.h $(LANGHOOKS_DEF_H) \
libfuncs.h $(OPTABS_H) ada/ada.h ada/types.h ada/atree.h ada/nlists.h \
ada/elists.h ada/sinfo.h ada/einfo.h ada/namet.h ada/stringt.h ada/uintp.h \
ada/fe.h $(ADA_TREE_H) ada/gigi.h ada/adadecode.h
ada/targtyps.o : ada/targtyps.c $(CONFIG_H) ada/ada.h ada/types.h ada/atree.h \
ada/nlists.h ada/elists.h ada/uintp.h ada/sinfo.h ada/einfo.h ada/namet.h \
ada/snames.h ada/stringt.h ada/urealp.h ada/fe.h $(ADA_TREE_H) ada/gigi.h
ada/targtyps.o : ada/targtyps.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
ada/ada.h ada/types.h ada/atree.h ada/nlists.h ada/elists.h ada/uintp.h \
ada/sinfo.h ada/einfo.h ada/namet.h ada/snames.h ada/stringt.h ada/urealp.h \
ada/fe.h $(ADA_TREE_H) ada/gigi.h
ada/trans.o : ada/trans.c $(CONFIG_H) $(TREE_H) $(RTL_H) $(srcdir)/flags.h \
ada/ada.h $(srcdir)/except.h ada/types.h ada/atree.h ada/nlists.h \
ada/trans.o : ada/trans.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
$(RTL_H) flags.h ada/ada.h except.h ada/types.h ada/atree.h ada/nlists.h \
ada/elists.h ada/uintp.h ada/sinfo.h ada/einfo.h ada/namet.h ada/snames.h \
ada/stringt.h ada/urealp.h ada/fe.h $(ADA_TREE_H) ada/gigi.h gt-ada-trans.h
ada/utils.o : ada/utils.c $(CONFIG_H) $(TREE_H) $(srcdir)/flags.h \
$(srcdir)/expr.h $(srcdir)/convert.h $(srcdir)/defaults.h ada/ada.h \
ada/types.h ada/atree.h ada/nlists.h ada/elists.h ada/sinfo.h ada/einfo.h \
ada/namet.h ada/stringt.h ada/uintp.h ada/fe.h $(ADA_TREE_H) ada/gigi.h \
gt-ada-utils.h gtype-ada.h
ada/utils.o : ada/utils.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
flags.h expr.h convert.h defaults.h ada/ada.h ada/types.h ada/atree.h \
ada/nlists.h ada/elists.h ada/sinfo.h ada/einfo.h ada/namet.h ada/stringt.h \
ada/uintp.h ada/fe.h $(ADA_TREE_H) ada/gigi.h gt-ada-utils.h gtype-ada.h
ada/utils2.o : ada/utils2.c $(CONFIG_H) $(TREE_H) $(srcdir)/flags.h ada/ada.h \
ada/types.h ada/atree.h ada/nlists.h ada/elists.h ada/sinfo.h ada/einfo.h \
ada/namet.h ada/snames.h ada/stringt.h ada/uintp.h ada/fe.h $(ADA_TREE_H) \
ada/gigi.h
ada/utils2.o : ada/utils2.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(TREE_H) flags.h ada/ada.h ada/types.h ada/atree.h ada/nlists.h \
ada/elists.h ada/sinfo.h ada/einfo.h ada/namet.h ada/snames.h ada/stringt.h \
ada/uintp.h ada/fe.h $(ADA_TREE_H) ada/gigi.h
#
# DO NOT PUT SPECIAL RULES BELOW, THIS SECTION IS UPDATED AUTOMATICALLY

View File

@ -30,6 +30,8 @@
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
#include "ada.h"
#include "types.h"

View File

@ -27,6 +27,8 @@
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
#include "flags.h"
#include "toplev.h"

View File

@ -34,6 +34,8 @@
/* Include a default definition for TARGET_FLAGS for gnatpsta. */
#include "config.h"
#define MIN(X,Y) ((X) < (Y) ? (X) : (Y))
#include "system.h"
#include "coretypes.h"
#include "tm.h"
int target_flags = TARGET_DEFAULT;

View File

@ -31,12 +31,13 @@
{".ads", "@ada", 0},
{".adb", "@ada", 0},
{"@ada",
"gnat1 %{^I*} %{k8:-gnatk8} %{w:-gnatws} %1 %{!Q:-quiet} %{nostdinc*}\
"\
%{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}\
%{!gnatc:%{!gnatz:%{!gnats:%{!S:%{!c:\
%eone of -c, -S, -gnatc, -gnatz, or -gnats is required for Ada}}}}}\
gnat1 %{I*} %{k8:-gnatk8} %{w:-gnatws} %1 %{!Q:-quiet} %{nostdinc*}\
-dumpbase %{.adb:%b.adb}%{.ads:%b.ads}%{!.adb:%{!.ads:%b.ada}}\
%{g*} %{O*} %{W*} %{w} %{p} %{pg:-p} %{m*} %{a} %{f*} %{d*}\
%{!S:%{o*:%w%*-gnatO}} \
%{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}\
%i %{S:%W{o*}%{!o*:-o %b.s}}%{!S:-o %{|!pipe:%g.s}} |\n\
%{!S:%{!gnatc:%{!gnatz:%{!gnats:as %a %Y %{c:%W{o*}%{!o*:-o %w%b%O}}\
%{!c:%e-c or -S required for Ada}\
%{!pipe:%g.s} %A\n}}}} ", 0},
%i %{S:%W{o*}%{!o*:-o %b.s}} \
%{!gnatc:%{!gnatz:%{!gnats:%(invoke_as)}}}", 0},

View File

@ -37,6 +37,8 @@
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
#include "rtl.h"
#include "errors.h"
@ -207,8 +209,8 @@ gnat_parse_file (set_yydebug)
/* Decode all the language specific options that cannot be decoded by GCC.
The option decoding phase of GCC calls this routine on the flags that
it cannot decode. This routine returns 1 if it is successful, otherwise
it returns 0. */
it cannot decode. This routine returns the number of consecutive arguments
from ARGV that it successfully decoded; 0 indicates failure. */
static int
gnat_decode_option (argc, argv)
@ -220,10 +222,28 @@ gnat_decode_option (argc, argv)
if (!strncmp (p, "-I", 2))
{
/* Pass the -I switches as-is. */
gnat_argv[gnat_argc] = p;
gnat_argc ++;
return 1;
/* We might get -I foo or -Ifoo. Canonicalize to the latter. */
if (p[2] == '\0')
{
char *q;
if (argv[1] == 0)
return 0;
q = xmalloc (sizeof("-I") + strlen (argv[1]));
strcpy (q, "-I");
strcat (q, argv[1]);
gnat_argv[gnat_argc] = q;
gnat_argc ++;
return 2; /* consumed argument */
}
else
{
gnat_argv[gnat_argc] = p;
gnat_argc ++;
return 1;
}
}
else if (!strncmp (p, "-gant", 5))

View File

@ -35,6 +35,8 @@
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
#include "real.h"
#include "rtl.h"

View File

@ -27,6 +27,8 @@
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
#include "real.h"
#include "flags.h"

View File

@ -27,6 +27,8 @@
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
#include "flags.h"
#include "defaults.h"

View File

@ -27,6 +27,8 @@
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
#include "flags.h"
#include "ada.h"

View File

@ -21,6 +21,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "rtl.h"
#include "tree.h"
#include "tm_p.h"

View File

@ -21,6 +21,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
#include "flags.h"
#include "toplev.h"

View File

@ -112,7 +112,11 @@ do { \
be done, other than zero the statistics on the first allocation. */
#define MAX_REGNO_REG_SET(NUM_REGS, NEW_P, RENUMBER_P)
/* Type we use to hold basic block counters. Should be at least 64bit. */
/* Type we use to hold basic block counters. Should be at least
64bit. Although a counter cannot be negative, we use a signed
type, because erroneous negative counts can be generated when the
flow graph is manipulated by various optimizations. A signed type
makes those easy to detect. */
typedef HOST_WIDEST_INT gcov_type;
/* Control flow edge information. */

View File

@ -82,6 +82,8 @@
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
#include "rtl.h"
#include "hard-reg-set.h"

View File

@ -20,6 +20,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "rtl.h"
#include "flags.h"
#include "obstack.h"

View File

@ -21,6 +21,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "machmode.h"
#include "real.h"
#include "rtl.h"
@ -150,7 +152,6 @@ static tree fold_builtin_constant_p PARAMS ((tree));
static tree fold_builtin_classify_type PARAMS ((tree));
static tree fold_builtin_inf PARAMS ((tree, int));
static tree fold_builtin_nan PARAMS ((tree, tree, int));
static tree build_function_call_expr PARAMS ((tree, tree));
static int validate_arglist PARAMS ((tree, ...));
/* Return the alignment in bits of EXP, a pointer valued expression.
@ -1484,6 +1485,7 @@ expand_builtin_mathfn (exp, target, subtarget)
tree fndecl = TREE_OPERAND (TREE_OPERAND (exp, 0), 0);
tree arglist = TREE_OPERAND (exp, 1);
enum machine_mode argmode;
bool errno_set = true;
if (!validate_arglist (arglist, REAL_TYPE, VOID_TYPE))
return 0;
@ -1534,6 +1536,26 @@ expand_builtin_mathfn (exp, target, subtarget)
case BUILT_IN_LOGF:
case BUILT_IN_LOGL:
builtin_optab = log_optab; break;
case BUILT_IN_FLOOR:
case BUILT_IN_FLOORF:
case BUILT_IN_FLOORL:
errno_set = false ; builtin_optab = floor_optab; break;
case BUILT_IN_CEIL:
case BUILT_IN_CEILF:
case BUILT_IN_CEILL:
errno_set = false ; builtin_optab = ceil_optab; break;
case BUILT_IN_TRUNC:
case BUILT_IN_TRUNCF:
case BUILT_IN_TRUNCL:
errno_set = false ; builtin_optab = trunc_optab; break;
case BUILT_IN_ROUND:
case BUILT_IN_ROUNDF:
case BUILT_IN_ROUNDL:
errno_set = false ; builtin_optab = round_optab; break;
case BUILT_IN_NEARBYINT:
case BUILT_IN_NEARBYINTF:
case BUILT_IN_NEARBYINTL:
errno_set = false ; builtin_optab = nearbyint_optab; break;
default:
abort ();
}
@ -1554,7 +1576,7 @@ expand_builtin_mathfn (exp, target, subtarget)
/* If errno must be maintained, we must set it to EDOM for NaN results. */
if (flag_errno_math && HONOR_NANS (argmode))
if (flag_errno_math && errno_set && HONOR_NANS (argmode))
{
rtx lab1;
@ -3744,6 +3766,21 @@ expand_builtin (exp, target, subtarget, mode, ignore)
case BUILT_IN_FPUTC_UNLOCKED:
case BUILT_IN_FPUTS_UNLOCKED:
case BUILT_IN_FWRITE_UNLOCKED:
case BUILT_IN_FLOOR:
case BUILT_IN_FLOORF:
case BUILT_IN_FLOORL:
case BUILT_IN_CEIL:
case BUILT_IN_CEILF:
case BUILT_IN_CEILL:
case BUILT_IN_TRUNC:
case BUILT_IN_TRUNCF:
case BUILT_IN_TRUNCL:
case BUILT_IN_ROUND:
case BUILT_IN_ROUNDF:
case BUILT_IN_ROUNDL:
case BUILT_IN_NEARBYINT:
case BUILT_IN_NEARBYINTF:
case BUILT_IN_NEARBYINTL:
return expand_call (exp, target, ignore);
default:
@ -3794,6 +3831,21 @@ expand_builtin (exp, target, subtarget, mode, ignore)
case BUILT_IN_SQRT:
case BUILT_IN_SQRTF:
case BUILT_IN_SQRTL:
case BUILT_IN_FLOOR:
case BUILT_IN_FLOORF:
case BUILT_IN_FLOORL:
case BUILT_IN_CEIL:
case BUILT_IN_CEILF:
case BUILT_IN_CEILL:
case BUILT_IN_TRUNC:
case BUILT_IN_TRUNCF:
case BUILT_IN_TRUNCL:
case BUILT_IN_ROUND:
case BUILT_IN_ROUNDF:
case BUILT_IN_ROUNDL:
case BUILT_IN_NEARBYINT:
case BUILT_IN_NEARBYINTF:
case BUILT_IN_NEARBYINTL:
target = expand_builtin_mathfn (exp, target, subtarget);
if (target)
return target;
@ -4080,6 +4132,37 @@ expand_builtin (exp, target, subtarget, mode, ignore)
return expand_call (exp, target, ignore);
}
/* Determine whether a tree node represents a call to a built-in
math function. If the tree T is a call to a built-in function
taking a single real argument, then the return value is the
DECL_FUNCTION_CODE of the call, e.g. BUILT_IN_SQRT. Otherwise
the return value is END_BUILTINS. */
enum built_in_function
builtin_mathfn_code (t)
tree t;
{
tree fndecl, arglist;
if (TREE_CODE (t) != CALL_EXPR
|| TREE_CODE (TREE_OPERAND (t, 0)) != ADDR_EXPR)
return END_BUILTINS;
fndecl = TREE_OPERAND (TREE_OPERAND (t, 0), 0);
if (TREE_CODE (fndecl) != FUNCTION_DECL
|| ! DECL_BUILT_IN (fndecl)
|| DECL_BUILT_IN_CLASS (fndecl) == BUILT_IN_MD)
return END_BUILTINS;
arglist = TREE_OPERAND (t, 1);
if (! arglist
|| TREE_CODE (TREE_TYPE (TREE_VALUE (arglist))) != REAL_TYPE
|| TREE_CHAIN (arglist))
return END_BUILTINS;
return DECL_FUNCTION_CODE (fndecl);
}
/* Fold a call to __builtin_constant_p, if we know it will evaluate to a
constant. ARGLIST is the argument list of the call. */
@ -4208,6 +4291,103 @@ fold_builtin (exp)
}
break;
case BUILT_IN_SQRT:
case BUILT_IN_SQRTF:
case BUILT_IN_SQRTL:
if (validate_arglist (arglist, REAL_TYPE, VOID_TYPE))
{
enum built_in_function fcode;
tree arg = TREE_VALUE (arglist);
/* Optimize sqrt of constant value. */
if (TREE_CODE (arg) == REAL_CST
&& ! TREE_CONSTANT_OVERFLOW (arg))
{
enum machine_mode mode;
REAL_VALUE_TYPE r, x;
x = TREE_REAL_CST (arg);
mode = TYPE_MODE (TREE_TYPE (arg));
if (!HONOR_SNANS (mode) || !real_isnan (&x))
{
real_sqrt (&r, mode, &x);
return build_real (TREE_TYPE (arg), r);
}
}
/* Optimize sqrt(exp(x)) = exp(x/2.0). */
fcode = builtin_mathfn_code (arg);
if (flag_unsafe_math_optimizations
&& (fcode == BUILT_IN_EXP
|| fcode == BUILT_IN_EXPF
|| fcode == BUILT_IN_EXPL))
{
tree expfn = TREE_OPERAND (TREE_OPERAND (arg, 0), 0);
arg = build (RDIV_EXPR, TREE_TYPE (arg),
TREE_VALUE (TREE_OPERAND (arg, 1)),
build_real (TREE_TYPE (arg), dconst2));
arglist = build_tree_list (NULL_TREE, arg);
return build_function_call_expr (expfn, arglist);
}
}
break;
case BUILT_IN_EXP:
case BUILT_IN_EXPF:
case BUILT_IN_EXPL:
if (validate_arglist (arglist, REAL_TYPE, VOID_TYPE))
{
enum built_in_function fcode;
tree arg = TREE_VALUE (arglist);
/* Optimize exp(0.0) = 1.0. */
if (real_zerop (arg))
return build_real (TREE_TYPE (arg), dconst1);
/* Optimize exp(log(x)) = x. */
fcode = builtin_mathfn_code (arg);
if (flag_unsafe_math_optimizations
&& (fcode == BUILT_IN_LOG
|| fcode == BUILT_IN_LOGF
|| fcode == BUILT_IN_LOGL))
return TREE_VALUE (TREE_OPERAND (arg, 1));
}
break;
case BUILT_IN_LOG:
case BUILT_IN_LOGF:
case BUILT_IN_LOGL:
if (validate_arglist (arglist, REAL_TYPE, VOID_TYPE))
{
enum built_in_function fcode;
tree arg = TREE_VALUE (arglist);
/* Optimize log(1.0) = 0.0. */
if (real_onep (arg))
return build_real (TREE_TYPE (arg), dconst0);
/* Optimize log(exp(x)) = x. */
fcode = builtin_mathfn_code (arg);
if (flag_unsafe_math_optimizations
&& (fcode == BUILT_IN_EXP
|| fcode == BUILT_IN_EXPF
|| fcode == BUILT_IN_EXPL))
return TREE_VALUE (TREE_OPERAND (arg, 1));
/* Optimize log(sqrt(x)) = log(x)/2.0. */
if (flag_unsafe_math_optimizations
&& (fcode == BUILT_IN_SQRT
|| fcode == BUILT_IN_SQRTF
|| fcode == BUILT_IN_SQRTL))
{
tree logfn = build_function_call_expr (fndecl,
TREE_OPERAND (arg, 1));
return fold (build (RDIV_EXPR, TREE_TYPE (arg), logfn,
build_real (TREE_TYPE (arg), dconst2)));
}
}
break;
case BUILT_IN_INF:
case BUILT_IN_INFF:
case BUILT_IN_INFL:
@ -4235,7 +4415,9 @@ fold_builtin (exp)
return 0;
}
static tree
/* Conveniently construct a function call expression. */
tree
build_function_call_expr (fn, arglist)
tree fn, arglist;
{

View File

@ -112,9 +112,9 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
/* Like DEF_LIB_BUILTIN, except that the function is only a part of
the standard in C99 or above. */
#undef DEF_C99_BUILTIN
#define DEF_C99_BUILTIN(ENUM, NAME, TYPE) \
#define DEF_C99_BUILTIN(ENUM, NAME, TYPE, ATTRS) \
DEF_BUILTIN (ENUM, NAME, BUILT_IN_NORMAL, TYPE, TYPE, \
true, true, !flag_isoc99, ATTR_NOTHROW_LIST)
true, true, !flag_isoc99, ATTRS)
/* Like DEF_LIB_BUILTIN, except that the function is expanded in the
front-end. */
@ -169,39 +169,115 @@ DEF_LIB_ALWAYS_BUILTIN(BUILT_IN_FABSL,
"__builtin_fabsl",
BT_FN_LONG_DOUBLE_LONG_DOUBLE)
DEF_LIB_BUILTIN(BUILT_IN_FLOOR,
"__builtin_floor",
BT_FN_DOUBLE_DOUBLE,
ATTR_CONST_NOTHROW_LIST)
DEF_LIB_BUILTIN(BUILT_IN_FLOORF,
"__builtin_floorf",
BT_FN_FLOAT_FLOAT,
ATTR_CONST_NOTHROW_LIST)
DEF_LIB_BUILTIN(BUILT_IN_FLOORL,
"__builtin_floorl",
BT_FN_LONG_DOUBLE_LONG_DOUBLE,
ATTR_CONST_NOTHROW_LIST)
DEF_LIB_BUILTIN(BUILT_IN_CEIL,
"__builtin_ceil",
BT_FN_DOUBLE_DOUBLE,
ATTR_CONST_NOTHROW_LIST)
DEF_LIB_BUILTIN(BUILT_IN_CEILF,
"__builtin_ceilf",
BT_FN_FLOAT_FLOAT,
ATTR_CONST_NOTHROW_LIST)
DEF_LIB_BUILTIN(BUILT_IN_CEILL,
"__builtin_ceill",
BT_FN_LONG_DOUBLE_LONG_DOUBLE,
ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_ROUND,
"__builtin_round",
BT_FN_DOUBLE_DOUBLE,
ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_ROUNDF,
"__builtin_roundf",
BT_FN_FLOAT_FLOAT,
ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_ROUNDL,
"__builtin_roundl",
BT_FN_LONG_DOUBLE_LONG_DOUBLE,
ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_TRUNC,
"__builtin_trunc",
BT_FN_DOUBLE_DOUBLE,
ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_TRUNCF,
"__builtin_truncf",
BT_FN_FLOAT_FLOAT,
ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_TRUNCL,
"__builtin_truncl",
BT_FN_LONG_DOUBLE_LONG_DOUBLE,
ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_NEARBYINT,
"__builtin_nearbyint",
BT_FN_DOUBLE_DOUBLE,
ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_NEARBYINTF,
"__builtin_nearbyintf",
BT_FN_FLOAT_FLOAT,
ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_NEARBYINTL,
"__builtin_nearbyintl",
BT_FN_LONG_DOUBLE_LONG_DOUBLE,
ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_LLABS,
"__builtin_llabs",
BT_FN_LONGLONG_LONGLONG)
BT_FN_LONGLONG_LONGLONG,
ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_IMAXABS,
"__builtin_imaxabs",
BT_FN_INTMAX_INTMAX)
BT_FN_INTMAX_INTMAX,
ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_CONJ,
"__builtin_conj",
BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE)
BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_CONJF,
"__builtin_conjf",
BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT)
BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT,
ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_CONJL,
"__builtin_conjl",
BT_FN_COMPLEX_LONG_DOUBLE_COMPLEX_LONG_DOUBLE)
BT_FN_COMPLEX_LONG_DOUBLE_COMPLEX_LONG_DOUBLE,
ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_CREAL,
"__builtin_creal",
BT_FN_DOUBLE_COMPLEX_DOUBLE)
BT_FN_DOUBLE_COMPLEX_DOUBLE,
ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_CREALF,
"__builtin_crealf",
BT_FN_FLOAT_COMPLEX_FLOAT)
BT_FN_FLOAT_COMPLEX_FLOAT,
ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_CREALL,
"__builtin_creall",
BT_FN_LONG_DOUBLE_COMPLEX_LONG_DOUBLE)
BT_FN_LONG_DOUBLE_COMPLEX_LONG_DOUBLE,
ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_CIMAG,
"__builtin_cimag",
BT_FN_DOUBLE_COMPLEX_DOUBLE)
BT_FN_DOUBLE_COMPLEX_DOUBLE,
ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_CIMAGF,
"__builtin_cimagf",
BT_FN_FLOAT_COMPLEX_FLOAT)
BT_FN_FLOAT_COMPLEX_FLOAT,
ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_CIMAGL,
"__builtin_cimagl",
BT_FN_LONG_DOUBLE_COMPLEX_LONG_DOUBLE)
BT_FN_LONG_DOUBLE_COMPLEX_LONG_DOUBLE,
ATTR_CONST_NOTHROW_LIST)
DEF_UNUSED_BUILTIN(BUILT_IN_DIV)
DEF_UNUSED_BUILTIN(BUILT_IN_LDIV)

View File

@ -24,6 +24,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "toplev.h"
#include "flags.h"
#include "tree.h"

View File

@ -21,6 +21,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
#include "real.h"
#include "flags.h"
@ -5601,6 +5603,7 @@ handle_mode_attribute (node, name, args, flags, no_add_attrs)
int len = strlen (p);
enum machine_mode mode = VOIDmode;
tree typefm;
tree ptr_type;
if (len > 4 && p[0] == '_' && p[1] == '_'
&& p[len - 1] == '_' && p[len - 2] == '_')
@ -5630,6 +5633,10 @@ handle_mode_attribute (node, name, args, flags, no_add_attrs)
else if (0 == (typefm = (*lang_hooks.types.type_for_mode)
(mode, TREE_UNSIGNED (type))))
error ("no data type for mode `%s'", p);
else if ((TREE_CODE (type) == POINTER_TYPE
|| TREE_CODE (type) == REFERENCE_TYPE)
&& !(*targetm.valid_pointer_mode) (mode))
error ("invalid pointer mode `%s'", p);
else
{
/* If this is a vector, make sure we either have hardware
@ -5642,6 +5649,19 @@ handle_mode_attribute (node, name, args, flags, no_add_attrs)
return NULL_TREE;
}
if (TREE_CODE (type) == POINTER_TYPE)
{
ptr_type = build_pointer_type_for_mode (TREE_TYPE (type),
mode);
*node = ptr_type;
}
else if (TREE_CODE (type) == REFERENCE_TYPE)
{
ptr_type = build_reference_type_for_mode (TREE_TYPE (type),
mode);
*node = ptr_type;
}
else
*node = typefm;
/* No need to layout the type here. The caller should do this. */
}

View File

@ -26,6 +26,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
#include "flags.h"
#include "convert.h"

View File

@ -28,6 +28,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "intl.h"
#include "tree.h"
#include "tree-inline.h"

View File

@ -21,6 +21,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
#include "c-tree.h"
#include "tree-dump.h"

View File

@ -21,6 +21,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
#include "c-tree.h"
#include "tm_p.h"

View File

@ -21,6 +21,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
#include "flags.h"
#include "toplev.h"

View File

@ -22,6 +22,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
#include "c-tree.h"
#include "c-common.h"

View File

@ -21,6 +21,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "real.h"
#include "rtl.h"
@ -233,7 +235,7 @@ cb_ident (pfile, line, str)
if (! flag_no_ident)
{
/* Convert escapes in the string. */
tree value = lex_string (str->text, str->len, 0);
tree value ATTRIBUTE_UNUSED = lex_string (str->text, str->len, 0);
ASM_OUTPUT_IDENT (asm_out_file, TREE_STRING_POINTER (value));
}
#endif

View File

@ -20,6 +20,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
#include "rtl.h"
#include "insn-config.h"

View File

@ -21,6 +21,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
#include "c-common.h"
#include "c-pragma.h"

View File

@ -38,6 +38,8 @@ end ifc
%{
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
#include "input.h"
#include "cpplib.h"

View File

@ -21,6 +21,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "rtl.h"
#include "tree.h"
#include "function.h"

View File

@ -21,6 +21,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "real.h"
#include "c-pretty-print.h"
#include "c-tree.h"

View File

@ -23,6 +23,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
#include "function.h"
#include "splay-tree.h"
@ -455,6 +457,17 @@ genrtl_do_stmt (t)
expand_stmt (DO_BODY (t));
expand_end_null_loop ();
}
else if (integer_nonzerop (cond))
{
emit_nop ();
emit_line_note (input_filename, lineno);
expand_start_loop (1);
expand_stmt (DO_BODY (t));
emit_line_note (input_filename, lineno);
expand_end_loop ();
}
else
{
emit_nop ();
@ -519,7 +532,10 @@ genrtl_for_stmt (t)
/* Expand the initialization. */
emit_nop ();
emit_line_note (input_filename, lineno);
expand_start_loop_continue_elsewhere (1);
if (FOR_EXPR (t))
expand_start_loop_continue_elsewhere (1);
else
expand_start_loop (1);
genrtl_do_pushlevel ();
cond = expand_cond (FOR_COND (t));
@ -541,9 +557,11 @@ genrtl_for_stmt (t)
input_filename = saved_filename;
lineno = saved_lineno;
emit_line_note (input_filename, lineno);
expand_loop_continue_here ();
if (FOR_EXPR (t))
genrtl_expr_stmt (FOR_EXPR (t));
{
expand_loop_continue_here ();
genrtl_expr_stmt (FOR_EXPR (t));
}
expand_end_loop ();
}

View File

@ -31,6 +31,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "rtl.h"
#include "tree.h"
#include "c-tree.h"
@ -1470,7 +1472,7 @@ build_function_call (function, params)
{
tree fntype, fundecl = 0;
tree coerced_params;
tree name = NULL_TREE, assembler_name = NULL_TREE, result;
tree name = NULL_TREE, result;
/* Strip NON_LVALUE_EXPRs, etc., since we aren't using as an lvalue. */
STRIP_TYPE_NOPS (function);
@ -1479,7 +1481,6 @@ build_function_call (function, params)
if (TREE_CODE (function) == FUNCTION_DECL)
{
name = DECL_NAME (function);
assembler_name = DECL_ASSEMBLER_NAME (function);
/* Differs from default_conversion by not setting TREE_ADDRESSABLE
(because calling an inline function does not mean the function
@ -3649,20 +3650,10 @@ build_c_cast (type, expr)
if (field)
{
const char *name;
tree t;
if (pedantic)
pedwarn ("ISO C forbids casts to union type");
if (TYPE_NAME (type) != 0)
{
if (TREE_CODE (TYPE_NAME (type)) == IDENTIFIER_NODE)
name = IDENTIFIER_POINTER (TYPE_NAME (type));
else
name = IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (type)));
}
else
name = "";
t = digest_init (type, build (CONSTRUCTOR, type, NULL_TREE,
build_tree_list (field, value)), 0);
TREE_CONSTANT (t) = TREE_CONSTANT (value);

View File

@ -21,6 +21,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "rtl.h"
#include "insn-config.h"
#include "flags.h"

View File

@ -21,6 +21,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "rtl.h"
#include "tree.h"
#include "flags.h"
@ -36,10 +38,6 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "langhooks.h"
#include "target.h"
#if !defined FUNCTION_OK_FOR_SIBCALL
#define FUNCTION_OK_FOR_SIBCALL(DECL) 1
#endif
/* Decide whether a function's arguments should be processed
from first to last or from last to first.
@ -154,35 +152,6 @@ int stack_arg_under_construction;
static int calls_function PARAMS ((tree, int));
static int calls_function_1 PARAMS ((tree, int));
/* Nonzero if this is a call to a `const' function. */
#define ECF_CONST 1
/* Nonzero if this is a call to a `volatile' function. */
#define ECF_NORETURN 2
/* Nonzero if this is a call to malloc or a related function. */
#define ECF_MALLOC 4
/* Nonzero if it is plausible that this is a call to alloca. */
#define ECF_MAY_BE_ALLOCA 8
/* Nonzero if this is a call to a function that won't throw an exception. */
#define ECF_NOTHROW 16
/* Nonzero if this is a call to setjmp or a related function. */
#define ECF_RETURNS_TWICE 32
/* Nonzero if this is a call to `longjmp'. */
#define ECF_LONGJMP 64
/* Nonzero if this is a syscall that makes a new process in the image of
the current one. */
#define ECF_FORK_OR_EXEC 128
#define ECF_SIBCALL 256
/* Nonzero if this is a call to "pure" function (like const function,
but may read memory. */
#define ECF_PURE 512
/* Nonzero if this is a call to a function that returns with the stack
pointer depressed. */
#define ECF_SP_DEPRESSED 1024
/* Nonzero if this call is known to always return. */
#define ECF_ALWAYS_RETURN 2048
/* Create libcall block around the call. */
#define ECF_LIBCALL_BLOCK 4096
static void emit_call_1 PARAMS ((rtx, tree, tree, HOST_WIDE_INT,
HOST_WIDE_INT, HOST_WIDE_INT, rtx,
rtx, int, rtx, int,
@ -219,7 +188,6 @@ static rtx emit_library_call_value_1 PARAMS ((int, rtx, rtx,
enum machine_mode,
int, va_list));
static int special_function_p PARAMS ((tree, int));
static int flags_from_decl_or_type PARAMS ((tree));
static rtx try_to_integrate PARAMS ((tree, tree, rtx,
int, tree, rtx));
static int check_sibcall_argument_overlap_1 PARAMS ((rtx));
@ -818,7 +786,7 @@ alloca_call_p (exp)
/* Detect flags (function attributes) from the function decl or type node. */
static int
int
flags_from_decl_or_type (exp)
tree exp;
{
@ -1717,10 +1685,8 @@ rtx_for_function_call (fndecl, exp)
else
/* Generate an rtx (probably a pseudo-register) for the address. */
{
rtx funaddr;
push_temp_slots ();
funaddr = funexp
= expand_expr (TREE_OPERAND (exp, 0), NULL_RTX, VOIDmode, 0);
funexp = expand_expr (TREE_OPERAND (exp, 0), NULL_RTX, VOIDmode, 0);
pop_temp_slots (); /* FUNEXP can't be BLKmode. */
emit_queue ();
}
@ -2281,7 +2247,10 @@ expand_call (exp, target, ignore)
{
struct_value_size = int_size_in_bytes (TREE_TYPE (exp));
if (target && GET_CODE (target) == MEM)
if (CALL_EXPR_HAS_RETURN_SLOT_ADDR (exp))
/* The structure value address arg is already in actparms. */
structure_value_addr_parm = 1;
else if (target && GET_CODE (target) == MEM)
structure_value_addr = XEXP (target, 0);
else
{
@ -2467,16 +2436,13 @@ expand_call (exp, target, ignore)
It does not seem worth the effort since few optimizable
sibling calls will return a structure. */
|| structure_value_addr != NULL_RTX
/* If the register holding the address is a callee saved
register, then we lose. We have no way to prevent that,
so we only allow calls to named functions. */
/* ??? This could be done by having the insn constraints
use a register class that is all call-clobbered. Any
reload insns generated to fix things up would appear
before the sibcall_epilogue. */
|| fndecl == NULL_TREE
/* Check whether the target is able to optimize the call
into a sibcall. */
|| !(*targetm.function_ok_for_sibcall) (fndecl, exp)
/* Functions that do not return exactly once may not be sibcall
optimized. */
|| (flags & (ECF_RETURNS_TWICE | ECF_LONGJMP | ECF_NORETURN))
|| !FUNCTION_OK_FOR_SIBCALL (fndecl)
|| TYPE_VOLATILE (TREE_TYPE (TREE_TYPE (TREE_OPERAND (exp, 0))))
/* If this function requires more stack slots than the current
function, we cannot change it into a sibling call. */
|| args_size.constant > current_function_args_size
@ -2608,7 +2574,7 @@ expand_call (exp, target, ignore)
is subject to race conditions, just as with multithreaded
programs. */
emit_library_call (gen_rtx_SYMBOL_REF (Pmode, "__bb_fork_func"),
emit_library_call (gen_rtx_SYMBOL_REF (Pmode, "__gcov_flush"),
LCT_ALWAYS_RETURN,
VOIDmode, 0);
}

View File

@ -43,6 +43,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
#include "rtl.h"
#include "hard-reg-set.h"

View File

@ -22,6 +22,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
/* This file contains various simple utilities to analyze the CFG. */
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "rtl.h"
#include "hard-reg-set.h"
#include "basic-block.h"

View File

@ -34,6 +34,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
#include "rtl.h"
#include "hard-reg-set.h"

View File

@ -33,6 +33,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "rtl.h"
#include "hard-reg-set.h"
#include "basic-block.h"

View File

@ -20,6 +20,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
#include "rtl.h"
#include "hard-reg-set.h"
@ -740,7 +742,6 @@ duplicate_insn_chain (from, to)
be reordered later. */
for (insn = from; insn != NEXT_INSN (to); insn = NEXT_INSN (insn))
{
rtx new;
switch (GET_CODE (insn))
{
case INSN:
@ -752,7 +753,7 @@ duplicate_insn_chain (from, to)
if (GET_CODE (PATTERN (insn)) == ADDR_VEC
|| GET_CODE (PATTERN (insn)) == ADDR_DIFF_VEC)
break;
new = emit_copy_of_insn_after (insn, get_last_insn ());
emit_copy_of_insn_after (insn, get_last_insn ());
break;
case CODE_LABEL:

View File

@ -20,6 +20,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "rtl.h"
#include "hard-reg-set.h"
#include "basic-block.h"
@ -331,11 +333,9 @@ flow_loop_nodes_find (header, loop)
basic_block *stack;
int sp;
int num_nodes = 1;
int findex, lindex;
header->loop_father = loop;
header->loop_depth = loop->depth;
findex = lindex = header->index;
if (loop->latch->loop_father != loop)
{

View File

@ -44,6 +44,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
#include "rtl.h"
#include "hard-reg-set.h"
@ -1219,7 +1221,6 @@ split_edge (edge_in)
edge edge_in;
{
basic_block bb;
edge edge_out;
rtx before;
/* Abnormal edges cannot be split. */
@ -1285,7 +1286,7 @@ split_edge (edge_in)
edge_in->dest->global_live_at_start);
}
edge_out = make_single_succ_edge (bb, edge_in->dest, EDGE_FALLTHRU);
make_single_succ_edge (bb, edge_in->dest, EDGE_FALLTHRU);
/* For non-fallthry edges, we must adjust the predecessor's
jump instruction to target our new block. */
@ -1818,7 +1819,7 @@ verify_flow_info ()
if (e->flags & EDGE_FALLTHRU)
n_fallthru++;
if ((e->flags & ~EDGE_DFS_BACK) == 0)
if ((e->flags & ~(EDGE_DFS_BACK | EDGE_CAN_FALLTHRU)) == 0)
n_branch++;
if (e->flags & EDGE_ABNORMAL_CALL)

View File

@ -28,6 +28,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include <signal.h>
#if ! defined( SIGCHLD ) && defined( SIGCLD )
# define SIGCHLD SIGCLD
@ -300,7 +302,6 @@ static int is_in_list PARAMS ((const char *, struct id *));
#endif
static void write_aix_file PARAMS ((FILE *, struct id *));
static char *resolve_lib_name PARAMS ((const char *));
static int ignore_library PARAMS ((const char *));
#endif
static char *extract_string PARAMS ((const char **));
@ -2684,6 +2685,41 @@ scan_libraries (prog_name)
#endif
#ifdef COLLECT_EXPORT_LIST
/* Array of standard AIX libraries which should not
be scanned for ctors/dtors. */
static const char *const aix_std_libs[] = {
"/unix",
"/lib/libc.a",
"/lib/libm.a",
"/lib/libc_r.a",
"/lib/libm_r.a",
"/usr/lib/libc.a",
"/usr/lib/libm.a",
"/usr/lib/libc_r.a",
"/usr/lib/libm_r.a",
"/usr/lib/threads/libc.a",
"/usr/ccs/lib/libc.a",
"/usr/ccs/lib/libm.a",
"/usr/ccs/lib/libc_r.a",
"/usr/ccs/lib/libm_r.a",
NULL
};
/* This function checks the filename and returns 1
if this name matches the location of a standard AIX library. */
static int ignore_library PARAMS ((const char *));
static int
ignore_library (name)
const char *name;
{
const char *const *p = &aix_std_libs[0];
while (*p++ != NULL)
if (! strcmp (name, *p)) return 1;
return 0;
}
#endif /* COLLECT_EXPORT_LIST */
extern char *ldgetname ();
/* COFF version to scan the name list of the loaded program for
@ -2903,38 +2939,6 @@ if (debug) fprintf (stderr, "found: %s\n", lib_buf);
fatal ("library lib%s not found", name);
return (NULL);
}
/* Array of standard AIX libraries which should not
be scanned for ctors/dtors. */
static const char *const aix_std_libs[] = {
"/unix",
"/lib/libc.a",
"/lib/libm.a",
"/lib/libc_r.a",
"/lib/libm_r.a",
"/usr/lib/libc.a",
"/usr/lib/libm.a",
"/usr/lib/libc_r.a",
"/usr/lib/libm_r.a",
"/usr/lib/threads/libc.a",
"/usr/ccs/lib/libc.a",
"/usr/ccs/lib/libm.a",
"/usr/ccs/lib/libc_r.a",
"/usr/ccs/lib/libm_r.a",
NULL
};
/* This function checks the filename and returns 1
if this name matches the location of a standard AIX library. */
static int
ignore_library (name)
const char *name;
{
const char *const *p = &aix_std_libs[0];
while (*p++ != NULL)
if (! strcmp (name, *p)) return 1;
return 0;
}
#endif /* COLLECT_EXPORT_LIST */

View File

@ -76,6 +76,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "rtl.h"
#include "tm_p.h"
#include "flags.h"
@ -167,11 +169,6 @@ static int last_call_cuid;
static rtx subst_insn;
/* This is an insn that belongs before subst_insn, but is not currently
on the insn chain. */
static rtx subst_prev_insn;
/* This is the lowest CUID that `subst' is currently dealing with.
get_last_value will not return a value if the register was set at or
after this CUID. If not for this mechanism, we could get confused if
@ -199,7 +196,6 @@ static basic_block this_basic_block;
After combine, we'll need to re-do global life analysis with
those blocks as starting points. */
static sbitmap refresh_blocks;
static int need_refresh;
/* The next group of arrays allows the recording of the last value assigned
to (hard or pseudo) register n. We use this information to see if a
@ -571,15 +567,10 @@ combine_instructions (f, nregs)
label_tick = 1;
/* We need to initialize it here, because record_dead_and_set_regs may call
get_last_value. */
subst_prev_insn = NULL_RTX;
setup_incoming_promotions ();
refresh_blocks = sbitmap_alloc (last_basic_block);
sbitmap_zero (refresh_blocks);
need_refresh = 0;
for (insn = f, i = 0; insn; insn = NEXT_INSN (insn))
{
@ -1752,11 +1743,10 @@ try_combine (i3, i2, i1, new_direct_jump_p)
never appear in the insn stream so giving it the same INSN_UID
as I2 will not cause a problem. */
subst_prev_insn = i1
= gen_rtx_INSN (VOIDmode, INSN_UID (i2), NULL_RTX, i2,
BLOCK_FOR_INSN (i2), INSN_SCOPE (i2),
XVECEXP (PATTERN (i2), 0, 1), -1, NULL_RTX,
NULL_RTX);
i1 = gen_rtx_INSN (VOIDmode, INSN_UID (i2), NULL_RTX, i2,
BLOCK_FOR_INSN (i2), INSN_SCOPE (i2),
XVECEXP (PATTERN (i2), 0, 1), -1, NULL_RTX,
NULL_RTX);
SUBST (PATTERN (i2), XVECEXP (PATTERN (i2), 0, 0));
SUBST (XEXP (SET_SRC (PATTERN (i2)), 0),
@ -2860,10 +2850,6 @@ try_combine (i3, i2, i1, new_direct_jump_p)
combine_successes++;
undo_commit ();
/* Clear this here, so that subsequent get_last_value calls are not
affected. */
subst_prev_insn = NULL_RTX;
if (added_links_insn
&& (newi2pat == 0 || INSN_CUID (added_links_insn) < INSN_CUID (i2))
&& INSN_CUID (added_links_insn) < INSN_CUID (i3))
@ -2892,10 +2878,6 @@ undo_all ()
}
undobuf.undos = 0;
/* Clear this here, so that subsequent get_last_value calls are not
affected. */
subst_prev_insn = NULL_RTX;
}
/* We've committed to accepting the changes we made. Move all
@ -12700,10 +12682,7 @@ distribute_notes (notes, from_insn, i3, i2, elim_i2, elim_i1)
if (REG_NOTE_KIND (note) == REG_DEAD && place == 0
&& REGNO_REG_SET_P (bb->global_live_at_start,
REGNO (XEXP (note, 0))))
{
SET_BIT (refresh_blocks, this_basic_block->index);
need_refresh = 1;
}
SET_BIT (refresh_blocks, this_basic_block->index);
}
/* If the register is set or already dead at PLACE, we needn't do
@ -12720,10 +12699,7 @@ distribute_notes (notes, from_insn, i3, i2, elim_i2, elim_i1)
the note is a noop, we'll need do a global live update
after we remove them in delete_noop_moves. */
if (noop_move_p (place))
{
SET_BIT (refresh_blocks, this_basic_block->index);
need_refresh = 1;
}
SET_BIT (refresh_blocks, this_basic_block->index);
if (dead_or_set_p (place, XEXP (note, 0))
|| reg_bitfield_target_p (XEXP (note, 0), PATTERN (place)))
@ -12795,7 +12771,6 @@ distribute_notes (notes, from_insn, i3, i2, elim_i2, elim_i1)
{
SET_BIT (refresh_blocks,
this_basic_block->index);
need_refresh = 1;
break;
}
continue;

View File

@ -150,6 +150,13 @@
#
# gas Set to yes or no depending on whether the target
# system normally uses GNU as.
#
# need_64bit_hwint Set to yes if HOST_WIDE_INT must be 64 bits wide
# for this target. This is true iff
# MAX_LONG_TYPE_SIZE is 64. (The code which
# determines the underlying integral type for
# HOST_WIDE_INT cannot see the definition of
# MAX_LONG_TYPE_SIZE.)
# The following variables are used in each case-construct to build up the
# outgoing variables:
@ -209,6 +216,7 @@ gas="$gas_flag"
gnu_ld="$gnu_ld_flag"
enable_threads=$enable_threads_flag
target_gtfiles=
need_64bit_hwint=
# Obsolete configurations.
case $machine in
@ -219,7 +227,6 @@ case $machine in
| mn10200-*-* \
| ns32k-*-openbsd* \
| romp-*-openbsd* \
| vax-*-vms* \
)
if test "x$enable_obsolete" != xyes; then
echo "*** Configuration $machine is obsolete." >&2
@ -238,6 +245,7 @@ cpu_type=`echo $machine | sed 's/-.*$//'`
case $machine in
alpha*-*-*)
cpu_type=alpha
need_64bit_hwint=yes
;;
strongarm*-*-*)
cpu_type=arm
@ -255,9 +263,11 @@ i[34567]86-*-*)
x86_64-*-*)
cpu_type=i386
extra_headers="mmintrin.h xmmintrin.h"
need_64bit_hwint=yes
;;
ia64-*-*)
extra_headers=ia64intrin.h
need_64bit_hwint=yes
;;
hppa*-*-* | parisc*-*-*)
cpu_type=pa
@ -271,17 +281,30 @@ m68k-*-*)
;;
mips*-*-*)
cpu_type=mips
need_64bit_hwint=yes
;;
powerpc*-*-*)
cpu_type=rs6000
extra_headers="ppc-asm.h altivec.h spe.h"
need_64bit_hwint=yes
;;
rs6000*-*-*)
need_64bit_hwint=yes
;;
sparc64*-*-*)
cpu_type=sparc
need_64bit_hwint=yes
;;
sparc*-*-*)
cpu_type=sparc
;;
s390*-*-*)
need_64bit_hwint=yes
;;
# Note the 'l'; we need to be able to match e.g. "shle" or "shl".
sh[123456789l]*-*-*)
cpu_type=sh
need_64bit_hwint=yes
;;
tic4x-*-*)
cpu_type=c4x
@ -312,7 +335,7 @@ case $machine in
;;
esac
# Common parts for GNU/Linux, GNU/Hurd, OpenBSD, NetBSD, and FreeBSD systems.
# Common parts for widely ported systems.
case $machine in
*-*-linux*)
xm_defines=POSIX
@ -437,6 +460,13 @@ case $machine in
esac
fbsd_tm_file="${fbsd_tm_file} freebsd-spec.h freebsd.h"
;;
*-*-vxworks*)
tmake_file=t-vxworks
tm_file="${tm_file} elfos.h svr4.h vxworks.h"
thread_file='vxworks'
use_collect2=yes
xm_defines=POSIX
;;
esac
case $machine in
@ -472,7 +502,6 @@ alpha-*-interix)
target_cpu_default="MASK_GAS|MASK_IEEE_CONFORMANT"
xm_defines=POSIX
xm_file="alpha/xm-alpha-interix.h"
tmake_file="alpha/t-alpha t-interix alpha/t-interix alpha/t-ieee"
if test x$enable_threads = xyes ; then
thread_file='posix'
@ -556,21 +585,10 @@ alpha*-dec-osf[45]*)
;;
esac
;;
alpha*-*-vxworks*)
xm_defines=POSIX
tm_file="${tm_file} dbx.h alpha/vxworks.h"
tmake_file="alpha/t-alpha alpha/t-ieee"
if [ x$gas != xyes ]
then
extra_passes="mips-tfile mips-tdump"
fi
use_collect2=yes
thread_file='vxworks'
;;
alpha64-dec-*vms*)
xm_defines=POSIX
tm_file="${tm_file} alpha/vms.h alpha/vms64.h"
xm_file="alpha/xm-vms.h alpha/xm-vms64.h"
xm_file="alpha/xm-vms.h"
tmake_file="alpha/t-alpha alpha/t-vms alpha/t-vms64 alpha/t-ieee"
xmake_file=alpha/x-vms
exeext=.exe
@ -611,11 +629,6 @@ arm-*-coff* | armel-*-coff*)
tm_file="arm/semi.h arm/aout.h arm/arm.h arm/coff.h"
tmake_file=arm/t-arm-coff
;;
arm-*-vxworks*)
tm_file="arm/semi.h arm/aout.h arm/coff.h arm/vxarm.h arm/arm.h"
tmake_file=arm/t-arm-coff
thread_file='vxworks'
;;
arm-semi-aout | armel-semi-aout)
tm_file="arm/semi.h arm/aout.h arm/arm.h"
tmake_file=arm/t-semi
@ -751,6 +764,7 @@ hppa*64*-*-linux* | parisc*64*-*-linux*)
pa/pa-linux.h pa/pa64-regs.h pa/pa-64.h pa/pa64-linux.h"
tmake_file=pa/t-linux64
gas=yes gnu_ld=yes
need_64bit_hwint=yes
;;
hppa*-*-linux* | parisc*-*-linux*)
target_cpu_default="MASK_PA_11"
@ -891,6 +905,7 @@ hppa*64*-*-hpux11*)
pa/pa64-regs.h pa/long_double.h pa/pa-hpux.h \
pa/pa-hpux11.h pa/pa-64.h pa/pa64-hpux.h"
fi
need_64bit_hwint=yes
tmake_file="pa/t-pa64 pa/t-pa-hpux"
xmake_file="pa/x-ada"
target_cpu_default="(MASK_PA_11|MASK_PA_20|MASK_GAS)"
@ -1052,10 +1067,6 @@ i[34567]86-sequent-sysv*) # would otherwise be caught by i?86-*-sysv*
echo "*** Configuration $machine not supported" 1>&2
exit 1
;;
i[34567]86-wrs-vxworks*)
tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h i386/vxi386.h"
thread_file='vxworks'
;;
i[34567]86-*-aout*)
tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h i386/i386-aout.h"
;;
@ -1323,7 +1334,6 @@ i[34567]86-*-uwin*)
;;
i[34567]86-*-interix3*)
tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/i386-interix.h i386/i386-interix3.h interix.h interix3.h"
xm_file="i386/xm-i386-interix.h"
xm_defines=POSIX
tmake_file="t-interix i386/t-interix"
extra_objs=winnt.o
@ -1337,7 +1347,6 @@ i[34567]86-*-interix3*)
;;
i[34567]86-*-interix*)
tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/i386-interix.h interix.h"
xm_file="i386/xm-i386-interix.h"
xm_defines=POSIX
tmake_file="t-interix i386/t-interix"
extra_objs=winnt.o
@ -1348,30 +1357,6 @@ i[34567]86-*-interix*)
tm_file="${tm_file} dbxcoff.h"
fi
;;
i960-wrs-vxworks5 | i960-wrs-vxworks5.0*)
tm_file="${tm_file} i960/vx960.h"
tmake_file=i960/t-vxworks960
use_collect2=yes
thread_file='vxworks'
c_target_objs="i960-c.o"
cxx_target_objs="i960-c.o"
;;
i960-wrs-vxworks5* | i960-wrs-vxworks)
tm_file="${tm_file} dbxcoff.h i960/i960-coff.h i960/vx960-coff.h"
tmake_file=i960/t-vxworks960
use_collect2=yes
thread_file='vxworks'
c_target_objs="i960-c.o"
cxx_target_objs="i960-c.o"
;;
i960-wrs-vxworks*)
tm_file="${tm_file} i960/vx960.h"
tmake_file=i960/t-vxworks960
use_collect2=yes
thread_file='vxworks'
c_target_objs="i960-c.o"
cxx_target_objs="i960-c.o"
;;
i960-*-coff*)
tm_file="${tm_file} dbxcoff.h i960/i960-coff.h libgloss.h"
tmake_file=i960/t-960bare
@ -1425,6 +1410,9 @@ ia64*-*-linux*)
tmake_file="t-slibgcc-elf-ver t-linux ia64/t-ia64 ia64/t-glibc"
target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
if test x"$use_libunwind_exceptions" = xyes; then
tmake_file="$tmake_file t-libunwind"
fi
;;
ia64*-*-hpux*)
tm_file="${tm_file} dbxelf.h elfos.h svr4.h ia64/sysv4.h ia64/hpux.h ia64/hpux_longdouble.h"
@ -1612,11 +1600,6 @@ m68k-sun-sunos*) # For SunOS 4 (the default).
fi
use_collect2=yes
;;
m68k-wrs-vxworks*)
tm_file=m68k/vxm68k.h
tmake_file=m68k/t-vxworks68
thread_file='vxworks'
;;
m68k-*-aout*)
tmake_file=m68k/t-m68kbare
tm_file="m68k/m68k-aout.h libgloss.h"
@ -1758,14 +1741,6 @@ mips-sgi-irix6*) # SGI System V.4., IRIX 6
# thread_file='irix'
# fi
;;
mips-wrs-vxworks)
tm_file="${tm_file} mips/elf.h mips/vxworks.h"
tmake_file=mips/t-ecoff
gas=yes
gnu_ld=yes
extra_parts="crtbegin.o crtend.o"
thread_file='vxworks'
;;
mips-sgi-irix5cross64) # Irix5 host, Irix 6 target, cross64
tm_file="mips/iris6.h mips/cross64.h"
xm_defines=POSIX
@ -1825,7 +1800,7 @@ mips-sgi-*) # would otherwise be caught by mips-*-elf*
mips*-*-netbsd*) # NetBSD/mips, either endian.
target_cpu_default="MASK_GAS|MASK_ABICALLS"
tm_file="elfos.h ${tm_file} mips/netbsd.h"
tmake_file="${tmake_file} mips/t-netbsd"
tmake_file="${tmake_file}"
;;
mips*-*-linux*) # Linux MIPS, either endian.
tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h"
@ -1835,7 +1810,7 @@ mips*-*-linux*) # Linux MIPS, either endian.
tm_defines="MIPS_ISA_DEFAULT=32"
;;
esac
tmake_file="t-slibgcc-elf-ver t-linux mips/t-linux"
tmake_file="t-slibgcc-elf-ver t-linux"
;;
mips*el-*-openbsd*) # mips little endian
target_cpu_default="MASK_GAS|MASK_ABICALLS"
@ -1919,6 +1894,7 @@ mipstx39-*-elf* | mipstx39el-*-elf*)
tmake_file=mips/t-r3900
;;
mmix-knuth-mmixware)
need_64bit_hwint=yes
;;
mn10200-*-*)
tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
@ -1991,10 +1967,11 @@ powerpc-*-darwin*)
# Darwin linker does collect2 functionality
use_collect2=no
extra_headers=altivec.h
# override ppc default
need_64bit_hwint=
;;
powerpc*-*-freebsd*)
tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} rs6000/sysv4.h rs6000/freebsd.h"
xm_file=rs6000/xm-sysv4.h
out_file=rs6000/rs6000.c
tmake_file="rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
;;
@ -2095,23 +2072,19 @@ powerpc-*-gnu*)
fi
;;
powerpc-wrs-vxworks*)
xm_defines=POSIX
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/vxppc.h"
tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
thread_file='vxworks'
;;
# We want vxworks.h after rs6000/sysv4.h, which unfortunately
# means we have to redo the tm_file list from scratch.
tm_file="rs6000/rs6000.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h"
tm_file="${tm_file} vxworks.h rs6000/vxworks.h"
tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-vxworks"
extra_headers=ppc-asm.h
;;
powerpc-wrs-windiss*)
xm_defines=POSIX
tm_file="${tm_file} elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/windiss.h"
tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
thread_file=""
;;
powerpcle-wrs-vxworks*)
xm_defines=POSIX
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/vxppc.h"
tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
thread_file='vxworks'
;;
powerpcle-*-sysv*)
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h"
xm_defines=POSIX
@ -2249,7 +2222,7 @@ sh-*-rtems*)
fi
;;
sh-*-linux* | sh[2346lbe]*-*-linux*)
tmake_file="sh/t-sh sh/t-elf sh/t-linux"
tmake_file="sh/t-sh sh/t-elf t-slibgcc-elf-ver t-linux sh/t-linux"
case $machine in
sh*be-*-* | sh*eb-*-*) ;;
*)
@ -2258,7 +2231,6 @@ sh-*-linux* | sh[2346lbe]*-*-linux*)
;;
esac
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/linux.h"
gas=yes gnu_ld=yes
case $machine in
sh64*)
tmake_file="${tmake_file} sh/t-sh64"
@ -2315,17 +2287,6 @@ sparc-tti-*)
tm_file="${tm_file} sparc/pbd.h"
xm_defines=POSIX
;;
sparc64-wrs-vxworks*)
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h sparc/sol2.h sparc/elf.h sparc/biarch64.h gofast.h sparc/vxsparc64.h"
tmake_file="sparc/t-vxsparc64 sparc/t-crtfm"
use_collect2=yes
;;
sparc-wrs-vxworks* | sparclite-wrs-vxworks*)
tm_file="${tm_file} aoutos.h sparc/aout.h gofast.h sparc/vxsparc.h"
tmake_file=sparc/t-vxsparc
use_collect2=yes
thread_file='vxworks'
;;
sparc-*-aout*)
tmake_file=sparc/t-sparcbare
tm_file="sparc/sparc.h aoutos.h sparc/aout.h libgloss.h"
@ -2348,7 +2309,6 @@ sparc-*-openbsd*)
;;
sparc64-*-openbsd*)
tm_file="sparc/openbsd1-64.h sparc/sparc.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/sp64-elf.h openbsd.h sparc/openbsd64.h"
xm_file=sparc/xm-sp64.h
gas=yes gnu_ld=yes
with_cpu=ultrasparc
;;
@ -2435,6 +2395,7 @@ sparc64-*-solaris2* | sparcv9-*-solaris2*)
thread_file='solaris'
fi
fi
need_64bit_hwint=yes
;;
sparc-hal-solaris2*)
xm_defines=POSIX
@ -2475,6 +2436,7 @@ sparc-*-solaris2*)
tm_file="${tm_file} sparc/sol2-gas-bi.h"
fi
tmake_file="$tmake_file sparc/t-sol2-64"
need_64bit_hwint=yes
;;
esac
xm_defines=POSIX
@ -2515,11 +2477,6 @@ sparc-*-sysv4*)
tmake_file=t-svr4
extra_parts="crtbegin.o crtend.o"
;;
sparc-*-vxsim*)
xm_defines=POSIX
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/vxsim.h"
tmake_file=sparc/t-vxsparc
;;
sparclet-*-aout*)
tm_file="${tm_file} aoutos.h sparc/aout.h sparc/splet.h libgloss.h"
tmake_file=sparc/t-splet
@ -2563,6 +2520,7 @@ sparc64-*-freebsd*|ultrasparc-*-freebsd*)
x) with_cpu=ultrasparc ;;
*) echo "$with_cpu not supported for freebsd target"; exit 1 ;;
esac
need_64bit_hwint=yes
;;
sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux
tmake_file="t-slibgcc-elf-ver t-linux sparc/t-linux64 sparc/t-crtfm"
@ -2666,8 +2624,8 @@ vax-*-ultrix*) # VAXen running ultrix
tm_file="${tm_file} vax/ultrix.h"
;;
vax-*-vms*) # VAXen running VMS
xm_file=vax/xm-vms.h
tm_file=vax/vms.h
echo "Configuration $machine no longer supported" 1>&2
exit 1
;;
vax-*-*) # VAX default entry
;;
@ -2746,6 +2704,9 @@ i586-*-*)
;;
i686-*-* | i786-*-*)
case $target_alias in
k8-*)
target_cpu_default2=TARGET_CPU_DEFAULT_k8
;;
athlon_xp-*|athlon_mp-*|athlon_4-*)
target_cpu_default2=TARGET_CPU_DEFAULT_athlon_sse
;;
@ -2770,7 +2731,7 @@ x86_64-*-*)
# We should have hammer chip here, but it does not exist yet and
# thus it is not supported. Athlon_SSE is probably equivalent feature
# wise to hammer from our point of view except for 64bit mode.
target_cpu_default2=TARGET_CPU_DEFAULT_athlon_sse
target_cpu_default2=TARGET_CPU_DEFAULT_k8
;;
alpha*-*-*)
case $machine in

View File

@ -1,4 +1,4 @@
/* config.in. Generated automatically from configure.in by autoheader. */
/* config.in. Generated automatically from configure.in by autoheader 2.13. */
/* Define if using alloca.c. */
#undef C_ALLOCA
@ -366,10 +366,16 @@
/* Define as the number of bits in a byte, if `limits.h' doesn't. */
#undef CHAR_BIT
/* whether byteorder is bigendian */
#undef WORDS_BIGENDIAN
/* Define if the host machine stores words of multi-word integers in
big-endian order. */
#undef HOST_WORDS_BIG_ENDIAN
/* 1234 = LIL_ENDIAN, 4321 = BIGENDIAN */
#undef BYTEORDER
/* Define to the floating point format of the host machine, if not IEEE. */
#undef HOST_FLOAT_FORMAT
@ -492,6 +498,15 @@
/* Define if host mkdir takes a single argument. */
#undef MKDIR_TAKES_ONE_ARG
/* Define 0/1 to force the choice for exception handling model. */
#undef CONFIG_SJLJ_EXCEPTIONS
/* Define if gcc should use -lunwind. */
#undef USE_LIBUNWIND_EXCEPTIONS
/* Define to 1 if HOST_WIDE_INT must be 64 bits wide (see hwint.h). */
#undef NEED_64BIT_HOST_WIDE_INT
/* Define to the name of a file containing a list of extra machine modes
for this architecture. */
#undef EXTRA_MODES_FILE
@ -596,12 +611,6 @@
/* Define if your MIPS libgloss linker scripts consistently include STARTUP directives. */
#undef HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES
/* Define 0/1 to force the choice for exception handling model. */
#undef CONFIG_SJLJ_EXCEPTIONS
/* Define if gcc should use -lunwind. */
#undef USE_LIBUNWIND_EXCEPTIONS
/* Bison unconditionally undefines `const' if neither `__STDC__' nor
__cplusplus are defined. That's a problem since we use `const' in

View File

@ -23,6 +23,8 @@ Boston, MA 02111-1307, USA. */
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "rtl.h"
#include "tree.h"
#include "regs.h"
@ -118,6 +120,8 @@ int alpha_this_literal_sequence_number;
int alpha_this_gpdisp_sequence_number;
/* Declarations of static functions. */
static bool alpha_function_ok_for_sibcall
PARAMS ((tree, tree));
static int tls_symbolic_operand_1
PARAMS ((rtx, enum machine_mode, int, int));
static enum tls_model tls_symbolic_operand_type
@ -297,6 +301,9 @@ static void unicosmk_unique_section PARAMS ((tree, int));
#undef TARGET_EXPAND_BUILTIN
#define TARGET_EXPAND_BUILTIN alpha_expand_builtin
#undef TARGET_FUNCTION_OK_FOR_SIBCALL
#define TARGET_FUNCTION_OK_FOR_SIBCALL alpha_function_ok_for_sibcall
#if TARGET_ABI_OSF
#undef TARGET_ASM_OUTPUT_MI_THUNK
#define TARGET_ASM_OUTPUT_MI_THUNK alpha_output_mi_thunk_osf
@ -2274,6 +2281,19 @@ alpha_legitimize_address (x, scratch, mode)
}
}
/* We do not allow indirect calls to be optimized into sibling calls, nor
can we allow a call to a function in a different compilation unit to
be optimized into a sibcall. */
static bool
alpha_function_ok_for_sibcall (decl, exp)
tree decl;
tree exp ATTRIBUTE_UNUSED;
{
return (decl
&& (! TREE_PUBLIC (decl)
|| (TREE_ASM_WRITTEN (decl) && (*targetm.binds_local_p) (decl))));
}
/* For TARGET_EXPLICIT_RELOCS, we don't obfuscate a SYMBOL_REF to a
small symbolic operand until after reload. At which point we need
to replace (mem (symbol_ref)) with (mem (lo_sum $29 symbol_ref))
@ -9673,7 +9693,7 @@ unicosmk_output_addr_vec (file, vec)
int vlen = XVECLEN (body, 0);
int idx;
ASM_OUTPUT_INTERNAL_LABEL (file, "L", CODE_LABEL_NUMBER (lab));
(*targetm.asm_out.internal_label) (file, "L", CODE_LABEL_NUMBER (lab));
for (idx = 0; idx < vlen; idx++)
{

View File

@ -1164,14 +1164,6 @@ extern int alpha_memory_latency;
} \
}
/* We do not allow indirect calls to be optimized into sibling calls, nor
can we allow a call to a function in a different compilation unit to
be optimized into a sibcall. */
#define FUNCTION_OK_FOR_SIBCALL(DECL) \
(DECL \
&& (! TREE_PUBLIC (DECL) \
|| (TREE_ASM_WRITTEN (DECL) && (*targetm.binds_local_p) (DECL))))
/* Try to output insns to set TARGET equal to the constant C if it can be
done in less than N insns. Do all computations in MODE. Returns the place
where the output has been placed if it can be done and the insns have been
@ -1285,12 +1277,6 @@ do { \
/* Addressing modes, and classification of registers for them. */
/* #define HAVE_POST_INCREMENT 0 */
/* #define HAVE_POST_DECREMENT 0 */
/* #define HAVE_PRE_DECREMENT 0 */
/* #define HAVE_PRE_INCREMENT 0 */
/* Macros to check register numbers against specific register classes. */
/* These assume that REGNO is a hard or pseudo reg number.
@ -1757,18 +1743,12 @@ do { \
#define USER_LABEL_PREFIX ""
/* This is how to output an internal numbered label where
PREFIX is the class of label and NUM is the number within the class. */
#define ASM_OUTPUT_INTERNAL_LABEL(FILE,PREFIX,NUM) \
fprintf (FILE, "$%s%d:\n", PREFIX, NUM)
/* This is how to output a label for a jump table. Arguments are the same as
for ASM_OUTPUT_INTERNAL_LABEL, except the insn for the jump table is
for (*targetm.asm_out.internal_label), except the insn for the jump table is
passed. */
#define ASM_OUTPUT_CASE_LABEL(FILE,PREFIX,NUM,TABLEINSN) \
{ ASM_OUTPUT_ALIGN (FILE, 2); ASM_OUTPUT_INTERNAL_LABEL (FILE, PREFIX, NUM); }
{ ASM_OUTPUT_ALIGN (FILE, 2); (*targetm.asm_out.internal_label) (FILE, PREFIX, NUM); }
/* This is how to store into the string LABEL
the symbol_ref name of an internal numbered label where
@ -1877,14 +1857,6 @@ do { \
( fputs ("\t.lcomm ", (FILE)), \
assemble_name ((FILE), (NAME)), \
fprintf ((FILE), ",%d\n", (SIZE)))
/* Store in OUTPUT a string (made with alloca) containing
an assembler-name for a local static variable named NAME.
LABELNO is an integer which is different for each call. */
#define ASM_FORMAT_PRIVATE_NAME(OUTPUT, NAME, LABELNO) \
( (OUTPUT) = (char *) alloca (strlen ((NAME)) + 10), \
sprintf ((OUTPUT), "%s.%d", (NAME), (LABELNO)))
/* Print operand X (an rtx) in assembler syntax to file FILE.

View File

@ -4727,20 +4727,19 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi,none"
(use (reg:DI 26))
(clobber (reg:DI 27))]
"TARGET_ABI_OPEN_VMS"
"*
{
switch (which_alternative)
{
case 0:
return \"mov %2,$27\;jsr $26,0\;ldq $27,0($29)\";
return "mov %2,$27\;jsr $26,0\;ldq $27,0($29)";
case 1:
operands [2] = alpha_use_linkage (operands [0], cfun->decl, 1, 0);
operands [3] = alpha_use_linkage (operands [0], cfun->decl, 0, 0);
return \"ldq $26,%3\;ldq $27,%2\;jsr $26,%0\;ldq $27,0($29)\";
return "ldq $26,%3\;ldq $27,%2\;jsr $26,%0\;ldq $27,0($29)";
default:
abort();
}
}"
}
[(set_attr "type" "jsr")
(set_attr "length" "12,16")])
@ -6460,6 +6459,56 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi,none"
FAIL;
})
(define_expand "movstrdi"
[(parallel [(set (match_operand:BLK 0 "memory_operand" "")
(match_operand:BLK 1 "memory_operand" ""))
(use (match_operand:DI 2 "immediate_operand" ""))
(use (match_operand:DI 3 "immediate_operand" ""))
(use (match_dup 4))
(clobber (reg:DI 25))
(clobber (reg:DI 16))
(clobber (reg:DI 17))
(clobber (reg:DI 18))
(clobber (reg:DI 19))
(clobber (reg:DI 20))
(clobber (reg:DI 26))
(clobber (reg:DI 27))])]
"TARGET_ABI_OPEN_VMS"
{
operands[4] = gen_rtx_SYMBOL_REF (Pmode, "OTS$MOVE");
alpha_need_linkage (XSTR (operands[4], 0), 0);
})
(define_insn "*movstrdi_1"
[(set (match_operand:BLK 0 "memory_operand" "=m,=m")
(match_operand:BLK 1 "memory_operand" "m,m"))
(use (match_operand:DI 2 "nonmemory_operand" "r,i"))
(use (match_operand:DI 3 "immediate_operand" ""))
(use (match_operand:DI 4 "call_operand" "i,i"))
(clobber (reg:DI 25))
(clobber (reg:DI 16))
(clobber (reg:DI 17))
(clobber (reg:DI 18))
(clobber (reg:DI 19))
(clobber (reg:DI 20))
(clobber (reg:DI 26))
(clobber (reg:DI 27))]
"TARGET_ABI_OPEN_VMS"
{
operands [5] = alpha_use_linkage (operands [4], cfun->decl, 0, 1);
switch (which_alternative)
{
case 0:
return "lda $16,%0\;bis $31,%2,$17\;lda $18,%1\;ldq $26,%5\;lda $25,3($31)\;jsr $26,%4\;ldq $27,0($29)";
case 1:
return "lda $16,%0\;lda $17,%2($31)\;lda $18,%1\;ldq $26,%5\;lda $25,3($31)\;jsr $26,%4\;ldq $27,0($29)";
default:
abort();
}
}
[(set_attr "type" "multi")
(set_attr "length" "28")])
(define_expand "clrstrqi"
[(parallel [(set (match_operand:BLK 0 "memory_operand" "")
(const_int 0))
@ -6472,6 +6521,51 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi,none"
else
FAIL;
})
(define_expand "clrstrdi"
[(parallel [(set (match_operand:BLK 0 "memory_operand" "")
(const_int 0))
(use (match_operand:DI 1 "immediate_operand" ""))
(use (match_operand:DI 2 "immediate_operand" ""))
(use (match_dup 3))
(clobber (reg:DI 25))
(clobber (reg:DI 16))
(clobber (reg:DI 17))
(clobber (reg:DI 26))
(clobber (reg:DI 27))])]
"TARGET_ABI_OPEN_VMS"
{
operands[3] = gen_rtx_SYMBOL_REF (Pmode, "OTS$ZERO");
alpha_need_linkage (XSTR (operands[3], 0), 0);
})
(define_insn "*clrstrdi_1"
[(set (match_operand:BLK 0 "memory_operand" "=m,=m")
(const_int 0))
(use (match_operand:DI 1 "nonmemory_operand" "r,i"))
(use (match_operand:DI 2 "immediate_operand" ""))
(use (match_operand:DI 3 "call_operand" "i,i"))
(clobber (reg:DI 25))
(clobber (reg:DI 16))
(clobber (reg:DI 17))
(clobber (reg:DI 26))
(clobber (reg:DI 27))]
"TARGET_ABI_OPEN_VMS"
{
operands [4] = alpha_use_linkage (operands [3], cfun->decl, 0, 1);
switch (which_alternative)
{
case 0:
return "lda $16,%0\;bis $31,%1,$17\;ldq $26,%4\;lda $25,2($31)\;jsr $26,%3\;ldq $27,0($29)";
case 1:
return "lda $16,%0\;lda $17,%1($31)\;ldq $26,%4\;lda $25,2($31)\;jsr $26,%3\;ldq $27,0($29)";
default:
abort();
}
}
[(set_attr "type" "multi")
(set_attr "length" "24")])
;; Subroutine of stack space allocation. Perform a stack probe.
(define_expand "probe_stack"
@ -6571,7 +6665,7 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi,none"
""
{
operands[2] = gen_label_rtx ();
ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, "L",
(*targetm.asm_out.internal_label) (asm_out_file, "L",
CODE_LABEL_NUMBER (operands[2]));
return "stq $31,-8192(%1)\;subq %0,1,%0\;lda %1,-8192(%1)\;bne %0,%l2";
@ -7918,20 +8012,19 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi,none"
(use (reg:DI 26))
(clobber (reg:DI 27))]
"TARGET_ABI_OPEN_VMS"
"*
{
switch (which_alternative)
{
case 0:
return \"mov %3,$27\;jsr $26,0\;ldq $27,0($29)\";
return "mov %3,$27\;jsr $26,0\;ldq $27,0($29)";
case 1:
operands [3] = alpha_use_linkage (operands [1], cfun->decl, 1, 0);
operands [4] = alpha_use_linkage (operands [1], cfun->decl, 0, 0);
return \"ldq $26,%4\;ldq $27,%3\;jsr $26,%1\;ldq $27,0($29)\";
return "ldq $26,%4\;ldq $27,%3\;jsr $26,%1\;ldq $27,0($29)";
default:
abort();
}
}"
}
[(set_attr "type" "jsr")
(set_attr "length" "12,16")])

View File

@ -103,7 +103,7 @@ do { \
#define ASM_OUTPUT_CASE_LABEL(FILE, PREFIX, NUM, JUMPTABLE) \
do { \
ASM_OUTPUT_BEFORE_CASE_LABEL (FILE, PREFIX, NUM, JUMPTABLE) \
ASM_OUTPUT_INTERNAL_LABEL (FILE, PREFIX, NUM); \
(*targetm.asm_out.internal_label) (FILE, PREFIX, NUM); \
} while (0)
/* The standard SVR4 assembler seems to require that certain builtin

View File

@ -350,12 +350,12 @@ ssib_section () \
#undef ASM_OUTPUT_SOURCE_FILENAME
/* This is how to output a label for a jump table. Arguments are the same as
for ASM_OUTPUT_INTERNAL_LABEL, except the insn for the jump table is
for (*targetm.asm_out.internal_label), except the insn for the jump table is
passed. */
#undef ASM_OUTPUT_CASE_LABEL
#define ASM_OUTPUT_CASE_LABEL(FILE,PREFIX,NUM,TABLEINSN) \
ASM_OUTPUT_INTERNAL_LABEL (FILE, PREFIX, NUM)
(*targetm.asm_out.internal_label) (FILE, PREFIX, NUM)
/* CAM has some restrictions with respect to string literals. It won't
accept lines with more that 256 characters which means that we have

View File

@ -25,6 +25,8 @@ Boston, MA 02111-1307, USA. */
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#undef PATH_SEPARATOR
#undef PATH_SEPARATOR_STR

View File

@ -26,6 +26,8 @@ Boston, MA 02111-1307, USA. */
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
typedef struct dsc {unsigned short len, mbz; char *adr; } Descr;

View File

@ -306,7 +306,7 @@ extern void literals_section PARAMS ((void));
#undef ASM_OUTPUT_CASE_LABEL
#define ASM_OUTPUT_CASE_LABEL(FILE,PREFIX,NUM,TABLEINSN) \
{ ASM_OUTPUT_ALIGN (FILE, 3); ASM_OUTPUT_INTERNAL_LABEL (FILE, PREFIX, NUM); }
{ ASM_OUTPUT_ALIGN (FILE, 3); (*targetm.asm_out.internal_label) (FILE, PREFIX, NUM); }
/* This says how to output assembler code to declare an
uninitialized external linkage data object. */
@ -448,10 +448,7 @@ do { \
#undef PREFERRED_DEBUGGING_TYPE
#define PREFERRED_DEBUGGING_TYPE VMS_AND_DWARF2_DEBUG
#undef ASM_FORMAT_PRIVATE_NAME
#define ASM_FORMAT_PRIVATE_NAME(OUTPUT, NAME, LABELNO) \
( (OUTPUT) = (char *) alloca (strlen ((NAME)) + 12), \
sprintf ((OUTPUT), "%s___%d", (NAME), (LABELNO)))
#define ASM_PN_FORMAT "%s___%lu"
/* ??? VMS uses different linkage. */
#undef TARGET_ASM_OUTPUT_MI_THUNK

View File

@ -1,55 +0,0 @@
/* Definitions of target machine for GNU compiler. Vxworks Alpha version.
Copyright (C) 1998 Free Software Foundation, Inc.
This file is part of GNU CC.
GNU CC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU CC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
/* This file just exists to give specs for the Alpha running on VxWorks. */
#undef CPP_SUBTARGET_SPEC
#define CPP_SUBTARGET_SPEC "\
%{mvxsim:-DCPU=SIMALPHADUNIX} \
%{!mvxsim: %{!mcpu*|mcpu=21064:-DCPU=21064} %{mcpu=21164:-DCPU=21164}} \
%{posix: -D_POSIX_SOURCE}"
#define TARGET_OS_CPP_BUILTINS() \
do { \
builtin_define ("__vxworks"); \
builtin_define ("__alpha_vxworks"); \
builtin_define ("_LONGLONG"); \
builtin_assert ("system=vxworks"); \
builtin_assert ("system=embedded"); \
} while (0)
/* VxWorks does all the library stuff itself. */
#undef LIB_SPEC
#define LIB_SPEC ""
/* VxWorks uses object files, not loadable images. Make linker just combine
objects. Also show using 32 bit mode and set start of text to 0. */
#undef LINK_SPEC
#define LINK_SPEC "-r -taso -T 0"
/* VxWorks provides the functionality of crt0.o and friends itself. */
#undef STARTFILE_SPEC
#define STARTFILE_SPEC ""
#undef ENDFILE_SPEC
#define ENDFILE_SPEC ""

View File

@ -1,39 +0,0 @@
/* Configuration for GNU compiler
for an DEC/Compaq Alpha
Copyright (C) 1999, 2001 Free Software Foundation, Inc.
Donn Terry, Softway Systems, Inc.
derived from code by Douglas B. Rupp (drupp@cs.washington.edu)
This file is part of GNU CC.
GNU CC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU CC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#define HOST_BITS_PER_WIDE_INT 64
#ifdef __GNUC__
# define HOST_WIDE_INT long long
#else
# define HOST_WIDE_INT __int64
#endif
#define HOST_BITS_PER_WIDEST_INT HOST_BITS_PER_LONGLONG
#ifdef __GNUC__
# define HOST_WIDEST_INT long long
#else
# define HOST_WIDEST_INT __int64
#endif
#define HOST_WIDEST_INT_PRINT_DEC "%lld"
#define HOST_WIDEST_INT_PRINT_UNSIGNED "%llu"
#define HOST_WIDEST_INT_PRINT_HEX "0x%llx"

View File

@ -19,9 +19,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#define HOST_WIDE_INT long long
#define HOST_BITS_PER_WIDE_INT 64
/* A couple of conditionals for execution machine are controlled here. */
#ifndef VMS
#define VMS

View File

@ -1,29 +0,0 @@
/* Configuration for GNU C-compiler for openVMS/Alpha.
Copyright (C) 2001 Free Software Foundation, Inc.
Contributed by Douglas Rupp (rupp@gnat.com).
This file is part of GNU CC.
GNU CC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU CC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#undef HOST_WIDE_INT
/* Since DEC C long != Gnu C long */
#define HOST_PTR_PRINTF "%llx"
#define HOST_WIDE_INT_PRINT_DEC "%lld"
#define HOST_WIDE_INT_PRINT_UNSIGNED "%llu"
#define HOST_WIDE_INT_PRINT_HEX "0x%llx"
#define HOST_WIDE_INT_PRINT_DOUBLE_HEX "0x%llx%016llx"

View File

@ -23,6 +23,8 @@ Boston, MA 02111-1307, USA. */
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
#include "rtl.h"
#include "regs.h"
@ -93,6 +95,7 @@ static bool arc_assemble_integer PARAMS ((rtx, unsigned int, int));
static void arc_output_function_prologue PARAMS ((FILE *, HOST_WIDE_INT));
static void arc_output_function_epilogue PARAMS ((FILE *, HOST_WIDE_INT));
static void arc_encode_section_info PARAMS ((tree, int));
static void arc_internal_label PARAMS ((FILE *, const char *, unsigned long));
/* Initialize the GCC target structure. */
#undef TARGET_ASM_ALIGNED_HI_OP
@ -110,6 +113,8 @@ static void arc_encode_section_info PARAMS ((tree, int));
#define TARGET_ATTRIBUTE_TABLE arc_attribute_table
#undef TARGET_ENCODE_SECTION_INFO
#define TARGET_ENCODE_SECTION_INFO arc_encode_section_info
#undef TARGET_ASM_INTERNAL_LABEL
#define TARGET_ASM_INTERNAL_LABEL arc_internal_label
struct gcc_target targetm = TARGET_INITIALIZER;
@ -1922,7 +1927,7 @@ record_cc_ref (insn)
0 -> 2 final_prescan_insn, if the `target' is an unconditional branch
1 -> 3 branch patterns, after having not output the conditional branch
2 -> 4 branch patterns, after having not output the conditional branch
3 -> 0 ASM_OUTPUT_INTERNAL_LABEL, if the `target' label is reached
3 -> 0 (*targetm.asm_out.internal_label), if the `target' label is reached
(the target label has CODE_LABEL_NUMBER equal to
arc_ccfsm_target_label).
4 -> 0 final_prescan_insn, if `target' unconditional branch is reached
@ -2218,7 +2223,7 @@ arc_final_prescan_insn (insn, opvec, noperands)
/* Record that we are currently outputting label NUM with prefix PREFIX.
It it's the label we're looking for, reset the ccfsm machinery.
Called from ASM_OUTPUT_INTERNAL_LABEL. */
Called from (*targetm.asm_out.internal_label). */
void
arc_ccfsm_at_label (prefix, num)
@ -2358,3 +2363,16 @@ arc_encode_section_info (decl, first)
if (TREE_CODE (decl) == FUNCTION_DECL)
SYMBOL_REF_FLAG (XEXP (DECL_RTL (decl), 0)) = 1;
}
/* This is how to output a definition of an internal numbered label where
PREFIX is the class of label and NUM is the number within the class. */
static void
arc_internal_label (stream, prefix, labelno)
FILE *stream;
const char *prefix;
unsigned long labelno;
{
arc_ccfsm_at_label (prefix, labelno);
default_internal_label (stream, prefix, labelno);
}

View File

@ -1202,7 +1202,7 @@ do { \
compiled for different cpus. */
/* We work around a dwarfout.c deficiency by watching for labels from it and
not adding the '_' prefix nor the cpu suffix. There is a comment in
dwarfout.c that says it should be using ASM_OUTPUT_INTERNAL_LABEL. */
dwarfout.c that says it should be using (*targetm.asm_out.internal_label). */
extern const char *arc_mangle_cpu;
#define ASM_OUTPUT_LABELREF(FILE, NAME) \
do { \
@ -1217,22 +1217,6 @@ do { \
} \
} while (0)
/* This is how to output a definition of an internal numbered label where
PREFIX is the class of label and NUM is the number within the class. */
#undef ASM_OUTPUT_INTERNAL_LABEL
#define ASM_OUTPUT_INTERNAL_LABEL(FILE, PREFIX, NUM) \
do { \
arc_ccfsm_at_label (PREFIX, NUM); \
fprintf (FILE, ".%s%d:\n", PREFIX, NUM); \
} while (0)
/* Store in OUTPUT a string (made with alloca) containing
an assembler-name for a local static variable named NAME.
LABELNO is an integer which is different for each call. */
#define ASM_FORMAT_PRIVATE_NAME(OUTPUT, NAME, LABELNO) \
( (OUTPUT) = (char *) alloca (strlen ((NAME)) + 10), \
sprintf ((OUTPUT), "%s.%d", (NAME), (LABELNO)))
/* Assembler pseudo-op to equate one value with another. */
/* ??? This is needed because dwarfout.c provides a default definition too
late for defaults.h (which contains the default definition of ASM_OUTPUT_DEF

View File

@ -27,7 +27,7 @@ Boston, MA 02111-1307, USA. */
#define LINK_LIBGCC_SPECIAL 1
#define LINK_SPEC "%{aof} %{bin} %{aif} %{ihf} %{shl,*} %{reent*} %{split} \
%{ov*,*} %{reloc*} -nodebug"
%{ov*} %{reloc*} -nodebug"
#define STARTFILE_SPEC "crtbegin.o%s"
@ -267,10 +267,6 @@ do { \
#define ASM_GENERATE_INTERNAL_LABEL(STRING,PREFIX,NUM) \
sprintf ((STRING), "*|%s..%ld|", (PREFIX), (long)(NUM))
#define ASM_FORMAT_PRIVATE_NAME(OUTVAR,NAME,NUMBER) \
((OUTVAR) = (char *) alloca (strlen ((NAME)) + 10), \
sprintf ((OUTVAR), "%s.%d", (NAME), (NUMBER)))
/* How initialization functions are handled */
#define CTORS_SECTION_ASM_OP "\tAREA\t|C$$gnu_ctorsvec|, DATA, READONLY"

View File

@ -127,7 +127,7 @@ Boston, MA 02111-1307, USA. */
output_quoted_string (STREAM, NAME); \
fprintf (STREAM, ",%d,0,315,%s\n", N_SO, &ltext_label_name[1]); \
text_section (); \
ASM_OUTPUT_INTERNAL_LABEL (STREAM, "Ltext", 0); \
(*targetm.asm_out.internal_label) (STREAM, "Ltext", 0); \
} \
while (0)
@ -151,11 +151,6 @@ Boston, MA 02111-1307, USA. */
sprintf (STRING, "*%s%s%u", LOCAL_LABEL_PREFIX, PREFIX, (unsigned int)(NUM))
#endif
/* Construct a private name. */
#define ASM_FORMAT_PRIVATE_NAME(OUTVAR, NAME, NUMBER) \
((OUTVAR) = (char *) alloca (strlen (NAME) + 10), \
sprintf (OUTVAR, "%s.%d", NAME, NUMBER))
/* Output an element of a dispatch table. */
#define ASM_OUTPUT_ADDR_VEC_ELT(STREAM, VALUE) \
asm_fprintf (STREAM, "\t.word\t%LL%d\n", VALUE)

View File

@ -42,7 +42,6 @@ extern unsigned int arm_compute_initial_elimination_offset PARAMS ((unsigned in
#ifdef TREE_CODE
extern int arm_return_in_memory PARAMS ((tree));
extern void arm_encode_call_attribute PARAMS ((tree, int));
extern int arm_function_ok_for_sibcall PARAMS ((tree));
#endif
#ifdef RTX_CODE
extern int arm_hard_regno_mode_ok PARAMS ((unsigned int,

View File

@ -24,6 +24,8 @@ Boston, MA 02111-1307, USA. */
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "rtl.h"
#include "tree.h"
#include "obstack.h"
@ -117,6 +119,7 @@ static void arm_set_default_type_attributes PARAMS ((tree));
static int arm_adjust_cost PARAMS ((rtx, rtx, rtx, int));
static int count_insns_for_constant PARAMS ((HOST_WIDE_INT, int));
static int arm_get_strip_length PARAMS ((int));
static bool arm_function_ok_for_sibcall PARAMS ((tree, tree));
#ifdef OBJECT_FORMAT_ELF
static void arm_elf_asm_named_section PARAMS ((const char *, unsigned int));
#endif
@ -126,6 +129,7 @@ static void arm_encode_section_info PARAMS ((tree, int));
#ifdef AOF_ASSEMBLER
static void aof_globalize_label PARAMS ((FILE *, const char *));
#endif
static void arm_internal_label PARAMS ((FILE *, const char *, unsigned long));
static void arm_output_mi_thunk PARAMS ((FILE *, tree,
HOST_WIDE_INT,
HOST_WIDE_INT, tree));
@ -191,6 +195,12 @@ static void arm_output_mi_thunk PARAMS ((FILE *, tree,
#undef TARGET_STRIP_NAME_ENCODING
#define TARGET_STRIP_NAME_ENCODING arm_strip_name_encoding
#undef TARGET_ASM_INTERNAL_LABEL
#define TARGET_ASM_INTERNAL_LABEL arm_internal_label
#undef TARGET_FUNCTION_OK_FOR_SIBCALL
#define TARGET_FUNCTION_OK_FOR_SIBCALL arm_function_ok_for_sibcall
#undef TARGET_ASM_OUTPUT_MI_THUNK
#define TARGET_ASM_OUTPUT_MI_THUNK arm_output_mi_thunk
#undef TARGET_ASM_CAN_OUTPUT_MI_THUNK
@ -2308,16 +2318,17 @@ arm_is_longcall_p (sym_ref, call_cookie, call_symbol)
/* Return nonzero if it is ok to make a tail-call to DECL. */
int
arm_function_ok_for_sibcall (decl)
static bool
arm_function_ok_for_sibcall (decl, exp)
tree decl;
tree exp ATTRIBUTE_UNUSED;
{
int call_type = TARGET_LONG_CALLS ? CALL_LONG : CALL_NORMAL;
/* Never tailcall something for which we have no decl, or if we
are in Thumb mode. */
if (decl == NULL || TARGET_THUMB)
return 0;
return false;
/* Get the calling method. */
if (lookup_attribute ("short_call", TYPE_ATTRIBUTES (TREE_TYPE (decl))))
@ -2329,20 +2340,20 @@ arm_function_ok_for_sibcall (decl)
a branch instruction. However, if not compiling PIC, we know
we can reach the symbol if it is in this compilation unit. */
if (call_type == CALL_LONG && (flag_pic || !TREE_ASM_WRITTEN (decl)))
return 0;
return false;
/* If we are interworking and the function is not declared static
then we can't tail-call it unless we know that it exists in this
compilation unit (since it might be a Thumb routine). */
if (TARGET_INTERWORK && TREE_PUBLIC (decl) && !TREE_ASM_WRITTEN (decl))
return 0;
return false;
/* Never tailcall from an ISR routine - it needs a special exit sequence. */
if (IS_INTERRUPT (arm_current_func_type ()))
return 0;
return false;
/* Everything else is ok. */
return 1;
return true;
}
@ -8853,7 +8864,7 @@ arm_assemble_integer (x, size, aligned_p)
0 -> 2 final_prescan_insn if the `target' is an unconditional branch
1 -> 3 ASM_OUTPUT_OPCODE after not having output the conditional branch
2 -> 4 ASM_OUTPUT_OPCODE after not having output the conditional branch
3 -> 0 ASM_OUTPUT_INTERNAL_LABEL if the `target' label is reached
3 -> 0 (*targetm.asm_out.internal_label) if the `target' label is reached
(the target label has CODE_LABEL_NUMBER equal to arm_target_label).
4 -> 0 final_prescan_insn if the `target' unconditional branch is reached
(the target insn is arm_target_insn).
@ -11353,6 +11364,21 @@ arm_encode_section_info (decl, first)
}
#endif /* !ARM_PE */
static void
arm_internal_label (stream, prefix, labelno)
FILE *stream;
const char *prefix;
unsigned long labelno;
{
if (arm_ccfsm_state == 3 && (unsigned) arm_target_label == labelno
&& !strcmp (prefix, "L"))
{
arm_ccfsm_state = 0;
arm_target_insn = NULL;
}
default_internal_label (stream, prefix, labelno);
}
/* Output code to add DELTA to the first argument, and then jump
to FUNCTION. Used for C++ multiple inheritance. */
@ -11390,4 +11416,3 @@ arm_output_mi_thunk (file, thunk, delta, vcall_offset, function)
fputs ("(PLT)", file);
fputc ('\n', file);
}

View File

@ -1517,12 +1517,6 @@ typedef struct
arm_va_arg (valist, type)
/* Tail calling. */
/* A C expression that evaluates to true if it is ok to perform a sibling
call to DECL. */
#define FUNCTION_OK_FOR_SIBCALL(DECL) arm_function_ok_for_sibcall ((DECL))
/* Perform any actions needed for a function that is receiving a variable
number of arguments. CUM is as above. MODE and TYPE are the mode and type
of the current parameter. PRETEND_SIZE is a variable that should be set to
@ -2486,25 +2480,6 @@ extern int making_const_table;
#undef ASM_APP_OFF
#define ASM_APP_OFF (TARGET_THUMB ? "\t.code\t16\n" : "")
/* Output an internal label definition. */
#ifndef ASM_OUTPUT_INTERNAL_LABEL
#define ASM_OUTPUT_INTERNAL_LABEL(STREAM, PREFIX, NUM) \
do \
{ \
char * s = (char *) alloca (40 + strlen (PREFIX)); \
\
if (arm_ccfsm_state == 3 && arm_target_label == (NUM) \
&& !strcmp (PREFIX, "L")) \
{ \
arm_ccfsm_state = 0; \
arm_target_insn = NULL; \
} \
ASM_GENERATE_INTERNAL_LABEL (s, (PREFIX), (NUM)); \
ASM_OUTPUT_LABEL (STREAM, s); \
} \
while (0)
#endif
/* Output a push or a pop instruction (only used when profiling). */
#define ASM_OUTPUT_REG_PUSH(STREAM, REGNO) \
if (TARGET_ARM) \
@ -2529,7 +2504,7 @@ extern int making_const_table;
{ \
if (TARGET_THUMB) \
ASM_OUTPUT_ALIGN (FILE, 2); \
ASM_OUTPUT_INTERNAL_LABEL (FILE, PREFIX, NUM); \
(*targetm.asm_out.internal_label) (FILE, PREFIX, NUM); \
} \
while (0)

View File

@ -4206,7 +4206,7 @@
(use (label_ref (match_operand 1 "" "")))]
"TARGET_THUMB && flag_pic"
"*
ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, \"L\",
(*targetm.asm_out.internal_label) (asm_out_file, \"L\",
CODE_LABEL_NUMBER (operands[1]));
return \"add\\t%0, %|pc\";
"
@ -4219,7 +4219,7 @@
(use (label_ref (match_operand 1 "" "")))]
"TARGET_ARM && flag_pic"
"*
ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, \"L\",
(*targetm.asm_out.internal_label) (asm_out_file, \"L\",
CODE_LABEL_NUMBER (operands[1]));
return \"add%?\\t%0, %|pc, %0\";
"

View File

@ -128,26 +128,6 @@ Boston, MA 02111-1307, USA. */
} \
while (0)
#endif
/* Output an internal label definition. */
#undef ASM_OUTPUT_INTERNAL_LABEL
#define ASM_OUTPUT_INTERNAL_LABEL(STREAM, PREFIX, NUM) \
do \
{ \
char * s = (char *) alloca (40 + strlen (PREFIX)); \
extern int arm_target_label, arm_ccfsm_state; \
extern rtx arm_target_insn; \
\
if (arm_ccfsm_state == 3 && arm_target_label == (NUM) \
&& !strcmp (PREFIX, "L")) \
{ \
arm_ccfsm_state = 0; \
arm_target_insn = NULL; \
} \
ASM_GENERATE_INTERNAL_LABEL (s, (PREFIX), (NUM)); \
ASM_OUTPUT_LABEL (STREAM, s); \
} \
while (0)
#undef TARGET_ASM_NAMED_SECTION
#define TARGET_ASM_NAMED_SECTION arm_elf_asm_named_section

View File

@ -21,6 +21,8 @@ Boston, MA 02111-1307, USA. */
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "rtl.h"
#include "output.h"
#include "flags.h"

View File

@ -20,8 +20,8 @@ dp-bit.c: $(srcdir)/config/fp-bit.c
echo '#endif' >> dp-bit.c
cat $(srcdir)/config/fp-bit.c >> dp-bit.c
pe.o: $(srcdir)/config/arm/pe.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) output.h \
flags.h $(TREE_H) $(EXPR_H) toplev.h $(TM_P_H)
pe.o: $(srcdir)/config/arm/pe.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(RTL_H) output.h flags.h $(TREE_H) expr.h toplev.h $(TM_P_H)
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(srcdir)/config/arm/pe.c
MULTILIB_OPTIONS = mhard-float mthumb

View File

@ -20,7 +20,8 @@ dp-bit.c: $(srcdir)/config/fp-bit.c
echo '#endif' >> dp-bit.c
cat $(srcdir)/config/fp-bit.c >> dp-bit.c
pe.o: $(srcdir)/config/arm/pe.c
pe.o: $(srcdir)/config/arm/pe.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(RTL_H) output.h flags.h $(TREE_H) expr.h toplev.h $(TM_P_H)
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(srcdir)/config/arm/pe.c
MULTILIB_OPTIONS = mhard-float/msoft-float

View File

@ -1,71 +0,0 @@
/* Definitions of target machine for GNU compiler,
for ARM with targetting the VXWorks run time environment.
Copyright (C) 1999, 2000 Free Software Foundation, Inc.
Contributed by: Mike Stump <mrs@wrs.com>
This file is part of GNU CC.
GNU CC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU CC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm710
#undef SUBTARGET_CPP_SPEC
#define SUBTARGET_CPP_SPEC \
"%{march=arm710:-DCPU=ARM710A} \
%{march=arm7tdmi:-DCPU=ARM7TDMI} \
%{march=arm810:-DCPU=ARM810} \
%{march=strongarm110:-DCPU=ARMSA110} \
%{!march=*: \
%{mcpu=arm710:-DCPU=ARM710A} \
%{mcpu=arm7tdmi:-DCPU=ARM7TDMI} \
%{mcpu=arm810:-DCPU=ARM810} \
%{mcpu=strongarm110:-DCPU=ARMSA110}} \
%{!mcpu*:%{!march=*:-DCPU=ARM710A}} \
"
#define TARGET_OS_CPP_BUILTINS() \
do { \
builtin_define ("__vxworks"); \
} while (0)
/* VxWorks does all the library stuff itself. */
#undef LIB_SPEC
#define LIB_SPEC ""
/* VxWorks uses object files, not loadable images. make linker just
combine objects. */
#undef LINK_SPEC
#define LINK_SPEC "-r"
/* VxWorks provides the functionality of crt0.o and friends itself. */
#undef STARTFILE_SPEC
#define STARTFILE_SPEC ""
#undef ENDFILE_SPEC
#define ENDFILE_SPEC ""
#undef TARGET_VERSION
#define TARGET_VERSION fputs (" (ARM/VxWorks)", stderr);
#undef ASM_FILE_START
#define ASM_FILE_START(STREAM) \
do \
{ \
fprintf (STREAM, "%s Generated by gcc %s for ARM/VxWorks\n", \
ASM_COMMENT_START, version_string); \
} \
while (0)

View File

@ -21,6 +21,8 @@
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "rtl.h"
#include "regs.h"
#include "hard-reg-set.h"

View File

@ -1307,8 +1307,6 @@ extern int avr_reg_order[];
addressing. */
#define HAVE_PRE_DECREMENT 1
/* #define HAVE_PRE_INCREMENT
#define HAVE_POST_DECREMENT */
/* Similar for other kinds of addressing. */
#define CONSTANT_ADDRESS_P(X) CONSTANT_P (X)
@ -2103,32 +2101,13 @@ do { \
setting the `DECL_ONE_ONLY' flag is enough to mark a declaration to
be emitted as one-only. */
#define ASM_OUTPUT_INTERNAL_LABEL(STREAM, PREFIX, NUM) \
fprintf(STREAM, ".%s%d:\n", PREFIX, NUM)
/* A C statement to output to the stdio stream STREAM a label whose
name is made from the string PREFIX and the number NUM.
It is absolutely essential that these labels be distinct from the
labels used for user-level functions and variables. Otherwise,
certain programs will have name conflicts with internal labels.
It is desirable to exclude internal labels from the symbol table
of the object file. Most assemblers have a naming convention for
labels that should be excluded; on many systems, the letter `L' at
the beginning of a label has this effect. You should find out what
convention your system uses, and follow it.
The usual definition of this macro is as follows:
fprintf (STREAM, "L%s%d:\n", PREFIX, NUM) */
#define ASM_GENERATE_INTERNAL_LABEL(STRING, PREFIX, NUM) \
sprintf (STRING, "*.%s%d", PREFIX, NUM)
/* A C statement to store into the string STRING a label whose name
is made from the string PREFIX and the number NUM.
This string, when output subsequently by `assemble_name', should
produce the output that `ASM_OUTPUT_INTERNAL_LABEL' would produce
produce the output that `(*targetm.asm_out.internal_label)' would produce
with the same PREFIX and NUM.
If the string begins with `*', then `assemble_name' will output
@ -2139,27 +2118,6 @@ sprintf (STRING, "*.%s%d", PREFIX, NUM)
`ASM_OUTPUT_LABELREF' is also part of your machine description, so
you should know what it does on your machine.) */
#define ASM_FORMAT_PRIVATE_NAME(OUTPUT, NAME, LABELNO) \
( (OUTPUT) = (char *) alloca (strlen ((NAME)) + 10), \
sprintf ((OUTPUT), "%s.%d", (NAME), (LABELNO)))
/* A C expression to assign to OUTVAR (which is a variable of type
`char *') a newly allocated string made from the string NAME and
the number NUMBER, with some suitable punctuation added. Use
`alloca' to get space for the string.
The string will be used as an argument to `ASM_OUTPUT_LABELREF' to
produce an assembler label for an internal static variable whose
name is NAME. Therefore, the string must be such as to result in
valid assembler code. The argument NUMBER is different each time
this macro is executed; it prevents conflicts between
similarly-named internal static variables in different scopes.
Ideally this string should not be a valid C identifier, to prevent
any conflict with the user's own symbols. Most assemblers allow
periods or percent signs in assembler symbols; putting at least
one of these between the name and the number will suffice. */
/* `ASM_OUTPUT_WEAK_ALIAS (STREAM, NAME, VALUE)'
A C statement to output to the stdio stream STREAM assembler code
which defines (equates) the weak symbol NAME to have the value
@ -2304,18 +2262,18 @@ sprintf (STRING, "*.%s%d", PREFIX, NUM)
The definition should be a C statement to output to the stdio
stream STREAM an assembler pseudo-instruction to generate a
reference to a label. VALUE is the number of an internal label
whose definition is output using `ASM_OUTPUT_INTERNAL_LABEL'. For
whose definition is output using `(*targetm.asm_out.internal_label)'. For
example,
fprintf (STREAM, "\t.word L%d\n", VALUE) */
#define ASM_OUTPUT_CASE_LABEL(STREAM, PREFIX, NUM, TABLE) \
progmem_section (), ASM_OUTPUT_INTERNAL_LABEL (STREAM, PREFIX, NUM)
progmem_section (), (*targetm.asm_out.internal_label) (STREAM, PREFIX, NUM)
/* `ASM_OUTPUT_CASE_LABEL (STREAM, PREFIX, NUM, TABLE)'
Define this if the label before a jump-table needs to be output
specially. The first three arguments are the same as for
`ASM_OUTPUT_INTERNAL_LABEL'; the fourth argument is the jump-table
`(*targetm.asm_out.internal_label)'; the fourth argument is the jump-table
which follows (a `jump_insn' containing an `addr_vec' or
`addr_diff_vec').
@ -2323,7 +2281,7 @@ sprintf (STRING, "*.%s%d", PREFIX, NUM)
the table.
If this macro is not defined, these labels are output with
`ASM_OUTPUT_INTERNAL_LABEL'. */
`(*targetm.asm_out.internal_label)'. */
/* `ASM_OUTPUT_CASE_END (STREAM, NUM, TABLE)'
Define this if something special must be output at the end of a
@ -2530,14 +2488,6 @@ extern int avr_case_values_threshold;
pass to `cc1plus'. */
#define ASM_SPEC "%{mmcu=*:-mmcu=%*}"
/* A C string constant that tells the GNU CC driver program options to
pass to the assembler. It can also specify how to translate
options you give to GNU CC into options for GNU CC to pass to the
assembler. See the file `sun3.h' for an example of this.
Do not define this macro if it does not need to do anything. */
#define ASM_FINAL_SPEC ""
/* A C string constant that tells the GNU CC driver program how to
run any programs which cleanup after the normal assembler.
Normally, this is not needed. See the file `mips.h' for an

View File

@ -24,6 +24,8 @@ Boston, MA 02111-1307, USA. */
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
#include "toplev.h"
#include "cpplib.h"

View File

@ -25,6 +25,8 @@ Boston, MA 02111-1307, USA. */
/* Some output-actions in c4x.md need these. */
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "rtl.h"
#include "tree.h"
#include "regs.h"

View File

@ -1651,17 +1651,11 @@ fini_section () \
/* The TI assembler wants to have hex numbers this way. */
#undef HOST_WIDE_INT_PRINT_HEX
#ifndef HOST_WIDE_INT_PRINT_HEX
# if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_INT
# define HOST_WIDE_INT_PRINT_HEX "0%xh"
# else
# if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG
# define HOST_WIDE_INT_PRINT_HEX "0%lxh"
# else
# define HOST_WIDE_INT_PRINT_HEX "0%llxh"
# endif
# endif
#endif /* ! HOST_WIDE_INT_PRINT_HEX */
#if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG
# define HOST_WIDE_INT_PRINT_HEX "0%lxh"
#else
# define HOST_WIDE_INT_PRINT_HEX "0%llxh"
#endif
/* Overall Framework of an Assembler File. */
/* We need to have a data section we can identify so that we can set
@ -1724,12 +1718,6 @@ c4x_file_end (FILE)
#define USER_LABEL_PREFIX "_"
/* This is how to output an internal numbered label where
PREFIX is the class of label and NUM is the number within the class. */
#define ASM_OUTPUT_INTERNAL_LABEL(FILE, PREFIX, NUM) \
fprintf (FILE, "%s%d:\n", PREFIX, NUM)
/* This is how to store into the string LABEL
the symbol_ref name of an internal numbered label where
PREFIX is the class of label and NUM is the number within the class.
@ -1738,14 +1726,6 @@ c4x_file_end (FILE)
#define ASM_GENERATE_INTERNAL_LABEL(BUFFER, PREFIX, NUM) \
sprintf (BUFFER, "*%s%d", PREFIX, NUM)
/* Store in OUTPUT a string (made with alloca) containing
an assembler-name for a local static variable named NAME.
LABELNO is an integer which is different for each call. */
#define ASM_FORMAT_PRIVATE_NAME(OUTPUT, NAME, LABELNO) \
( (OUTPUT) = (char *) alloca (strlen ((NAME)) + 10), \
sprintf ((OUTPUT), "%s$%d", (NAME), (LABELNO)))
/* A C statement to output to the stdio stream STREAM assembler code which
defines (equates) the symbol NAME to have the value VALUE. */

View File

@ -7,9 +7,9 @@ LIB1ASMFUNCS = _divsf3 _divsi3 _udivsi3 _umodsi3 _modsi3 _mulsi3 \
TARGET_LIBGCC2_CFLAGS = -Dexit=unused_exit
c4x-c.o: $(srcdir)/config/c4x/c4x-c.c $(CONFIG_H) $(SYSTEM_H) cpplib.h \
$(TREE_H) c-pragma.h toplev.h $(TM_P_H)
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
c4x-c.o: $(srcdir)/config/c4x/c4x-c.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
$(TM_H) $(TREE_H) toplev.h $(CPPLIB_H) c-pragma.h $(TM_P_H)
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(srcdir)/config/c4x/c4x-c.c
MULTILIB_OPTIONS = m30 msmall mmemparm
MULTILIB_DIRNAMES = c3x small mem

View File

@ -21,6 +21,8 @@ Boston, MA 02111-1307, USA. */
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "rtl.h"
#include "regs.h"
#include "hard-reg-set.h"

View File

@ -122,7 +122,7 @@ extern const char *cris_elinux_stacksize_str;
someone will fight for us. This year in the mountains.
Note that for -melinux and -mlinux, command-line -isystem options are
emitted both before and after the synthesized one. We can't remove all
of them: a %{<isystem} will only remove the first one and %{<isystem*}
of them: a %<isystem will only remove the first one and %<isystem*
will not do TRT. Those extra occurrences are harmless anyway. */
#define CPP_SPEC \
"-$ -D__CRIS_ABI_version=2\
@ -1580,28 +1580,11 @@ call_ ## FUNC (void) \
handle (to #undef or ignore it) in a.out. */
#define HAVE_GAS_HIDDEN 1
#undef ASM_OUTPUT_INTERNAL_LABEL
#define ASM_OUTPUT_INTERNAL_LABEL(FILE, PREFIX, NUM) \
do \
{ \
asm_fprintf (FILE, "%L%s%d:\n", PREFIX, NUM); \
} \
while (0)
/* Remove any previous definition (elfos.h). */
#undef ASM_GENERATE_INTERNAL_LABEL
#define ASM_GENERATE_INTERNAL_LABEL(LABEL, PREFIX, NUM) \
sprintf (LABEL, "*%s%s%ld", LOCAL_LABEL_PREFIX, PREFIX, (long) NUM)
#define ASM_FORMAT_PRIVATE_NAME(OUTPUT, NAME, LABELNO) \
do \
{ \
(OUTPUT) = (char *) alloca (strlen ((NAME)) + 10); \
sprintf ((OUTPUT), "%s.%d", (NAME), (LABELNO)); \
} \
while (0)
/* Node: Initialization */
/* (no definitions) */

Some files were not shown because too many files have changed in this diff Show More