tree.h: De-conditionalize init_priority code.
* tree.h: De-conditionalize init_priority code. * mips.h (NM_FLAGS): Change from -Bp to -Bn. * collect2.c (NM_FLAGS): Change from -p to -n. * configure.in: Turn on collect2 for mipstx39-elf. Handle use_collect2=no properly. * c-common.c: De-conditionalize init_priority code. * collect2.c (extract_init_priority, sort_ids): New fns. (main): Call sort_ids. Move sequence_number to file scope. * configure.in: Handle --enable-init-priority. * c-common.c (attrs): Add A_INIT_PRIORITY. (init_attributes, decl_attributes): Likewise. * tree.h (DEFAULT_INIT_PRIORITY, MAX_INIT_PRIORITY): New macros. * tree.c (get_file_function_name_long): Split out... (get_file_function_name): ...from here. cp/: * lang-options.h: Add -finit-priority. * decl2.c: Likewise. Check flag_init_priority instead of USE_INIT_PRIORITY. * decl2.c (setup_initp): New fn. (start_objects, finish_objects, do_ctors): Handle init_priority. (do_dtors, finish_file): Likewise. From-SVN: r21701
This commit is contained in:
parent
db04386fd1
commit
2ce3c6c615
12 changed files with 615 additions and 150 deletions
|
@ -1,3 +1,25 @@
|
||||||
|
Thu Aug 13 17:08:11 1998 Jason Merrill <jason@yorick.cygnus.com>
|
||||||
|
|
||||||
|
* tree.h: De-conditionalize init_priority code.
|
||||||
|
|
||||||
|
* mips.h (NM_FLAGS): Change from -Bp to -Bn.
|
||||||
|
* collect2.c (NM_FLAGS): Change from -p to -n.
|
||||||
|
|
||||||
|
* configure.in: Turn on collect2 for mipstx39-elf.
|
||||||
|
Handle use_collect2=no properly.
|
||||||
|
|
||||||
|
* c-common.c: De-conditionalize init_priority code.
|
||||||
|
* collect2.c (extract_init_priority, sort_ids): New fns.
|
||||||
|
(main): Call sort_ids.
|
||||||
|
Move sequence_number to file scope.
|
||||||
|
|
||||||
|
* configure.in: Handle --enable-init-priority.
|
||||||
|
* c-common.c (attrs): Add A_INIT_PRIORITY.
|
||||||
|
(init_attributes, decl_attributes): Likewise.
|
||||||
|
* tree.h (DEFAULT_INIT_PRIORITY, MAX_INIT_PRIORITY): New macros.
|
||||||
|
* tree.c (get_file_function_name_long): Split out...
|
||||||
|
(get_file_function_name): ...from here.
|
||||||
|
|
||||||
Thu Aug 13 16:09:53 1998 Martin von Loewis <loewis@informatik.hu-berlin.de>
|
Thu Aug 13 16:09:53 1998 Martin von Loewis <loewis@informatik.hu-berlin.de>
|
||||||
|
|
||||||
* expr.c (safe_from_p): Change code to ERROR_MARK only when not
|
* expr.c (safe_from_p): Change code to ERROR_MARK only when not
|
||||||
|
|
|
@ -52,7 +52,8 @@ int skip_evaluation;
|
||||||
enum attrs {A_PACKED, A_NOCOMMON, A_COMMON, A_NORETURN, A_CONST, A_T_UNION,
|
enum attrs {A_PACKED, A_NOCOMMON, A_COMMON, A_NORETURN, A_CONST, A_T_UNION,
|
||||||
A_NO_INSTRUMENT_FUNCTION,
|
A_NO_INSTRUMENT_FUNCTION,
|
||||||
A_CONSTRUCTOR, A_DESTRUCTOR, A_MODE, A_SECTION, A_ALIGNED,
|
A_CONSTRUCTOR, A_DESTRUCTOR, A_MODE, A_SECTION, A_ALIGNED,
|
||||||
A_UNUSED, A_FORMAT, A_FORMAT_ARG, A_WEAK, A_ALIAS};
|
A_UNUSED, A_FORMAT, A_FORMAT_ARG, A_WEAK, A_ALIAS,
|
||||||
|
A_INIT_PRIORITY};
|
||||||
|
|
||||||
enum format_type { printf_format_type, scanf_format_type,
|
enum format_type { printf_format_type, scanf_format_type,
|
||||||
strftime_format_type };
|
strftime_format_type };
|
||||||
|
@ -89,6 +90,12 @@ static int if_stack_pointer = 0;
|
||||||
/* Generate RTL for the start of an if-then, and record the start of it
|
/* Generate RTL for the start of an if-then, and record the start of it
|
||||||
for ambiguous else detection. */
|
for ambiguous else detection. */
|
||||||
|
|
||||||
|
/* A list of objects which have constructors or destructors which
|
||||||
|
reside in the global scope, and have an init_priority attribute
|
||||||
|
associated with them. The decl is stored in the TREE_VALUE slot
|
||||||
|
and the priority number is stored in the TREE_PURPOSE slot. */
|
||||||
|
tree static_aggregates_initp;
|
||||||
|
|
||||||
void
|
void
|
||||||
c_expand_start_cond (cond, exitflag, compstmt_count)
|
c_expand_start_cond (cond, exitflag, compstmt_count)
|
||||||
tree cond;
|
tree cond;
|
||||||
|
@ -383,6 +390,7 @@ init_attributes ()
|
||||||
add_attribute (A_FORMAT_ARG, "format_arg", 1, 1, 1);
|
add_attribute (A_FORMAT_ARG, "format_arg", 1, 1, 1);
|
||||||
add_attribute (A_WEAK, "weak", 0, 0, 1);
|
add_attribute (A_WEAK, "weak", 0, 0, 1);
|
||||||
add_attribute (A_ALIAS, "alias", 1, 1, 1);
|
add_attribute (A_ALIAS, "alias", 1, 1, 1);
|
||||||
|
add_attribute (A_INIT_PRIORITY, "init_priority", 0, 1, 0);
|
||||||
add_attribute (A_NO_INSTRUMENT_FUNCTION, "no_instrument_function", 0, 0, 1);
|
add_attribute (A_NO_INSTRUMENT_FUNCTION, "no_instrument_function", 0, 0, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -859,6 +867,62 @@ decl_attributes (node, attributes, prefix_attributes)
|
||||||
warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
|
warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case A_INIT_PRIORITY:
|
||||||
|
{
|
||||||
|
tree initp_expr = (args ? TREE_VALUE (args): NULL_TREE);
|
||||||
|
int pri;
|
||||||
|
|
||||||
|
if (initp_expr)
|
||||||
|
STRIP_NOPS (initp_expr);
|
||||||
|
|
||||||
|
if (!initp_expr || TREE_CODE (initp_expr) != INTEGER_CST)
|
||||||
|
{
|
||||||
|
error ("requested init_priority is not an integer constant");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
pri = TREE_INT_CST_LOW (initp_expr);
|
||||||
|
|
||||||
|
if (is_type || TREE_CODE (decl) != VAR_DECL
|
||||||
|
|| ! TREE_STATIC (decl)
|
||||||
|
|| DECL_EXTERNAL (decl)
|
||||||
|
|| (TREE_CODE (TREE_TYPE (decl)) != RECORD_TYPE
|
||||||
|
&& TREE_CODE (TREE_TYPE (decl)) != UNION_TYPE)
|
||||||
|
/* Static objects in functions are initialized the
|
||||||
|
first time control passes through that
|
||||||
|
function. This is not precise enough to pin down an
|
||||||
|
init_priority value, so don't allow it. */
|
||||||
|
|| current_function_decl)
|
||||||
|
{
|
||||||
|
error ("can only use init_priority attribute on file-scope definitions of objects of class type");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Check for init_priorities that are reserved for
|
||||||
|
implementation. Reserved for language and runtime
|
||||||
|
support implementations.*/
|
||||||
|
if ((10 <= pri && pri <= 99)
|
||||||
|
/* Reserved for standard library implementations. */
|
||||||
|
|| (500 <= pri && pri <= 999)
|
||||||
|
/* Reserved for objects with no attributes. */
|
||||||
|
|| pri > (MAX_INIT_PRIORITY - 50))
|
||||||
|
{
|
||||||
|
warning
|
||||||
|
("requested init_priority is reserved for internal use");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pri > MAX_INIT_PRIORITY || pri <= 0)
|
||||||
|
{
|
||||||
|
error ("requested init_priority is out of range");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
static_aggregates_initp
|
||||||
|
= perm_tree_cons (initp_expr, decl, static_aggregates_initp);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case A_NO_INSTRUMENT_FUNCTION:
|
case A_NO_INSTRUMENT_FUNCTION:
|
||||||
if (TREE_CODE (decl) != FUNCTION_DECL)
|
if (TREE_CODE (decl) != FUNCTION_DECL)
|
||||||
{
|
{
|
||||||
|
|
|
@ -137,7 +137,7 @@ extern char *make_temp_file PROTO ((char *));
|
||||||
|
|
||||||
/* Default flags to pass to nm. */
|
/* Default flags to pass to nm. */
|
||||||
#ifndef NM_FLAGS
|
#ifndef NM_FLAGS
|
||||||
#define NM_FLAGS "-p"
|
#define NM_FLAGS "-n"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* OBJECT_FORMAT_NONE */
|
#endif /* OBJECT_FORMAT_NONE */
|
||||||
|
@ -280,6 +280,8 @@ static void do_wait PROTO((char *));
|
||||||
static void fork_execute PROTO((char *, char **));
|
static void fork_execute PROTO((char *, char **));
|
||||||
static void maybe_unlink PROTO((char *));
|
static void maybe_unlink PROTO((char *));
|
||||||
static void add_to_list PROTO((struct head *, char *));
|
static void add_to_list PROTO((struct head *, char *));
|
||||||
|
static int extract_init_priority PROTO((char *));
|
||||||
|
static void sort_ids PROTO((struct head *));
|
||||||
static void write_list PROTO((FILE *, char *, struct id *));
|
static void write_list PROTO((FILE *, char *, struct id *));
|
||||||
#ifdef COLLECT_EXPORT_LIST
|
#ifdef COLLECT_EXPORT_LIST
|
||||||
static void dump_list PROTO((FILE *, char *, struct id *));
|
static void dump_list PROTO((FILE *, char *, struct id *));
|
||||||
|
@ -1483,6 +1485,10 @@ main (argc, argv)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Sort ctor and dtor lists by priority. */
|
||||||
|
sort_ids (&constructors);
|
||||||
|
sort_ids (&destructors);
|
||||||
|
|
||||||
maybe_unlink(output_file);
|
maybe_unlink(output_file);
|
||||||
outf = fopen (c_file, "w");
|
outf = fopen (c_file, "w");
|
||||||
if (outf == (FILE *) 0)
|
if (outf == (FILE *) 0)
|
||||||
|
@ -1697,6 +1703,8 @@ maybe_unlink (file)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static long sequence_number = 0;
|
||||||
|
|
||||||
/* Add a name to a linked list. */
|
/* Add a name to a linked list. */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -1707,7 +1715,6 @@ add_to_list (head_ptr, name)
|
||||||
struct id *newid
|
struct id *newid
|
||||||
= (struct id *) xcalloc (sizeof (struct id) + strlen (name), 1);
|
= (struct id *) xcalloc (sizeof (struct id) + strlen (name), 1);
|
||||||
struct id *p;
|
struct id *p;
|
||||||
static long sequence_number = 0;
|
|
||||||
strcpy (newid->name, name);
|
strcpy (newid->name, name);
|
||||||
|
|
||||||
if (head_ptr->first)
|
if (head_ptr->first)
|
||||||
|
@ -1732,6 +1739,67 @@ add_to_list (head_ptr, name)
|
||||||
head_ptr->number++;
|
head_ptr->number++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Grab the init priority number from an init function name that
|
||||||
|
looks like "_GLOBAL_.I.12345.foo". */
|
||||||
|
|
||||||
|
static int
|
||||||
|
extract_init_priority (name)
|
||||||
|
char *name;
|
||||||
|
{
|
||||||
|
int pos = 0;
|
||||||
|
|
||||||
|
while (name[pos] == '_')
|
||||||
|
++pos;
|
||||||
|
pos += 10; /* strlen ("GLOBAL__X_") */
|
||||||
|
|
||||||
|
/* Extract init_p number from ctor/dtor name. */
|
||||||
|
return strtoul(name + pos, NULL, 10);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Insertion sort the ids from ctor/dtor list HEAD_PTR in descending order.
|
||||||
|
ctors will be run from right to left, dtors from left to right. */
|
||||||
|
|
||||||
|
static void
|
||||||
|
sort_ids (head_ptr)
|
||||||
|
struct head *head_ptr;
|
||||||
|
{
|
||||||
|
/* id holds the current element to insert. id_next holds the next
|
||||||
|
element to insert. id_ptr iterates through the already sorted elements
|
||||||
|
looking for the place to insert id. */
|
||||||
|
struct id *id, *id_next, **id_ptr;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
id = head_ptr->first;
|
||||||
|
|
||||||
|
/* We don't have any sorted elements yet. */
|
||||||
|
head_ptr->first = NULL;
|
||||||
|
|
||||||
|
for (; id; id = id_next)
|
||||||
|
{
|
||||||
|
id_next = id->next;
|
||||||
|
id->sequence = extract_init_priority (id->name);
|
||||||
|
|
||||||
|
for (id_ptr = &(head_ptr->first); ; id_ptr = &((*id_ptr)->next))
|
||||||
|
if (*id_ptr == NULL
|
||||||
|
/* If the sequence numbers are the same, we put the id from the
|
||||||
|
file later on the command line later in the list. */
|
||||||
|
|| id->sequence > (*id_ptr)->sequence
|
||||||
|
/* Hack: do lexical compare, too.
|
||||||
|
|| (id->sequence == (*id_ptr)->sequence
|
||||||
|
&& strcmp (id->name, (*id_ptr)->name) > 0) */
|
||||||
|
)
|
||||||
|
{
|
||||||
|
id->next = *id_ptr;
|
||||||
|
*id_ptr = id;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Now set the sequence numbers properly so write_c_file works. */
|
||||||
|
for (id = head_ptr->first; id; id = id->next)
|
||||||
|
id->sequence = ++sequence_number;
|
||||||
|
}
|
||||||
|
|
||||||
/* Write: `prefix', the names on list LIST, `suffix'. */
|
/* Write: `prefix', the names on list LIST, `suffix'. */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -716,7 +716,7 @@ while (0)
|
||||||
|
|
||||||
/* Tell collect what flags to pass to nm. */
|
/* Tell collect what flags to pass to nm. */
|
||||||
#ifndef NM_FLAGS
|
#ifndef NM_FLAGS
|
||||||
#define NM_FLAGS "-Bp"
|
#define NM_FLAGS "-Bn"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
287
gcc/configure
vendored
287
gcc/configure
vendored
|
@ -1,7 +1,7 @@
|
||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
|
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# Guess values for system-dependent variables and create Makefiles.
|
||||||
# Generated automatically using autoconf version 2.12.1
|
# Generated automatically using autoconf version 2.12.2
|
||||||
# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
|
# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This configure script is free software; the Free Software Foundation
|
# This configure script is free software; the Free Software Foundation
|
||||||
|
@ -36,6 +36,11 @@ ac_help="$ac_help
|
||||||
targets which normally enable it."
|
targets which normally enable it."
|
||||||
ac_help="$ac_help
|
ac_help="$ac_help
|
||||||
--with-fast-fixincludes Use a faster fixinclude program. Experimental"
|
--with-fast-fixincludes Use a faster fixinclude program. Experimental"
|
||||||
|
ac_help="$ac_help
|
||||||
|
--enable-init-priority Use attributes to assign initialization order
|
||||||
|
for static objects.
|
||||||
|
--disable-init-priority Conform to ISO C++ rules for ordering static objects
|
||||||
|
(i.e. initialized in order of declaration). "
|
||||||
ac_help="$ac_help
|
ac_help="$ac_help
|
||||||
--enable-threads enable thread usage for target GCC.
|
--enable-threads enable thread usage for target GCC.
|
||||||
--enable-threads=LIB use LIB thread package for target GCC."
|
--enable-threads=LIB use LIB thread package for target GCC."
|
||||||
|
@ -361,7 +366,7 @@ EOF
|
||||||
verbose=yes ;;
|
verbose=yes ;;
|
||||||
|
|
||||||
-version | --version | --versio | --versi | --vers)
|
-version | --version | --versio | --versi | --vers)
|
||||||
echo "configure generated by autoconf version 2.12.1"
|
echo "configure generated by autoconf version 2.12.2"
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
|
|
||||||
-with-* | --with-*)
|
-with-* | --with-*)
|
||||||
|
@ -531,9 +536,11 @@ ac_ext=c
|
||||||
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
|
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
|
||||||
ac_cpp='$CPP $CPPFLAGS'
|
ac_cpp='$CPP $CPPFLAGS'
|
||||||
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
|
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
|
||||||
ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 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
|
cross_compiling=$ac_cv_prog_cc_cross
|
||||||
|
|
||||||
|
ac_exeext=
|
||||||
|
ac_objext=o
|
||||||
if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
|
if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
|
||||||
# Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
|
# Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
|
||||||
if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
|
if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
|
||||||
|
@ -694,6 +701,16 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# Enable init_priority.
|
||||||
|
# Check whether --enable-init-priority or --disable-init-priority was given.
|
||||||
|
if test "${enable_init_priority+set}" = set; then
|
||||||
|
enableval="$enable_init_priority"
|
||||||
|
if [ x$enable_init_priority != xno ]; then
|
||||||
|
extra_c_flags=-DUSE_INIT_PRIORITY
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
# Enable threads
|
# Enable threads
|
||||||
# Pass with no value to take the default
|
# Pass with no value to take the default
|
||||||
# Pass with a value to specify a thread package
|
# Pass with a value to specify a thread package
|
||||||
|
@ -777,7 +794,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo $ac_n "checking host system type""... $ac_c" 1>&6
|
echo $ac_n "checking host system type""... $ac_c" 1>&6
|
||||||
echo "configure:781: checking host system type" >&5
|
echo "configure:798: checking host system type" >&5
|
||||||
|
|
||||||
host_alias=$host
|
host_alias=$host
|
||||||
case "$host_alias" in
|
case "$host_alias" in
|
||||||
|
@ -798,7 +815,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
|
||||||
echo "$ac_t""$host" 1>&6
|
echo "$ac_t""$host" 1>&6
|
||||||
|
|
||||||
echo $ac_n "checking target system type""... $ac_c" 1>&6
|
echo $ac_n "checking target system type""... $ac_c" 1>&6
|
||||||
echo "configure:802: checking target system type" >&5
|
echo "configure:819: checking target system type" >&5
|
||||||
|
|
||||||
target_alias=$target
|
target_alias=$target
|
||||||
case "$target_alias" in
|
case "$target_alias" in
|
||||||
|
@ -816,7 +833,7 @@ target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
|
||||||
echo "$ac_t""$target" 1>&6
|
echo "$ac_t""$target" 1>&6
|
||||||
|
|
||||||
echo $ac_n "checking build system type""... $ac_c" 1>&6
|
echo $ac_n "checking build system type""... $ac_c" 1>&6
|
||||||
echo "configure:820: checking build system type" >&5
|
echo "configure:837: checking build system type" >&5
|
||||||
|
|
||||||
build_alias=$build
|
build_alias=$build
|
||||||
case "$build_alias" in
|
case "$build_alias" in
|
||||||
|
@ -843,14 +860,14 @@ test "$host_alias" != "$target_alias" &&
|
||||||
# Extract the first word of "gcc", so it can be a program name with args.
|
# Extract the first word of "gcc", so it can be a program name with args.
|
||||||
set dummy gcc; ac_word=$2
|
set dummy gcc; ac_word=$2
|
||||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||||
echo "configure:847: checking for $ac_word" >&5
|
echo "configure:864: checking for $ac_word" >&5
|
||||||
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
|
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
if test -n "$CC"; then
|
if test -n "$CC"; then
|
||||||
ac_cv_prog_CC="$CC" # Let the user override the test.
|
ac_cv_prog_CC="$CC" # Let the user override the test.
|
||||||
else
|
else
|
||||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
|
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
|
||||||
for ac_dir in $PATH; do
|
for ac_dir in $PATH; do
|
||||||
test -z "$ac_dir" && ac_dir=.
|
test -z "$ac_dir" && ac_dir=.
|
||||||
if test -f $ac_dir/$ac_word; then
|
if test -f $ac_dir/$ac_word; then
|
||||||
|
@ -872,14 +889,14 @@ if test -z "$CC"; then
|
||||||
# Extract the first word of "cc", so it can be a program name with args.
|
# Extract the first word of "cc", so it can be a program name with args.
|
||||||
set dummy cc; ac_word=$2
|
set dummy cc; ac_word=$2
|
||||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||||
echo "configure:876: checking for $ac_word" >&5
|
echo "configure:893: checking for $ac_word" >&5
|
||||||
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
|
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
if test -n "$CC"; then
|
if test -n "$CC"; then
|
||||||
ac_cv_prog_CC="$CC" # Let the user override the test.
|
ac_cv_prog_CC="$CC" # Let the user override the test.
|
||||||
else
|
else
|
||||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
|
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
|
||||||
ac_prog_rejected=no
|
ac_prog_rejected=no
|
||||||
for ac_dir in $PATH; do
|
for ac_dir in $PATH; do
|
||||||
test -z "$ac_dir" && ac_dir=.
|
test -z "$ac_dir" && ac_dir=.
|
||||||
|
@ -916,25 +933,58 @@ else
|
||||||
echo "$ac_t""no" 1>&6
|
echo "$ac_t""no" 1>&6
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if test -z "$CC"; then
|
||||||
|
case "`uname -s`" in
|
||||||
|
*win32* | *WIN32*)
|
||||||
|
# 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:943: 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
|
||||||
|
if test -n "$CC"; then
|
||||||
|
ac_cv_prog_CC="$CC" # Let the user override the test.
|
||||||
|
else
|
||||||
|
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
|
||||||
|
for ac_dir in $PATH; do
|
||||||
|
test -z "$ac_dir" && ac_dir=.
|
||||||
|
if test -f $ac_dir/$ac_word; then
|
||||||
|
ac_cv_prog_CC="cl"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
IFS="$ac_save_ifs"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
CC="$ac_cv_prog_CC"
|
||||||
|
if test -n "$CC"; then
|
||||||
|
echo "$ac_t""$CC" 1>&6
|
||||||
|
else
|
||||||
|
echo "$ac_t""no" 1>&6
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
|
test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
|
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
|
||||||
echo "configure:924: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
|
echo "configure:974: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
|
||||||
|
|
||||||
ac_ext=c
|
ac_ext=c
|
||||||
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
|
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
|
||||||
ac_cpp='$CPP $CPPFLAGS'
|
ac_cpp='$CPP $CPPFLAGS'
|
||||||
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
|
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
|
||||||
ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 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
|
cross_compiling=$ac_cv_prog_cc_cross
|
||||||
|
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 934 "configure"
|
#line 984 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
main(){return(0);}
|
main(){return(0);}
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo configure:938: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
|
if { (eval echo configure:988: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||||
ac_cv_prog_cc_works=yes
|
ac_cv_prog_cc_works=yes
|
||||||
# If we can't run a trivial program, we are probably using a cross compiler.
|
# If we can't run a trivial program, we are probably using a cross compiler.
|
||||||
if (./conftest; exit) 2>/dev/null; then
|
if (./conftest; exit) 2>/dev/null; then
|
||||||
|
@ -954,12 +1004,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; }
|
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
|
||||||
fi
|
fi
|
||||||
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
|
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
|
||||||
echo "configure:958: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
|
echo "configure:1008: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
|
||||||
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
|
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
|
||||||
cross_compiling=$ac_cv_prog_cc_cross
|
cross_compiling=$ac_cv_prog_cc_cross
|
||||||
|
|
||||||
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
|
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
|
||||||
echo "configure:963: checking whether we are using GNU C" >&5
|
echo "configure:1013: checking whether we are using GNU C" >&5
|
||||||
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
|
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
|
@ -968,7 +1018,7 @@ else
|
||||||
yes;
|
yes;
|
||||||
#endif
|
#endif
|
||||||
EOF
|
EOF
|
||||||
if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:972: \"$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:1022: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
|
||||||
ac_cv_prog_gcc=yes
|
ac_cv_prog_gcc=yes
|
||||||
else
|
else
|
||||||
ac_cv_prog_gcc=no
|
ac_cv_prog_gcc=no
|
||||||
|
@ -979,11 +1029,15 @@ echo "$ac_t""$ac_cv_prog_gcc" 1>&6
|
||||||
|
|
||||||
if test $ac_cv_prog_gcc = yes; then
|
if test $ac_cv_prog_gcc = yes; then
|
||||||
GCC=yes
|
GCC=yes
|
||||||
|
else
|
||||||
|
GCC=
|
||||||
|
fi
|
||||||
|
|
||||||
ac_test_CFLAGS="${CFLAGS+set}"
|
ac_test_CFLAGS="${CFLAGS+set}"
|
||||||
ac_save_CFLAGS="$CFLAGS"
|
ac_save_CFLAGS="$CFLAGS"
|
||||||
CFLAGS=
|
CFLAGS=
|
||||||
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
|
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
|
||||||
echo "configure:987: checking whether ${CC-cc} accepts -g" >&5
|
echo "configure:1041: checking whether ${CC-cc} accepts -g" >&5
|
||||||
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
|
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
|
@ -1001,17 +1055,21 @@ echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
|
||||||
if test "$ac_test_CFLAGS" = set; then
|
if test "$ac_test_CFLAGS" = set; then
|
||||||
CFLAGS="$ac_save_CFLAGS"
|
CFLAGS="$ac_save_CFLAGS"
|
||||||
elif test $ac_cv_prog_cc_g = yes; then
|
elif test $ac_cv_prog_cc_g = yes; then
|
||||||
|
if test "$GCC" = yes; then
|
||||||
CFLAGS="-g -O2"
|
CFLAGS="-g -O2"
|
||||||
else
|
else
|
||||||
CFLAGS="-O2"
|
CFLAGS="-g"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
GCC=
|
if test "$GCC" = yes; then
|
||||||
test "${CFLAGS+set}" = set || CFLAGS="-g"
|
CFLAGS="-O2"
|
||||||
|
else
|
||||||
|
CFLAGS=
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
|
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
|
||||||
echo "configure:1015: checking whether ${MAKE-make} sets \${MAKE}" >&5
|
echo "configure:1073: checking whether ${MAKE-make} sets \${MAKE}" >&5
|
||||||
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
|
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
|
if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
|
@ -1044,14 +1102,14 @@ do
|
||||||
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
||||||
set dummy $ac_prog; ac_word=$2
|
set dummy $ac_prog; ac_word=$2
|
||||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||||
echo "configure:1048: checking for $ac_word" >&5
|
echo "configure:1106: checking for $ac_word" >&5
|
||||||
if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then
|
if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
if test -n "$AWK"; then
|
if test -n "$AWK"; then
|
||||||
ac_cv_prog_AWK="$AWK" # Let the user override the test.
|
ac_cv_prog_AWK="$AWK" # Let the user override the test.
|
||||||
else
|
else
|
||||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
|
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
|
||||||
for ac_dir in $PATH; do
|
for ac_dir in $PATH; do
|
||||||
test -z "$ac_dir" && ac_dir=.
|
test -z "$ac_dir" && ac_dir=.
|
||||||
if test -f $ac_dir/$ac_word; then
|
if test -f $ac_dir/$ac_word; then
|
||||||
|
@ -1075,14 +1133,14 @@ done
|
||||||
# Extract the first word of "flex", so it can be a program name with args.
|
# Extract the first word of "flex", so it can be a program name with args.
|
||||||
set dummy flex; ac_word=$2
|
set dummy flex; ac_word=$2
|
||||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||||
echo "configure:1079: checking for $ac_word" >&5
|
echo "configure:1137: checking for $ac_word" >&5
|
||||||
if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then
|
if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
if test -n "$LEX"; then
|
if test -n "$LEX"; then
|
||||||
ac_cv_prog_LEX="$LEX" # Let the user override the test.
|
ac_cv_prog_LEX="$LEX" # Let the user override the test.
|
||||||
else
|
else
|
||||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
|
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
|
||||||
for ac_dir in $PATH; do
|
for ac_dir in $PATH; do
|
||||||
test -z "$ac_dir" && ac_dir=.
|
test -z "$ac_dir" && ac_dir=.
|
||||||
if test -f $ac_dir/$ac_word; then
|
if test -f $ac_dir/$ac_word; then
|
||||||
|
@ -1108,7 +1166,7 @@ then
|
||||||
*) ac_lib=l ;;
|
*) ac_lib=l ;;
|
||||||
esac
|
esac
|
||||||
echo $ac_n "checking for yywrap in -l$ac_lib""... $ac_c" 1>&6
|
echo $ac_n "checking for yywrap in -l$ac_lib""... $ac_c" 1>&6
|
||||||
echo "configure:1112: checking for yywrap in -l$ac_lib" >&5
|
echo "configure:1170: checking for yywrap in -l$ac_lib" >&5
|
||||||
ac_lib_var=`echo $ac_lib'_'yywrap | sed 'y%./+-%__p_%'`
|
ac_lib_var=`echo $ac_lib'_'yywrap | sed 'y%./+-%__p_%'`
|
||||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
|
@ -1116,7 +1174,7 @@ else
|
||||||
ac_save_LIBS="$LIBS"
|
ac_save_LIBS="$LIBS"
|
||||||
LIBS="-l$ac_lib $LIBS"
|
LIBS="-l$ac_lib $LIBS"
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 1120 "configure"
|
#line 1178 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
/* Override any gcc2 internal prototype to avoid an error. */
|
/* Override any gcc2 internal prototype to avoid an error. */
|
||||||
/* We use char because int might match the return type of a gcc2
|
/* We use char because int might match the return type of a gcc2
|
||||||
|
@ -1127,7 +1185,7 @@ int main() {
|
||||||
yywrap()
|
yywrap()
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo configure:1131: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
|
if { (eval echo configure:1189: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||||
else
|
else
|
||||||
|
@ -1150,7 +1208,7 @@ fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo $ac_n "checking whether ln works""... $ac_c" 1>&6
|
echo $ac_n "checking whether ln works""... $ac_c" 1>&6
|
||||||
echo "configure:1154: checking whether ln works" >&5
|
echo "configure:1212: checking whether ln works" >&5
|
||||||
if eval "test \"`echo '$''{'gcc_cv_prog_LN'+set}'`\" = set"; then
|
if eval "test \"`echo '$''{'gcc_cv_prog_LN'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
|
@ -1182,7 +1240,7 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
|
echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
|
||||||
echo "configure:1186: checking whether ln -s works" >&5
|
echo "configure:1244: checking whether ln -s works" >&5
|
||||||
if eval "test \"`echo '$''{'gcc_cv_prog_LN_S'+set}'`\" = set"; then
|
if eval "test \"`echo '$''{'gcc_cv_prog_LN_S'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
|
@ -1214,19 +1272,19 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo $ac_n "checking for volatile""... $ac_c" 1>&6
|
echo $ac_n "checking for volatile""... $ac_c" 1>&6
|
||||||
echo "configure:1218: checking for volatile" >&5
|
echo "configure:1276: checking for volatile" >&5
|
||||||
if eval "test \"`echo '$''{'gcc_cv_c_volatile'+set}'`\" = set"; then
|
if eval "test \"`echo '$''{'gcc_cv_c_volatile'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 1223 "configure"
|
#line 1281 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
volatile int foo;
|
volatile int foo;
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo configure:1230: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
if { (eval echo configure:1288: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
gcc_cv_c_volatile=yes
|
gcc_cv_c_volatile=yes
|
||||||
else
|
else
|
||||||
|
@ -1249,14 +1307,14 @@ fi
|
||||||
# Extract the first word of "ranlib", so it can be a program name with args.
|
# Extract the first word of "ranlib", so it can be a program name with args.
|
||||||
set dummy ranlib; ac_word=$2
|
set dummy ranlib; ac_word=$2
|
||||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||||
echo "configure:1253: checking for $ac_word" >&5
|
echo "configure:1311: checking for $ac_word" >&5
|
||||||
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
|
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
if test -n "$RANLIB"; then
|
if test -n "$RANLIB"; then
|
||||||
ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
|
ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
|
||||||
else
|
else
|
||||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
|
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
|
||||||
for ac_dir in $PATH; do
|
for ac_dir in $PATH; do
|
||||||
test -z "$ac_dir" && ac_dir=.
|
test -z "$ac_dir" && ac_dir=.
|
||||||
if test -f $ac_dir/$ac_word; then
|
if test -f $ac_dir/$ac_word; then
|
||||||
|
@ -1280,14 +1338,14 @@ do
|
||||||
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
||||||
set dummy $ac_prog; ac_word=$2
|
set dummy $ac_prog; ac_word=$2
|
||||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||||
echo "configure:1284: checking for $ac_word" >&5
|
echo "configure:1342: checking for $ac_word" >&5
|
||||||
if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then
|
if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
if test -n "$YACC"; then
|
if test -n "$YACC"; then
|
||||||
ac_cv_prog_YACC="$YACC" # Let the user override the test.
|
ac_cv_prog_YACC="$YACC" # Let the user override the test.
|
||||||
else
|
else
|
||||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
|
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
|
||||||
for ac_dir in $PATH; do
|
for ac_dir in $PATH; do
|
||||||
test -z "$ac_dir" && ac_dir=.
|
test -z "$ac_dir" && ac_dir=.
|
||||||
if test -f $ac_dir/$ac_word; then
|
if test -f $ac_dir/$ac_word; then
|
||||||
|
@ -1320,7 +1378,7 @@ test -n "$YACC" || YACC="yacc"
|
||||||
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
|
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
|
||||||
# ./install, which can be erroneously created by make from ./install.sh.
|
# ./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 $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
|
||||||
echo "configure:1324: checking for a BSD compatible install" >&5
|
echo "configure:1382: checking for a BSD compatible install" >&5
|
||||||
if test -z "$INSTALL"; then
|
if test -z "$INSTALL"; then
|
||||||
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
|
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
|
@ -1371,7 +1429,7 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
|
||||||
|
|
||||||
|
|
||||||
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
|
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
|
||||||
echo "configure:1375: checking how to run the C preprocessor" >&5
|
echo "configure:1433: checking how to run the C preprocessor" >&5
|
||||||
# On Suns, sometimes $CPP names a directory.
|
# On Suns, sometimes $CPP names a directory.
|
||||||
if test -n "$CPP" && test -d "$CPP"; then
|
if test -n "$CPP" && test -d "$CPP"; then
|
||||||
CPP=
|
CPP=
|
||||||
|
@ -1386,14 +1444,14 @@ else
|
||||||
# On the NeXT, cc -E runs the code through the compiler's parser,
|
# On the NeXT, cc -E runs the code through the compiler's parser,
|
||||||
# not just through cpp.
|
# not just through cpp.
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 1390 "configure"
|
#line 1448 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
Syntax Error
|
Syntax Error
|
||||||
EOF
|
EOF
|
||||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||||
{ (eval echo configure:1396: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
{ (eval echo configure:1454: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||||
ac_err=`grep -v '^ *+' conftest.out`
|
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||||
if test -z "$ac_err"; then
|
if test -z "$ac_err"; then
|
||||||
:
|
:
|
||||||
else
|
else
|
||||||
|
@ -1403,14 +1461,31 @@ else
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
CPP="${CC-cc} -E -traditional-cpp"
|
CPP="${CC-cc} -E -traditional-cpp"
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 1407 "configure"
|
#line 1465 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
Syntax Error
|
Syntax Error
|
||||||
EOF
|
EOF
|
||||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||||
{ (eval echo configure:1413: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
{ (eval echo configure:1471: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||||
ac_err=`grep -v '^ *+' conftest.out`
|
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||||
|
if test -z "$ac_err"; then
|
||||||
|
:
|
||||||
|
else
|
||||||
|
echo "$ac_err" >&5
|
||||||
|
echo "configure: failed program was:" >&5
|
||||||
|
cat conftest.$ac_ext >&5
|
||||||
|
rm -rf conftest*
|
||||||
|
CPP="${CC-cc} -nologo -E"
|
||||||
|
cat > conftest.$ac_ext <<EOF
|
||||||
|
#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: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
|
if test -z "$ac_err"; then
|
||||||
:
|
:
|
||||||
else
|
else
|
||||||
|
@ -1422,6 +1497,8 @@ else
|
||||||
fi
|
fi
|
||||||
rm -f conftest*
|
rm -f conftest*
|
||||||
fi
|
fi
|
||||||
|
rm -f conftest*
|
||||||
|
fi
|
||||||
rm -f conftest*
|
rm -f conftest*
|
||||||
ac_cv_prog_CPP="$CPP"
|
ac_cv_prog_CPP="$CPP"
|
||||||
fi
|
fi
|
||||||
|
@ -1432,12 +1509,12 @@ fi
|
||||||
echo "$ac_t""$CPP" 1>&6
|
echo "$ac_t""$CPP" 1>&6
|
||||||
|
|
||||||
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
|
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
|
||||||
echo "configure:1436: checking for ANSI C header files" >&5
|
echo "configure:1513: checking for ANSI C header files" >&5
|
||||||
if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
|
if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 1441 "configure"
|
#line 1518 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
@ -1445,8 +1522,8 @@ else
|
||||||
#include <float.h>
|
#include <float.h>
|
||||||
EOF
|
EOF
|
||||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||||
{ (eval echo configure:1449: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
{ (eval echo configure:1526: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||||
ac_err=`grep -v '^ *+' conftest.out`
|
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||||
if test -z "$ac_err"; then
|
if test -z "$ac_err"; then
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
ac_cv_header_stdc=yes
|
ac_cv_header_stdc=yes
|
||||||
|
@ -1462,7 +1539,7 @@ rm -f conftest*
|
||||||
if test $ac_cv_header_stdc = yes; then
|
if test $ac_cv_header_stdc = yes; then
|
||||||
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
|
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 1466 "configure"
|
#line 1543 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
EOF
|
EOF
|
||||||
|
@ -1480,7 +1557,7 @@ fi
|
||||||
if test $ac_cv_header_stdc = yes; then
|
if test $ac_cv_header_stdc = yes; then
|
||||||
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
|
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 1484 "configure"
|
#line 1561 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
EOF
|
EOF
|
||||||
|
@ -1501,7 +1578,7 @@ if test "$cross_compiling" = yes; then
|
||||||
:
|
:
|
||||||
else
|
else
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 1505 "configure"
|
#line 1582 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
|
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
|
||||||
|
@ -1512,7 +1589,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
|
||||||
exit (0); }
|
exit (0); }
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo configure:1516: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
|
if { (eval echo configure:1593: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
|
||||||
then
|
then
|
||||||
:
|
:
|
||||||
else
|
else
|
||||||
|
@ -1536,12 +1613,12 @@ EOF
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
|
echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
|
||||||
echo "configure:1540: checking whether time.h and sys/time.h may both be included" >&5
|
echo "configure:1617: checking whether time.h and sys/time.h may both be included" >&5
|
||||||
if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
|
if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 1545 "configure"
|
#line 1622 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
|
@ -1550,7 +1627,7 @@ int main() {
|
||||||
struct tm *tp;
|
struct tm *tp;
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo configure:1554: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
if { (eval echo configure:1631: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
ac_cv_header_time=yes
|
ac_cv_header_time=yes
|
||||||
else
|
else
|
||||||
|
@ -1574,18 +1651,18 @@ for ac_hdr in limits.h stddef.h string.h strings.h stdlib.h time.h fcntl.h unist
|
||||||
do
|
do
|
||||||
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
|
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
|
||||||
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
|
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
|
||||||
echo "configure:1578: checking for $ac_hdr" >&5
|
echo "configure:1655: checking for $ac_hdr" >&5
|
||||||
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 1583 "configure"
|
#line 1660 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
#include <$ac_hdr>
|
#include <$ac_hdr>
|
||||||
EOF
|
EOF
|
||||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||||
{ (eval echo configure:1588: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
{ (eval echo configure:1665: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||||
ac_err=`grep -v '^ *+' conftest.out`
|
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||||
if test -z "$ac_err"; then
|
if test -z "$ac_err"; then
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
eval "ac_cv_header_$ac_safe=yes"
|
eval "ac_cv_header_$ac_safe=yes"
|
||||||
|
@ -1614,18 +1691,18 @@ done
|
||||||
# Check for thread headers.
|
# Check for thread headers.
|
||||||
ac_safe=`echo "thread.h" | sed 'y%./+-%__p_%'`
|
ac_safe=`echo "thread.h" | sed 'y%./+-%__p_%'`
|
||||||
echo $ac_n "checking for thread.h""... $ac_c" 1>&6
|
echo $ac_n "checking for thread.h""... $ac_c" 1>&6
|
||||||
echo "configure:1618: checking for thread.h" >&5
|
echo "configure:1695: checking for thread.h" >&5
|
||||||
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 1623 "configure"
|
#line 1700 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
#include <thread.h>
|
#include <thread.h>
|
||||||
EOF
|
EOF
|
||||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||||
{ (eval echo configure:1628: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
{ (eval echo configure:1705: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||||
ac_err=`grep -v '^ *+' conftest.out`
|
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||||
if test -z "$ac_err"; then
|
if test -z "$ac_err"; then
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
eval "ac_cv_header_$ac_safe=yes"
|
eval "ac_cv_header_$ac_safe=yes"
|
||||||
|
@ -1648,18 +1725,18 @@ fi
|
||||||
|
|
||||||
ac_safe=`echo "pthread.h" | sed 'y%./+-%__p_%'`
|
ac_safe=`echo "pthread.h" | sed 'y%./+-%__p_%'`
|
||||||
echo $ac_n "checking for pthread.h""... $ac_c" 1>&6
|
echo $ac_n "checking for pthread.h""... $ac_c" 1>&6
|
||||||
echo "configure:1652: checking for pthread.h" >&5
|
echo "configure:1729: checking for pthread.h" >&5
|
||||||
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 1657 "configure"
|
#line 1734 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
#include <pthread.h>
|
#include <pthread.h>
|
||||||
EOF
|
EOF
|
||||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||||
{ (eval echo configure:1662: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
{ (eval echo configure:1739: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||||
ac_err=`grep -v '^ *+' conftest.out`
|
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||||
if test -z "$ac_err"; then
|
if test -z "$ac_err"; then
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
eval "ac_cv_header_$ac_safe=yes"
|
eval "ac_cv_header_$ac_safe=yes"
|
||||||
|
@ -1684,12 +1761,12 @@ fi
|
||||||
# See if the system preprocessor understands the ANSI C preprocessor
|
# See if the system preprocessor understands the ANSI C preprocessor
|
||||||
# stringification operator.
|
# stringification operator.
|
||||||
echo $ac_n "checking whether cpp understands the stringify operator""... $ac_c" 1>&6
|
echo $ac_n "checking whether cpp understands the stringify operator""... $ac_c" 1>&6
|
||||||
echo "configure:1688: checking whether cpp understands the stringify operator" >&5
|
echo "configure:1765: checking whether cpp understands the stringify operator" >&5
|
||||||
if eval "test \"`echo '$''{'gcc_cv_c_have_stringify'+set}'`\" = set"; then
|
if eval "test \"`echo '$''{'gcc_cv_c_have_stringify'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 1693 "configure"
|
#line 1770 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
|
@ -1697,7 +1774,7 @@ int main() {
|
||||||
char *test = S(foo);
|
char *test = S(foo);
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo configure:1701: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
if { (eval echo configure:1778: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
gcc_cv_c_have_stringify=yes
|
gcc_cv_c_have_stringify=yes
|
||||||
else
|
else
|
||||||
|
@ -1720,12 +1797,12 @@ fi
|
||||||
# Use <inttypes.h> only if it exists,
|
# Use <inttypes.h> only if it exists,
|
||||||
# doesn't clash with <sys/types.h>, and declares intmax_t.
|
# doesn't clash with <sys/types.h>, and declares intmax_t.
|
||||||
echo $ac_n "checking for inttypes.h""... $ac_c" 1>&6
|
echo $ac_n "checking for inttypes.h""... $ac_c" 1>&6
|
||||||
echo "configure:1724: checking for inttypes.h" >&5
|
echo "configure:1801: checking for inttypes.h" >&5
|
||||||
if eval "test \"`echo '$''{'gcc_cv_header_inttypes_h'+set}'`\" = set"; then
|
if eval "test \"`echo '$''{'gcc_cv_header_inttypes_h'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 1729 "configure"
|
#line 1806 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
|
@ -1733,7 +1810,7 @@ int main() {
|
||||||
intmax_t i = -1;
|
intmax_t i = -1;
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo configure:1737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
if { (eval echo configure:1814: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
cat >> confdefs.h <<EOF
|
cat >> confdefs.h <<EOF
|
||||||
#define HAVE_INTTYPES_H 1
|
#define HAVE_INTTYPES_H 1
|
||||||
|
@ -1756,12 +1833,12 @@ for ac_func in strtoul bsearch strerror putenv popen bcopy bzero bcmp \
|
||||||
sysconf isascii gettimeofday
|
sysconf isascii gettimeofday
|
||||||
do
|
do
|
||||||
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
|
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
|
||||||
echo "configure:1760: checking for $ac_func" >&5
|
echo "configure:1837: checking for $ac_func" >&5
|
||||||
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
|
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 1765 "configure"
|
#line 1842 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
/* System header to define __stub macros and hopefully few prototypes,
|
/* System header to define __stub macros and hopefully few prototypes,
|
||||||
which can conflict with char $ac_func(); below. */
|
which can conflict with char $ac_func(); below. */
|
||||||
|
@ -1784,7 +1861,7 @@ $ac_func();
|
||||||
|
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo configure:1788: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
|
if { (eval echo configure:1865: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
eval "ac_cv_func_$ac_func=yes"
|
eval "ac_cv_func_$ac_func=yes"
|
||||||
else
|
else
|
||||||
|
@ -1813,12 +1890,12 @@ done
|
||||||
#AC_CHECK_TYPE(wchar_t, unsigned int)
|
#AC_CHECK_TYPE(wchar_t, unsigned int)
|
||||||
|
|
||||||
echo $ac_n "checking for vprintf""... $ac_c" 1>&6
|
echo $ac_n "checking for vprintf""... $ac_c" 1>&6
|
||||||
echo "configure:1817: checking for vprintf" >&5
|
echo "configure:1894: checking for vprintf" >&5
|
||||||
if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then
|
if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 1822 "configure"
|
#line 1899 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
/* System header to define __stub macros and hopefully few prototypes,
|
/* System header to define __stub macros and hopefully few prototypes,
|
||||||
which can conflict with char vprintf(); below. */
|
which can conflict with char vprintf(); below. */
|
||||||
|
@ -1841,7 +1918,7 @@ vprintf();
|
||||||
|
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo configure:1845: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
|
if { (eval echo configure:1922: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
eval "ac_cv_func_vprintf=yes"
|
eval "ac_cv_func_vprintf=yes"
|
||||||
else
|
else
|
||||||
|
@ -1865,12 +1942,12 @@ fi
|
||||||
|
|
||||||
if test "$ac_cv_func_vprintf" != yes; then
|
if test "$ac_cv_func_vprintf" != yes; then
|
||||||
echo $ac_n "checking for _doprnt""... $ac_c" 1>&6
|
echo $ac_n "checking for _doprnt""... $ac_c" 1>&6
|
||||||
echo "configure:1869: checking for _doprnt" >&5
|
echo "configure:1946: checking for _doprnt" >&5
|
||||||
if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then
|
if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 1874 "configure"
|
#line 1951 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
/* System header to define __stub macros and hopefully few prototypes,
|
/* System header to define __stub macros and hopefully few prototypes,
|
||||||
which can conflict with char _doprnt(); below. */
|
which can conflict with char _doprnt(); below. */
|
||||||
|
@ -1893,7 +1970,7 @@ _doprnt();
|
||||||
|
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo configure:1897: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
|
if { (eval echo configure:1974: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
eval "ac_cv_func__doprnt=yes"
|
eval "ac_cv_func__doprnt=yes"
|
||||||
else
|
else
|
||||||
|
@ -1929,7 +2006,7 @@ fi
|
||||||
|
|
||||||
|
|
||||||
echo $ac_n "checking whether the printf functions support %p""... $ac_c" 1>&6
|
echo $ac_n "checking whether the printf functions support %p""... $ac_c" 1>&6
|
||||||
echo "configure:1933: checking whether the printf functions support %p" >&5
|
echo "configure:2010: checking whether the printf functions support %p" >&5
|
||||||
if eval "test \"`echo '$''{'gcc_cv_func_printf_ptr'+set}'`\" = set"; then
|
if eval "test \"`echo '$''{'gcc_cv_func_printf_ptr'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
|
@ -1937,7 +2014,7 @@ else
|
||||||
gcc_cv_func_printf_ptr=no
|
gcc_cv_func_printf_ptr=no
|
||||||
else
|
else
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 1941 "configure"
|
#line 2018 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
@ -1950,7 +2027,7 @@ main()
|
||||||
exit (p != q);
|
exit (p != q);
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo configure:1954: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
|
if { (eval echo configure:2031: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
|
||||||
then
|
then
|
||||||
gcc_cv_func_printf_ptr=yes
|
gcc_cv_func_printf_ptr=yes
|
||||||
else
|
else
|
||||||
|
@ -1978,12 +2055,12 @@ for ac_func in malloc realloc calloc free bcopy bzero bcmp \
|
||||||
index rindex getenv atol sbrk abort atof strerror getcwd getwd
|
index rindex getenv atol sbrk abort atof strerror getcwd getwd
|
||||||
do
|
do
|
||||||
echo $ac_n "checking whether $ac_func must be declared""... $ac_c" 1>&6
|
echo $ac_n "checking whether $ac_func must be declared""... $ac_c" 1>&6
|
||||||
echo "configure:1982: checking whether $ac_func must be declared" >&5
|
echo "configure:2059: checking whether $ac_func must be declared" >&5
|
||||||
if eval "test \"`echo '$''{'gcc_cv_decl_needed_$ac_func'+set}'`\" = set"; then
|
if eval "test \"`echo '$''{'gcc_cv_decl_needed_$ac_func'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 1987 "configure"
|
#line 2064 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
@ -2011,7 +2088,7 @@ int main() {
|
||||||
char *(*pfn) = (char *(*)) $ac_func
|
char *(*pfn) = (char *(*)) $ac_func
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo configure:2015: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
if { (eval echo configure:2092: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
eval "gcc_cv_decl_needed_$ac_func=no"
|
eval "gcc_cv_decl_needed_$ac_func=no"
|
||||||
else
|
else
|
||||||
|
@ -2040,12 +2117,12 @@ done
|
||||||
for ac_func in getrlimit setrlimit
|
for ac_func in getrlimit setrlimit
|
||||||
do
|
do
|
||||||
echo $ac_n "checking whether $ac_func must be declared""... $ac_c" 1>&6
|
echo $ac_n "checking whether $ac_func must be declared""... $ac_c" 1>&6
|
||||||
echo "configure:2044: checking whether $ac_func must be declared" >&5
|
echo "configure:2121: checking whether $ac_func must be declared" >&5
|
||||||
if eval "test \"`echo '$''{'gcc_cv_decl_needed_$ac_func'+set}'`\" = set"; then
|
if eval "test \"`echo '$''{'gcc_cv_decl_needed_$ac_func'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 2049 "configure"
|
#line 2126 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
@ -2077,7 +2154,7 @@ int main() {
|
||||||
char *(*pfn) = (char *(*)) $ac_func
|
char *(*pfn) = (char *(*)) $ac_func
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo configure:2081: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
if { (eval echo configure:2158: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
eval "gcc_cv_decl_needed_$ac_func=no"
|
eval "gcc_cv_decl_needed_$ac_func=no"
|
||||||
else
|
else
|
||||||
|
@ -2104,12 +2181,12 @@ done
|
||||||
|
|
||||||
|
|
||||||
echo $ac_n "checking for sys_siglist declaration in signal.h or unistd.h""... $ac_c" 1>&6
|
echo $ac_n "checking for sys_siglist declaration in signal.h or unistd.h""... $ac_c" 1>&6
|
||||||
echo "configure:2108: checking for sys_siglist declaration in signal.h or unistd.h" >&5
|
echo "configure:2185: checking for sys_siglist declaration in signal.h or unistd.h" >&5
|
||||||
if eval "test \"`echo '$''{'ac_cv_decl_sys_siglist'+set}'`\" = set"; then
|
if eval "test \"`echo '$''{'ac_cv_decl_sys_siglist'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 2113 "configure"
|
#line 2190 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
|
@ -2121,7 +2198,7 @@ int main() {
|
||||||
char *msg = *(sys_siglist + 1);
|
char *msg = *(sys_siglist + 1);
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo configure:2125: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
if { (eval echo configure:2202: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
ac_cv_decl_sys_siglist=yes
|
ac_cv_decl_sys_siglist=yes
|
||||||
else
|
else
|
||||||
|
@ -4138,6 +4215,8 @@ for machine in $build $host $target; do
|
||||||
mipstx39-*-elf*)
|
mipstx39-*-elf*)
|
||||||
tm_file="mips/r3900.h mips/elf.h mips/abi64.h libgloss.h"
|
tm_file="mips/r3900.h mips/elf.h mips/abi64.h libgloss.h"
|
||||||
tmake_file=mips/t-r3900
|
tmake_file=mips/t-r3900
|
||||||
|
# FIXME mips-elf should be fixed to use crtstuff.
|
||||||
|
use_collect2=yes
|
||||||
;;
|
;;
|
||||||
mips-*-*) # Default MIPS RISC-OS 4.0.
|
mips-*-*) # Default MIPS RISC-OS 4.0.
|
||||||
if [ x$stabs = xyes ]; then
|
if [ x$stabs = xyes ]; then
|
||||||
|
@ -5230,6 +5309,10 @@ else
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ x$use_collect2 = xno ]; then
|
||||||
|
use_collect2=
|
||||||
|
fi
|
||||||
|
|
||||||
# Add a definition of USE_COLLECT2 if system wants one.
|
# Add a definition of USE_COLLECT2 if system wants one.
|
||||||
# Also tell toplev.c what to do.
|
# Also tell toplev.c what to do.
|
||||||
# This substitutes for lots of t-* files.
|
# This substitutes for lots of t-* files.
|
||||||
|
@ -5277,7 +5360,7 @@ fi
|
||||||
|
|
||||||
# Figure out what assembler alignment features are present.
|
# Figure out what assembler alignment features are present.
|
||||||
echo $ac_n "checking assembler alignment features""... $ac_c" 1>&6
|
echo $ac_n "checking assembler alignment features""... $ac_c" 1>&6
|
||||||
echo "configure:5281: checking assembler alignment features" >&5
|
echo "configure:5364: checking assembler alignment features" >&5
|
||||||
gcc_cv_as=
|
gcc_cv_as=
|
||||||
gcc_cv_as_alignment_features=
|
gcc_cv_as_alignment_features=
|
||||||
gcc_cv_as_gas_srcdir=`echo $srcdir | sed -e 's,gcc$,gas,'`
|
gcc_cv_as_gas_srcdir=`echo $srcdir | sed -e 's,gcc$,gas,'`
|
||||||
|
@ -5530,6 +5613,14 @@ if [ x$enable_haifa != x ]; then
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Warn if using init_priority.
|
||||||
|
echo $ac_n "checking whether to enable init_priority by default""... $ac_c" 1>&6
|
||||||
|
echo "configure:5619: checking whether to enable init_priority by default" >&5
|
||||||
|
if [ x$enable_init_priority != xyes ]; then
|
||||||
|
enable_init_priority=no
|
||||||
|
fi
|
||||||
|
echo "$ac_t""$enable_init_priority" 1>&6
|
||||||
|
|
||||||
# Nothing to do for FLOAT_H, float_format already handled.
|
# Nothing to do for FLOAT_H, float_format already handled.
|
||||||
objdir=`pwd`
|
objdir=`pwd`
|
||||||
|
|
||||||
|
@ -5719,7 +5810,7 @@ do
|
||||||
echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
|
echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
|
||||||
exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
|
exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
|
||||||
-version | --version | --versio | --versi | --vers | --ver | --ve | --v)
|
-version | --version | --versio | --versi | --vers | --ver | --ve | --v)
|
||||||
echo "$CONFIG_STATUS generated by autoconf version 2.12.1"
|
echo "$CONFIG_STATUS generated by autoconf version 2.12.2"
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
-help | --help | --hel | --he | --h)
|
-help | --help | --hel | --he | --h)
|
||||||
echo "\$ac_cs_usage"; exit 0 ;;
|
echo "\$ac_cs_usage"; exit 0 ;;
|
||||||
|
|
|
@ -130,6 +130,16 @@ AC_ARG_WITH(fast-fixincludes,
|
||||||
fast_fixinc="$with_fast_fixincludes",
|
fast_fixinc="$with_fast_fixincludes",
|
||||||
fast_fixinc=no)
|
fast_fixinc=no)
|
||||||
|
|
||||||
|
# Enable init_priority.
|
||||||
|
AC_ARG_ENABLE(init-priority,
|
||||||
|
[ --enable-init-priority Use attributes to assign initialization order
|
||||||
|
for static objects.
|
||||||
|
--disable-init-priority Conform to ISO C++ rules for ordering static objects
|
||||||
|
(i.e. initialized in order of declaration). ],
|
||||||
|
if [[[ x$enable_init_priority != xno ]]]; then
|
||||||
|
extra_c_flags=-DUSE_INIT_PRIORITY
|
||||||
|
fi)
|
||||||
|
|
||||||
# Enable threads
|
# Enable threads
|
||||||
# Pass with no value to take the default
|
# Pass with no value to take the default
|
||||||
# Pass with a value to specify a thread package
|
# Pass with a value to specify a thread package
|
||||||
|
@ -2231,6 +2241,8 @@ for machine in $build $host $target; do
|
||||||
mipstx39-*-elf*)
|
mipstx39-*-elf*)
|
||||||
tm_file="mips/r3900.h mips/elf.h mips/abi64.h libgloss.h"
|
tm_file="mips/r3900.h mips/elf.h mips/abi64.h libgloss.h"
|
||||||
tmake_file=mips/t-r3900
|
tmake_file=mips/t-r3900
|
||||||
|
# FIXME mips-elf should be fixed to use crtstuff.
|
||||||
|
use_collect2=yes
|
||||||
;;
|
;;
|
||||||
mips-*-*) # Default MIPS RISC-OS 4.0.
|
mips-*-*) # Default MIPS RISC-OS 4.0.
|
||||||
if [[ x$stabs = xyes ]]; then
|
if [[ x$stabs = xyes ]]; then
|
||||||
|
@ -3323,6 +3335,10 @@ else
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ x$use_collect2 = xno ]]; then
|
||||||
|
use_collect2=
|
||||||
|
fi
|
||||||
|
|
||||||
# Add a definition of USE_COLLECT2 if system wants one.
|
# Add a definition of USE_COLLECT2 if system wants one.
|
||||||
# Also tell toplev.c what to do.
|
# Also tell toplev.c what to do.
|
||||||
# This substitutes for lots of t-* files.
|
# This substitutes for lots of t-* files.
|
||||||
|
@ -3610,6 +3626,13 @@ if [[ x$enable_haifa != x ]]; then
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Warn if using init_priority.
|
||||||
|
AC_MSG_CHECKING(whether to enable init_priority by default)
|
||||||
|
if [[ x$enable_init_priority != xyes ]]; then
|
||||||
|
enable_init_priority=no
|
||||||
|
fi
|
||||||
|
AC_MSG_RESULT($enable_init_priority)
|
||||||
|
|
||||||
# Nothing to do for FLOAT_H, float_format already handled.
|
# Nothing to do for FLOAT_H, float_format already handled.
|
||||||
objdir=`pwd`
|
objdir=`pwd`
|
||||||
AC_SUBST(objdir)
|
AC_SUBST(objdir)
|
||||||
|
|
|
@ -1,3 +1,13 @@
|
||||||
|
1998-08-13 Jason Merrill <jason@yorick.cygnus.com>
|
||||||
|
|
||||||
|
* lang-options.h: Add -finit-priority.
|
||||||
|
* decl2.c: Likewise. Check flag_init_priority instead of
|
||||||
|
USE_INIT_PRIORITY.
|
||||||
|
|
||||||
|
* decl2.c (setup_initp): New fn.
|
||||||
|
(start_objects, finish_objects, do_ctors): Handle init_priority.
|
||||||
|
(do_dtors, finish_file): Likewise.
|
||||||
|
|
||||||
1998-08-13 Jason Merrill <jason@yorick.cygnus.com>
|
1998-08-13 Jason Merrill <jason@yorick.cygnus.com>
|
||||||
|
|
||||||
* pt.c (tsubst_copy): Hush warning.
|
* pt.c (tsubst_copy): Hush warning.
|
||||||
|
|
202
gcc/cp/decl2.c
202
gcc/cp/decl2.c
|
@ -173,6 +173,14 @@ int flag_alt_external_templates;
|
||||||
|
|
||||||
int flag_implicit_templates = 1;
|
int flag_implicit_templates = 1;
|
||||||
|
|
||||||
|
/* Nonzero means allow numerical priorities on constructors. */
|
||||||
|
|
||||||
|
#ifdef USE_INIT_PRIORITY
|
||||||
|
int flag_init_priority = 1;
|
||||||
|
#else
|
||||||
|
int flag_init_priority;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Nonzero means warn about implicit declarations. */
|
/* Nonzero means warn about implicit declarations. */
|
||||||
|
|
||||||
int warn_implicit = 1;
|
int warn_implicit = 1;
|
||||||
|
@ -492,6 +500,7 @@ static struct { char *string; int *variable; int on_value;} lang_f_options[] =
|
||||||
{"implement-inlines", &flag_implement_inlines, 1},
|
{"implement-inlines", &flag_implement_inlines, 1},
|
||||||
{"external-templates", &flag_external_templates, 1},
|
{"external-templates", &flag_external_templates, 1},
|
||||||
{"implicit-templates", &flag_implicit_templates, 1},
|
{"implicit-templates", &flag_implicit_templates, 1},
|
||||||
|
{"init-priority", &flag_init_priority, 1},
|
||||||
{"huge-objects", &flag_huge_objects, 1},
|
{"huge-objects", &flag_huge_objects, 1},
|
||||||
{"conserve-space", &flag_conserve_space, 1},
|
{"conserve-space", &flag_conserve_space, 1},
|
||||||
{"vtable-thunks", &flag_vtable_thunks, 1},
|
{"vtable-thunks", &flag_vtable_thunks, 1},
|
||||||
|
@ -2929,18 +2938,104 @@ get_sentry (base)
|
||||||
return sentry;
|
return sentry;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* A list of objects which have constructors or destructors
|
||||||
|
which reside in the global scope. The decl is stored in
|
||||||
|
the TREE_VALUE slot and the initializer is stored
|
||||||
|
in the TREE_PURPOSE slot. */
|
||||||
|
extern tree static_aggregates_initp;
|
||||||
|
|
||||||
|
/* Set up the static_aggregates* lists for processing. Subroutine of
|
||||||
|
finish_file. Note that this function changes the format of
|
||||||
|
static_aggregates_initp, from (priority . decl) to
|
||||||
|
(priority . ((initializer . decl) ...)). */
|
||||||
|
|
||||||
|
static void
|
||||||
|
setup_initp ()
|
||||||
|
{
|
||||||
|
tree t, *p, next_t;
|
||||||
|
|
||||||
|
if (! flag_init_priority)
|
||||||
|
{
|
||||||
|
for (t = static_aggregates_initp; t; t = TREE_CHAIN (t))
|
||||||
|
cp_warning ("init_priority for `%#D' ignored without -finit-priority",
|
||||||
|
TREE_VALUE (t));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* First, remove any entries from static_aggregates that are also in
|
||||||
|
static_aggregates_initp, and update the entries in _initp to
|
||||||
|
include the initializer. */
|
||||||
|
p = &static_aggregates;
|
||||||
|
for (; *p; )
|
||||||
|
{
|
||||||
|
t = value_member (TREE_VALUE (*p), static_aggregates_initp);
|
||||||
|
|
||||||
|
if (t)
|
||||||
|
{
|
||||||
|
TREE_VALUE (t) = *p;
|
||||||
|
*p = TREE_CHAIN (*p);
|
||||||
|
TREE_CHAIN (TREE_VALUE (t)) = NULL_TREE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
p = &TREE_CHAIN (*p);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Then, group static_aggregates_initp. After this step, there will only
|
||||||
|
be one entry for each priority, with a chain coming off it. */
|
||||||
|
t = static_aggregates_initp;
|
||||||
|
static_aggregates_initp = NULL_TREE;
|
||||||
|
|
||||||
|
for (; t; t = next_t)
|
||||||
|
{
|
||||||
|
next_t = TREE_CHAIN (t);
|
||||||
|
|
||||||
|
for (p = &static_aggregates_initp; ; p = &TREE_CHAIN (*p))
|
||||||
|
{
|
||||||
|
if (*p == NULL_TREE
|
||||||
|
|| tree_int_cst_lt (TREE_PURPOSE (*p), TREE_PURPOSE (t)))
|
||||||
|
{
|
||||||
|
TREE_CHAIN (t) = *p;
|
||||||
|
*p = t;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
else if (tree_int_cst_equal (TREE_PURPOSE (*p), TREE_PURPOSE (t)))
|
||||||
|
{
|
||||||
|
TREE_CHAIN (TREE_VALUE (t)) = TREE_VALUE (*p);
|
||||||
|
TREE_VALUE (*p) = TREE_VALUE (t);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Reverse each list to preserve the order (currently reverse declaration
|
||||||
|
order, for destructors). */
|
||||||
|
for (t = static_aggregates_initp; t; t = TREE_CHAIN (t))
|
||||||
|
TREE_VALUE (t) = nreverse (TREE_VALUE (t));
|
||||||
|
}
|
||||||
|
|
||||||
/* Start the process of running a particular set of global constructors
|
/* Start the process of running a particular set of global constructors
|
||||||
or destructors. Subroutine of do_[cd]tors. */
|
or destructors. Subroutine of do_[cd]tors. */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
start_objects (method_type)
|
start_objects (method_type, initp)
|
||||||
int method_type;
|
int method_type, initp;
|
||||||
{
|
{
|
||||||
tree fnname;
|
tree fnname;
|
||||||
|
char type[10];
|
||||||
|
|
||||||
/* Make ctor or dtor function. METHOD_TYPE may be 'I' or 'D'. */
|
/* Make ctor or dtor function. METHOD_TYPE may be 'I' or 'D'. */
|
||||||
|
|
||||||
fnname = get_file_function_name (method_type);
|
if (flag_init_priority)
|
||||||
|
{
|
||||||
|
if (initp == 0)
|
||||||
|
initp = DEFAULT_INIT_PRIORITY;
|
||||||
|
|
||||||
|
sprintf (type, "%c%c%.5u", method_type, JOINER, initp);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
sprintf (type, "%c", method_type);
|
||||||
|
|
||||||
|
fnname = get_file_function_name_long (type);
|
||||||
|
|
||||||
start_function (void_list_node,
|
start_function (void_list_node,
|
||||||
make_call_declarator (fnname, void_list_node, NULL_TREE,
|
make_call_declarator (fnname, void_list_node, NULL_TREE,
|
||||||
|
@ -2958,18 +3053,21 @@ start_objects (method_type)
|
||||||
or destructors. Subroutine of do_[cd]tors. */
|
or destructors. Subroutine of do_[cd]tors. */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
finish_objects (method_type)
|
finish_objects (method_type, initp)
|
||||||
int method_type;
|
int method_type, initp;
|
||||||
{
|
{
|
||||||
char *fnname;
|
char *fnname;
|
||||||
|
|
||||||
|
if (! initp)
|
||||||
|
{
|
||||||
tree list = (method_type == 'I' ? static_ctors : static_dtors);
|
tree list = (method_type == 'I' ? static_ctors : static_dtors);
|
||||||
|
|
||||||
if (! current_function_decl && list)
|
if (! current_function_decl && list)
|
||||||
start_objects (method_type);
|
start_objects (method_type, initp);
|
||||||
|
|
||||||
for (; list; list = TREE_CHAIN (list))
|
for (; list; list = TREE_CHAIN (list))
|
||||||
expand_expr_stmt (build_function_call (TREE_VALUE (list), NULL_TREE));
|
expand_expr_stmt (build_function_call (TREE_VALUE (list), NULL_TREE));
|
||||||
|
}
|
||||||
|
|
||||||
if (! current_function_decl)
|
if (! current_function_decl)
|
||||||
return;
|
return;
|
||||||
|
@ -2982,19 +3080,56 @@ finish_objects (method_type)
|
||||||
pop_momentary ();
|
pop_momentary ();
|
||||||
finish_function (lineno, 0, 0);
|
finish_function (lineno, 0, 0);
|
||||||
|
|
||||||
|
if (! flag_init_priority)
|
||||||
|
{
|
||||||
if (method_type == 'I')
|
if (method_type == 'I')
|
||||||
assemble_constructor (fnname);
|
assemble_constructor (fnname);
|
||||||
else
|
else
|
||||||
assemble_destructor (fnname);
|
assemble_destructor (fnname);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Generate a function to run a set of global destructors. Subroutine of
|
#ifdef ASM_OUTPUT_SECTION_NAME
|
||||||
finish_file. */
|
/* If we're using init priority we can't use assemble_*tor, but on ELF
|
||||||
|
targets we can stick the references into named sections for GNU ld
|
||||||
|
to collect. */
|
||||||
|
if (flag_init_priority)
|
||||||
|
{
|
||||||
|
char buf[15];
|
||||||
|
if (initp == 0)
|
||||||
|
initp = DEFAULT_INIT_PRIORITY;
|
||||||
|
sprintf (buf, ".%ctors.%.5u", method_type == 'I' ? 'c' : 'd',
|
||||||
|
/* invert the numbering so the linker puts us in the proper
|
||||||
|
order; constructors are run from right to left, and the
|
||||||
|
linker sorts in increasing order. */
|
||||||
|
MAX_INIT_PRIORITY - initp);
|
||||||
|
named_section (NULL_TREE, buf, 0);
|
||||||
|
assemble_integer (gen_rtx_SYMBOL_REF (Pmode, fnname),
|
||||||
|
POINTER_SIZE / BITS_PER_UNIT, 1);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Generate a function to run a set of global destructors. START is either
|
||||||
|
NULL_TREE or a node indicating a set of destructors with the same
|
||||||
|
init priority. Subroutine of finish_file. */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
do_dtors ()
|
do_dtors (start)
|
||||||
|
tree start;
|
||||||
{
|
{
|
||||||
tree vars = static_aggregates;
|
tree vars;
|
||||||
|
int initp;
|
||||||
|
|
||||||
|
if (start)
|
||||||
|
{
|
||||||
|
initp = TREE_INT_CST_LOW (TREE_PURPOSE (start));
|
||||||
|
vars = TREE_VALUE (start);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
initp = 0;
|
||||||
|
vars = static_aggregates;
|
||||||
|
}
|
||||||
|
|
||||||
for (; vars; vars = TREE_CHAIN (vars))
|
for (; vars; vars = TREE_CHAIN (vars))
|
||||||
{
|
{
|
||||||
|
@ -3010,7 +3145,7 @@ do_dtors ()
|
||||||
|| DECL_WEAK (decl)));
|
|| DECL_WEAK (decl)));
|
||||||
|
|
||||||
if (! current_function_decl)
|
if (! current_function_decl)
|
||||||
start_objects ('D');
|
start_objects ('D', initp);
|
||||||
|
|
||||||
/* Because of:
|
/* Because of:
|
||||||
|
|
||||||
|
@ -3053,16 +3188,30 @@ do_dtors ()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
finish_objects ('D');
|
finish_objects ('D', initp);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Generate a function to run a set of global constructors. Subroutine of
|
/* Generate a function to run a set of global constructors. START is
|
||||||
finish_file. */
|
either NULL_TREE or a node indicating a set of constructors with the
|
||||||
|
same init priority. Subroutine of finish_file. */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
do_ctors ()
|
do_ctors (start)
|
||||||
|
tree start;
|
||||||
{
|
{
|
||||||
tree vars = static_aggregates;
|
tree vars;
|
||||||
|
int initp;
|
||||||
|
|
||||||
|
if (start)
|
||||||
|
{
|
||||||
|
initp = TREE_INT_CST_LOW (TREE_PURPOSE (start));
|
||||||
|
vars = TREE_VALUE (start);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
initp = 0;
|
||||||
|
vars = static_aggregates;
|
||||||
|
}
|
||||||
|
|
||||||
/* Reverse the list so it's in the right order for ctors. */
|
/* Reverse the list so it's in the right order for ctors. */
|
||||||
vars = nreverse (vars);
|
vars = nreverse (vars);
|
||||||
|
@ -3088,7 +3237,7 @@ do_ctors ()
|
||||||
|| DECL_WEAK (decl)));
|
|| DECL_WEAK (decl)));
|
||||||
|
|
||||||
if (! current_function_decl)
|
if (! current_function_decl)
|
||||||
start_objects ('I');
|
start_objects ('I', initp);
|
||||||
|
|
||||||
/* Set these global variables so that GDB at least puts
|
/* Set these global variables so that GDB at least puts
|
||||||
us near the declaration which required the initialization. */
|
us near the declaration which required the initialization. */
|
||||||
|
@ -3148,7 +3297,7 @@ do_ctors ()
|
||||||
my_friendly_abort (22);
|
my_friendly_abort (22);
|
||||||
}
|
}
|
||||||
|
|
||||||
finish_objects ('I');
|
finish_objects ('I', initp);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This routine is called from the last rule in yyparse ().
|
/* This routine is called from the last rule in yyparse ().
|
||||||
|
@ -3262,16 +3411,27 @@ finish_file ()
|
||||||
if (static_dtors || vars)
|
if (static_dtors || vars)
|
||||||
needs_cleaning = 1;
|
needs_cleaning = 1;
|
||||||
|
|
||||||
/* The aggregates are listed in reverse declaration order, for cleaning. */
|
setup_initp ();
|
||||||
|
|
||||||
|
/* After setup_initp, the aggregates are listed in reverse declaration
|
||||||
|
order, for cleaning. */
|
||||||
if (needs_cleaning)
|
if (needs_cleaning)
|
||||||
{
|
{
|
||||||
do_dtors ();
|
do_dtors (NULL_TREE);
|
||||||
|
|
||||||
|
if (flag_init_priority)
|
||||||
|
for (vars = static_aggregates_initp; vars; vars = TREE_CHAIN (vars))
|
||||||
|
do_dtors (vars);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* do_ctors will reverse the lists for messing up. */
|
/* do_ctors will reverse the lists for messing up. */
|
||||||
if (needs_messing_up)
|
if (needs_messing_up)
|
||||||
{
|
{
|
||||||
do_ctors ();
|
do_ctors (NULL_TREE);
|
||||||
|
|
||||||
|
if (flag_init_priority)
|
||||||
|
for (vars = static_aggregates_initp; vars; vars = TREE_CHAIN (vars))
|
||||||
|
do_ctors (vars);
|
||||||
}
|
}
|
||||||
|
|
||||||
permanent_allocation (1);
|
permanent_allocation (1);
|
||||||
|
|
|
@ -66,6 +66,8 @@ DEFINE_LANG_NAME ("C++")
|
||||||
{ "-fno-implement-inlines", "Export functions even if they can be inlined" },
|
{ "-fno-implement-inlines", "Export functions even if they can be inlined" },
|
||||||
{ "-fimplicit-templates", "Emit implicit instatiations if needed" },
|
{ "-fimplicit-templates", "Emit implicit instatiations if needed" },
|
||||||
{ "-fno-implicit-templates", "" },
|
{ "-fno-implicit-templates", "" },
|
||||||
|
{ "-finit-priority", "Handle the init_priority attribute" },
|
||||||
|
{ "-fno-init-priority", "" },
|
||||||
{ "-flabels-ok", "Labels can be used as first class objects" },
|
{ "-flabels-ok", "Labels can be used as first class objects" },
|
||||||
{ "-fno-labels-ok", "" },
|
{ "-fno-labels-ok", "" },
|
||||||
{ "-fmemoize-lookups", "Enable caching of member function resolutions" },
|
{ "-fmemoize-lookups", "Enable caching of member function resolutions" },
|
||||||
|
|
|
@ -1030,6 +1030,11 @@ your code with this flag (including the C++ library, if you use it).
|
||||||
|
|
||||||
This flag is not useful when compiling with -fvtable-thunks.
|
This flag is not useful when compiling with -fvtable-thunks.
|
||||||
|
|
||||||
|
@item -finit-priority
|
||||||
|
Support @samp{__attribute__ ((init_priority (n)))} for controlling the
|
||||||
|
order of initialization of file-scope objects. On ELF targets, this
|
||||||
|
requires GNU ld 2.10 or later.
|
||||||
|
|
||||||
@item -fno-implement-inlines
|
@item -fno-implement-inlines
|
||||||
To save space, do not emit out-of-line copies of inline functions
|
To save space, do not emit out-of-line copies of inline functions
|
||||||
controlled by @samp{#pragma implementation}. This will cause linker
|
controlled by @samp{#pragma implementation}. This will cause linker
|
||||||
|
|
36
gcc/tree.c
36
gcc/tree.c
|
@ -4806,24 +4806,24 @@ dump_tree_statistics ()
|
||||||
#define FILE_FUNCTION_PREFIX_LEN 9
|
#define FILE_FUNCTION_PREFIX_LEN 9
|
||||||
|
|
||||||
#ifndef NO_DOLLAR_IN_LABEL
|
#ifndef NO_DOLLAR_IN_LABEL
|
||||||
#define FILE_FUNCTION_FORMAT "_GLOBAL_$D$%s"
|
#define FILE_FUNCTION_FORMAT "_GLOBAL_$%s$%s"
|
||||||
#else /* NO_DOLLAR_IN_LABEL */
|
#else /* NO_DOLLAR_IN_LABEL */
|
||||||
#ifndef NO_DOT_IN_LABEL
|
#ifndef NO_DOT_IN_LABEL
|
||||||
#define FILE_FUNCTION_FORMAT "_GLOBAL_.D.%s"
|
#define FILE_FUNCTION_FORMAT "_GLOBAL_.%s.%s"
|
||||||
#else /* NO_DOT_IN_LABEL */
|
#else /* NO_DOT_IN_LABEL */
|
||||||
#define FILE_FUNCTION_FORMAT "_GLOBAL__D_%s"
|
#define FILE_FUNCTION_FORMAT "_GLOBAL__%s_%s"
|
||||||
#endif /* NO_DOT_IN_LABEL */
|
#endif /* NO_DOT_IN_LABEL */
|
||||||
#endif /* NO_DOLLAR_IN_LABEL */
|
#endif /* NO_DOLLAR_IN_LABEL */
|
||||||
|
|
||||||
extern char * first_global_object_name;
|
extern char * first_global_object_name;
|
||||||
extern char * weak_global_object_name;
|
extern char * weak_global_object_name;
|
||||||
|
|
||||||
/* If KIND=='I', return a suitable global initializer (constructor) name.
|
/* TYPE is some string to identify this function to the linker or
|
||||||
If KIND=='D', return a suitable global clean-up (destructor) name. */
|
collect2. */
|
||||||
|
|
||||||
tree
|
tree
|
||||||
get_file_function_name (kind)
|
get_file_function_name_long (type)
|
||||||
int kind;
|
char *type;
|
||||||
{
|
{
|
||||||
char *buf;
|
char *buf;
|
||||||
register char *p;
|
register char *p;
|
||||||
|
@ -4837,13 +4837,14 @@ get_file_function_name (kind)
|
||||||
else
|
else
|
||||||
p = input_filename;
|
p = input_filename;
|
||||||
|
|
||||||
buf = (char *) alloca (sizeof (FILE_FUNCTION_FORMAT) + strlen (p));
|
buf = (char *) alloca (sizeof (FILE_FUNCTION_FORMAT) + strlen (p)
|
||||||
|
+ strlen (type));
|
||||||
|
|
||||||
/* Set up the name of the file-level functions we may need. */
|
/* Set up the name of the file-level functions we may need. */
|
||||||
/* Use a global object (which is already required to be unique over
|
/* Use a global object (which is already required to be unique over
|
||||||
the program) rather than the file name (which imposes extra
|
the program) rather than the file name (which imposes extra
|
||||||
constraints). -- Raeburn@MIT.EDU, 10 Jan 1990. */
|
constraints). -- Raeburn@MIT.EDU, 10 Jan 1990. */
|
||||||
sprintf (buf, FILE_FUNCTION_FORMAT, p);
|
sprintf (buf, FILE_FUNCTION_FORMAT, type, p);
|
||||||
|
|
||||||
/* Don't need to pull weird characters out of global names. */
|
/* Don't need to pull weird characters out of global names. */
|
||||||
if (p != first_global_object_name)
|
if (p != first_global_object_name)
|
||||||
|
@ -4866,10 +4867,23 @@ get_file_function_name (kind)
|
||||||
*p = '_';
|
*p = '_';
|
||||||
}
|
}
|
||||||
|
|
||||||
buf[FILE_FUNCTION_PREFIX_LEN] = kind;
|
|
||||||
|
|
||||||
return get_identifier (buf);
|
return get_identifier (buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* If KIND=='I', return a suitable global initializer (constructor) name.
|
||||||
|
If KIND=='D', return a suitable global clean-up (destructor) name. */
|
||||||
|
|
||||||
|
tree
|
||||||
|
get_file_function_name (kind)
|
||||||
|
int kind;
|
||||||
|
{
|
||||||
|
char p[2];
|
||||||
|
p[0] = kind;
|
||||||
|
p[1] = 0;
|
||||||
|
|
||||||
|
return get_file_function_name_long (p);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Expand (the constant part of) a SET_TYPE CONSTRUCTOR node.
|
/* Expand (the constant part of) a SET_TYPE CONSTRUCTOR node.
|
||||||
The result is placed in BUFFER (which has length BIT_SIZE),
|
The result is placed in BUFFER (which has length BIT_SIZE),
|
||||||
|
|
|
@ -1124,6 +1124,11 @@ struct tree_type
|
||||||
do not allocate storage, and refer to a definition elsewhere. */
|
do not allocate storage, and refer to a definition elsewhere. */
|
||||||
#define DECL_EXTERNAL(NODE) (DECL_CHECK (NODE)->decl.external_flag)
|
#define DECL_EXTERNAL(NODE) (DECL_CHECK (NODE)->decl.external_flag)
|
||||||
|
|
||||||
|
/* In a VAR_DECL for a RECORD_TYPE, sets number for non-init_priority
|
||||||
|
initializatons. */
|
||||||
|
#define DEFAULT_INIT_PRIORITY 65535
|
||||||
|
#define MAX_INIT_PRIORITY 65535
|
||||||
|
|
||||||
/* In a TYPE_DECL
|
/* In a TYPE_DECL
|
||||||
nonzero means the detail info about this type is not dumped into stabs.
|
nonzero means the detail info about this type is not dumped into stabs.
|
||||||
Instead it will generate cross reference ('x') of names.
|
Instead it will generate cross reference ('x') of names.
|
||||||
|
@ -1843,6 +1848,7 @@ extern void (*incomplete_decl_finalize_hook) PROTO((tree));
|
||||||
/* In tree.c */
|
/* In tree.c */
|
||||||
extern char *perm_calloc PROTO((int, long));
|
extern char *perm_calloc PROTO((int, long));
|
||||||
extern tree get_file_function_name PROTO((int));
|
extern tree get_file_function_name PROTO((int));
|
||||||
|
extern tree get_file_function_name_long PROTO((char *));
|
||||||
extern tree get_set_constructor_bits PROTO((tree, char *, int));
|
extern tree get_set_constructor_bits PROTO((tree, char *, int));
|
||||||
extern tree get_set_constructor_bytes PROTO((tree,
|
extern tree get_set_constructor_bytes PROTO((tree,
|
||||||
unsigned char *, int));
|
unsigned char *, int));
|
||||||
|
|
Loading…
Add table
Reference in a new issue