mirror of
https://github.com/autc04/Retro68.git
synced 2026-10-25 18:02:46 +00:00
5739 lines
200 KiB
Diff
5739 lines
200 KiB
Diff
diff --git a/gcc/compile b/gcc/compile
|
|
index a85b723c7e..23fcba0113 100755
|
|
--- a/gcc/compile
|
|
+++ b/gcc/compile
|
|
@@ -1,9 +1,9 @@
|
|
#! /bin/sh
|
|
# Wrapper for compilers which do not understand '-c -o'.
|
|
|
|
-scriptversion=2012-10-14.11; # UTC
|
|
+scriptversion=2018-03-07.03; # UTC
|
|
|
|
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1999-2020 Free Software Foundation, Inc.
|
|
# Written by Tom Tromey <tromey@cygnus.com>.
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify
|
|
@@ -17,7 +17,7 @@ scriptversion=2012-10-14.11; # UTC
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
# As a special exception to the GNU General Public License, if you
|
|
# distribute this file as part of a program that contains a
|
|
@@ -53,7 +53,7 @@ func_file_conv ()
|
|
MINGW*)
|
|
file_conv=mingw
|
|
;;
|
|
- CYGWIN*)
|
|
+ CYGWIN* | MSYS*)
|
|
file_conv=cygwin
|
|
;;
|
|
*)
|
|
@@ -67,7 +67,7 @@ func_file_conv ()
|
|
mingw/*)
|
|
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
|
|
;;
|
|
- cygwin/*)
|
|
+ cygwin/* | msys/*)
|
|
file=`cygpath -m "$file" || echo "$file"`
|
|
;;
|
|
wine/*)
|
|
@@ -255,7 +255,8 @@ EOF
|
|
echo "compile $scriptversion"
|
|
exit $?
|
|
;;
|
|
- cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
|
|
+ cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
|
|
+ icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
|
|
func_cl_wrapper "$@" # Doesn't return...
|
|
;;
|
|
esac
|
|
@@ -339,9 +340,9 @@ exit $ret
|
|
# Local Variables:
|
|
# mode: shell-script
|
|
# sh-indentation: 2
|
|
-# eval: (add-hook 'write-file-hooks 'time-stamp)
|
|
+# eval: (add-hook 'before-save-hook 'time-stamp)
|
|
# time-stamp-start: "scriptversion="
|
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
|
-# time-stamp-time-zone: "UTC"
|
|
+# time-stamp-time-zone: "UTC0"
|
|
# time-stamp-end: "; # UTC"
|
|
# End:
|
|
diff --git a/gcc/depcomp b/gcc/depcomp
|
|
index 4e70ff0bbc..6b391623c4 100755
|
|
--- a/gcc/depcomp
|
|
+++ b/gcc/depcomp
|
|
@@ -1,9 +1,9 @@
|
|
#! /bin/sh
|
|
# depcomp - compile a program generating dependencies as side-effects
|
|
|
|
-scriptversion=2013-05-30.07; # UTC
|
|
+scriptversion=2018-03-07.03; # UTC
|
|
|
|
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1999-2020 Free Software Foundation, Inc.
|
|
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
@@ -16,7 +16,7 @@ scriptversion=2013-05-30.07; # UTC
|
|
# GNU General Public License for more details.
|
|
|
|
# You should have received a copy of the GNU General Public License
|
|
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
# As a special exception to the GNU General Public License, if you
|
|
# distribute this file as part of a program that contains a
|
|
@@ -251,6 +251,41 @@ hp)
|
|
exit 1
|
|
;;
|
|
|
|
+sgi)
|
|
+ if test "$libtool" = yes; then
|
|
+ "$@" "-Wp,-MDupdate,$tmpdepfile"
|
|
+ else
|
|
+ "$@" -MDupdate "$tmpdepfile"
|
|
+ fi
|
|
+ stat=$?
|
|
+ if test $stat -ne 0; then
|
|
+ rm -f "$tmpdepfile"
|
|
+ exit $stat
|
|
+ fi
|
|
+ rm -f "$depfile"
|
|
+
|
|
+ if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
|
|
+ echo "$object : \\" > "$depfile"
|
|
+ # Clip off the initial element (the dependent). Don't try to be
|
|
+ # clever and replace this with sed code, as IRIX sed won't handle
|
|
+ # lines with more than a fixed number of characters (4096 in
|
|
+ # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
|
|
+ # the IRIX cc adds comments like '#:fec' to the end of the
|
|
+ # dependency line.
|
|
+ tr ' ' "$nl" < "$tmpdepfile" \
|
|
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
|
|
+ | tr "$nl" ' ' >> "$depfile"
|
|
+ echo >> "$depfile"
|
|
+ # The second pass generates a dummy entry for each header file.
|
|
+ tr ' ' "$nl" < "$tmpdepfile" \
|
|
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
|
|
+ >> "$depfile"
|
|
+ else
|
|
+ make_dummy_depfile
|
|
+ fi
|
|
+ rm -f "$tmpdepfile"
|
|
+ ;;
|
|
+
|
|
xlc)
|
|
# This case exists only to let depend.m4 do its work. It works by
|
|
# looking at the text of this script. This case will never be run,
|
|
@@ -748,9 +783,9 @@ exit 0
|
|
# Local Variables:
|
|
# mode: shell-script
|
|
# sh-indentation: 2
|
|
-# eval: (add-hook 'write-file-hooks 'time-stamp)
|
|
+# eval: (add-hook 'before-save-hook 'time-stamp)
|
|
# time-stamp-start: "scriptversion="
|
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
|
-# time-stamp-time-zone: "UTC"
|
|
+# time-stamp-time-zone: "UTC0"
|
|
# time-stamp-end: "; # UTC"
|
|
# End:
|
|
diff --git a/gcc/gcc/c-family/c-common.cc b/gcc/gcc/c-family/c-common.cc
|
|
index 587d76461e..f4f8549c1f 100644
|
|
--- a/gcc/gcc/c-family/c-common.cc
|
|
+++ b/gcc/gcc/c-family/c-common.cc
|
|
@@ -819,6 +819,11 @@ fix_string_type (tree value)
|
|
charsz = 1;
|
|
e_type = char_type_node;
|
|
}
|
|
+ else if (TREE_TYPE (value) == uchar_array_type_node)
|
|
+ {
|
|
+ charsz = 1;
|
|
+ e_type = unsigned_char_type_node;
|
|
+ }
|
|
else if (flag_char8_t && TREE_TYPE (value) == char8_array_type_node)
|
|
{
|
|
charsz = TYPE_PRECISION (char8_type_node) / BITS_PER_UNIT;
|
|
@@ -4610,6 +4615,12 @@ c_common_nodes_and_builtins (void)
|
|
char_array_type_node
|
|
= build_array_type (char_type_node, array_domain_type);
|
|
|
|
+ /* Make a type for arrays of unsigned characters.
|
|
+ Needed for "\ppascal string" support. */
|
|
+ uchar_array_type_node
|
|
+ = build_array_type (unsigned_char_type_node, array_domain_type);
|
|
+
|
|
+
|
|
string_type_node = build_pointer_type (char_type_node);
|
|
const_string_type_node
|
|
= build_pointer_type (build_qualified_type
|
|
diff --git a/gcc/gcc/c-family/c-common.h b/gcc/gcc/c-family/c-common.h
|
|
index ea6c297505..e9f972780f 100644
|
|
--- a/gcc/gcc/c-family/c-common.h
|
|
+++ b/gcc/gcc/c-family/c-common.h
|
|
@@ -343,6 +343,7 @@ enum c_tree_index
|
|
CTI_UINTPTR_TYPE,
|
|
|
|
CTI_CHAR_ARRAY_TYPE,
|
|
+ CTI_UCHAR_ARRAY_TYPE,
|
|
CTI_CHAR8_ARRAY_TYPE,
|
|
CTI_CHAR16_ARRAY_TYPE,
|
|
CTI_CHAR32_ARRAY_TYPE,
|
|
@@ -505,6 +506,7 @@ extern const unsigned int num_c_common_reswords;
|
|
#define truthvalue_false_node c_global_trees[CTI_TRUTHVALUE_FALSE]
|
|
|
|
#define char_array_type_node c_global_trees[CTI_CHAR_ARRAY_TYPE]
|
|
+#define uchar_array_type_node c_global_trees[CTI_UCHAR_ARRAY_TYPE]
|
|
#define char8_array_type_node c_global_trees[CTI_CHAR8_ARRAY_TYPE]
|
|
#define char16_array_type_node c_global_trees[CTI_CHAR16_ARRAY_TYPE]
|
|
#define char32_array_type_node c_global_trees[CTI_CHAR32_ARRAY_TYPE]
|
|
diff --git a/gcc/gcc/c-family/c-lex.cc b/gcc/gcc/c-family/c-lex.cc
|
|
index e450c9a57f..254c1c1942 100644
|
|
--- a/gcc/gcc/c-family/c-lex.cc
|
|
+++ b/gcc/gcc/c-family/c-lex.cc
|
|
@@ -1623,6 +1623,8 @@ lex_string (const cpp_token *tok, tree *valp, bool objc_string, bool translate)
|
|
zero '@' before each string. */
|
|
bool objc_at_sign_was_seen = false;
|
|
|
|
+ bool pascal_string = false;
|
|
+
|
|
retry:
|
|
tok = get_token (parse_in);
|
|
switch (tok->type)
|
|
@@ -1690,10 +1692,22 @@ lex_string (const cpp_token *tok, tree *valp, bool objc_string, bool translate)
|
|
warning (OPT_Wtraditional,
|
|
"traditional C rejects string constant concatenation");
|
|
|
|
+ if (!strncmp((const char*)strs[0].text, "\"\\p", 3))
|
|
+ {
|
|
+ pascal_string = true;
|
|
+ /* replace \p by a valid escape sequence */
|
|
+ ((unsigned char*)strs[0].text)[2] = 'n';
|
|
+ }
|
|
+
|
|
if ((translate
|
|
? cpp_interpret_string : cpp_interpret_string_notranslate)
|
|
(parse_in, strs, concats + 1, &istr, type))
|
|
{
|
|
+ if (pascal_string)
|
|
+ {
|
|
+ /* put the real string length in */
|
|
+ ((unsigned char*)istr.text)[0] = (unsigned char) (istr.len - 2);
|
|
+ }
|
|
value = build_string (istr.len, (const char *) istr.text);
|
|
free (CONST_CAST (unsigned char *, istr.text));
|
|
if (concats)
|
|
@@ -1745,7 +1759,10 @@ lex_string (const cpp_token *tok, tree *valp, bool objc_string, bool translate)
|
|
{
|
|
default:
|
|
case CPP_STRING:
|
|
- TREE_TYPE (value) = char_array_type_node;
|
|
+ if (pascal_string)
|
|
+ TREE_TYPE (value) = uchar_array_type_node;
|
|
+ else
|
|
+ TREE_TYPE (value) = char_array_type_node;
|
|
break;
|
|
case CPP_UTF8STRING:
|
|
if (flag_char8_t)
|
|
diff --git a/gcc/gcc/c/c-decl.cc b/gcc/gcc/c/c-decl.cc
|
|
index 8c420f2297..05e6bf2694 100644
|
|
--- a/gcc/gcc/c/c-decl.cc
|
|
+++ b/gcc/gcc/c/c-decl.cc
|
|
@@ -5638,7 +5638,8 @@ start_decl (struct c_declarator *declarator, struct c_declspecs *declspecs,
|
|
break;
|
|
|
|
case FUNCTION_DECL:
|
|
- error ("function %qD is initialized like a variable", decl);
|
|
+ //error ("function %qD is initialized like a variable", decl);
|
|
+ // Retro68: a function defined by inline opcodes does not count as initialized.
|
|
initialized = false;
|
|
break;
|
|
|
|
diff --git a/gcc/gcc/c/c-parser.cc b/gcc/gcc/c/c-parser.cc
|
|
index 22ec0f849b..f8c9aaa39a 100644
|
|
--- a/gcc/gcc/c/c-parser.cc
|
|
+++ b/gcc/gcc/c/c-parser.cc
|
|
@@ -1926,6 +1926,8 @@ private:
|
|
|
|
#endif /* #if ENABLE_ANALYZER */
|
|
|
|
+static tree c_parser_inline_opcodes(c_parser *);
|
|
+
|
|
/* Parse a translation unit (C90 6.7, C99 6.9, C11 6.9).
|
|
|
|
translation-unit:
|
|
@@ -2856,30 +2858,37 @@ c_parser_declaration_or_fndef (c_parser *parser, bool fndef_ok,
|
|
&& !omp_dsimd_idattr_clauses.is_empty ())
|
|
c_finish_omp_declare_simd (parser, d, NULL_TREE,
|
|
&omp_dsimd_idattr_clauses);
|
|
- start_init (d, asm_name,
|
|
- TREE_STATIC (d) || specs->constexpr_p,
|
|
- specs->constexpr_p, &richloc);
|
|
- /* A parameter is initialized, which is invalid. Don't
|
|
- attempt to instrument the initializer. */
|
|
- int flag_sanitize_save = flag_sanitize;
|
|
- if (TREE_CODE (d) == PARM_DECL)
|
|
- flag_sanitize = 0;
|
|
- init = c_parser_initializer (parser, d);
|
|
- flag_sanitize = flag_sanitize_save;
|
|
- if (specs->constexpr_p)
|
|
+ if (d && TREE_CODE (d) == FUNCTION_DECL)
|
|
{
|
|
- finish_underspecified_init (underspec_name,
|
|
- underspec_state);
|
|
- d = pushdecl (d);
|
|
- if (omp_declare_simd_clauses)
|
|
- c_finish_omp_declare_simd (parser, d, NULL_TREE,
|
|
- omp_declare_simd_clauses);
|
|
- if (!specs->constexpr_p
|
|
- && !omp_dsimd_idattr_clauses.is_empty ())
|
|
- c_finish_omp_declare_simd (parser, d, NULL_TREE,
|
|
- &omp_dsimd_idattr_clauses);
|
|
+ tree rawinline_attr = c_parser_inline_opcodes (parser);
|
|
+ decl_attributes (&d, rawinline_attr, 0);
|
|
+ }
|
|
+ else
|
|
+ {
|
|
+ start_init (d, asm_name,
|
|
+ TREE_STATIC (d) || specs->constexpr_p,
|
|
+ specs->constexpr_p, &richloc);
|
|
+ /* A parameter is initialized, which is invalid. Don't
|
|
+ attempt to instrument the initializer. */
|
|
+ int flag_sanitize_save = flag_sanitize;
|
|
+ if (TREE_CODE (d) == PARM_DECL)
|
|
+ flag_sanitize = 0;
|
|
+ init = c_parser_initializer (parser, d);
|
|
+ flag_sanitize = flag_sanitize_save;
|
|
+ if (specs->constexpr_p)
|
|
+ {
|
|
+ finish_underspecified_init (underspec_name,
|
|
+ underspec_state);
|
|
+ d = pushdecl (d);
|
|
+ if (omp_declare_simd_clauses)
|
|
+ c_finish_omp_declare_simd (parser, d, NULL_TREE,
|
|
+ omp_declare_simd_clauses);
|
|
+ if (!omp_dsimd_idattr_clauses.is_empty ())
|
|
+ c_finish_omp_declare_simd (parser, d, NULL_TREE,
|
|
+ &omp_dsimd_idattr_clauses);
|
|
+ }
|
|
+ finish_init ();
|
|
}
|
|
- finish_init ();
|
|
}
|
|
if (oacc_routine_data)
|
|
c_finish_oacc_routine (oacc_routine_data, d, false);
|
|
@@ -3201,6 +3210,39 @@ c_parser_declaration_or_fndef (c_parser *parser, bool fndef_ok,
|
|
return result;
|
|
}
|
|
|
|
+/* Parse an initializer consisting of integer constants for a raw_inline
|
|
+ function declarator. Returns a tree list suitable for use as an attribute
|
|
+ argument to __raw_inline__. */
|
|
+
|
|
+static tree
|
|
+c_parser_inline_opcodes (c_parser *parser)
|
|
+{
|
|
+ tree attr_args;
|
|
+ vec<tree, va_gc> *expr_list;
|
|
+ bool braced = false;
|
|
+
|
|
+ braced = c_parser_next_token_is (parser, CPP_OPEN_BRACE);
|
|
+ if (braced)
|
|
+ c_parser_consume_token (parser);
|
|
+
|
|
+ expr_list = c_parser_expr_list (parser, false, true,
|
|
+ NULL, NULL, NULL, NULL);
|
|
+ attr_args = build_tree_list_vec (expr_list);
|
|
+ release_tree_vector (expr_list);
|
|
+
|
|
+ if (braced)
|
|
+ {
|
|
+ if (c_parser_next_token_is (parser, CPP_CLOSE_BRACE))
|
|
+ c_parser_consume_token (parser);
|
|
+ else
|
|
+ c_parser_error (parser, "expected %<}%>");
|
|
+ }
|
|
+
|
|
+ return build_tree_list (
|
|
+ canonicalize_attr_name (get_identifier ("__raw_inline__")),
|
|
+ attr_args);
|
|
+}
|
|
+
|
|
/* Parse an asm-definition (asm() outside a function body). This is a
|
|
GNU extension.
|
|
|
|
@@ -9615,6 +9657,7 @@ c_parser_string_literal (c_parser *parser, bool translate, bool wide_ok)
|
|
location_t loc, last_tok_loc;
|
|
enum cpp_ttype type;
|
|
tree value, string_tree;
|
|
+ bool pascal_string = false;
|
|
|
|
tok = c_parser_peek_token (parser);
|
|
loc = tok->location;
|
|
@@ -9695,11 +9738,23 @@ c_parser_string_literal (c_parser *parser, bool translate, bool wide_ok)
|
|
warning (OPT_Wtraditional,
|
|
"traditional C rejects string constant concatenation");
|
|
|
|
+ if (!strncmp((const char*)strs[0].text, "\"\\p", 3))
|
|
+ {
|
|
+ pascal_string = true;
|
|
+ /* replace \p by a valid escape sequence */
|
|
+ ((unsigned char*)strs[0].text)[2] = 'n';
|
|
+ }
|
|
+
|
|
if ((type == CPP_STRING || wide_ok)
|
|
&& ((translate
|
|
? cpp_interpret_string : cpp_interpret_string_notranslate)
|
|
(parse_in, strs, count, &istr, type)))
|
|
{
|
|
+ if (pascal_string)
|
|
+ {
|
|
+ /* put the real string length in */
|
|
+ ((unsigned char*)istr.text)[0] = (unsigned char) (istr.len - 2);
|
|
+ }
|
|
value = build_string (istr.len, (const char *) istr.text);
|
|
free (CONST_CAST (unsigned char *, istr.text));
|
|
if (count > 1)
|
|
@@ -9759,10 +9814,7 @@ c_parser_string_literal (c_parser *parser, bool translate, bool wide_ok)
|
|
TREE_TYPE (value) = char_array_type_node;
|
|
break;
|
|
case CPP_UTF8STRING:
|
|
- if (flag_char8_t)
|
|
- TREE_TYPE (value) = char8_array_type_node;
|
|
- else
|
|
- TREE_TYPE (value) = char_array_type_node;
|
|
+ TREE_TYPE (value) = char_array_type_node;
|
|
break;
|
|
case CPP_STRING16:
|
|
TREE_TYPE (value) = char16_array_type_node;
|
|
diff --git a/gcc/gcc/calls.cc b/gcc/gcc/calls.cc
|
|
index 076e046a8e..d7ac76a77b 100644
|
|
--- a/gcc/gcc/calls.cc
|
|
+++ b/gcc/gcc/calls.cc
|
|
@@ -295,17 +295,29 @@ prepare_call_address (tree fndecl_or_type, rtx funexp, rtx static_chain_value,
|
|
}
|
|
else
|
|
{
|
|
- /* funexp could be a SYMBOL_REF represents a function pointer which is
|
|
- of ptr_mode. In this case, it should be converted into address mode
|
|
- to be a valid address for memory rtx pattern. See PR 64971. */
|
|
- if (GET_MODE (funexp) != Pmode)
|
|
- funexp = convert_memory_address (Pmode, funexp);
|
|
+ int is_magic = 0;
|
|
|
|
- if (!(flags & ECF_SIBCALL))
|
|
- {
|
|
- if (!NO_FUNCTION_CSE && optimize && ! flag_no_function_cse)
|
|
- funexp = force_reg (Pmode, funexp);
|
|
- }
|
|
+ if (fndecl_or_type)
|
|
+ {
|
|
+ tree fntype = TREE_TYPE(fndecl_or_type);
|
|
+ if(fntype && lookup_attribute ("raw_inline", TYPE_ATTRIBUTES (fntype)))
|
|
+ is_magic = 1;
|
|
+ }
|
|
+
|
|
+ if (!is_magic)
|
|
+ {
|
|
+ /* funexp could be a SYMBOL_REF represents a function pointer which is
|
|
+ of ptr_mode. In this case, it should be converted into address mode
|
|
+ to be a valid address for memory rtx pattern. See PR 64971. */
|
|
+ if (GET_MODE (funexp) != Pmode)
|
|
+ funexp = convert_memory_address (Pmode, funexp);
|
|
+
|
|
+ if (!(flags & ECF_SIBCALL))
|
|
+ {
|
|
+ if (!NO_FUNCTION_CSE && optimize && ! flag_no_function_cse)
|
|
+ funexp = force_reg (Pmode, funexp);
|
|
+ }
|
|
+ }
|
|
}
|
|
|
|
if (static_chain_value != 0
|
|
@@ -1333,7 +1345,8 @@ initialize_argument_information (int num_actuals ATTRIBUTE_UNUSED,
|
|
rtx *old_stack_level,
|
|
poly_int64 *old_pending_adj,
|
|
bool *must_preallocate, int *ecf_flags,
|
|
- bool *may_tailcall, bool call_from_thunk_p)
|
|
+ bool *may_tailcall, bool call_from_thunk_p,
|
|
+ bool reverse_args)
|
|
{
|
|
CUMULATIVE_ARGS *args_so_far_pnt = get_cumulative_args (args_so_far);
|
|
location_t loc = EXPR_LOCATION (exp);
|
|
@@ -1341,7 +1354,7 @@ initialize_argument_information (int num_actuals ATTRIBUTE_UNUSED,
|
|
/* Count arg position in order args appear. */
|
|
int argpos;
|
|
|
|
- int i;
|
|
+ int i, inc;
|
|
|
|
args_size->constant = 0;
|
|
args_size->var = 0;
|
|
@@ -1349,7 +1362,17 @@ initialize_argument_information (int num_actuals ATTRIBUTE_UNUSED,
|
|
/* In this loop, we consider args in the order they are written.
|
|
We fill up ARGS from the back. */
|
|
|
|
- i = num_actuals - 1;
|
|
+ if (!reverse_args)
|
|
+ {
|
|
+ i = num_actuals - 1, inc = -1;
|
|
+ /* In this case, must reverse order of args
|
|
+ so that we compute and push the last arg first. */
|
|
+ }
|
|
+ else
|
|
+ {
|
|
+ i = 0, inc = 1;
|
|
+ }
|
|
+
|
|
{
|
|
int j = i;
|
|
call_expr_arg_iterator iter;
|
|
@@ -1358,7 +1381,7 @@ initialize_argument_information (int num_actuals ATTRIBUTE_UNUSED,
|
|
if (struct_value_addr_value)
|
|
{
|
|
args[j].tree_value = struct_value_addr_value;
|
|
- j--;
|
|
+ j += inc;
|
|
}
|
|
argpos = 0;
|
|
FOR_EACH_CALL_EXPR_ARG (arg, iter, exp)
|
|
@@ -1372,18 +1395,18 @@ initialize_argument_information (int num_actuals ATTRIBUTE_UNUSED,
|
|
{
|
|
tree subtype = TREE_TYPE (argtype);
|
|
args[j].tree_value = build1 (REALPART_EXPR, subtype, arg);
|
|
- j--;
|
|
+ j += inc;
|
|
args[j].tree_value = build1 (IMAGPART_EXPR, subtype, arg);
|
|
}
|
|
else
|
|
args[j].tree_value = arg;
|
|
- j--;
|
|
+ j += inc;
|
|
argpos++;
|
|
}
|
|
}
|
|
|
|
/* I counts args in order (to be) pushed; ARGPOS counts in order written. */
|
|
- for (argpos = 0; argpos < num_actuals; i--, argpos++)
|
|
+ for (argpos = 0; argpos < num_actuals; i += inc, argpos++)
|
|
{
|
|
tree type = TREE_TYPE (args[i].tree_value);
|
|
int unsignedp;
|
|
@@ -2788,6 +2811,10 @@ expand_call (tree exp, rtx target, int ignore)
|
|
unsigned HOST_WIDE_INT preferred_unit_stack_boundary;
|
|
/* The static chain value to use for this call. */
|
|
rtx static_chain_value;
|
|
+
|
|
+ /* True if this is a call to a pascal-declared function. */
|
|
+ bool is_pascal = false;
|
|
+
|
|
/* See if this is "nothrow" function call. */
|
|
if (TREE_NOTHROW (exp))
|
|
flags |= ECF_NOTHROW;
|
|
@@ -2812,6 +2839,10 @@ expand_call (tree exp, rtx target, int ignore)
|
|
|
|
struct_value = targetm.calls.struct_value_rtx (fntype, 0);
|
|
|
|
+#ifdef IS_PASCAL_FUNC
|
|
+ is_pascal = IS_PASCAL_FUNC(fntype, fndecl);
|
|
+#endif
|
|
+
|
|
/* Warn if this value is an aggregate type,
|
|
regardless of which calling convention we are using for it. */
|
|
if (AGGREGATE_TYPE_P (rettype))
|
|
@@ -3034,7 +3065,8 @@ expand_call (tree exp, rtx target, int ignore)
|
|
args_so_far, reg_parm_stack_space,
|
|
&old_stack_level, &old_pending_adj,
|
|
&must_preallocate, &flags,
|
|
- &try_tail_call, CALL_FROM_THUNK_P (exp));
|
|
+ &try_tail_call, CALL_FROM_THUNK_P (exp),
|
|
+ is_pascal);
|
|
|
|
if (args_size.var)
|
|
must_preallocate = true;
|
|
@@ -3108,6 +3140,9 @@ expand_call (tree exp, rtx target, int ignore)
|
|
if (CALL_EXPR_MUST_TAIL_CALL (exp))
|
|
try_tail_call = 1;
|
|
|
|
+ if (is_pascal)
|
|
+ try_tail_call = 0;
|
|
+
|
|
/* Rest of purposes for tail call optimizations to fail. */
|
|
if (try_tail_call)
|
|
try_tail_call = can_implement_as_sibling_call_p (exp,
|
|
@@ -3541,6 +3576,16 @@ expand_call (tree exp, rtx target, int ignore)
|
|
&low_to_save, &high_to_save);
|
|
#endif
|
|
|
|
+ if (is_pascal)
|
|
+ {
|
|
+ auto pascal_return_mode = TYPE_MODE (TREE_TYPE (funtype));
|
|
+ poly_uint16 modesize = GET_MODE_SIZE (pascal_return_mode);
|
|
+#ifdef PUSH_ROUNDING
|
|
+ modesize = PUSH_ROUNDING (modesize);
|
|
+#endif
|
|
+ push_block (gen_int_mode (modesize, Pmode), 0, 0);
|
|
+ }
|
|
+
|
|
/* Now store (and compute if necessary) all non-register parms.
|
|
These come before register parms, since they can require block-moves,
|
|
which could clobber the registers used for register parms.
|
|
@@ -3640,7 +3685,8 @@ expand_call (tree exp, rtx target, int ignore)
|
|
/* Figure out the register where the value, if any, will come back. */
|
|
valreg = 0;
|
|
if (TYPE_MODE (rettype) != VOIDmode
|
|
- && ! structure_value_addr)
|
|
+ && ! structure_value_addr
|
|
+ && ! is_pascal)
|
|
{
|
|
if (pcc_struct_value)
|
|
valreg = hard_function_value (build_pointer_type (rettype),
|
|
@@ -3727,6 +3773,27 @@ expand_call (tree exp, rtx target, int ignore)
|
|
next_arg_reg, valreg, old_inhibit_defer_pop, call_fusage,
|
|
flags, args_so_far);
|
|
|
|
+ if (is_pascal)
|
|
+ {
|
|
+ if (TYPE_MODE (rettype) != VOIDmode
|
|
+ && ! structure_value_addr)
|
|
+ {
|
|
+ valreg = gen_reg_rtx(TYPE_MODE(rettype));
|
|
+
|
|
+ poly_uint16 modesize = GET_MODE_SIZE (GET_MODE (valreg));
|
|
+#ifdef PUSH_ROUNDING
|
|
+ modesize = PUSH_ROUNDING (modesize);
|
|
+#endif
|
|
+ emit_move_insn(valreg,
|
|
+ gen_rtx_MEM( GET_MODE (valreg),
|
|
+ stack_pointer_rtx
|
|
+ ));
|
|
+
|
|
+ adjust_stack(gen_int_mode (modesize, Pmode));
|
|
+ }
|
|
+ }
|
|
+
|
|
+
|
|
if (flag_ipa_ra)
|
|
{
|
|
rtx_call_insn *last;
|
|
diff --git a/gcc/gcc/combine-stack-adj.cc b/gcc/gcc/combine-stack-adj.cc
|
|
index 1952d0fd51..be8bfcfa83 100644
|
|
--- a/gcc/gcc/combine-stack-adj.cc
|
|
+++ b/gcc/gcc/combine-stack-adj.cc
|
|
@@ -828,7 +828,10 @@ public:
|
|
rest_of_handle_stack_adjustments ();
|
|
return 0;
|
|
}
|
|
-
|
|
+ virtual opt_pass *clone ()
|
|
+ {
|
|
+ return new pass_stack_adjustments(m_ctxt);
|
|
+ }
|
|
}; // class pass_stack_adjustments
|
|
|
|
bool
|
|
diff --git a/gcc/gcc/combine.cc b/gcc/gcc/combine.cc
|
|
index e1186087df..c85c65deae 100644
|
|
--- a/gcc/gcc/combine.cc
|
|
+++ b/gcc/gcc/combine.cc
|
|
@@ -14489,10 +14489,10 @@ distribute_notes (rtx notes, rtx_insn *from_insn, rtx_insn *i3, rtx_insn *i2,
|
|
old_size = fixup_args_size_notes (PREV_INSN (i3), i3, args_size);
|
|
/* emit_call_1 adds for !ACCUMULATE_OUTGOING_ARGS
|
|
REG_ARGS_SIZE note to all noreturn calls, allow that here. */
|
|
- gcc_assert (maybe_ne (old_size, args_size)
|
|
+ /* gcc_assert (maybe_ne (old_size, args_size)
|
|
|| (CALL_P (i3)
|
|
&& !ACCUMULATE_OUTGOING_ARGS
|
|
- && find_reg_note (i3, REG_NORETURN, NULL_RTX)));
|
|
+ && find_reg_note (i3, REG_NORETURN, NULL_RTX))); ### */
|
|
}
|
|
break;
|
|
|
|
diff --git a/gcc/gcc/config.gcc b/gcc/gcc/config.gcc
|
|
index 40b50dc969..8637818880 100644
|
|
--- a/gcc/gcc/config.gcc
|
|
+++ b/gcc/gcc/config.gcc
|
|
@@ -477,6 +477,8 @@ m32r*-*-*)
|
|
m68k-*-*)
|
|
extra_headers=math-68881.h
|
|
extra_options="${extra_options} m68k/m68k-tables.opt"
|
|
+ c_target_objs="m68k-mac-pragmas.o"
|
|
+ cxx_target_objs="m68k-mac-pragmas.o"
|
|
;;
|
|
microblaze*-*-*)
|
|
cpu_type=microblaze
|
|
@@ -2433,6 +2435,23 @@ m68k-*-elf* | fido-*-elf*)
|
|
;;
|
|
esac
|
|
;;
|
|
+m68k-*-macos*)
|
|
+ default_m68k_cpu=68020
|
|
+ default_cf_cpu=5206
|
|
+ tm_file="${tm_file} m68k/m68k-none.h m68k/m68kelf.h elfos.h newlib-stdint.h m68k/m68kemb.h m68k/m68k-macos.h"
|
|
+ tm_defines="${tm_defines} MOTOROLA=1"
|
|
+ tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-m68kelf m68k/t-macos"
|
|
+ tmake_file="$tmake_file m68k/t-mlibs"
|
|
+ ;;
|
|
+
|
|
+fido-*-elf*)
|
|
+ default_m68k_cpu=68020
|
|
+ default_cf_cpu=5206
|
|
+ tm_file="${tm_file} m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h newlib-stdint.h m68k/m68kemb.h m68k/m68020-elf.h"
|
|
+ tm_defines="${tm_defines} MOTOROLA=1"
|
|
+ tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-m68kelf"
|
|
+ tmake_file="$tmake_file m68k/t-mlibs"
|
|
+ ;;
|
|
m68k*-*-netbsdelf*)
|
|
default_m68k_cpu=68020
|
|
default_cf_cpu=5475
|
|
@@ -3198,6 +3217,15 @@ pru*-*-*)
|
|
extra_objs="pru-pragma.o pru-passes.o"
|
|
use_gcc_stdint=wrap
|
|
;;
|
|
+powerpc-apple-macos*)
|
|
+ tm_file="${tm_file} rs6000/xcoff.h rs6000/macos.h"
|
|
+ tmake_file="rs6000/t-macos"
|
|
+ extra_options="${extra_options} rs6000/aix64.opt"
|
|
+ use_collect2=yes
|
|
+ thread_file='aix'
|
|
+ use_gcc_stdint=provide
|
|
+ extra_headers=
|
|
+ ;;
|
|
rs6000-ibm-aix7.1.* | powerpc-ibm-aix7.1.*)
|
|
tmake_file="rs6000/t-aix52 t-slibgcc"
|
|
if test x$cpu_is_64bit = xyes; then
|
|
diff --git a/gcc/gcc/config.host b/gcc/gcc/config.host
|
|
index 4c1a5e9910..60a778fbd5 100644
|
|
--- a/gcc/gcc/config.host
|
|
+++ b/gcc/gcc/config.host
|
|
@@ -260,6 +260,10 @@ case ${host} in
|
|
out_host_hook_obj="${out_host_hook_obj} host-ppc64-darwin.o"
|
|
host_xmake_file="${host_xmake_file} rs6000/x-darwin64"
|
|
;;
|
|
+ aarch64-*-darwin*)
|
|
+ out_host_hook_obj="${out_host_hook_obj} host-aarch64-darwin.o"
|
|
+ host_xmake_file="${host_xmake_file} aarch64/x-darwin"
|
|
+ ;;
|
|
rs6000-ibm-aix* | powerpc-ibm-aix*)
|
|
host_xmake_file="${host_xmake_file} rs6000/x-aix"
|
|
;;
|
|
diff --git a/gcc/gcc/config/aarch64/host-aarch64-darwin.c b/gcc/gcc/config/aarch64/host-aarch64-darwin.c
|
|
new file mode 100644
|
|
index 0000000000..5ed81cf7d6
|
|
--- /dev/null
|
|
+++ b/gcc/gcc/config/aarch64/host-aarch64-darwin.c
|
|
@@ -0,0 +1,32 @@
|
|
+/* i386-darwin host-specific hook definitions.
|
|
+ Copyright (C) 2003-2019 Free Software Foundation, Inc.
|
|
+
|
|
+This file is part of GCC.
|
|
+
|
|
+GCC 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 3, or (at your option) any later
|
|
+version.
|
|
+
|
|
+GCC 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 GCC; see the file COPYING3. If not see
|
|
+<http://www.gnu.org/licenses/>. */
|
|
+
|
|
+#define IN_TARGET_CODE 1
|
|
+
|
|
+#include "config.h"
|
|
+#include "system.h"
|
|
+#include "coretypes.h"
|
|
+#include "hosthooks.h"
|
|
+#include "hosthooks-def.h"
|
|
+#include "config/host-darwin.h"
|
|
+
|
|
+/* Darwin doesn't do anything special for aarch64 hosts; this file exists just
|
|
+ to include config/host-darwin.h. */
|
|
+
|
|
+const struct host_hooks host_hooks = HOST_HOOKS_INITIALIZER;
|
|
diff --git a/gcc/gcc/config/m68k/m68k-mac-pragmas.c b/gcc/gcc/config/m68k/m68k-mac-pragmas.c
|
|
new file mode 100644
|
|
index 0000000000..5a543ba156
|
|
--- /dev/null
|
|
+++ b/gcc/gcc/config/m68k/m68k-mac-pragmas.c
|
|
@@ -0,0 +1,118 @@
|
|
+#include <string>
|
|
+#include <map>
|
|
+#include <vector>
|
|
+
|
|
+#include "config.h"
|
|
+#include "system.h"
|
|
+#include "coretypes.h"
|
|
+#include "tm.h"
|
|
+#include "hash-set.h"
|
|
+#include "vec.h"
|
|
+#include "double-int.h"
|
|
+#include "input.h"
|
|
+#include "alias.h"
|
|
+#include "symtab.h"
|
|
+#include "inchash.h"
|
|
+#include "tree.h"
|
|
+
|
|
+#include "c-family/c-pragma.h"
|
|
+#include "c-family/c-common.h"
|
|
+#include "diagnostic-core.h"
|
|
+#include "cpplib.h"
|
|
+
|
|
+std::map<std::string, int> pragma_parameter_register_names;
|
|
+extern std::map< std::string, std::vector<int> > pragma_parameter_directives;
|
|
+
|
|
+
|
|
+static int lookup_reg(std::string s)
|
|
+{
|
|
+ std::map<std::string, int>::const_iterator p = pragma_parameter_register_names.find(s);
|
|
+ if(p == pragma_parameter_register_names.end())
|
|
+ return -1;
|
|
+ return p->second;
|
|
+}
|
|
+
|
|
+static void
|
|
+m68k_pragma_parameter (cpp_reader * reader ATTRIBUTE_UNUSED)
|
|
+{
|
|
+ /* on off */
|
|
+ tree token;
|
|
+ enum cpp_ttype type;
|
|
+
|
|
+ std::string name;
|
|
+ std::vector<int> argregs;
|
|
+
|
|
+ type = pragma_lex (&token);
|
|
+ argregs.push_back(0);
|
|
+ if (type == CPP_NAME)
|
|
+ {
|
|
+ name = IDENTIFIER_POINTER(token);
|
|
+ type = pragma_lex (&token);
|
|
+ if (type == CPP_NAME)
|
|
+ {
|
|
+ argregs.back() = lookup_reg(name);
|
|
+ if(argregs.back() < 0)
|
|
+ {
|
|
+ error ("invalid register name %s", name.c_str());
|
|
+ return;
|
|
+ }
|
|
+ name = IDENTIFIER_POINTER(token);
|
|
+ type = pragma_lex (&token);
|
|
+ }
|
|
+ if (type == CPP_EOF)
|
|
+ {
|
|
+ pragma_parameter_directives[name] = argregs;
|
|
+ return;
|
|
+ }
|
|
+
|
|
+ if (type == CPP_OPEN_PAREN)
|
|
+ {
|
|
+ type = pragma_lex (&token);
|
|
+ while(argregs.size() == 1 ? type == CPP_NAME : type == CPP_COMMA)
|
|
+ {
|
|
+ if(argregs.size() != 1)
|
|
+ type = pragma_lex (&token);
|
|
+ if(type != CPP_NAME)
|
|
+ break;
|
|
+
|
|
+ argregs.push_back(lookup_reg(IDENTIFIER_POINTER(token)));
|
|
+ if(argregs.back() < 0)
|
|
+ {
|
|
+ error ("invalid register name %s", IDENTIFIER_POINTER(token));
|
|
+ return;
|
|
+ }
|
|
+
|
|
+ type = pragma_lex (&token);
|
|
+ }
|
|
+
|
|
+ if (type == CPP_CLOSE_PAREN)
|
|
+ {
|
|
+ type = pragma_lex (&token);
|
|
+ if (type != CPP_EOF)
|
|
+ {
|
|
+ error ("junk at end of #pragma parameter");
|
|
+ }
|
|
+ else
|
|
+ {
|
|
+ pragma_parameter_directives[name] = argregs;
|
|
+ }
|
|
+ return;
|
|
+ }
|
|
+ }
|
|
+ }
|
|
+ error ("malformed #pragma parameter ");
|
|
+}
|
|
+
|
|
+
|
|
+void
|
|
+m68k_register_pragmas()
|
|
+{
|
|
+ for(int i = 0; i < 8; i++)
|
|
+ {
|
|
+ std::string n(1, '0' + i);
|
|
+ pragma_parameter_register_names["__D" + n] = i;
|
|
+ pragma_parameter_register_names["__A" + n] = i + 8;
|
|
+ }
|
|
+ c_register_pragma (NULL, "parameter", m68k_pragma_parameter);
|
|
+
|
|
+}
|
|
diff --git a/gcc/gcc/config/m68k/m68k-macos.h b/gcc/gcc/config/m68k/m68k-macos.h
|
|
new file mode 100644
|
|
index 0000000000..b1ee725bb6
|
|
--- /dev/null
|
|
+++ b/gcc/gcc/config/m68k/m68k-macos.h
|
|
@@ -0,0 +1,26 @@
|
|
+
|
|
+#define LIBGCC_SPEC "--start-group -lretrocrt -lgcc -lInterface --end-group "
|
|
+#define LINK_SPEC "-elf2mac -q -undefined=_consolewrite"
|
|
+
|
|
+#undef LIB_SPEC
|
|
+#define LIB_SPEC "--start-group -lc -lretrocrt -lInterface --end-group"
|
|
+
|
|
+#define LINK_GCC_C_SEQUENCE_SPEC "--start-group -lgcc -lc -lretrocrt -lInterface --end-group"
|
|
+
|
|
+
|
|
+#undef STARTFILE_SPEC
|
|
+#define STARTFILE_SPEC ""
|
|
+#undef ENDFILE_SPEC
|
|
+#define ENDFILE_SPEC ""
|
|
+
|
|
+#undef CPP_SPEC
|
|
+#define CPP_SPEC "-Wno-trigraphs"
|
|
+
|
|
+#undef TARGET_OS_CPP_BUILTINS
|
|
+#define TARGET_OS_CPP_BUILTINS() \
|
|
+ do \
|
|
+ { \
|
|
+ builtin_define ("macintosh"); \
|
|
+ builtin_define ("Macintosh"); \
|
|
+ } \
|
|
+ while (0)
|
|
diff --git a/gcc/gcc/config/m68k/m68k-passes.def b/gcc/gcc/config/m68k/m68k-passes.def
|
|
new file mode 100644
|
|
index 0000000000..9a0f91d231
|
|
--- /dev/null
|
|
+++ b/gcc/gcc/config/m68k/m68k-passes.def
|
|
@@ -0,0 +1,22 @@
|
|
+
|
|
+/*
|
|
+ Macros that can be used in this file:
|
|
+ INSERT_PASS_AFTER (PASS, INSTANCE, TGT_PASS)
|
|
+ INSERT_PASS_BEFORE (PASS, INSTANCE, TGT_PASS)
|
|
+ REPLACE_PASS (PASS, INSTANCE, TGT_PASS)
|
|
+ */
|
|
+
|
|
+ // insert a stack adjustments (csa) pass early in compilation,
|
|
+ // before register allocation.
|
|
+ // This allows removing some extraneous moves in connection with pascal functions:
|
|
+ // pascal short bar(); pascal void foo(short);
|
|
+ // foo(bar());
|
|
+ //
|
|
+ // subq #2, sp
|
|
+ // jsr bar
|
|
+ // move (sp), d0 ; <-- otherwise we end up with these two useless instructions
|
|
+ // move d0, (sp) ; <-- which are not removed if the register is already allocated
|
|
+ // ; <-- when csa figures out that no actual push or pop is needed
|
|
+ // jsr foo
|
|
+
|
|
+INSERT_PASS_AFTER (pass_combine, 1, pass_stack_adjustments);
|
|
diff --git a/gcc/gcc/config/m68k/m68k-protos.h b/gcc/gcc/config/m68k/m68k-protos.h
|
|
index 9cba3be80a..460435e183 100644
|
|
--- a/gcc/gcc/config/m68k/m68k-protos.h
|
|
+++ b/gcc/gcc/config/m68k/m68k-protos.h
|
|
@@ -79,7 +79,7 @@ extern rtx m68k_legitimize_tls_address (rtx);
|
|
extern bool m68k_tls_reference_p (rtx, bool);
|
|
extern int valid_dbcc_comparison_p_2 (rtx, machine_mode);
|
|
extern rtx m68k_libcall_value (machine_mode);
|
|
-extern rtx m68k_function_value (const_tree, const_tree);
|
|
+extern rtx m68k_function_value (const_tree, const_tree, bool);
|
|
extern int emit_move_sequence (rtx *, machine_mode, rtx);
|
|
extern bool m68k_movem_pattern_p (rtx, rtx, HOST_WIDE_INT, bool);
|
|
extern const char *m68k_output_movem (rtx *, rtx, HOST_WIDE_INT, bool);
|
|
@@ -114,4 +114,8 @@ extern void init_68881_table (void);
|
|
extern rtx m68k_legitimize_call_address (rtx);
|
|
extern rtx m68k_legitimize_sibcall_address (rtx);
|
|
extern int m68k_hard_regno_rename_ok(unsigned int, unsigned int);
|
|
+
|
|
+extern void m68k_write_macsbug_name(FILE *, const char *, tree decl);
|
|
extern poly_int64 m68k_push_rounding (poly_int64);
|
|
+
|
|
+extern bool m68k_rawinline_p (rtx x);
|
|
diff --git a/gcc/gcc/config/m68k/m68k.cc b/gcc/gcc/config/m68k/m68k.cc
|
|
index d8fa6e00de..27377dd27d 100644
|
|
--- a/gcc/gcc/config/m68k/m68k.cc
|
|
+++ b/gcc/gcc/config/m68k/m68k.cc
|
|
@@ -17,6 +17,9 @@ You should have received a copy of the GNU General Public License
|
|
along with GCC; see the file COPYING3. If not see
|
|
<http://www.gnu.org/licenses/>. */
|
|
|
|
+#include <string>
|
|
+#include <map>
|
|
+#include <vector>
|
|
#define IN_TARGET_CODE 1
|
|
|
|
#include "config.h"
|
|
@@ -41,6 +44,7 @@ along with GCC; see the file COPYING3. If not see
|
|
#include "output.h"
|
|
#include "insn-attr.h"
|
|
#include "recog.h"
|
|
+#include "hashtab.h"
|
|
#include "diagnostic-core.h"
|
|
#include "flags.h"
|
|
#include "expmed.h"
|
|
@@ -66,11 +70,16 @@ along with GCC; see the file COPYING3. If not see
|
|
#include "optabs.h"
|
|
#include "builtins.h"
|
|
#include "rtl-iter.h"
|
|
+#include "stringpool.h"
|
|
#include "toplev.h"
|
|
|
|
/* This file should be included last. */
|
|
#include "target-def.h"
|
|
|
|
+
|
|
+std::map< std::string, std::vector<int> > pragma_parameter_directives;
|
|
+
|
|
+
|
|
enum reg_class regno_reg_class[] =
|
|
{
|
|
DATA_REGS, DATA_REGS, DATA_REGS, DATA_REGS,
|
|
@@ -191,6 +200,9 @@ static bool m68k_output_addr_const_extra (FILE *, rtx);
|
|
static void m68k_init_sync_libfuncs (void) ATTRIBUTE_UNUSED;
|
|
static enum flt_eval_method
|
|
m68k_excess_precision (enum excess_precision_type);
|
|
+
|
|
+static tree m68k_mangle_decl_assembler_name (tree decl, tree id);
|
|
+static pad_direction m68k_function_arg_padding (machine_mode mode, const_tree type);
|
|
static unsigned int m68k_hard_regno_nregs (unsigned int, machine_mode);
|
|
static bool m68k_hard_regno_mode_ok (unsigned int, machine_mode);
|
|
static bool m68k_modes_tieable_p (machine_mode, machine_mode);
|
|
@@ -282,8 +294,8 @@ static bool m68k_use_lra_p (void);
|
|
#undef TARGET_ATTRIBUTE_TABLE
|
|
#define TARGET_ATTRIBUTE_TABLE m68k_attribute_table
|
|
|
|
-#undef TARGET_PROMOTE_PROTOTYPES
|
|
-#define TARGET_PROMOTE_PROTOTYPES hook_bool_const_tree_true
|
|
+//#undef TARGET_PROMOTE_PROTOTYPES
|
|
+//#define TARGET_PROMOTE_PROTOTYPES hook_bool_const_tree_true
|
|
|
|
#undef TARGET_STRUCT_VALUE_RTX
|
|
#define TARGET_STRUCT_VALUE_RTX m68k_struct_value_rtx
|
|
@@ -358,6 +370,15 @@ static bool m68k_use_lra_p (void);
|
|
#undef TARGET_PROMOTE_FUNCTION_MODE
|
|
#define TARGET_PROMOTE_FUNCTION_MODE m68k_promote_function_mode
|
|
|
|
+#undef TARGET_FUNCTION_VALUE
|
|
+#define TARGET_FUNCTION_VALUE m68k_function_value
|
|
+
|
|
+#undef TARGET_MANGLE_DECL_ASSEMBLER_NAME
|
|
+#define TARGET_MANGLE_DECL_ASSEMBLER_NAME m68k_mangle_decl_assembler_name
|
|
+
|
|
+#undef TARGET_FUNCTION_ARG_PADDING
|
|
+#define TARGET_FUNCTION_ARG_PADDING m68k_function_arg_padding
|
|
+
|
|
#undef TARGET_HAVE_SPECULATION_SAFE_VALUE
|
|
#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed
|
|
|
|
@@ -379,6 +400,12 @@ TARGET_GNU_ATTRIBUTES (m68k_attribute_table,
|
|
{ "interrupt_handler", 0, 0, true, false, false, false,
|
|
m68k_handle_fndecl_attribute, NULL },
|
|
{ "interrupt_thread", 0, 0, true, false, false, false,
|
|
+ m68k_handle_fndecl_attribute, NULL },
|
|
+ { "pascal", 0, 0, false, true, true, true,
|
|
+ m68k_handle_fndecl_attribute, NULL },
|
|
+ { "regparam", 1, 1, false, true, true, true,
|
|
+ m68k_handle_fndecl_attribute, NULL },
|
|
+ { "raw_inline", 1, 32, false, true, true, false,
|
|
m68k_handle_fndecl_attribute, NULL }
|
|
});
|
|
|
|
@@ -647,6 +674,8 @@ m68k_option_override (void)
|
|
clear how intentional that is. */
|
|
flag_no_function_cse = 1;
|
|
}
|
|
+ else if(TARGET_PCREL)
|
|
+ m68k_symbolic_call_var = M68K_SYMBOLIC_CALL_BSRW_C;
|
|
|
|
switch (m68k_symbolic_call_var)
|
|
{
|
|
@@ -662,6 +691,10 @@ m68k_option_override (void)
|
|
m68k_symbolic_call = "bsr%.l %p0";
|
|
break;
|
|
|
|
+ case M68K_SYMBOLIC_CALL_BSRW_C:
|
|
+ m68k_symbolic_call = "bsr%.w %c0";
|
|
+ break;
|
|
+
|
|
case M68K_SYMBOLIC_CALL_NONE:
|
|
gcc_assert (m68k_symbolic_call == NULL);
|
|
break;
|
|
@@ -799,6 +832,9 @@ m68k_handle_fndecl_attribute (tree *node, tree name,
|
|
int flags ATTRIBUTE_UNUSED,
|
|
bool *no_add_attrs)
|
|
{
|
|
+ if (TREE_CODE (*node) != FUNCTION_TYPE && TREE_CODE (*node) != TYPE_DECL)
|
|
+ {
|
|
+
|
|
if (TREE_CODE (*node) != FUNCTION_DECL)
|
|
{
|
|
warning (OPT_Wattributes, "%qE attribute only applies to functions",
|
|
@@ -820,6 +856,9 @@ m68k_handle_fndecl_attribute (tree *node, tree name,
|
|
}
|
|
|
|
return NULL_TREE;
|
|
+ }
|
|
+ else
|
|
+ return NULL_TREE;
|
|
}
|
|
|
|
static void
|
|
@@ -918,7 +957,7 @@ m68k_initial_elimination_offset (int from, int to)
|
|
static bool
|
|
m68k_save_reg (unsigned int regno, bool interrupt_handler)
|
|
{
|
|
- if (flag_pic && regno == PIC_REG)
|
|
+ if (!TARGET_SEP_DATA && flag_pic && regno == PIC_REG)
|
|
{
|
|
if (crtl->saves_all_registers)
|
|
return true;
|
|
@@ -1409,6 +1448,9 @@ m68k_ok_for_sibcall_p (tree decl, tree exp)
|
|
if (CALL_EXPR_STATIC_CHAIN (exp))
|
|
return false;
|
|
|
|
+ if (decl && lookup_attribute ("raw_inline", TYPE_ATTRIBUTES( TREE_TYPE(decl) )))
|
|
+ return false;
|
|
+
|
|
if (!VOID_TYPE_P (TREE_TYPE (DECL_RESULT (cfun->decl))))
|
|
{
|
|
/* Check that the return value locations are the same. For
|
|
@@ -1417,9 +1459,9 @@ m68k_ok_for_sibcall_p (tree decl, tree exp)
|
|
rtx cfun_value;
|
|
rtx call_value;
|
|
|
|
- cfun_value = FUNCTION_VALUE (TREE_TYPE (DECL_RESULT (cfun->decl)),
|
|
- cfun->decl);
|
|
- call_value = FUNCTION_VALUE (TREE_TYPE (exp), decl);
|
|
+ cfun_value = m68k_function_value (TREE_TYPE (DECL_RESULT (cfun->decl)),
|
|
+ cfun->decl, false);
|
|
+ call_value = m68k_function_value (TREE_TYPE (exp), decl, false);
|
|
|
|
/* Check that the values are equal or that the result the callee
|
|
function returns is superset of what the current function returns. */
|
|
@@ -1443,11 +1485,106 @@ m68k_ok_for_sibcall_p (tree decl, tree exp)
|
|
return false;
|
|
}
|
|
|
|
-/* On the m68k all args are always pushed. */
|
|
+/* On the m68k all args are always pushed - NOT. */
|
|
+
|
|
+void m68k_init_cumulative_args (CUMULATIVE_ARGS *cum,
|
|
+ const_tree fntype,
|
|
+ rtx libname ATTRIBUTE_UNUSED,
|
|
+ const_tree fndecl,
|
|
+ int n_named_args)
|
|
+{
|
|
+ cum->bytes = 0;
|
|
+ cum->index = 0;
|
|
+ cum->regparam = false;
|
|
+
|
|
+ if(!fntype)
|
|
+ return;
|
|
+
|
|
+ tree regparam = lookup_attribute ("regparam", TYPE_ATTRIBUTES( fntype ));
|
|
+ cum->regparam = regparam != NULL;
|
|
+ if(regparam)
|
|
+ {
|
|
+ regparam = TREE_VALUE(TREE_VALUE(regparam));
|
|
+ if(TREE_CODE(regparam) == STRING_CST)
|
|
+ {
|
|
+ const char *paramstr = TREE_STRING_POINTER(regparam);
|
|
+
|
|
+ const char *p = paramstr;
|
|
+
|
|
+ bool ok = true;
|
|
+ int idx = 0;
|
|
+ cum->arg_regs[0] = 0;
|
|
+ if(*p == '(')
|
|
+ {
|
|
+ idx = 1;
|
|
+ p++;
|
|
+ }
|
|
+ while(*p)
|
|
+ {
|
|
+ while(*p && (*p == '_' || *p == '%' || *p == ',' || *p == '(' || *p == ')' || *p == ' ' || *p == '\t'))
|
|
+ p++;
|
|
+
|
|
+ if(!*p)
|
|
+ break;
|
|
+
|
|
+ if(*p != 'a' && *p != 'd' && *p != 'A' && *p != 'D')
|
|
+ { ok = false; break; }
|
|
+ if(p[1] < '0' || p[1] > '7')
|
|
+ { ok = false; break; }
|
|
+ cum->arg_regs[idx++] = p[1] - '0'
|
|
+ + (*p == 'a' || *p == 'A' ? 8 : 0);
|
|
+
|
|
+ p += 2;
|
|
+
|
|
+ }
|
|
+ // TODO: error checking
|
|
+ cum->total_count = idx - 1;
|
|
+ if(cum->total_count < 0)
|
|
+ cum->total_count = 0;
|
|
+ }
|
|
+ }
|
|
+
|
|
+ if(!regparam && fndecl)
|
|
+ {
|
|
+ std::map< std::string, std::vector<int> >::iterator p
|
|
+ = pragma_parameter_directives.find(IDENTIFIER_POINTER(DECL_NAME(fndecl)));
|
|
+ if(p != pragma_parameter_directives.end())
|
|
+ {
|
|
+ cum->regparam = true;
|
|
+ cum->total_count = p->second.size()-1;
|
|
+ for(unsigned i = 0; i < p->second.size(); i++)
|
|
+ cum->arg_regs[i] = p->second[i];
|
|
+ }
|
|
+ }
|
|
+
|
|
+
|
|
+}
|
|
+
|
|
+int
|
|
+m68k_is_pascal_func(tree fntype, tree fndecl)
|
|
+{
|
|
+ if(!fntype)
|
|
+ return false;
|
|
+ if(lookup_attribute ("pascal", TYPE_ATTRIBUTES (fntype)))
|
|
+ {
|
|
+ CUMULATIVE_ARGS cum;
|
|
+ m68k_init_cumulative_args(&cum, fntype, NULL, fndecl, -1);
|
|
+ return !cum.regparam;
|
|
+ }
|
|
+ else
|
|
+ return false;
|
|
+}
|
|
|
|
static rtx
|
|
-m68k_function_arg (cumulative_args_t, const function_arg_info &)
|
|
+m68k_function_arg (cumulative_args_t cum_v, const function_arg_info &arg)
|
|
{
|
|
+ CUMULATIVE_ARGS *cum = get_cumulative_args (cum_v);
|
|
+ if(!cum->regparam)
|
|
+ return NULL_RTX;
|
|
+
|
|
+ if(cum->index < cum->total_count)
|
|
+ return gen_rtx_REG (arg.mode, cum->arg_regs[cum->index+1]);
|
|
+ else
|
|
return NULL_RTX;
|
|
}
|
|
|
|
@@ -1457,9 +1594,11 @@ m68k_function_arg_advance (cumulative_args_t cum_v,
|
|
{
|
|
CUMULATIVE_ARGS *cum = get_cumulative_args (cum_v);
|
|
|
|
- *cum += (arg.promoted_size_in_bytes () + 3) & ~3;
|
|
+ cum->bytes += (arg.type_size_in_bytes() + 1) & ~1;
|
|
+ cum->index ++;
|
|
}
|
|
|
|
+
|
|
/* Convert X to a legitimate function call memory reference and return the
|
|
result. */
|
|
|
|
@@ -1627,7 +1766,7 @@ m68k_find_flags_value (rtx op0, rtx op1, rtx_code code)
|
|
|
|
/* Called through CC_STATUS_INIT, which is invoked by final whenever a
|
|
label is encountered. */
|
|
-
|
|
+
|
|
void
|
|
m68k_init_cc ()
|
|
{
|
|
@@ -3291,7 +3430,7 @@ output_move_simode (rtx *operands)
|
|
const char *
|
|
output_move_himode (rtx *operands)
|
|
{
|
|
- if (GET_CODE (operands[1]) == CONST_INT)
|
|
+ if (GET_CODE (operands[1]) == CONST_INT)
|
|
{
|
|
if (operands[1] == const0_rtx
|
|
&& (DATA_REG_P (operands[0])
|
|
@@ -3324,7 +3463,7 @@ output_move_qimode (rtx *operands)
|
|
|
|
/* 68k family always modifies the stack pointer by at least 2, even for
|
|
byte pushes. The 5200 (ColdFire) does not do this. */
|
|
-
|
|
+
|
|
/* This case is generated by pushqi1 pattern now. */
|
|
gcc_assert (!(GET_CODE (operands[0]) == MEM
|
|
&& GET_CODE (XEXP (operands[0], 0)) == PRE_DEC
|
|
@@ -3362,7 +3501,7 @@ output_move_qimode (rtx *operands)
|
|
{
|
|
if (ADDRESS_REG_P (operands[1]))
|
|
CC_STATUS_INIT;
|
|
- return "move%.w %1,%0";
|
|
+ return "move%.w %1,%0";
|
|
}
|
|
return "move%.b %1,%0";
|
|
}
|
|
@@ -4419,24 +4558,24 @@ m68k_output_compare_di (rtx op0, rtx op1, rtx sc1, rtx sc2, rtx_insn *insn,
|
|
return code;
|
|
}
|
|
else
|
|
- {
|
|
+ {
|
|
output_asm_insn ("sub%.l %R0,%R3\n\tsubx%.l %0,%3", ops);
|
|
return swap_condition (code);
|
|
- }
|
|
+ }
|
|
}
|
|
|
|
static void
|
|
remember_compare_flags (rtx op0, rtx op1)
|
|
{
|
|
if (side_effects_p (op0) || side_effects_p (op1))
|
|
- CC_STATUS_INIT;
|
|
+ CC_STATUS_INIT;
|
|
else
|
|
- {
|
|
+ {
|
|
flags_compare_op0 = op0;
|
|
flags_compare_op1 = op1;
|
|
flags_operand1 = flags_operand2 = NULL_RTX;
|
|
flags_valid = FLAGS_VALID_SET;
|
|
- }
|
|
+ }
|
|
}
|
|
|
|
/* Emit a comparison between OP0 and OP1. CODE is the code of the
|
|
@@ -4524,11 +4663,11 @@ m68k_output_compare_qi (rtx op0, rtx op1, rtx_code code)
|
|
else if (GET_CODE (op0) == MEM && GET_CODE (op1) == MEM)
|
|
output_asm_insn ("cmpm%.b %1,%0", ops);
|
|
else if (REG_P (op1) || (!REG_P (op0) && GET_CODE (op0) != MEM))
|
|
- {
|
|
+ {
|
|
output_asm_insn ("cmp%.b %d0,%d1", ops);
|
|
std::swap (flags_compare_op0, flags_compare_op1);
|
|
return swap_condition (code);
|
|
- }
|
|
+ }
|
|
else
|
|
output_asm_insn ("cmp%.b %d1,%d0", ops);
|
|
return code;
|
|
@@ -4560,14 +4699,14 @@ m68k_output_compare_fp (rtx op0, rtx op1, rtx_code code)
|
|
output_asm_insn ("ftst%.d %0", ops);
|
|
else
|
|
output_asm_insn ("ftst%.x %0", ops);
|
|
- }
|
|
- else
|
|
+ }
|
|
+ else
|
|
output_asm_insn (("ftst%." + prec + " %0").c_str (), ops);
|
|
return code;
|
|
}
|
|
|
|
switch (which_alternative)
|
|
- {
|
|
+ {
|
|
case 0:
|
|
if (TARGET_COLDFIRE_FPU)
|
|
output_asm_insn ("fcmp%.d %1,%0", ops);
|
|
@@ -4576,7 +4715,7 @@ m68k_output_compare_fp (rtx op0, rtx op1, rtx_code code)
|
|
break;
|
|
case 1:
|
|
output_asm_insn (("fcmp%." + prec + " %f1,%0").c_str (), ops);
|
|
- break;
|
|
+ break;
|
|
case 2:
|
|
output_asm_insn (("fcmp%." + prec + " %0,%f1").c_str (), ops);
|
|
std::swap (flags_compare_op0, flags_compare_op1);
|
|
@@ -4688,7 +4827,7 @@ m68k_output_scc (rtx_code code)
|
|
return "spl %0";
|
|
case MINUS:
|
|
return "smi %0";
|
|
- default:
|
|
+ default:
|
|
gcc_unreachable ();
|
|
}
|
|
}
|
|
@@ -4770,7 +4909,7 @@ m68k_output_branch_float_rev (rtx_code code)
|
|
return "fjueq %l3";
|
|
default:
|
|
gcc_unreachable ();
|
|
- }
|
|
+ }
|
|
}
|
|
|
|
/* Return an output template for a floating point scc
|
|
@@ -5608,6 +5747,42 @@ output_xorsi3 (rtx *operands)
|
|
const char *
|
|
output_call (rtx x)
|
|
{
|
|
+ if(GET_CODE (x) == SYMBOL_REF)
|
|
+ {
|
|
+ tree decl = SYMBOL_REF_DECL(x);
|
|
+ if(decl)
|
|
+ {
|
|
+ tree attr = lookup_attribute ("raw_inline", TYPE_ATTRIBUTES( TREE_TYPE(decl) ));
|
|
+ if(attr)
|
|
+ {
|
|
+ tree arg = TREE_VALUE(attr);
|
|
+
|
|
+ static char buf[512];
|
|
+ char *p = buf, *e = buf + sizeof(buf);
|
|
+ bool first = true;
|
|
+ p += snprintf(p, e-p, ".short ");
|
|
+
|
|
+ while(arg)
|
|
+ {
|
|
+ tree word_tree = TREE_VALUE(arg);
|
|
+ gcc_assert(TREE_CODE(word_tree) == INTEGER_CST);
|
|
+ if (TREE_CODE(word_tree) == INTEGER_CST)
|
|
+ {
|
|
+ int word = TREE_INT_CST_LOW(word_tree);
|
|
+ if(!first)
|
|
+ p += snprintf(p, e-p, ", ");
|
|
+ first = false;
|
|
+ p += snprintf(p, e-p, "0x%04x", word);
|
|
+ }
|
|
+ arg = TREE_CHAIN(arg);
|
|
+ }
|
|
+
|
|
+ if(p < e)
|
|
+ return buf;
|
|
+ }
|
|
+ }
|
|
+ }
|
|
+
|
|
if (symbolic_operand (x, VOIDmode))
|
|
return m68k_symbolic_call;
|
|
else
|
|
@@ -5871,7 +6046,7 @@ m68k_preferred_reload_class (rtx x, enum reg_class rclass)
|
|
If there is need for a hard-float ABI it is probably worth doing it
|
|
properly and also passing function arguments in FP registers. */
|
|
rtx
|
|
-m68k_libcall_value (machine_mode mode)
|
|
+m68k_libcall_value (enum machine_mode mode)
|
|
{
|
|
switch (mode) {
|
|
case E_SFmode:
|
|
@@ -5891,11 +6066,27 @@ m68k_libcall_value (machine_mode mode)
|
|
NOTE: Due to differences in ABIs, don't call this function directly,
|
|
use FUNCTION_VALUE instead. */
|
|
rtx
|
|
-m68k_function_value (const_tree valtype, const_tree func ATTRIBUTE_UNUSED)
|
|
+m68k_function_value (const_tree valtype, const_tree func_decl_or_type, bool outgoing)
|
|
{
|
|
machine_mode mode;
|
|
|
|
mode = TYPE_MODE (valtype);
|
|
+
|
|
+ const_tree decl = NULL, type = NULL;
|
|
+ if(func_decl_or_type)
|
|
+ {
|
|
+ CUMULATIVE_ARGS cum;
|
|
+ decl = func_decl_or_type;
|
|
+ type = func_decl_or_type;
|
|
+ if(TREE_CODE(type) == FUNCTION_DECL)
|
|
+ type = TREE_TYPE(type);
|
|
+ else
|
|
+ decl = NULL;
|
|
+ m68k_init_cumulative_args(&cum, type, NULL, decl, -1);
|
|
+ if(cum.regparam)
|
|
+ return gen_rtx_REG (mode, cum.arg_regs[0]);
|
|
+ }
|
|
+
|
|
switch (mode) {
|
|
case E_SFmode:
|
|
case E_DFmode:
|
|
@@ -5907,8 +6098,11 @@ m68k_function_value (const_tree valtype, const_tree func ATTRIBUTE_UNUSED)
|
|
break;
|
|
}
|
|
|
|
+#if 1 /* POINTERS_IN_D0 */
|
|
+ return gen_rtx_REG (mode, D0_REG);
|
|
+#else
|
|
/* If the function returns a pointer, push that into %a0. */
|
|
- if (func && POINTER_TYPE_P (TREE_TYPE (TREE_TYPE (func))))
|
|
+ if (type && POINTER_TYPE_P (TREE_TYPE (type)) && !outgoing)
|
|
/* For compatibility with the large body of existing code which
|
|
does not always properly declare external functions returning
|
|
pointer types, the m68k/SVR4 convention is to copy the value
|
|
@@ -5929,6 +6123,7 @@ m68k_function_value (const_tree valtype, const_tree func ATTRIBUTE_UNUSED)
|
|
return gen_rtx_REG (mode, A0_REG);
|
|
else
|
|
return gen_rtx_REG (mode, D0_REG);
|
|
+#endif
|
|
}
|
|
|
|
/* Worker function for TARGET_RETURN_IN_MEMORY. */
|
|
@@ -7101,6 +7296,8 @@ m68k_trampoline_init (rtx m_tramp, tree fndecl, rtx chain_value)
|
|
static poly_int64
|
|
m68k_return_pops_args (tree fundecl, tree funtype, poly_int64 size)
|
|
{
|
|
+ if (lookup_attribute ("pascal", TYPE_ATTRIBUTES (funtype)))
|
|
+ return size;
|
|
return ((TARGET_RTD
|
|
&& (!fundecl
|
|
|| TREE_CODE (fundecl) != IDENTIFIER_NODE)
|
|
@@ -7180,6 +7377,66 @@ m68k_excess_precision (enum excess_precision_type type)
|
|
return FLT_EVAL_METHOD_UNPREDICTABLE;
|
|
}
|
|
|
|
+extern int retro68_hack_asm_rts_counter;
|
|
+
|
|
+void
|
|
+m68k_write_macsbug_name(FILE *file, const char *name, tree decl)
|
|
+{
|
|
+ int len = strlen(name);
|
|
+ if(len > 255)
|
|
+ len = 255;
|
|
+
|
|
+ const char *section_name = DECL_SECTION_NAME (decl);
|
|
+ if(flag_function_sections && section_name)
|
|
+ fprintf(file, "\t.pushsection %s.macsbug,\"ax\",@progbits\n", section_name);
|
|
+ fprintf(file, "# macsbug symbol\n");
|
|
+ if(!retro68_hack_asm_rts_counter)
|
|
+ fprintf(file, "\trts\n");
|
|
+ if(len < 32)
|
|
+ fprintf(file, "\t.byte %d\n", len | 0x80);
|
|
+ else
|
|
+ fprintf(file, "\t.byte 0x80\n\t.byte %d\n", len);
|
|
+
|
|
+ ASM_OUTPUT_ASCII(file, name, len);
|
|
+ fprintf(file, "\t.align 2,0\n\t.short 0\n");
|
|
+ if(flag_function_sections && section_name)
|
|
+ fprintf(file, "\t.popsection\n", section_name);
|
|
+}
|
|
+
|
|
+static tree
|
|
+m68k_mangle_decl_assembler_name (tree decl, tree id)
|
|
+{
|
|
+ tree new_id = NULL_TREE;
|
|
+
|
|
+ if (TREE_CODE (decl) == FUNCTION_DECL)
|
|
+ {
|
|
+ tree attrs = TYPE_ATTRIBUTES ( TREE_TYPE(decl) );
|
|
+ if (attrs != NULL_TREE)
|
|
+ {
|
|
+ if (lookup_attribute ("pascal", attrs))
|
|
+ {
|
|
+ const char *old_str = IDENTIFIER_POINTER (id != NULL_TREE ? id : DECL_NAME (decl));
|
|
+ char *new_str, *p;
|
|
+ int len = strlen(old_str);
|
|
+ new_str = XALLOCAVEC (char, 1 + len);
|
|
+ for(int i = 0; i < len; i++)
|
|
+ new_str[i] = TOUPPER(old_str[i]);
|
|
+ new_str[len] = 0;
|
|
+
|
|
+ return get_identifier (new_str);
|
|
+ }
|
|
+ }
|
|
+ }
|
|
+
|
|
+ return id;
|
|
+}
|
|
+
|
|
+static pad_direction
|
|
+m68k_function_arg_padding (machine_mode mode, const_tree type)
|
|
+{
|
|
+ return PAD_UPWARD;
|
|
+}
|
|
+
|
|
/* Implement PUSH_ROUNDING. On the 680x0, sp@- in a byte insn really pushes
|
|
a word. On the ColdFire, sp@- in a byte insn pushes just a byte. */
|
|
|
|
@@ -7269,4 +7526,23 @@ m68k_use_lra_p ()
|
|
return m68k_lra_p;
|
|
}
|
|
|
|
+/* Return true if X is a SYMBOL_REF referring to a raw_inline function. */
|
|
+
|
|
+bool
|
|
+m68k_rawinline_p (rtx x)
|
|
+{
|
|
+ if (GET_CODE (x) == SYMBOL_REF)
|
|
+ {
|
|
+ tree decl = SYMBOL_REF_DECL (x);
|
|
+ if (decl)
|
|
+ {
|
|
+ tree attr = lookup_attribute ("raw_inline",
|
|
+ TYPE_ATTRIBUTES (TREE_TYPE (decl)));
|
|
+ if (attr)
|
|
+ return true;
|
|
+ }
|
|
+ }
|
|
+ return false;
|
|
+}
|
|
+
|
|
#include "gt-m68k.h"
|
|
diff --git a/gcc/gcc/config/m68k/m68k.h b/gcc/gcc/config/m68k/m68k.h
|
|
index 05e6ca7062..1bb1bb777b 100644
|
|
--- a/gcc/gcc/config/m68k/m68k.h
|
|
+++ b/gcc/gcc/config/m68k/m68k.h
|
|
@@ -54,6 +54,7 @@ along with GCC; see the file COPYING3. If not see
|
|
|
|
#define SUBTARGET_EXTRA_SPECS
|
|
|
|
+
|
|
/* Note that some other tm.h files include this one and then override
|
|
many of the definitions that relate to assembler syntax. */
|
|
|
|
@@ -193,9 +194,16 @@ along with GCC; see the file COPYING3. If not see
|
|
\
|
|
builtin_assert ("cpu=m68k"); \
|
|
builtin_assert ("machine=m68k"); \
|
|
+ \
|
|
+ builtin_define("pascal=__attribute__((__pascal__))"); \
|
|
} \
|
|
while (0)
|
|
|
|
+
|
|
+extern void m68k_register_pragmas(void);
|
|
+ /* Target Pragmas. */
|
|
+#define REGISTER_TARGET_PRAGMAS() m68k_register_pragmas ()
|
|
+
|
|
/* Classify the groups of pseudo-ops used to assemble QI, HI and SI
|
|
quantities. */
|
|
#define INT_OP_STANDARD 0 /* .byte, .short, .long */
|
|
@@ -287,7 +295,7 @@ along with GCC; see the file COPYING3. If not see
|
|
|
|
#define UNITS_PER_WORD 4
|
|
|
|
-#define PARM_BOUNDARY (TARGET_SHORT ? 16 : 32)
|
|
+#define PARM_BOUNDARY 16 /* (TARGET_SHORT ? 16 : 32) */
|
|
#define STACK_BOUNDARY 16
|
|
#define FUNCTION_BOUNDARY 16
|
|
#define EMPTY_FIELD_BOUNDARY 16
|
|
@@ -340,7 +348,7 @@ along with GCC; see the file COPYING3. If not see
|
|
0, 0, 0, 0, 0, 0, 0, 0, \
|
|
\
|
|
/* Address registers. */ \
|
|
- 0, 0, 0, 0, 0, 0, 0, 1, \
|
|
+ 0, 0, 0, 0, 0, 1, 0, 1, \
|
|
\
|
|
/* Floating point registers \
|
|
(if available). */ \
|
|
@@ -357,10 +365,10 @@ along with GCC; see the file COPYING3. If not see
|
|
Aside from that, you can include as many other registers as you like. */
|
|
#define CALL_USED_REGISTERS \
|
|
{/* Data registers. */ \
|
|
- 1, 1, 0, 0, 0, 0, 0, 0, \
|
|
+ 1, 1, 1, 0, 0, 0, 0, 0, \
|
|
\
|
|
/* Address registers. */ \
|
|
- 1, 1, 0, 0, 0, 0, 0, 1, \
|
|
+ 1, 1, 0, 0, 0, 1, 0, 1, \
|
|
\
|
|
/* Floating point registers \
|
|
(if available). */ \
|
|
@@ -473,8 +481,7 @@ extern enum reg_class regno_reg_class[];
|
|
#define FIRST_PARM_OFFSET(FNDECL) 8
|
|
|
|
/* On the m68k the return value defaults to D0. */
|
|
-#define FUNCTION_VALUE(VALTYPE, FUNC) \
|
|
- gen_rtx_REG (TYPE_MODE (VALTYPE), D0_REG)
|
|
+// gen_rtx_REG (TYPE_MODE (VALTYPE), D0_REG)
|
|
|
|
/* On the m68k the return value defaults to D0. */
|
|
#define LIBCALL_VALUE(MODE) gen_rtx_REG (MODE, D0_REG)
|
|
@@ -490,13 +497,21 @@ extern enum reg_class regno_reg_class[];
|
|
/* On the m68k, all arguments are usually pushed on the stack. */
|
|
#define FUNCTION_ARG_REGNO_P(N) 0
|
|
|
|
-/* On the m68k, this is a single integer, which is a number of bytes
|
|
- of arguments scanned so far. */
|
|
-#define CUMULATIVE_ARGS int
|
|
+
|
|
+typedef struct {
|
|
+ int bytes; /* number of bytes of arguments scanned so far. */
|
|
+ int total_count;
|
|
+ int index;
|
|
+ int regparam;
|
|
+ int arg_regs[32];
|
|
+
|
|
+} CUMULATIVE_ARGS;
|
|
+
|
|
+extern void m68k_init_cumulative_args (CUMULATIVE_ARGS *cum, const_tree fntype, rtx libname, const_tree fundecl, int n_named_args);
|
|
|
|
/* On the m68k, the offset starts at 0. */
|
|
#define INIT_CUMULATIVE_ARGS(CUM, FNTYPE, LIBNAME, INDIRECT, N_NAMED_ARGS) \
|
|
- ((CUM) = 0)
|
|
+ m68k_init_cumulative_args(&(CUM), (FNTYPE), (LIBNAME), (INDIRECT), (N_NAMED_ARGS));
|
|
|
|
#define FUNCTION_PROFILER(FILE, LABELNO) \
|
|
asm_fprintf (FILE, "\tlea %LLP%d,%Ra0\n\tjsr mcount\n", (LABELNO))
|
|
@@ -901,7 +916,8 @@ extern const char *m68k_symbolic_call;
|
|
extern const char *m68k_symbolic_jump;
|
|
|
|
enum M68K_SYMBOLIC_CALL { M68K_SYMBOLIC_CALL_NONE, M68K_SYMBOLIC_CALL_JSR,
|
|
- M68K_SYMBOLIC_CALL_BSR_C, M68K_SYMBOLIC_CALL_BSR_P };
|
|
+ M68K_SYMBOLIC_CALL_BSR_C, M68K_SYMBOLIC_CALL_BSR_P,
|
|
+ M68K_SYMBOLIC_CALL_BSRW_C };
|
|
|
|
extern enum M68K_SYMBOLIC_CALL m68k_symbolic_call_var;
|
|
|
|
@@ -920,3 +936,15 @@ extern int m68k_sched_address_bypass_p (rtx_insn *, rtx_insn *);
|
|
extern int m68k_sched_indexed_address_bypass_p (rtx_insn *, rtx_insn *);
|
|
|
|
#define CPU_UNITS_QUERY 1
|
|
+
|
|
+#define ASM_DECLARE_FUNCTION_SIZE(FILE, FNAME, DECL) \
|
|
+ do \
|
|
+ { \
|
|
+ if (!flag_inhibit_size_directive) \
|
|
+ ASM_OUTPUT_MEASURED_SIZE (FILE, FNAME); \
|
|
+ m68k_write_macsbug_name(FILE, FNAME, DECL); \
|
|
+ } \
|
|
+ while (0)
|
|
+
|
|
+extern int m68k_is_pascal_func(tree, tree);
|
|
+#define IS_PASCAL_FUNC(fntype, fndecl) m68k_is_pascal_func(fntype, fndecl)
|
|
diff --git a/gcc/gcc/config/m68k/m68k.md b/gcc/gcc/config/m68k/m68k.md
|
|
index 35bf1c683c..8c122ee558 100644
|
|
--- a/gcc/gcc/config/m68k/m68k.md
|
|
+++ b/gcc/gcc/config/m68k/m68k.md
|
|
@@ -1166,12 +1166,26 @@
|
|
move%.b %1,%0"
|
|
[(set_attr "type" "clr,clr,move,move")])
|
|
|
|
-(define_expand "pushqi1"
|
|
- [(set (reg:SI SP_REG) (plus:SI (reg:SI SP_REG) (const_int -2)))
|
|
- (set (mem:QI (plus:SI (reg:SI SP_REG) (const_int 1)))
|
|
- (match_operand:QI 0 "general_operand" ""))]
|
|
+; (define_expand "pushqi1"
|
|
+; [(set (reg:SI SP_REG) (plus:SI (reg:SI SP_REG) (const_int -2)))
|
|
+; (set (mem:QI (reg:SI SP_REG) )
|
|
+; (match_operand:QI 0 "general_operand" ""))]
|
|
+; "!TARGET_COLDFIRE"
|
|
+; "")
|
|
+
|
|
+; (define_insn "*pushqi1"
|
|
+; [(set (reg:SI SP_REG) (plus:SI (reg:SI SP_REG) (const_int -2)))
|
|
+; (set (mem:QI (reg:SI SP_REG) )
|
|
+; (match_operand:QI 0 "general_operand" ""))]
|
|
+; "!TARGET_COLDFIRE"
|
|
+; { return "move%.b %0,%-"; })
|
|
+
|
|
+(define_insn "*pushqi1"
|
|
+ [
|
|
+ (set (mem:QI (pre_modify:SI (reg:SI SP_REG) (plus:SI (reg:SI SP_REG) (const_int -2))))
|
|
+ (match_operand:QI 0 "general_operand" "dmn"))]
|
|
"!TARGET_COLDFIRE"
|
|
- "")
|
|
+ { return "move%.b %0,%-"; })
|
|
|
|
(define_expand "reload_insf"
|
|
[(set (match_operand:SF 0 "nonimmediate_operand" "=f")
|
|
@@ -6018,6 +6032,41 @@
|
|
operands[1] = m68k_legitimize_call_address (operands[1]);
|
|
})
|
|
|
|
+(define_expand "call_pop"
|
|
+ [(parallel [(call (match_operand:QI 0 "memory_operand" "")
|
|
+ (match_operand:SI 1 "general_operand" ""))
|
|
+ (set (reg:SI SP_REG)
|
|
+ (plus:SI (reg:SI SP_REG)
|
|
+ (match_operand:SI 3 "" "")))])]
|
|
+ ""
|
|
+{
|
|
+ operands[0] = m68k_legitimize_call_address (operands[0]);
|
|
+})
|
|
+(define_expand "call_value_pop"
|
|
+ [(parallel [(set (match_operand 0 "" "")
|
|
+ (call (match_operand:QI 1 "memory_operand" "")
|
|
+ (match_operand:SI 2 "general_operand" "")))
|
|
+ (set (reg:SI SP_REG)
|
|
+ (plus:SI (reg:SI SP_REG)
|
|
+ (match_operand:SI 4 "" "")))])]
|
|
+ ""
|
|
+{
|
|
+ operands[1] = m68k_legitimize_call_address (operands[1]);
|
|
+})
|
|
+
|
|
+(define_insn "*call_pop"
|
|
+ [(call (mem:QI (match_operand:SI 0 "call_operand" "a,W"))
|
|
+ (match_operand:SI 1 "general_operand" "g,g"))
|
|
+ (set (reg:SI SP_REG)
|
|
+ (plus:SI (reg:SI SP_REG)
|
|
+ (match_operand:SI 2 "" "")))]
|
|
+ ;; Operand 1 not really used on the m68000.
|
|
+ "!SIBLING_CALL_P (insn)"
|
|
+{
|
|
+ return output_call (operands[0]);
|
|
+}
|
|
+ [(set_attr "type" "jsr")])
|
|
+
|
|
(define_insn "*non_symbolic_call_value"
|
|
[(set (match_operand 0 "" "=rf,rf")
|
|
(call (mem:QI (match_operand:SI 1 "non_symbolic_call_operand" "a,W"))
|
|
@@ -6036,7 +6085,7 @@
|
|
"!SIBLING_CALL_P (insn) && m68k_symbolic_call_var == M68K_SYMBOLIC_CALL_JSR"
|
|
{
|
|
operands[0] = operands[1];
|
|
- return m68k_symbolic_call;
|
|
+ return output_call (operands[0]);
|
|
}
|
|
[(set_attr "type" "jsr")
|
|
(set_attr "opx" "1")])
|
|
@@ -6048,14 +6097,66 @@
|
|
;; Operand 2 not really used on the m68000.
|
|
"!SIBLING_CALL_P (insn)
|
|
&& (m68k_symbolic_call_var == M68K_SYMBOLIC_CALL_BSR_C
|
|
- || m68k_symbolic_call_var == M68K_SYMBOLIC_CALL_BSR_P)"
|
|
+ || m68k_symbolic_call_var == M68K_SYMBOLIC_CALL_BSR_P
|
|
+ || m68k_symbolic_call_var == M68K_SYMBOLIC_CALL_BSRW_C)"
|
|
+{
|
|
+ operands[0] = operands[1];
|
|
+ return output_call (operands[0]);
|
|
+}
|
|
+ [(set_attr "type" "bsr")
|
|
+ (set_attr "opx" "1")])
|
|
+
|
|
+
|
|
+(define_insn "*non_symbolic_call_value_pop"
|
|
+ [(set (match_operand 0 "" "=rf,rf")
|
|
+ (call (mem:QI (match_operand:SI 1 "non_symbolic_call_operand" "a,W"))
|
|
+ (match_operand:SI 2 "general_operand" "g,g")))
|
|
+ (set (reg:SI SP_REG)
|
|
+ (plus:SI (reg:SI SP_REG)
|
|
+ (match_operand:SI 3 "" "")))]
|
|
+ ;; Operand 2 not really used on the m68000.
|
|
+ "!SIBLING_CALL_P (insn)"
|
|
+ "jsr %a1"
|
|
+ [(set_attr "type" "jsr")
|
|
+ (set_attr "opx" "1")])
|
|
+
|
|
+(define_insn "*symbolic_call_value_pop_jsr"
|
|
+ [(set (match_operand 0 "" "=rf,rf")
|
|
+ (call (mem:QI (match_operand:SI 1 "symbolic_operand" "a,W"))
|
|
+ (match_operand:SI 2 "general_operand" "g,g")))
|
|
+ (set (reg:SI SP_REG)
|
|
+ (plus:SI (reg:SI SP_REG)
|
|
+ (match_operand:SI 3 "" "")))]
|
|
+ ;; Operand 2 not really used on the m68000.
|
|
+ "!SIBLING_CALL_P (insn) && m68k_symbolic_call_var == M68K_SYMBOLIC_CALL_JSR"
|
|
+{
|
|
+ operands[0] = operands[1];
|
|
+ return output_call (operands[0]);
|
|
+}
|
|
+ [(set_attr "type" "jsr")
|
|
+ (set_attr "opx" "1")])
|
|
+
|
|
+(define_insn "*symbolic_call_value_pop_bsr"
|
|
+ [(set (match_operand 0 "" "=rf,rf")
|
|
+ (call (mem:QI (match_operand:SI 1 "symbolic_operand" "a,W"))
|
|
+ (match_operand:SI 2 "general_operand" "g,g")))
|
|
+ (set (reg:SI SP_REG)
|
|
+ (plus:SI (reg:SI SP_REG)
|
|
+ (match_operand:SI 3 "" "")))]
|
|
+ ;; Operand 2 not really used on the m68000.
|
|
+ "!SIBLING_CALL_P (insn)
|
|
+ && (m68k_symbolic_call_var == M68K_SYMBOLIC_CALL_BSR_C
|
|
+ || m68k_symbolic_call_var == M68K_SYMBOLIC_CALL_BSR_P
|
|
+ || m68k_symbolic_call_var == M68K_SYMBOLIC_CALL_BSRW_C)"
|
|
{
|
|
operands[0] = operands[1];
|
|
- return m68k_symbolic_call;
|
|
+ return output_call (operands[0]);
|
|
}
|
|
[(set_attr "type" "bsr")
|
|
(set_attr "opx" "1")])
|
|
|
|
+
|
|
+
|
|
;; Call subroutine returning any type.
|
|
|
|
(define_expand "untyped_call"
|
|
@@ -6134,6 +6235,7 @@
|
|
[(return)]
|
|
""
|
|
{
|
|
+ extern int retro68_hack_asm_rts_counter;
|
|
switch (m68k_get_function_kind (current_function_decl))
|
|
{
|
|
case m68k_fk_interrupt_handler:
|
|
@@ -6143,11 +6245,17 @@
|
|
return "sleep";
|
|
|
|
default:
|
|
+ retro68_hack_asm_rts_counter = 2;
|
|
if (crtl->args.pops_args)
|
|
{
|
|
operands[0] = GEN_INT (crtl->args.pops_args);
|
|
- return "rtd %0";
|
|
- }
|
|
+ if (TARGET_68020)
|
|
+ return "rtd %0";
|
|
+ else
|
|
+ return "move.l (%%a7)+, %%a0\n"
|
|
+ "\tlea %a0(%%a7), %%a7\n"
|
|
+ "\tjmp (%%a0)";
|
|
+ }
|
|
else
|
|
return "rts";
|
|
}
|
|
diff --git a/gcc/gcc/config/m68k/m68kemb.h b/gcc/gcc/config/m68k/m68kemb.h
|
|
index ff63ae056b..e1702df656 100644
|
|
--- a/gcc/gcc/config/m68k/m68kemb.h
|
|
+++ b/gcc/gcc/config/m68k/m68kemb.h
|
|
@@ -17,8 +17,6 @@
|
|
and unions in registers, which is slightly more efficient. */
|
|
#define DEFAULT_PCC_STRUCT_RETURN 0
|
|
|
|
-#undef FUNCTION_VALUE
|
|
-#define FUNCTION_VALUE(VALTYPE,FUNC) LIBCALL_VALUE (TYPE_MODE (VALTYPE))
|
|
|
|
#undef LIBCALL_VALUE
|
|
#define LIBCALL_VALUE(MODE) \
|
|
diff --git a/gcc/gcc/config/m68k/predicates.md b/gcc/gcc/config/m68k/predicates.md
|
|
index e6a73d3844..ec9408eb03 100644
|
|
--- a/gcc/gcc/config/m68k/predicates.md
|
|
+++ b/gcc/gcc/config/m68k/predicates.md
|
|
@@ -158,9 +158,18 @@
|
|
}
|
|
})
|
|
|
|
+
|
|
+(define_predicate "rawinline_operand"
|
|
+ (match_code "symbol_ref")
|
|
+{
|
|
+ return m68k_rawinline_p(op);
|
|
+})
|
|
+
|
|
+
|
|
;; A constant that can be used the address in a call insn
|
|
(define_predicate "const_call_operand"
|
|
(ior (match_operand 0 "const_int_operand")
|
|
+ (match_operand 0 "rawinline_operand")
|
|
(and (match_test "m68k_symbolic_call != NULL")
|
|
(match_operand 0 "symbolic_operand"))))
|
|
|
|
diff --git a/gcc/gcc/config/m68k/t-m68k b/gcc/gcc/config/m68k/t-m68k
|
|
index cbff34d658..cff52fb59f 100644
|
|
--- a/gcc/gcc/config/m68k/t-m68k
|
|
+++ b/gcc/gcc/config/m68k/t-m68k
|
|
@@ -2,3 +2,7 @@
|
|
|
|
M68K_MLIB_CPU += && (CPU !~ "^mcf")
|
|
M68K_ARCH := m68k
|
|
+
|
|
+M68K_MLIB_CPU += && (CPU !~ "^m68060") && (CPU !~ "^cpu32") && (CPU !~ "^fidoa")
|
|
+
|
|
+PASSES_EXTRA += $(srcdir)/config/m68k/m68k-passes.def
|
|
diff --git a/gcc/gcc/config/m68k/t-macos b/gcc/gcc/config/m68k/t-macos
|
|
new file mode 100644
|
|
index 0000000000..1ef1c285f3
|
|
--- /dev/null
|
|
+++ b/gcc/gcc/config/m68k/t-macos
|
|
@@ -0,0 +1,5 @@
|
|
+m68k-mac-pragmas.o: $(srcdir)/config/m68k/m68k-mac-pragmas.c
|
|
+ $(COMPILE) $<
|
|
+ $(POSTCOMPILE)
|
|
+
|
|
+M68K_MLIB_CPU += && (CPU !~ "^m68060") && (CPU !~ "^cpu32") && (CPU !~ "^fidoa")
|
|
diff --git a/gcc/gcc/config/rs6000/macos.h b/gcc/gcc/config/rs6000/macos.h
|
|
new file mode 100644
|
|
index 0000000000..b8af463686
|
|
--- /dev/null
|
|
+++ b/gcc/gcc/config/rs6000/macos.h
|
|
@@ -0,0 +1,320 @@
|
|
+/* Definitions of target machine for GNU compiler,
|
|
+ for IBM RS/6000 POWER running AIX.
|
|
+ Copyright (C) 2000-2015 Free Software Foundation, Inc.
|
|
+
|
|
+ This file is part of GCC.
|
|
+
|
|
+ GCC 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 3, or (at your
|
|
+ option) any later version.
|
|
+
|
|
+ GCC 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 GCC; see the file COPYING3. If not see
|
|
+ <http://www.gnu.org/licenses/>. */
|
|
+
|
|
+/* Yes! We are AIX! */
|
|
+#define DEFAULT_ABI ABI_AIX
|
|
+#undef TARGET_AIX
|
|
+#define TARGET_AIX 1
|
|
+
|
|
+/* Linux64.h wants to redefine TARGET_AIX based on -m64, but it can't be used
|
|
+ in the #if conditional in options-default.h, so provide another macro. */
|
|
+#undef TARGET_AIX_OS
|
|
+#define TARGET_AIX_OS 1
|
|
+
|
|
+/* AIX always has a TOC. */
|
|
+#define TARGET_NO_TOC 0
|
|
+#define TARGET_HAS_TOC 1
|
|
+#define FIXED_R2 1
|
|
+
|
|
+
|
|
+/* AIX allows r13 to be used in 32-bit mode. */
|
|
+#define FIXED_R13 0
|
|
+
|
|
+/* 32-bit and 64-bit AIX stack boundary is 128. */
|
|
+#undef STACK_BOUNDARY
|
|
+#define STACK_BOUNDARY 128
|
|
+
|
|
+#undef TARGET_IEEEQUAD
|
|
+#define TARGET_IEEEQUAD 0
|
|
+
|
|
+
|
|
+#if HAVE_AS_REF
|
|
+/* Issue assembly directives that create a reference to the given DWARF table
|
|
+ identifier label from the current function section. This is defined to
|
|
+ ensure we drag frame frame tables associated with needed function bodies in
|
|
+ a link with garbage collection activated. */
|
|
+#define ASM_OUTPUT_DWARF_TABLE_REF rs6000_aix_asm_output_dwarf_table_ref
|
|
+#endif
|
|
+
|
|
+/* This is the only version of nm that collect2 can work with. */
|
|
+//#define REAL_NM_FILE_NAME "/usr/ucb/nm"
|
|
+
|
|
+#define USER_LABEL_PREFIX ""
|
|
+
|
|
+/* Don't turn -B into -L if the argument specifies a relative file name. */
|
|
+#define RELATIVE_PREFIX_NOT_LINKDIR
|
|
+
|
|
+/* Because of the above, we must have gcc search itself to find libgcc.a. */
|
|
+#define LINK_LIBGCC_SPECIAL_1
|
|
+
|
|
+#undef ASM_DEFAULT_SPEC
|
|
+#define ASM_DEFAULT_SPEC ""
|
|
+
|
|
+
|
|
+/* Static linking with shared libstdc++ requires libsupc++ as well. */
|
|
+#define LIBSTDCXX_STATIC "supc++"
|
|
+
|
|
+/* Compute field alignment.
|
|
+ This implements the 'power' alignment rule by pegging the alignment of
|
|
+ items (beyond the first aggregate field) to 32 bits. The pegging is
|
|
+ suppressed for vector and long double items (both 128 in size).
|
|
+ There is a dummy use of the FIELD argument to avoid an unused variable
|
|
+ warning (see PR59496). */
|
|
+#define ADJUST_FIELD_ALIGN(FIELD, TYPE, COMPUTED) \
|
|
+ ((void) (FIELD), \
|
|
+ (TARGET_ALIGN_NATURAL \
|
|
+ ? (COMPUTED) \
|
|
+ : (COMPUTED) == 128 \
|
|
+ ? 128 \
|
|
+ : MIN ((COMPUTED), 32)))
|
|
+
|
|
+/* AIX increases natural record alignment to doubleword if the first
|
|
+ field is an FP double while the FP fields remain word aligned. */
|
|
+#define ROUND_TYPE_ALIGN(STRUCT, COMPUTED, SPECIFIED) \
|
|
+ ((TREE_CODE (STRUCT) == RECORD_TYPE \
|
|
+ || TREE_CODE (STRUCT) == UNION_TYPE \
|
|
+ || TREE_CODE (STRUCT) == QUAL_UNION_TYPE) \
|
|
+ && TARGET_ALIGN_NATURAL == 0 \
|
|
+ ? rs6000_special_round_type_align (STRUCT, COMPUTED, SPECIFIED) \
|
|
+ : MAX ((COMPUTED), (SPECIFIED)))
|
|
+
|
|
+/* The AIX ABI isn't explicit on whether aggregates smaller than a
|
|
+ word/doubleword should be padded upward or downward. One could
|
|
+ reasonably assume that they follow the normal rules for structure
|
|
+ layout treating the parameter area as any other block of memory,
|
|
+ then map the reg param area to registers, i.e., pad upward, which
|
|
+ is the way IBM Compilers for AIX behave.
|
|
+ Setting both of the following defines results in this behavior. */
|
|
+#define AGGREGATE_PADDING_FIXED 1
|
|
+#define AGGREGATES_PAD_UPWARD_ALWAYS 1
|
|
+
|
|
+/* Specify padding for the last element of a block move between
|
|
+ registers and memory. FIRST is nonzero if this is the only
|
|
+ element. */
|
|
+#define BLOCK_REG_PADDING(MODE, TYPE, FIRST) \
|
|
+ (!(FIRST) ? PAD_UPWARD : targetm.calls.function_arg_padding (MODE, TYPE))
|
|
+
|
|
+
|
|
+/* Indicate that jump tables go in the text section. */
|
|
+
|
|
+#define JUMP_TABLES_IN_TEXT_SECTION 1
|
|
+
|
|
+
|
|
+#define PROFILE_HOOK(LABEL) output_profile_hook (LABEL)
|
|
+
|
|
+/* No version of AIX fully supports AltiVec or 64-bit instructions in
|
|
+ 32-bit mode. */
|
|
+#define OS_MISSING_POWERPC64 1
|
|
+#define OS_MISSING_ALTIVEC 1
|
|
+
|
|
+/* WINT_TYPE */
|
|
+#define WINT_TYPE "int"
|
|
+
|
|
+/* Static stack checking is supported by means of probes. */
|
|
+#define STACK_CHECK_STATIC_BUILTIN 1
|
|
+
|
|
+/* Use standard DWARF numbering for DWARF debugging information. */
|
|
+#define RS6000_USE_DWARF_NUMBERING
|
|
+
|
|
+
|
|
+
|
|
+/* MacOS does support Altivec. */
|
|
+#/*undef TARGET_ALTIVEC
|
|
+#define TARGET_ALTIVEC 1
|
|
+#undef TARGET_ALTIVEC_ABI
|
|
+#define TARGET_ALTIVEC_ABI 1
|
|
+#undef TARGET_ALTIVEC_VRSAVE
|
|
+#define TARGET_ALTIVEC_VRSAVE 1*/
|
|
+
|
|
+#undef TARGET_OS_CPP_BUILTINS
|
|
+/* __POWERPC__ must be defined for some header files */
|
|
+#define TARGET_OS_CPP_BUILTINS() \
|
|
+ do \
|
|
+ { \
|
|
+ builtin_define ("__ppc__"); \
|
|
+ builtin_define ("__PPC__"); \
|
|
+ builtin_define ("__POWERPC__"); \
|
|
+ builtin_define ("__NATURAL_ALIGNMENT__"); \
|
|
+ builtin_define ("macintosh"); \
|
|
+ builtin_define ("Macintosh"); \
|
|
+ builtin_assert ("system=macos"); \
|
|
+ builtin_assert ("cpu=powerpc"); \
|
|
+ builtin_assert ("machine=powerpc"); \
|
|
+ builtin_assert ("cpu=m68k"); \
|
|
+ builtin_assert ("machine=m68k"); \
|
|
+ builtin_define("pascal=__attribute__((__pascal__))"); \
|
|
+ builtin_define("__IEEE_BIG_ENDIAN"); \
|
|
+ } \
|
|
+ while (0)
|
|
+
|
|
+/* --no-check-sections : sections overlap on purpose!
|
|
+ -undefined=_consolewrite : hack to allow easy configuration of console output
|
|
+*/
|
|
+
|
|
+#define LINK_SPEC "%{!r:-btextro} -bhalt:4 -bnodelcsect \
|
|
+--no-check-sections -undefined=_consolewrite \
|
|
+%{shared:-bM:SRE}"
|
|
+
|
|
+#define LIB_SPEC "-lc"
|
|
+#define LIBGCC_SPEC "-lgcc %{carbon: -lretrocrt-carbon} %{!carbon: -lretrocrt} -lgcc %{carbon: -lCarbonLib} %{!carbon: -lInterfaceLib}"
|
|
+
|
|
+#define LINK_GCC_C_SEQUENCE_SPEC "--start-group -lgcc -lc %{carbon: -lretrocrt-carbon} %{!carbon: -lretrocrt} %{carbon: -lCarbonLib} %{!carbon: -lInterfaceLib} --end-group"
|
|
+
|
|
+#undef STARTFILE_SPEC
|
|
+#define STARTFILE_SPEC ""
|
|
+
|
|
+#undef CPP_SPEC
|
|
+#define CPP_SPEC "-Wno-trigraphs"
|
|
+
|
|
+#undef TARGET_DEFAULT
|
|
+#define TARGET_DEFAULT 0
|
|
+// (MASK_POWERPC | MASK_MULTIPLE | MASK_NEW_MNEMONICS)
|
|
+
|
|
+#undef PROCESSOR_DEFAULT
|
|
+#define PROCESSOR_DEFAULT PROCESSOR_PPC601
|
|
+
|
|
+#undef OS_MISSING_ALTIVEC
|
|
+#define OS_MISSING_ALTIVEC 0
|
|
+
|
|
+#undef VECTOR_SAVE_INLINE
|
|
+#define VECTOR_SAVE_INLINE(FIRST_REG) 1
|
|
+
|
|
+
|
|
+#define TARGET_USES_AIX64_OPT
|
|
+
|
|
+#undef TARGET_POINTERS_TO_NESTED_FUNCTIONS
|
|
+#define TARGET_POINTERS_TO_NESTED_FUNCTIONS 0
|
|
+
|
|
+/* Type used for ptrdiff_t, as a string used in a declaration. */
|
|
+#undef PTRDIFF_TYPE
|
|
+#define PTRDIFF_TYPE "long int"
|
|
+
|
|
+/* The AIX linker will discard static constructors in object files before
|
|
+ collect has a chance to see them, so collect2 contains functionality
|
|
+ to scan the object files directly, enabled by:
|
|
+ #define COLLECT_EXPORT_LIST
|
|
+
|
|
+ However, this seems to find all constructors and exception frame tables,
|
|
+ and thus leads to huge executables.
|
|
+ As we don't need to be compatible with the AIX linker, binutils had been
|
|
+ made to not discard these symbols any more *if* the corresponding object
|
|
+ file is loaded.
|
|
+*/
|
|
+
|
|
+/* Select a format to encode pointers in exception handling data. CODE
|
|
+ is 0 for data, 1 for code labels, 2 for function pointers. GLOBAL is
|
|
+ true if the symbol may be affected by dynamic relocations. */
|
|
+#undef ASM_PREFERRED_EH_DATA_FORMAT
|
|
+#define ASM_PREFERRED_EH_DATA_FORMAT(CODE, GLOBAL) \
|
|
+ (DW_EH_PE_absptr)
|
|
+#undef EH_TABLES_CAN_BE_READ_ONLY
|
|
+#define EH_TABLES_CAN_BE_READ_ONLY 0
|
|
+
|
|
+#if 0
|
|
+/* On AIX, initialisers specified with -binitfini are called in breadth-first
|
|
+ order.
|
|
+ e.g. if a.out depends on lib1.so, the init function for a.out is called before
|
|
+ the init function for lib1.so.
|
|
+
|
|
+ To ensure global C++ constructors in linked libraries are run before global
|
|
+ C++ constructors from the current module, there is additional symbol scanning
|
|
+ logic in collect2.
|
|
+
|
|
+ The global initialiser/finaliser functions are named __GLOBAL_AIXI_{libname}
|
|
+ and __GLOBAL_AIXD_{libname} and are exported from each shared library.
|
|
+
|
|
+ collect2 will detect these symbols when they exist in shared libraries that
|
|
+ the current program is being linked against. All such initiliser functions
|
|
+ will be called prior to the constructors of the current program, and
|
|
+ finaliser functions called after destructors.
|
|
+
|
|
+ Reference counting generated by collect2 will ensure that constructors are
|
|
+ only invoked once in the case of multiple dependencies on a library.
|
|
+
|
|
+ -binitfini is still used in parallel to this solution.
|
|
+ This handles the case where a library is loaded through dlopen(), and also
|
|
+ handles the option -blazy.
|
|
+*/
|
|
+#define COLLECT_SHARED_INIT_FUNC(STREAM, FUNC) \
|
|
+ fprintf ((STREAM), "void %s() {\n\t%s();\n}\n", aix_shared_initname, (FUNC))
|
|
+#define COLLECT_SHARED_FINI_FUNC(STREAM, FUNC) \
|
|
+ fprintf ((STREAM), "void %s() {\n\t%s();\n}\n", aix_shared_fininame, (FUNC))
|
|
+
|
|
+#endif
|
|
+
|
|
+#if HAVE_AS_REF
|
|
+/* Issue assembly directives that create a reference to the given DWARF table
|
|
+ identifier label from the current function section. This is defined to
|
|
+ ensure we drag frame tables associated with needed function bodies in
|
|
+ a link with garbage collection activated. */
|
|
+#define ASM_OUTPUT_DWARF_TABLE_REF rs6000_aix_asm_output_dwarf_table_ref
|
|
+#endif
|
|
+/* Use standard DWARF numbering for DWARF debugging information. */
|
|
+#define RS6000_USE_DWARF_NUMBERING
|
|
+#define DWARF2_DEBUGGING_INFO 1
|
|
+//#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
|
|
+#define PREFERRED_DEBUGGING_TYPE XCOFF_DEBUG
|
|
+#define DEBUG_INFO_SECTION "0x10000"
|
|
+#define DEBUG_LINE_SECTION "0x20000"
|
|
+#define DEBUG_PUBNAMES_SECTION "0x30000"
|
|
+#define DEBUG_PUBTYPES_SECTION "0x40000"
|
|
+#define DEBUG_ARANGES_SECTION "0x50000"
|
|
+#define DEBUG_ABBREV_SECTION "0x60000"
|
|
+#define DEBUG_STR_SECTION "0x70000"
|
|
+#define DEBUG_RANGES_SECTION "0x80000"
|
|
+#define DEBUG_LOC_SECTION "0x90000"
|
|
+#define DEBUG_FRAME_SECTION "0xA0000"
|
|
+#define DEBUG_MACINFO_SECTION "0xB0000"
|
|
+#define DEBUG_MACRO_SECTION "0xB0000"
|
|
+
|
|
+
|
|
+
|
|
+#define SIG_ATOMIC_TYPE "int"
|
|
+
|
|
+#define INT8_TYPE "signed char"
|
|
+#define INT16_TYPE "short int"
|
|
+#define INT32_TYPE "long int"
|
|
+#define INT64_TYPE "long long int"
|
|
+#define UINT8_TYPE "unsigned char"
|
|
+#define UINT16_TYPE "short unsigned int"
|
|
+#define UINT32_TYPE "long unsigned int"
|
|
+#define UINT64_TYPE "long long unsigned int"
|
|
+
|
|
+#define INT_LEAST8_TYPE "signed char"
|
|
+#define INT_LEAST16_TYPE "short int"
|
|
+#define INT_LEAST32_TYPE "long int"
|
|
+#define INT_LEAST64_TYPE "long long int"
|
|
+#define UINT_LEAST8_TYPE "unsigned char"
|
|
+#define UINT_LEAST16_TYPE "short unsigned int"
|
|
+#define UINT_LEAST32_TYPE "long unsigned int"
|
|
+#define UINT_LEAST64_TYPE "long long unsigned int"
|
|
+
|
|
+#define INT_FAST8_TYPE "signed char"
|
|
+#define INT_FAST16_TYPE "short int"
|
|
+#define INT_FAST32_TYPE "long int"
|
|
+#define INT_FAST64_TYPE "long long int"
|
|
+#define UINT_FAST8_TYPE "unsigned char"
|
|
+#define UINT_FAST16_TYPE "short unsigned int"
|
|
+#define UINT_FAST32_TYPE "long unsigned int"
|
|
+#define UINT_FAST64_TYPE "long long unsigned int"
|
|
+
|
|
+#define INTPTR_TYPE "long int"
|
|
+#define UINTPTR_TYPE "long unsigned int"
|
|
+
|
|
diff --git a/gcc/gcc/config/rs6000/rs6000.cc b/gcc/gcc/config/rs6000/rs6000.cc
|
|
index 737c3d6f7c..2cf1c878a2 100644
|
|
--- a/gcc/gcc/config/rs6000/rs6000.cc
|
|
+++ b/gcc/gcc/config/rs6000/rs6000.cc
|
|
@@ -1271,6 +1271,9 @@ static const attribute_spec rs6000_gnu_attributes[] =
|
|
rs6000_handle_struct_attribute, NULL },
|
|
{ "gcc_struct", 0, 0, false, false, false, false,
|
|
rs6000_handle_struct_attribute, NULL },
|
|
+ { "pascal", 0, 0, false, true, true, false/*don't be strict about function pointers*/,
|
|
+ NULL, NULL },
|
|
+
|
|
#ifdef SUBTARGET_ATTRIBUTE_TABLE
|
|
SUBTARGET_ATTRIBUTE_TABLE,
|
|
#endif
|
|
@@ -22068,8 +22071,9 @@ rs6000_xcoff_declare_object_name (FILE *file, const char *name, tree decl)
|
|
{
|
|
struct declare_alias_data data = {file, false};
|
|
ASM_OUTPUT_LABEL (file, name);
|
|
- symtab_node::get_create (decl)->call_for_symbol_and_aliases (rs6000_declare_alias,
|
|
- &data, true);
|
|
+ if (symtab_node::get (decl))
|
|
+ symtab_node::get (decl)->call_for_symbol_and_aliases (rs6000_declare_alias,
|
|
+ &data, true);
|
|
}
|
|
|
|
/* Overide the default 'SYMBOL-.' syntax with AIX compatible 'SYMBOL-$'. */
|
|
diff --git a/gcc/gcc/config/rs6000/rs6000.opt b/gcc/gcc/config/rs6000/rs6000.opt
|
|
index 88cf16ca58..07ed6365db 100644
|
|
--- a/gcc/gcc/config/rs6000/rs6000.opt
|
|
+++ b/gcc/gcc/config/rs6000/rs6000.opt
|
|
@@ -581,6 +581,9 @@ Use the given offset for addressing the stack-protector guard.
|
|
TargetVariable
|
|
long rs6000_stack_protector_guard_offset = 0
|
|
|
|
+carbon
|
|
+Target RejectNegative
|
|
+
|
|
;; -mno-speculate-indirect-jumps adds deliberate misprediction to indirect
|
|
;; branches via the CTR.
|
|
mspeculate-indirect-jumps
|
|
diff --git a/gcc/gcc/config/rs6000/t-macos b/gcc/gcc/config/rs6000/t-macos
|
|
new file mode 100644
|
|
index 0000000000..534dd94a42
|
|
--- /dev/null
|
|
+++ b/gcc/gcc/config/rs6000/t-macos
|
|
@@ -0,0 +1,35 @@
|
|
+# Copyright (C) 1998-2015 Free Software Foundation, Inc.
|
|
+#
|
|
+# This file is part of GCC.
|
|
+#
|
|
+# GCC 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 3, or (at your option)
|
|
+# any later version.
|
|
+#
|
|
+# GCC 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 GCC; see the file COPYING3. If not see
|
|
+# <http://www.gnu.org/licenses/>.
|
|
+
|
|
+# Build the libraries for pthread and all of the
|
|
+# different processor models
|
|
+
|
|
+#MULTILIB_OPTIONS =
|
|
+# mcpu=powerpc
|
|
+
|
|
+#MULTILIB_DIRNAMES =
|
|
+#powerpc
|
|
+
|
|
+#MULTILIB_MATCHES =
|
|
+# mcpu?powerpc=mcpu?powerpc \
|
|
+# mcpu?powerpc=mcpu?601 \
|
|
+# mcpu?powerpc=mcpu?602 \
|
|
+# mcpu?powerpc=mcpu?603 \
|
|
+# mcpu?powerpc=mcpu?603e \
|
|
+# mcpu?powerpc=mcpu?604 \
|
|
+# mcpu?powerpc=mcpu?604e
|
|
diff --git a/gcc/gcc/cp/decl.cc b/gcc/gcc/cp/decl.cc
|
|
index 4e97093b13..7401549354 100644
|
|
--- a/gcc/gcc/cp/decl.cc
|
|
+++ b/gcc/gcc/cp/decl.cc
|
|
@@ -11269,6 +11269,12 @@ grokfndecl (tree ctype,
|
|
(IDENTIFIER_POINTER (declarator))))))
|
|
SET_DECL_LANGUAGE (decl, lang_c);
|
|
|
|
+ if (attrlist && lookup_attribute ("pascal", *attrlist))
|
|
+ {
|
|
+ // paradoxical, but true: Mac pascal function names aren't mangled.
|
|
+ SET_DECL_LANGUAGE (decl, lang_c);
|
|
+ }
|
|
+
|
|
DECL_STATIC_FUNCTION_P (decl)
|
|
= !xobj_func_p && ctype && TREE_CODE (type) == FUNCTION_TYPE;
|
|
DECL_FUNCTION_XOBJ_FLAG (decl) = xobj_func_p;
|
|
diff --git a/gcc/gcc/cp/parser.cc b/gcc/gcc/cp/parser.cc
|
|
index 3628cfefa0..139ea6e069 100644
|
|
--- a/gcc/gcc/cp/parser.cc
|
|
+++ b/gcc/gcc/cp/parser.cc
|
|
@@ -3160,6 +3160,8 @@ static size_t cp_parser_skip_balanced_tokens (cp_parser *, size_t);
|
|
static bool cp_parser_next_tokens_can_be_canon_loop (cp_parser *,
|
|
enum tree_code, bool);
|
|
static tree cp_parser_omp_loop_nest (cp_parser *, bool *);
|
|
+static tree cp_parser_inline_opcodes
|
|
+ (cp_parser *);
|
|
|
|
// -------------------------------------------------------------------------- //
|
|
// Unevaluated Operand Guard
|
|
@@ -4753,6 +4755,7 @@ cp_parser_string_literal_common (cp_parser *parser, bool translate,
|
|
tree string_tree;
|
|
tree suffix_id = NULL_TREE;
|
|
bool curr_tok_is_userdef_p = false;
|
|
+ bool pascal_string = false;
|
|
|
|
tok = cp_lexer_peek_token (parser->lexer);
|
|
if (!cp_parser_is_string_literal (tok))
|
|
@@ -4896,9 +4899,21 @@ cp_parser_string_literal_common (cp_parser *parser, bool translate,
|
|
if (uneval)
|
|
type = CPP_UNEVAL_STRING;
|
|
|
|
+ if (!strncmp((const char*)strs[0].text, "\"\\p", 3))
|
|
+ {
|
|
+ pascal_string = true;
|
|
+ /* replace \p by a valid escape sequence */
|
|
+ ((unsigned char*)strs[0].text)[2] = 'n';
|
|
+ }
|
|
+
|
|
if ((translate ? cpp_interpret_string : cpp_interpret_string_notranslate)
|
|
(parse_in, strs, count, &istr, type))
|
|
{
|
|
+ if (pascal_string)
|
|
+ {
|
|
+ /* put the real string length in */
|
|
+ ((unsigned char*)istr.text)[0] = (unsigned char) (istr.len - 2);
|
|
+ }
|
|
value = build_string (istr.len, (const char *)istr.text);
|
|
free (CONST_CAST (unsigned char *, istr.text));
|
|
if (count > 1)
|
|
@@ -4912,7 +4927,10 @@ cp_parser_string_literal_common (cp_parser *parser, bool translate,
|
|
{
|
|
default:
|
|
case CPP_STRING:
|
|
- TREE_TYPE (value) = char_array_type_node;
|
|
+ if (pascal_string)
|
|
+ TREE_TYPE (value) = uchar_array_type_node;
|
|
+ else
|
|
+ TREE_TYPE (value) = char_array_type_node;
|
|
break;
|
|
case CPP_UTF8STRING:
|
|
if (flag_char8_t)
|
|
@@ -24193,20 +24211,42 @@ cp_parser_init_declarator (cp_parser* parser,
|
|
{
|
|
if (function_declarator_p (declarator))
|
|
{
|
|
- if (initialization_kind == CPP_EQ)
|
|
- initializer = cp_parser_pure_specifier (parser);
|
|
- else
|
|
- {
|
|
- /* If the declaration was erroneous, we don't really
|
|
+ if (initialization_kind == CPP_EQ)
|
|
+ {
|
|
+ if(member_p)
|
|
+ initializer = cp_parser_pure_specifier (parser);
|
|
+ else
|
|
+ {
|
|
+ cp_token *token;
|
|
+ cp_lexer_consume_token (parser->lexer);
|
|
+ token = cp_lexer_peek_token (parser->lexer);
|
|
+ if (token->keyword == RID_DEFAULT
|
|
+ || token->keyword == RID_DELETE)
|
|
+ {
|
|
+ cp_lexer_consume_token (parser->lexer);
|
|
+ maybe_warn_cpp0x (CPP0X_DEFAULTED_DELETED);
|
|
+ initializer = token->u.value;
|
|
+ }
|
|
+ else
|
|
+ {
|
|
+ is_initialized = false;
|
|
+ tree rawinline_attr = cp_parser_inline_opcodes (parser);
|
|
+ decl_attributes (&decl, rawinline_attr, 0);
|
|
+ }
|
|
+ }
|
|
+ }
|
|
+ else
|
|
+ {
|
|
+ /* If the declaration was erroneous, we don't really
|
|
know what the user intended, so just silently
|
|
consume the initializer. */
|
|
- if (decl != error_mark_node)
|
|
+ if (decl != error_mark_node)
|
|
error_at (tmp_init_loc, "initializer provided for function");
|
|
- cp_parser_skip_to_closing_parenthesis (parser,
|
|
+ cp_parser_skip_to_closing_parenthesis (parser,
|
|
/*recovering=*/true,
|
|
/*or_comma=*/false,
|
|
/*consume_paren=*/true);
|
|
- }
|
|
+ }
|
|
}
|
|
else
|
|
{
|
|
@@ -54213,6 +54253,49 @@ finish_fully_implicit_template (cp_parser *parser, tree member_decl_opt)
|
|
return member_decl_opt;
|
|
}
|
|
|
|
+
|
|
+static tree cp_parser_inline_opcodes(cp_parser * parser)
|
|
+{
|
|
+ tree attr_args;
|
|
+ bool braced = false;
|
|
+
|
|
+ braced = cp_lexer_next_token_is(parser->lexer, CPP_OPEN_BRACE);
|
|
+ if(braced)
|
|
+ cp_lexer_consume_token(parser->lexer);
|
|
+
|
|
+ vec<tree, va_gc> *expr_list = make_tree_vector ();
|
|
+
|
|
+ if(!braced || !cp_lexer_next_token_is(parser->lexer, CPP_CLOSE_BRACE))
|
|
+ {
|
|
+ for(;;)
|
|
+ {
|
|
+ tree val = cp_parser_constant_expression (parser,
|
|
+ /*allow_non_constant_p=*/false,
|
|
+ NULL);
|
|
+ val = cp_fully_fold(val);
|
|
+ vec_safe_push (expr_list, val);
|
|
+
|
|
+ if(cp_lexer_next_token_is(parser->lexer, CPP_COMMA))
|
|
+ cp_lexer_consume_token(parser->lexer);
|
|
+ else
|
|
+ break;
|
|
+ }
|
|
+ }
|
|
+
|
|
+ attr_args = build_tree_list_vec (expr_list);
|
|
+ release_tree_vector (expr_list);
|
|
+
|
|
+ if(braced)
|
|
+ {
|
|
+ if(cp_lexer_next_token_is(parser->lexer, CPP_CLOSE_BRACE))
|
|
+ cp_lexer_consume_token(parser->lexer);
|
|
+ else
|
|
+ cp_parser_error (parser, "expected %<}%>");
|
|
+ }
|
|
+
|
|
+ return build_tree_list (canonicalize_attr_name(get_identifier("__raw_inline__")), attr_args);
|
|
+}
|
|
+
|
|
/* Like finish_fully_implicit_template, but to be used in error
|
|
recovery, rearranging scopes so that we restore the state we had
|
|
before synthesize_implicit_template_parm inserted the implement
|
|
diff --git a/gcc/gcc/expr.cc b/gcc/gcc/expr.cc
|
|
index 3815c565e2..25fddc7521 100644
|
|
--- a/gcc/gcc/expr.cc
|
|
+++ b/gcc/gcc/expr.cc
|
|
@@ -5053,12 +5053,14 @@ find_args_size_adjust (rtx_insn *insn)
|
|
addr = XEXP (mem, 0);
|
|
switch (GET_CODE (addr))
|
|
{
|
|
+#ifdef PUSH_ROUNDING
|
|
case PRE_INC:
|
|
case POST_INC:
|
|
- return GET_MODE_SIZE (GET_MODE (mem));
|
|
+ return PUSH_ROUNDING( GET_MODE_SIZE (GET_MODE (mem)) );
|
|
case PRE_DEC:
|
|
case POST_DEC:
|
|
- return -GET_MODE_SIZE (GET_MODE (mem));
|
|
+ return -PUSH_ROUNDING( GET_MODE_SIZE (GET_MODE (mem)) );
|
|
+#endif
|
|
case PRE_MODIFY:
|
|
case POST_MODIFY:
|
|
addr = XEXP (addr, 1);
|
|
diff --git a/gcc/gcc/final.cc b/gcc/gcc/final.cc
|
|
index 12c6eb0ac0..d4ba6cc41c 100644
|
|
--- a/gcc/gcc/final.cc
|
|
+++ b/gcc/gcc/final.cc
|
|
@@ -3410,6 +3410,8 @@ do_assembler_dialects (const char *p, int *dialect)
|
|
and print a constant expression for minus the value
|
|
of the operand, with no other punctuation. */
|
|
|
|
+int retro68_hack_asm_rts_counter = 0;
|
|
+
|
|
void
|
|
output_asm_insn (const char *templ, rtx *operands)
|
|
{
|
|
@@ -3427,6 +3429,13 @@ output_asm_insn (const char *templ, rtx *operands)
|
|
if (*templ == 0)
|
|
return;
|
|
|
|
+ /* Hack: in Retro68, we want to know whether the last
|
|
+ instruction we output was an rts, so we know
|
|
+ whether we have to output an extra one as part
|
|
+ of the MacsBug name. */
|
|
+ if(retro68_hack_asm_rts_counter)
|
|
+ retro68_hack_asm_rts_counter--;
|
|
+
|
|
memset (opoutput, 0, sizeof opoutput);
|
|
p = templ;
|
|
putc ('\t', asm_out_file);
|
|
diff --git a/gcc/gcc/function.cc b/gcc/gcc/function.cc
|
|
index 2ad430a801..a81e0e4fd9 100644
|
|
--- a/gcc/gcc/function.cc
|
|
+++ b/gcc/gcc/function.cc
|
|
@@ -2425,6 +2425,20 @@ assign_parms_augmented_arg_list (struct assign_parm_data_all *all)
|
|
all->function_result_decl = decl;
|
|
}
|
|
|
|
+#ifdef IS_PASCAL_FUNC
|
|
+ if (IS_PASCAL_FUNC(fntype, fndecl))
|
|
+ {
|
|
+ // reverse argument order
|
|
+ unsigned n = fnargs.length(), n2 = fnargs.length() / 2;
|
|
+ for(unsigned i = 0; i < n2; i++)
|
|
+ {
|
|
+ tree tmp = fnargs[i];
|
|
+ fnargs[i] = fnargs[n - 1 - i];
|
|
+ fnargs[n - 1 - i] = tmp;
|
|
+ }
|
|
+ }
|
|
+#endif
|
|
+
|
|
/* If the target wants to split complex arguments into scalars, do so. */
|
|
if (targetm.calls.split_complex_arg)
|
|
split_complex_args (&fnargs);
|
|
@@ -5475,6 +5489,20 @@ expand_function_end (void)
|
|
tree decl_result = DECL_RESULT (current_function_decl);
|
|
rtx decl_rtl = DECL_RTL (decl_result);
|
|
|
|
+#ifdef IS_PASCAL_FUNC
|
|
+ if (IS_PASCAL_FUNC(TREE_TYPE(current_function_decl), current_function_decl))
|
|
+ {
|
|
+ enum machine_mode mode = GET_MODE(decl_rtl);;
|
|
+
|
|
+ rtx return_slot = gen_int_mode(crtl->args.pops_args + 8, Pmode);
|
|
+ return_slot = gen_rtx_PLUS(Pmode, arg_pointer_rtx, return_slot);
|
|
+ return_slot = gen_rtx_MEM(mode, return_slot);
|
|
+ MEM_VOLATILE_P(return_slot) = true;
|
|
+ emit_move_insn (return_slot, decl_rtl);
|
|
+ crtl->return_rtx = return_slot;
|
|
+ }
|
|
+ else
|
|
+#endif
|
|
if ((REG_P (decl_rtl)
|
|
? REGNO (decl_rtl) >= FIRST_PSEUDO_REGISTER
|
|
: DECL_REGISTER (decl_result))
|
|
diff --git a/gcc/gcc/reload1.cc b/gcc/gcc/reload1.cc
|
|
index 64ec74e2bf..1c8705feeb 100644
|
|
--- a/gcc/gcc/reload1.cc
|
|
+++ b/gcc/gcc/reload1.cc
|
|
@@ -3036,6 +3036,8 @@ elimination_effects (rtx x, machine_mode mem_mode)
|
|
else
|
|
ep->can_eliminate = 0;
|
|
}
|
|
+ if (code == POST_DEC || code == POST_INC)
|
|
+ ep->can_eliminate = 0;
|
|
}
|
|
|
|
/* These two aren't unary operators. */
|
|
diff --git a/gcc/gcc/rtlanal.cc b/gcc/gcc/rtlanal.cc
|
|
index 86a5e47330..048382ec3e 100644
|
|
--- a/gcc/gcc/rtlanal.cc
|
|
+++ b/gcc/gcc/rtlanal.cc
|
|
@@ -1637,9 +1637,26 @@ set_noop_p (const_rtx set)
|
|
return true;
|
|
|
|
if (MEM_P (dst) && MEM_P (src))
|
|
- return (rtx_equal_p (dst, src)
|
|
- && !side_effects_p (dst)
|
|
- && !side_effects_p (src));
|
|
+ {
|
|
+ if (rtx_equal_p (dst, src) && !side_effects_p (dst))
|
|
+ return 1;
|
|
+
|
|
+ src = XEXP(src, 0);
|
|
+ dst = XEXP(dst, 0);
|
|
+
|
|
+ if( GET_CODE(src) == POST_INC && GET_CODE(dst) == PRE_DEC )
|
|
+ {
|
|
+ src = XEXP(src, 0);
|
|
+ dst = XEXP(dst, 0);
|
|
+ if ((rtx_equal_p (dst, src)
|
|
+ && !side_effects_p (dst)
|
|
+ && !side_effects_p (src)))
|
|
+ return 1;
|
|
+
|
|
+ }
|
|
+
|
|
+ return 0;
|
|
+ }
|
|
|
|
if (GET_CODE (dst) == ZERO_EXTRACT)
|
|
return (rtx_equal_p (XEXP (dst, 0), src)
|
|
diff --git a/gcc/gcc/system.h b/gcc/gcc/system.h
|
|
index e516b49d04..6764a52982 100644
|
|
--- a/gcc/gcc/system.h
|
|
+++ b/gcc/gcc/system.h
|
|
@@ -145,7 +145,7 @@ extern int fgetc_unlocked (FILE *);
|
|
extern char *fgets_unlocked (char *, int, FILE *);
|
|
# endif
|
|
# endif
|
|
-# ifdef HAVE_FPUTS_UNLOCKED
|
|
+# if defined (HAVE_FPUTS_UNLOCKED) && !defined (__CYGWIN__)
|
|
# undef fputs
|
|
# define fputs(String, Stream) fputs_unlocked (String, Stream)
|
|
# if defined (HAVE_DECL_FPUTS_UNLOCKED) && !HAVE_DECL_FPUTS_UNLOCKED
|
|
diff --git a/gcc/libbacktrace/aclocal.m4 b/gcc/libbacktrace/aclocal.m4
|
|
index 528e617393..8cb21fc4f8 100644
|
|
--- a/gcc/libbacktrace/aclocal.m4
|
|
+++ b/gcc/libbacktrace/aclocal.m4
|
|
@@ -1,6 +1,6 @@
|
|
-# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
|
|
+# generated automatically by aclocal 1.16.3 -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1996-2020 Free Software Foundation, Inc.
|
|
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -20,7 +20,7 @@ You have another version of autoconf. It may work, but is not guaranteed to.
|
|
If you have problems, you may need to regenerate the build system entirely.
|
|
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
|
|
|
|
-# Copyright (C) 2002-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2002-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -32,10 +32,10 @@ To do so, use the procedure documented by the package, typically 'autoreconf'.])
|
|
# generated from the m4 files accompanying Automake X.Y.
|
|
# (This private macro should not be called outside this file.)
|
|
AC_DEFUN([AM_AUTOMAKE_VERSION],
|
|
-[am__api_version='1.15'
|
|
+[am__api_version='1.16'
|
|
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
|
|
dnl require some minimum version. Point them to the right macro.
|
|
-m4_if([$1], [1.15.1], [],
|
|
+m4_if([$1], [1.16.3], [],
|
|
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
|
|
])
|
|
|
|
@@ -51,14 +51,14 @@ m4_define([_AM_AUTOCONF_VERSION], [])
|
|
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
|
|
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
|
|
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
|
|
-[AM_AUTOMAKE_VERSION([1.15.1])dnl
|
|
+[AM_AUTOMAKE_VERSION([1.16.3])dnl
|
|
m4_ifndef([AC_AUTOCONF_VERSION],
|
|
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
|
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
|
|
|
|
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2001-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -110,7 +110,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd`
|
|
|
|
# AM_CONDITIONAL -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 1997-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1997-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -143,7 +143,7 @@ fi])])
|
|
|
|
# Do all the work for Automake. -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1996-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -230,8 +230,8 @@ AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
|
|
AC_REQUIRE([AC_PROG_MKDIR_P])dnl
|
|
# For better backward compatibility. To be removed once Automake 1.9.x
|
|
# dies out for good. For more background, see:
|
|
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
|
|
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
|
|
+# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
|
|
+# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
|
|
AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
|
|
# We need awk for the "check" target (and possibly the TAP driver). The
|
|
# system "awk" is bad on some platforms.
|
|
@@ -298,7 +298,7 @@ END
|
|
Aborting the configuration process, to ensure you take notice of the issue.
|
|
|
|
You can download and install GNU coreutils to get an 'rm' implementation
|
|
-that behaves properly: <http://www.gnu.org/software/coreutils/>.
|
|
+that behaves properly: <https://www.gnu.org/software/coreutils/>.
|
|
|
|
If you want to complete the configuration process using your problematic
|
|
'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
|
|
@@ -340,7 +340,7 @@ for _am_header in $config_headers :; do
|
|
done
|
|
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
|
|
|
|
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2001-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -364,7 +364,7 @@ AC_SUBST([install_sh])])
|
|
# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
|
|
# From Jim Meyering
|
|
|
|
-# Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1996-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -399,7 +399,7 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
|
|
|
|
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 1997-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1997-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -420,12 +420,7 @@ AC_DEFUN([AM_MISSING_HAS_RUN],
|
|
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
|
|
AC_REQUIRE_AUX_FILE([missing])dnl
|
|
if test x"${MISSING+set}" != xset; then
|
|
- case $am_aux_dir in
|
|
- *\ * | *\ *)
|
|
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
|
|
- *)
|
|
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
|
|
- esac
|
|
+ MISSING="\${SHELL} '$am_aux_dir/missing'"
|
|
fi
|
|
# Use eval to expand $SHELL
|
|
if eval "$MISSING --is-lightweight"; then
|
|
@@ -438,7 +433,7 @@ fi
|
|
|
|
# Helper functions for option handling. -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2001-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -467,7 +462,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
|
|
AC_DEFUN([_AM_IF_OPTION],
|
|
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
|
|
|
|
-# Copyright (C) 1999-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1999-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -514,7 +509,7 @@ AC_LANG_POP([C])])
|
|
# For backward compatibility.
|
|
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
|
|
|
|
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2001-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -533,7 +528,7 @@ AC_DEFUN([AM_RUN_LOG],
|
|
|
|
# Check to make sure that the build environment is sane. -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1996-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -614,7 +609,7 @@ AC_CONFIG_COMMANDS_PRE(
|
|
rm -f conftest.file
|
|
])
|
|
|
|
-# Copyright (C) 2009-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2009-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -674,7 +669,7 @@ AC_SUBST([AM_BACKSLASH])dnl
|
|
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
|
|
])
|
|
|
|
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2001-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -702,7 +697,7 @@ fi
|
|
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
|
|
AC_SUBST([INSTALL_STRIP_PROGRAM])])
|
|
|
|
-# Copyright (C) 2006-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2006-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -721,7 +716,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
|
|
|
|
# Check how to create a tarball. -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 2004-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2004-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
diff --git a/gcc/libcc1/aclocal.m4 b/gcc/libcc1/aclocal.m4
|
|
index 2348721062..b60c3ce364 100644
|
|
--- a/gcc/libcc1/aclocal.m4
|
|
+++ b/gcc/libcc1/aclocal.m4
|
|
@@ -1,6 +1,6 @@
|
|
-# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
|
|
+# generated automatically by aclocal 1.16.3 -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1996-2020 Free Software Foundation, Inc.
|
|
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -20,7 +20,7 @@ You have another version of autoconf. It may work, but is not guaranteed to.
|
|
If you have problems, you may need to regenerate the build system entirely.
|
|
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
|
|
|
|
-# Copyright (C) 2002-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2002-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -32,10 +32,10 @@ To do so, use the procedure documented by the package, typically 'autoreconf'.])
|
|
# generated from the m4 files accompanying Automake X.Y.
|
|
# (This private macro should not be called outside this file.)
|
|
AC_DEFUN([AM_AUTOMAKE_VERSION],
|
|
-[am__api_version='1.15'
|
|
+[am__api_version='1.16'
|
|
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
|
|
dnl require some minimum version. Point them to the right macro.
|
|
-m4_if([$1], [1.15.1], [],
|
|
+m4_if([$1], [1.16.3], [],
|
|
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
|
|
])
|
|
|
|
@@ -51,14 +51,14 @@ m4_define([_AM_AUTOCONF_VERSION], [])
|
|
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
|
|
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
|
|
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
|
|
-[AM_AUTOMAKE_VERSION([1.15.1])dnl
|
|
+[AM_AUTOMAKE_VERSION([1.16.3])dnl
|
|
m4_ifndef([AC_AUTOCONF_VERSION],
|
|
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
|
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
|
|
|
|
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2001-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -110,7 +110,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd`
|
|
|
|
# AM_CONDITIONAL -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 1997-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1997-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -141,7 +141,7 @@ AC_CONFIG_COMMANDS_PRE(
|
|
Usually this means the macro was only invoked conditionally.]])
|
|
fi])])
|
|
|
|
-# Copyright (C) 1999-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1999-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -332,13 +332,12 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
|
|
|
|
# Generate code to set up dependency tracking. -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 1999-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1999-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
# with or without modifications, as long as this notice is preserved.
|
|
|
|
-
|
|
# _AM_OUTPUT_DEPENDENCY_COMMANDS
|
|
# ------------------------------
|
|
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
|
|
@@ -346,49 +345,43 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
|
|
# Older Autoconf quotes --file arguments for eval, but not when files
|
|
# are listed without --file. Let's play safe and only enable the eval
|
|
# if we detect the quoting.
|
|
- case $CONFIG_FILES in
|
|
- *\'*) eval set x "$CONFIG_FILES" ;;
|
|
- *) set x $CONFIG_FILES ;;
|
|
- esac
|
|
+ # TODO: see whether this extra hack can be removed once we start
|
|
+ # requiring Autoconf 2.70 or later.
|
|
+ AS_CASE([$CONFIG_FILES],
|
|
+ [*\'*], [eval set x "$CONFIG_FILES"],
|
|
+ [*], [set x $CONFIG_FILES])
|
|
shift
|
|
- for mf
|
|
+ # Used to flag and report bootstrapping failures.
|
|
+ am_rc=0
|
|
+ for am_mf
|
|
do
|
|
# Strip MF so we end up with the name of the file.
|
|
- mf=`echo "$mf" | sed -e 's/:.*$//'`
|
|
- # Check whether this is an Automake generated Makefile or not.
|
|
- # We used to match only the files named 'Makefile.in', but
|
|
- # some people rename them; so instead we look at the file content.
|
|
- # Grep'ing the first line is not enough: some people post-process
|
|
- # each Makefile.in and add a new line on top of each file to say so.
|
|
- # Grep'ing the whole file is not good either: AIX grep has a line
|
|
+ am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'`
|
|
+ # Check whether this is an Automake generated Makefile which includes
|
|
+ # dependency-tracking related rules and includes.
|
|
+ # Grep'ing the whole file directly is not great: AIX grep has a line
|
|
# limit of 2048, but all sed's we know have understand at least 4000.
|
|
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
|
|
- dirpart=`AS_DIRNAME("$mf")`
|
|
- else
|
|
- continue
|
|
- fi
|
|
- # Extract the definition of DEPDIR, am__include, and am__quote
|
|
- # from the Makefile without running 'make'.
|
|
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
|
|
- test -z "$DEPDIR" && continue
|
|
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
|
|
- test -z "$am__include" && continue
|
|
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
|
|
- # Find all dependency output files, they are included files with
|
|
- # $(DEPDIR) in their names. We invoke sed twice because it is the
|
|
- # simplest approach to changing $(DEPDIR) to its actual value in the
|
|
- # expansion.
|
|
- for file in `sed -n "
|
|
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
|
|
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
|
|
- # Make sure the directory exists.
|
|
- test -f "$dirpart/$file" && continue
|
|
- fdir=`AS_DIRNAME(["$file"])`
|
|
- AS_MKDIR_P([$dirpart/$fdir])
|
|
- # echo "creating $dirpart/$file"
|
|
- echo '# dummy' > "$dirpart/$file"
|
|
- done
|
|
+ sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
|
|
+ || continue
|
|
+ am_dirpart=`AS_DIRNAME(["$am_mf"])`
|
|
+ am_filepart=`AS_BASENAME(["$am_mf"])`
|
|
+ AM_RUN_LOG([cd "$am_dirpart" \
|
|
+ && sed -e '/# am--include-marker/d' "$am_filepart" \
|
|
+ | $MAKE -f - am--depfiles]) || am_rc=$?
|
|
done
|
|
+ if test $am_rc -ne 0; then
|
|
+ AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments
|
|
+ for automatic dependency tracking. If GNU make was not used, consider
|
|
+ re-running the configure script with MAKE="gmake" (or whatever is
|
|
+ necessary). You can also try re-running configure with the
|
|
+ '--disable-dependency-tracking' option to at least be able to build
|
|
+ the package (albeit without support for automatic dependency tracking).])
|
|
+ fi
|
|
+ AS_UNSET([am_dirpart])
|
|
+ AS_UNSET([am_filepart])
|
|
+ AS_UNSET([am_mf])
|
|
+ AS_UNSET([am_rc])
|
|
+ rm -f conftest-deps.mk
|
|
}
|
|
])# _AM_OUTPUT_DEPENDENCY_COMMANDS
|
|
|
|
@@ -397,18 +390,17 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
|
|
# -----------------------------
|
|
# This macro should only be invoked once -- use via AC_REQUIRE.
|
|
#
|
|
-# This code is only required when automatic dependency tracking
|
|
-# is enabled. FIXME. This creates each '.P' file that we will
|
|
-# need in order to bootstrap the dependency handling code.
|
|
+# This code is only required when automatic dependency tracking is enabled.
|
|
+# This creates each '.Po' and '.Plo' makefile fragment that we'll need in
|
|
+# order to bootstrap the dependency handling code.
|
|
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
|
|
[AC_CONFIG_COMMANDS([depfiles],
|
|
[test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
|
|
- [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
|
|
-])
|
|
+ [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])])
|
|
|
|
# Do all the work for Automake. -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1996-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -495,8 +487,8 @@ AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
|
|
AC_REQUIRE([AC_PROG_MKDIR_P])dnl
|
|
# For better backward compatibility. To be removed once Automake 1.9.x
|
|
# dies out for good. For more background, see:
|
|
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
|
|
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
|
|
+# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
|
|
+# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
|
|
AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
|
|
# We need awk for the "check" target (and possibly the TAP driver). The
|
|
# system "awk" is bad on some platforms.
|
|
@@ -563,7 +555,7 @@ END
|
|
Aborting the configuration process, to ensure you take notice of the issue.
|
|
|
|
You can download and install GNU coreutils to get an 'rm' implementation
|
|
-that behaves properly: <http://www.gnu.org/software/coreutils/>.
|
|
+that behaves properly: <https://www.gnu.org/software/coreutils/>.
|
|
|
|
If you want to complete the configuration process using your problematic
|
|
'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
|
|
@@ -605,7 +597,7 @@ for _am_header in $config_headers :; do
|
|
done
|
|
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
|
|
|
|
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2001-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -629,7 +621,7 @@ AC_SUBST([install_sh])])
|
|
# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
|
|
# From Jim Meyering
|
|
|
|
-# Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1996-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -664,7 +656,7 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
|
|
|
|
# Check to see how 'make' treats includes. -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2001-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -672,49 +664,42 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
|
|
|
|
# AM_MAKE_INCLUDE()
|
|
# -----------------
|
|
-# Check to see how make treats includes.
|
|
+# Check whether make has an 'include' directive that can support all
|
|
+# the idioms we need for our automatic dependency tracking code.
|
|
AC_DEFUN([AM_MAKE_INCLUDE],
|
|
-[am_make=${MAKE-make}
|
|
-cat > confinc << 'END'
|
|
+[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive])
|
|
+cat > confinc.mk << 'END'
|
|
am__doit:
|
|
- @echo this is the am__doit target
|
|
+ @echo this is the am__doit target >confinc.out
|
|
.PHONY: am__doit
|
|
END
|
|
-# If we don't find an include directive, just comment out the code.
|
|
-AC_MSG_CHECKING([for style of include used by $am_make])
|
|
am__include="#"
|
|
am__quote=
|
|
-_am_result=none
|
|
-# First try GNU make style include.
|
|
-echo "include confinc" > confmf
|
|
-# Ignore all kinds of additional output from 'make'.
|
|
-case `$am_make -s -f confmf 2> /dev/null` in #(
|
|
-*the\ am__doit\ target*)
|
|
- am__include=include
|
|
- am__quote=
|
|
- _am_result=GNU
|
|
- ;;
|
|
-esac
|
|
-# Now try BSD make style include.
|
|
-if test "$am__include" = "#"; then
|
|
- echo '.include "confinc"' > confmf
|
|
- case `$am_make -s -f confmf 2> /dev/null` in #(
|
|
- *the\ am__doit\ target*)
|
|
- am__include=.include
|
|
- am__quote="\""
|
|
- _am_result=BSD
|
|
- ;;
|
|
- esac
|
|
-fi
|
|
-AC_SUBST([am__include])
|
|
-AC_SUBST([am__quote])
|
|
-AC_MSG_RESULT([$_am_result])
|
|
-rm -f confinc confmf
|
|
-])
|
|
+# BSD make does it like this.
|
|
+echo '.include "confinc.mk" # ignored' > confmf.BSD
|
|
+# Other make implementations (GNU, Solaris 10, AIX) do it like this.
|
|
+echo 'include confinc.mk # ignored' > confmf.GNU
|
|
+_am_result=no
|
|
+for s in GNU BSD; do
|
|
+ AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out])
|
|
+ AS_CASE([$?:`cat confinc.out 2>/dev/null`],
|
|
+ ['0:this is the am__doit target'],
|
|
+ [AS_CASE([$s],
|
|
+ [BSD], [am__include='.include' am__quote='"'],
|
|
+ [am__include='include' am__quote=''])])
|
|
+ if test "$am__include" != "#"; then
|
|
+ _am_result="yes ($s style)"
|
|
+ break
|
|
+ fi
|
|
+done
|
|
+rm -f confinc.* confmf.*
|
|
+AC_MSG_RESULT([${_am_result}])
|
|
+AC_SUBST([am__include])])
|
|
+AC_SUBST([am__quote])])
|
|
|
|
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 1997-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1997-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -735,12 +720,7 @@ AC_DEFUN([AM_MISSING_HAS_RUN],
|
|
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
|
|
AC_REQUIRE_AUX_FILE([missing])dnl
|
|
if test x"${MISSING+set}" != xset; then
|
|
- case $am_aux_dir in
|
|
- *\ * | *\ *)
|
|
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
|
|
- *)
|
|
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
|
|
- esac
|
|
+ MISSING="\${SHELL} '$am_aux_dir/missing'"
|
|
fi
|
|
# Use eval to expand $SHELL
|
|
if eval "$MISSING --is-lightweight"; then
|
|
@@ -753,7 +733,7 @@ fi
|
|
|
|
# Helper functions for option handling. -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2001-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -782,7 +762,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
|
|
AC_DEFUN([_AM_IF_OPTION],
|
|
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
|
|
|
|
-# Copyright (C) 1999-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1999-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -829,7 +809,7 @@ AC_LANG_POP([C])])
|
|
# For backward compatibility.
|
|
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
|
|
|
|
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2001-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -848,7 +828,7 @@ AC_DEFUN([AM_RUN_LOG],
|
|
|
|
# Check to make sure that the build environment is sane. -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1996-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -929,7 +909,7 @@ AC_CONFIG_COMMANDS_PRE(
|
|
rm -f conftest.file
|
|
])
|
|
|
|
-# Copyright (C) 2009-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2009-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -989,7 +969,7 @@ AC_SUBST([AM_BACKSLASH])dnl
|
|
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
|
|
])
|
|
|
|
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2001-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -1017,7 +997,7 @@ fi
|
|
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
|
|
AC_SUBST([INSTALL_STRIP_PROGRAM])])
|
|
|
|
-# Copyright (C) 2006-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2006-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -1036,7 +1016,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
|
|
|
|
# Check how to create a tarball. -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 2004-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2004-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
diff --git a/gcc/libcc1/cc1plugin-config.h.in b/gcc/libcc1/cc1plugin-config.h.in
|
|
index ac06357bad..e1f32b36a5 100644
|
|
--- a/gcc/libcc1/cc1plugin-config.h.in
|
|
+++ b/gcc/libcc1/cc1plugin-config.h.in
|
|
@@ -34,8 +34,7 @@
|
|
/* Define to 1 if you have the <unistd.h> header file. */
|
|
#undef HAVE_UNISTD_H
|
|
|
|
-/* Define to the sub-directory in which libtool stores uninstalled libraries.
|
|
- */
|
|
+/* Define to the sub-directory where libtool stores uninstalled libraries. */
|
|
#undef LT_OBJDIR
|
|
|
|
/* Define to the address where bug reports for this package should be sent. */
|
|
diff --git a/gcc/libcc1/libcc1plugin.cc b/gcc/libcc1/libcc1plugin.cc
|
|
index 44ef438ba9..9c75a09d2b 100644
|
|
--- a/gcc/libcc1/libcc1plugin.cc
|
|
+++ b/gcc/libcc1/libcc1plugin.cc
|
|
@@ -31,6 +31,7 @@
|
|
#undef PACKAGE_TARNAME
|
|
#undef PACKAGE_VERSION
|
|
|
|
+#define INCLUDE_VECTOR
|
|
#define INCLUDE_MEMORY
|
|
#define INCLUDE_VECTOR
|
|
#include "gcc-plugin.h"
|
|
diff --git a/gcc/libcpp/charset.cc b/gcc/libcpp/charset.cc
|
|
index e3accf8e9a..8b25f5a483 100644
|
|
--- a/gcc/libcpp/charset.cc
|
|
+++ b/gcc/libcpp/charset.cc
|
|
@@ -2837,7 +2837,7 @@ narrow_str_to_charconst (cpp_reader *pfile, cpp_string str,
|
|
"character not encodable in a single code unit");
|
|
i = max_chars;
|
|
}
|
|
- else if (i > 1 && CPP_OPTION (pfile, warn_multichar))
|
|
+ else if (i > 1 && i != 4 && CPP_OPTION (pfile, warn_multichar))
|
|
cpp_warning (pfile, CPP_W_MULTICHAR, "multi-character character constant");
|
|
|
|
/* Multichar constants are of type int and therefore signed. */
|
|
diff --git a/gcc/libgcc/Makefile.in b/gcc/libgcc/Makefile.in
|
|
index 0719fd0615..58ba484fca 100644
|
|
--- a/gcc/libgcc/Makefile.in
|
|
+++ b/gcc/libgcc/Makefile.in
|
|
@@ -248,6 +248,7 @@ LIBGCC2_DEBUG_CFLAGS = -g
|
|
LIBGCC2_CFLAGS = -O2 $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) $(HOST_LIBGCC2_CFLAGS) \
|
|
$(LIBGCC2_DEBUG_CFLAGS) -DIN_LIBGCC2 \
|
|
-fbuilding-libgcc -fno-stack-protector \
|
|
+ -ffunction-sections \
|
|
$(INHIBIT_LIBC_CFLAGS)
|
|
|
|
# Additional options to use when compiling libgcc2.a.
|
|
diff --git a/gcc/libgcc/config.host b/gcc/libgcc/config.host
|
|
index 6a88ee5a2d..9910118739 100644
|
|
--- a/gcc/libgcc/config.host
|
|
+++ b/gcc/libgcc/config.host
|
|
@@ -1023,6 +1023,10 @@ m32rle-*-elf*)
|
|
m68k-*-elf* | fido-*-elf)
|
|
tmake_file="$tmake_file m68k/t-floatlib"
|
|
;;
|
|
+m68k-*-macos)
|
|
+ extra_parts="crtbegin.o crtend.o"
|
|
+ tmake_file="$tmake_file m68k/t-floatlib"
|
|
+ ;;
|
|
m68k*-*-netbsdelf*)
|
|
;;
|
|
m68k*-*-openbsd*)
|
|
@@ -1375,6 +1379,9 @@ rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*)
|
|
tmake_file="t-fdpbit rs6000/t-ppc64-fp rs6000/t-slibgcc-aix rs6000/t-ibm-ldouble rs6000/t-aix-cxa"
|
|
extra_parts="crtcxa.o crtcxa_s.o crtdbase.o crtcxa_64.o crtcxa_64_s.o crtdbase_64.o"
|
|
;;
|
|
+powerpc-*-macos)
|
|
+ tmake_file="t-fdpbit rs6000/t-ibm-ldouble"
|
|
+ ;;
|
|
rl78-*-elf)
|
|
tmake_file="$tm_file t-fdpbit rl78/t-rl78"
|
|
;;
|
|
diff --git a/gcc/libgcc/config/rs6000/cxa_finalize.c b/gcc/libgcc/config/rs6000/cxa_finalize.c
|
|
index 7da55794c8..1f010f771b 100644
|
|
--- a/gcc/libgcc/config/rs6000/cxa_finalize.c
|
|
+++ b/gcc/libgcc/config/rs6000/cxa_finalize.c
|
|
@@ -29,7 +29,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
|
#include "exit.h"
|
|
|
|
|
|
-static boolean_t
|
|
+static int
|
|
catomic_compare_and_exchange_bool_acq (long *mem, long newval, long oldval)
|
|
{
|
|
return ! __atomic_compare_exchange (mem, &oldval, &newval, 0,
|
|
diff --git a/gcc/libstdc++-v3/Makefile.in b/gcc/libstdc++-v3/Makefile.in
|
|
index 5beb3146ee..96f6b1acb9 100644
|
|
--- a/gcc/libstdc++-v3/Makefile.in
|
|
+++ b/gcc/libstdc++-v3/Makefile.in
|
|
@@ -1,7 +1,7 @@
|
|
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
|
|
+# Makefile.in generated by automake 1.16.3 from Makefile.am.
|
|
# @configure_input@
|
|
|
|
-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
|
|
|
|
# This Makefile.in is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -135,7 +135,7 @@ am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
|
am__v_at_0 = @
|
|
am__v_at_1 =
|
|
depcomp =
|
|
-am__depfiles_maybe =
|
|
+am__maybe_remake_depfiles =
|
|
SOURCES =
|
|
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
|
|
ctags-recursive dvi-recursive html-recursive info-recursive \
|
|
@@ -158,8 +158,8 @@ am__recursive_targets = \
|
|
$(am__extra_recursive_targets)
|
|
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
|
|
cscope
|
|
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
|
|
- $(LISP)config.h.in
|
|
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \
|
|
+ config.h.in
|
|
# Read a list of newline-separated strings from the standard input,
|
|
# and print each of them once, without duplicates. Input order is
|
|
# *not* preserved.
|
|
@@ -231,6 +231,7 @@ C_INCLUDE_DIR = @C_INCLUDE_DIR@
|
|
DBLATEX = @DBLATEX@
|
|
DEBUG_FLAGS = @DEBUG_FLAGS@
|
|
DEFS = @DEFS@
|
|
+DLLTOOL = @DLLTOOL@
|
|
DOT = @DOT@
|
|
DOXYGEN = @DOXYGEN@
|
|
DSYMUTIL = @DSYMUTIL@
|
|
@@ -269,8 +270,10 @@ LONG_DOUBLE_ALT128_COMPAT_FLAGS = @LONG_DOUBLE_ALT128_COMPAT_FLAGS@
|
|
LONG_DOUBLE_COMPAT_FLAGS = @LONG_DOUBLE_COMPAT_FLAGS@
|
|
LTLIBICONV = @LTLIBICONV@
|
|
LTLIBOBJS = @LTLIBOBJS@
|
|
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
|
|
MAINT = @MAINT@
|
|
MAKEINFO = @MAKEINFO@
|
|
+MANIFEST_TOOL = @MANIFEST_TOOL@
|
|
MKDIR_P = @MKDIR_P@
|
|
NM = @NM@
|
|
NMEDIT = @NMEDIT@
|
|
@@ -314,6 +317,7 @@ abs_builddir = @abs_builddir@
|
|
abs_srcdir = @abs_srcdir@
|
|
abs_top_builddir = @abs_top_builddir@
|
|
abs_top_srcdir = @abs_top_srcdir@
|
|
+ac_ct_AR = @ac_ct_AR@
|
|
ac_ct_CC = @ac_ct_CC@
|
|
ac_ct_CXX = @ac_ct_CXX@
|
|
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
|
@@ -523,8 +527,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
|
echo ' $(SHELL) ./config.status'; \
|
|
$(SHELL) ./config.status;; \
|
|
*) \
|
|
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
|
|
- cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
|
|
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
|
|
+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
|
|
esac;
|
|
$(top_srcdir)/fragment.am $(top_srcdir)/../multilib.am $(am__empty):
|
|
|
|
diff --git a/gcc/libstdc++-v3/aclocal.m4 b/gcc/libstdc++-v3/aclocal.m4
|
|
index e5af3f62e1..ada42f757f 100644
|
|
--- a/gcc/libstdc++-v3/aclocal.m4
|
|
+++ b/gcc/libstdc++-v3/aclocal.m4
|
|
@@ -1,6 +1,6 @@
|
|
-# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
|
|
+# generated automatically by aclocal 1.16.3 -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1996-2020 Free Software Foundation, Inc.
|
|
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -20,7 +20,7 @@ You have another version of autoconf. It may work, but is not guaranteed to.
|
|
If you have problems, you may need to regenerate the build system entirely.
|
|
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
|
|
|
|
-# Copyright (C) 2002-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2002-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -32,10 +32,10 @@ To do so, use the procedure documented by the package, typically 'autoreconf'.])
|
|
# generated from the m4 files accompanying Automake X.Y.
|
|
# (This private macro should not be called outside this file.)
|
|
AC_DEFUN([AM_AUTOMAKE_VERSION],
|
|
-[am__api_version='1.15'
|
|
+[am__api_version='1.16'
|
|
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
|
|
dnl require some minimum version. Point them to the right macro.
|
|
-m4_if([$1], [1.15.1], [],
|
|
+m4_if([$1], [1.16.3], [],
|
|
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
|
|
])
|
|
|
|
@@ -51,14 +51,14 @@ m4_define([_AM_AUTOCONF_VERSION], [])
|
|
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
|
|
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
|
|
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
|
|
-[AM_AUTOMAKE_VERSION([1.15.1])dnl
|
|
+[AM_AUTOMAKE_VERSION([1.16.3])dnl
|
|
m4_ifndef([AC_AUTOCONF_VERSION],
|
|
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
|
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
|
|
|
|
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2001-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -110,7 +110,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd`
|
|
|
|
# AM_CONDITIONAL -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 1997-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1997-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -143,7 +143,7 @@ fi])])
|
|
|
|
# Do all the work for Automake. -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1996-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -230,8 +230,8 @@ AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
|
|
AC_REQUIRE([AC_PROG_MKDIR_P])dnl
|
|
# For better backward compatibility. To be removed once Automake 1.9.x
|
|
# dies out for good. For more background, see:
|
|
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
|
|
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
|
|
+# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
|
|
+# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
|
|
AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
|
|
# We need awk for the "check" target (and possibly the TAP driver). The
|
|
# system "awk" is bad on some platforms.
|
|
@@ -298,7 +298,7 @@ END
|
|
Aborting the configuration process, to ensure you take notice of the issue.
|
|
|
|
You can download and install GNU coreutils to get an 'rm' implementation
|
|
-that behaves properly: <http://www.gnu.org/software/coreutils/>.
|
|
+that behaves properly: <https://www.gnu.org/software/coreutils/>.
|
|
|
|
If you want to complete the configuration process using your problematic
|
|
'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
|
|
@@ -340,7 +340,7 @@ for _am_header in $config_headers :; do
|
|
done
|
|
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
|
|
|
|
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2001-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -364,7 +364,7 @@ AC_SUBST([install_sh])])
|
|
# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
|
|
# From Jim Meyering
|
|
|
|
-# Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1996-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -399,7 +399,7 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
|
|
|
|
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 1997-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1997-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -420,12 +420,7 @@ AC_DEFUN([AM_MISSING_HAS_RUN],
|
|
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
|
|
AC_REQUIRE_AUX_FILE([missing])dnl
|
|
if test x"${MISSING+set}" != xset; then
|
|
- case $am_aux_dir in
|
|
- *\ * | *\ *)
|
|
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
|
|
- *)
|
|
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
|
|
- esac
|
|
+ MISSING="\${SHELL} '$am_aux_dir/missing'"
|
|
fi
|
|
# Use eval to expand $SHELL
|
|
if eval "$MISSING --is-lightweight"; then
|
|
@@ -438,7 +433,7 @@ fi
|
|
|
|
# Helper functions for option handling. -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2001-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -467,7 +462,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
|
|
AC_DEFUN([_AM_IF_OPTION],
|
|
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
|
|
|
|
-# Copyright (C) 1999-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1999-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -514,7 +509,7 @@ AC_LANG_POP([C])])
|
|
# For backward compatibility.
|
|
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
|
|
|
|
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2001-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -533,7 +528,7 @@ AC_DEFUN([AM_RUN_LOG],
|
|
|
|
# Check to make sure that the build environment is sane. -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1996-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -614,7 +609,7 @@ AC_CONFIG_COMMANDS_PRE(
|
|
rm -f conftest.file
|
|
])
|
|
|
|
-# Copyright (C) 2009-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2009-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -674,7 +669,7 @@ AC_SUBST([AM_BACKSLASH])dnl
|
|
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
|
|
])
|
|
|
|
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2001-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -702,7 +697,7 @@ fi
|
|
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
|
|
AC_SUBST([INSTALL_STRIP_PROGRAM])])
|
|
|
|
-# Copyright (C) 2006-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2006-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -721,7 +716,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
|
|
|
|
# Check how to create a tarball. -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 2004-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2004-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
diff --git a/gcc/libstdc++-v3/config.h.in b/gcc/libstdc++-v3/config.h.in
|
|
index 77bbaf1bea..f365cb8a32 100644
|
|
--- a/gcc/libstdc++-v3/config.h.in
|
|
+++ b/gcc/libstdc++-v3/config.h.in
|
|
@@ -562,8 +562,7 @@
|
|
/* Define as const if the declaration of iconv() needs const. */
|
|
#undef ICONV_CONST
|
|
|
|
-/* Define to the sub-directory in which libtool stores uninstalled libraries.
|
|
- */
|
|
+/* Define to the sub-directory where libtool stores uninstalled libraries. */
|
|
#undef LT_OBJDIR
|
|
|
|
/* Name of package */
|
|
diff --git a/gcc/libstdc++-v3/doc/Makefile.in b/gcc/libstdc++-v3/doc/Makefile.in
|
|
index c19e3e3044..de1220d7a3 100644
|
|
--- a/gcc/libstdc++-v3/doc/Makefile.in
|
|
+++ b/gcc/libstdc++-v3/doc/Makefile.in
|
|
@@ -1,7 +1,7 @@
|
|
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
|
|
+# Makefile.in generated by automake 1.16.3 from Makefile.am.
|
|
# @configure_input@
|
|
|
|
-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
|
|
|
|
# This Makefile.in is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -131,7 +131,7 @@ am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
|
am__v_at_0 = @
|
|
am__v_at_1 =
|
|
depcomp =
|
|
-am__depfiles_maybe =
|
|
+am__maybe_remake_depfiles =
|
|
SOURCES =
|
|
am__can_run_installinfo = \
|
|
case $$AM_UPDATE_INFO_DIR in \
|
|
@@ -190,6 +190,7 @@ C_INCLUDE_DIR = @C_INCLUDE_DIR@
|
|
DBLATEX = @DBLATEX@
|
|
DEBUG_FLAGS = @DEBUG_FLAGS@
|
|
DEFS = @DEFS@
|
|
+DLLTOOL = @DLLTOOL@
|
|
DOT = @DOT@
|
|
DOXYGEN = @DOXYGEN@
|
|
DSYMUTIL = @DSYMUTIL@
|
|
@@ -228,8 +229,10 @@ LONG_DOUBLE_ALT128_COMPAT_FLAGS = @LONG_DOUBLE_ALT128_COMPAT_FLAGS@
|
|
LONG_DOUBLE_COMPAT_FLAGS = @LONG_DOUBLE_COMPAT_FLAGS@
|
|
LTLIBICONV = @LTLIBICONV@
|
|
LTLIBOBJS = @LTLIBOBJS@
|
|
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
|
|
MAINT = @MAINT@
|
|
MAKEINFO = @MAKEINFO@
|
|
+MANIFEST_TOOL = @MANIFEST_TOOL@
|
|
MKDIR_P = @MKDIR_P@
|
|
NM = @NM@
|
|
NMEDIT = @NMEDIT@
|
|
@@ -275,6 +278,7 @@ abs_builddir = @abs_builddir@
|
|
abs_srcdir = @abs_srcdir@
|
|
abs_top_builddir = @abs_top_builddir@
|
|
abs_top_srcdir = @abs_top_srcdir@
|
|
+ac_ct_AR = @ac_ct_AR@
|
|
ac_ct_CC = @ac_ct_CC@
|
|
ac_ct_CXX = @ac_ct_CXX@
|
|
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
|
@@ -687,8 +691,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
|
*config.status*) \
|
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
|
*) \
|
|
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
|
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
|
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
|
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
|
esac;
|
|
$(top_srcdir)/fragment.am $(am__empty):
|
|
|
|
diff --git a/gcc/libstdc++-v3/include/Makefile.in b/gcc/libstdc++-v3/include/Makefile.in
|
|
index 7b96b2207f..25cc28d8ac 100644
|
|
--- a/gcc/libstdc++-v3/include/Makefile.in
|
|
+++ b/gcc/libstdc++-v3/include/Makefile.in
|
|
@@ -1,7 +1,7 @@
|
|
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
|
|
+# Makefile.in generated by automake 1.16.3 from Makefile.am.
|
|
# @configure_input@
|
|
|
|
-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
|
|
|
|
# This Makefile.in is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -131,7 +131,7 @@ am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
|
am__v_at_0 = @
|
|
am__v_at_1 =
|
|
depcomp =
|
|
-am__depfiles_maybe =
|
|
+am__maybe_remake_depfiles =
|
|
SOURCES =
|
|
am__can_run_installinfo = \
|
|
case $$AM_UPDATE_INFO_DIR in \
|
|
@@ -190,6 +190,7 @@ C_INCLUDE_DIR = @C_INCLUDE_DIR@
|
|
DBLATEX = @DBLATEX@
|
|
DEBUG_FLAGS = @DEBUG_FLAGS@
|
|
DEFS = @DEFS@
|
|
+DLLTOOL = @DLLTOOL@
|
|
DOT = @DOT@
|
|
DOXYGEN = @DOXYGEN@
|
|
DSYMUTIL = @DSYMUTIL@
|
|
@@ -228,8 +229,10 @@ LONG_DOUBLE_ALT128_COMPAT_FLAGS = @LONG_DOUBLE_ALT128_COMPAT_FLAGS@
|
|
LONG_DOUBLE_COMPAT_FLAGS = @LONG_DOUBLE_COMPAT_FLAGS@
|
|
LTLIBICONV = @LTLIBICONV@
|
|
LTLIBOBJS = @LTLIBOBJS@
|
|
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
|
|
MAINT = @MAINT@
|
|
MAKEINFO = @MAKEINFO@
|
|
+MANIFEST_TOOL = @MANIFEST_TOOL@
|
|
MKDIR_P = @MKDIR_P@
|
|
NM = @NM@
|
|
NMEDIT = @NMEDIT@
|
|
@@ -273,6 +276,7 @@ abs_builddir = @abs_builddir@
|
|
abs_srcdir = @abs_srcdir@
|
|
abs_top_builddir = @abs_top_builddir@
|
|
abs_top_srcdir = @abs_top_srcdir@
|
|
+ac_ct_AR = @ac_ct_AR@
|
|
ac_ct_CC = @ac_ct_CC@
|
|
ac_ct_CXX = @ac_ct_CXX@
|
|
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
|
@@ -1488,8 +1492,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
|
*config.status*) \
|
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
|
*) \
|
|
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
|
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
|
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
|
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
|
esac;
|
|
$(top_srcdir)/fragment.am $(am__empty):
|
|
|
|
diff --git a/gcc/libstdc++-v3/include/std/text_encoding b/gcc/libstdc++-v3/include/std/text_encoding
|
|
index 6fcaed1ab6..ac41250f2b 100644
|
|
--- a/gcc/libstdc++-v3/include/std/text_encoding
|
|
+++ b/gcc/libstdc++-v3/include/std/text_encoding
|
|
@@ -240,7 +240,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|
Windows31J = 2024,
|
|
GB2312 = 2025,
|
|
Big5 = 2026,
|
|
+#pragma push_macro("Macintosh")
|
|
+#undef Macintosh
|
|
Macintosh = 2027,
|
|
+#pragma pop_macro("Macintosh")
|
|
IBM037 = 2028,
|
|
IBM038 = 2029,
|
|
IBM273 = 2030,
|
|
diff --git a/gcc/libstdc++-v3/libsupc++/Makefile.in b/gcc/libstdc++-v3/libsupc++/Makefile.in
|
|
index 732ab89c8a..1c94ba0165 100644
|
|
--- a/gcc/libstdc++-v3/libsupc++/Makefile.in
|
|
+++ b/gcc/libstdc++-v3/libsupc++/Makefile.in
|
|
@@ -1,7 +1,7 @@
|
|
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
|
|
+# Makefile.in generated by automake 1.16.3 from Makefile.am.
|
|
# @configure_input@
|
|
|
|
-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
|
|
|
|
# This Makefile.in is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -196,7 +196,7 @@ am__v_at_0 = @
|
|
am__v_at_1 =
|
|
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
|
|
depcomp =
|
|
-am__depfiles_maybe =
|
|
+am__maybe_remake_depfiles =
|
|
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
|
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
|
AM_V_CC = $(am__v_CC_@AM_V@)
|
|
@@ -299,6 +299,7 @@ C_INCLUDE_DIR = @C_INCLUDE_DIR@
|
|
DBLATEX = @DBLATEX@
|
|
DEBUG_FLAGS = @DEBUG_FLAGS@
|
|
DEFS = @DEFS@
|
|
+DLLTOOL = @DLLTOOL@
|
|
DOT = @DOT@
|
|
DOXYGEN = @DOXYGEN@
|
|
DSYMUTIL = @DSYMUTIL@
|
|
@@ -337,8 +338,10 @@ LONG_DOUBLE_ALT128_COMPAT_FLAGS = @LONG_DOUBLE_ALT128_COMPAT_FLAGS@
|
|
LONG_DOUBLE_COMPAT_FLAGS = @LONG_DOUBLE_COMPAT_FLAGS@
|
|
LTLIBICONV = @LTLIBICONV@
|
|
LTLIBOBJS = @LTLIBOBJS@
|
|
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
|
|
MAINT = @MAINT@
|
|
MAKEINFO = @MAKEINFO@
|
|
+MANIFEST_TOOL = @MANIFEST_TOOL@
|
|
MKDIR_P = @MKDIR_P@
|
|
NM = @NM@
|
|
NMEDIT = @NMEDIT@
|
|
@@ -382,6 +385,7 @@ abs_builddir = @abs_builddir@
|
|
abs_srcdir = @abs_srcdir@
|
|
abs_top_builddir = @abs_top_builddir@
|
|
abs_top_srcdir = @abs_top_srcdir@
|
|
+ac_ct_AR = @ac_ct_AR@
|
|
ac_ct_CC = @ac_ct_CC@
|
|
ac_ct_CXX = @ac_ct_CXX@
|
|
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
|
@@ -686,8 +690,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
|
*config.status*) \
|
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
|
*) \
|
|
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
|
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
|
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
|
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
|
esac;
|
|
$(top_srcdir)/fragment.am $(am__empty):
|
|
|
|
diff --git a/gcc/libstdc++-v3/po/Makefile.in b/gcc/libstdc++-v3/po/Makefile.in
|
|
index 8e93445acd..af66e6051d 100644
|
|
--- a/gcc/libstdc++-v3/po/Makefile.in
|
|
+++ b/gcc/libstdc++-v3/po/Makefile.in
|
|
@@ -1,7 +1,7 @@
|
|
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
|
|
+# Makefile.in generated by automake 1.16.3 from Makefile.am.
|
|
# @configure_input@
|
|
|
|
-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
|
|
|
|
# This Makefile.in is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -131,7 +131,7 @@ am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
|
am__v_at_0 = @
|
|
am__v_at_1 =
|
|
depcomp =
|
|
-am__depfiles_maybe =
|
|
+am__maybe_remake_depfiles =
|
|
SOURCES =
|
|
am__can_run_installinfo = \
|
|
case $$AM_UPDATE_INFO_DIR in \
|
|
@@ -190,6 +190,7 @@ C_INCLUDE_DIR = @C_INCLUDE_DIR@
|
|
DBLATEX = @DBLATEX@
|
|
DEBUG_FLAGS = @DEBUG_FLAGS@
|
|
DEFS = @DEFS@
|
|
+DLLTOOL = @DLLTOOL@
|
|
DOT = @DOT@
|
|
DOXYGEN = @DOXYGEN@
|
|
DSYMUTIL = @DSYMUTIL@
|
|
@@ -228,8 +229,10 @@ LONG_DOUBLE_ALT128_COMPAT_FLAGS = @LONG_DOUBLE_ALT128_COMPAT_FLAGS@
|
|
LONG_DOUBLE_COMPAT_FLAGS = @LONG_DOUBLE_COMPAT_FLAGS@
|
|
LTLIBICONV = @LTLIBICONV@
|
|
LTLIBOBJS = @LTLIBOBJS@
|
|
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
|
|
MAINT = @MAINT@
|
|
MAKEINFO = @MAKEINFO@
|
|
+MANIFEST_TOOL = @MANIFEST_TOOL@
|
|
MKDIR_P = @MKDIR_P@
|
|
NM = @NM@
|
|
NMEDIT = @NMEDIT@
|
|
@@ -273,6 +276,7 @@ abs_builddir = @abs_builddir@
|
|
abs_srcdir = @abs_srcdir@
|
|
abs_top_builddir = @abs_top_builddir@
|
|
abs_top_srcdir = @abs_top_srcdir@
|
|
+ac_ct_AR = @ac_ct_AR@
|
|
ac_ct_CC = @ac_ct_CC@
|
|
ac_ct_CXX = @ac_ct_CXX@
|
|
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
|
@@ -416,8 +420,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
|
*config.status*) \
|
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
|
*) \
|
|
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
|
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
|
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
|
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
|
esac;
|
|
$(top_srcdir)/fragment.am $(am__empty):
|
|
|
|
diff --git a/gcc/libstdc++-v3/python/Makefile.in b/gcc/libstdc++-v3/python/Makefile.in
|
|
index c527e6cf18..f932537e5e 100644
|
|
--- a/gcc/libstdc++-v3/python/Makefile.in
|
|
+++ b/gcc/libstdc++-v3/python/Makefile.in
|
|
@@ -1,7 +1,7 @@
|
|
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
|
|
+# Makefile.in generated by automake 1.16.3 from Makefile.am.
|
|
# @configure_input@
|
|
|
|
-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
|
|
|
|
# This Makefile.in is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -132,7 +132,7 @@ am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
|
am__v_at_0 = @
|
|
am__v_at_1 =
|
|
depcomp =
|
|
-am__depfiles_maybe =
|
|
+am__maybe_remake_depfiles =
|
|
SOURCES =
|
|
am__can_run_installinfo = \
|
|
case $$AM_UPDATE_INFO_DIR in \
|
|
@@ -220,6 +220,7 @@ C_INCLUDE_DIR = @C_INCLUDE_DIR@
|
|
DBLATEX = @DBLATEX@
|
|
DEBUG_FLAGS = @DEBUG_FLAGS@
|
|
DEFS = @DEFS@
|
|
+DLLTOOL = @DLLTOOL@
|
|
DOT = @DOT@
|
|
DOXYGEN = @DOXYGEN@
|
|
DSYMUTIL = @DSYMUTIL@
|
|
@@ -258,8 +259,10 @@ LONG_DOUBLE_ALT128_COMPAT_FLAGS = @LONG_DOUBLE_ALT128_COMPAT_FLAGS@
|
|
LONG_DOUBLE_COMPAT_FLAGS = @LONG_DOUBLE_COMPAT_FLAGS@
|
|
LTLIBICONV = @LTLIBICONV@
|
|
LTLIBOBJS = @LTLIBOBJS@
|
|
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
|
|
MAINT = @MAINT@
|
|
MAKEINFO = @MAKEINFO@
|
|
+MANIFEST_TOOL = @MANIFEST_TOOL@
|
|
MKDIR_P = @MKDIR_P@
|
|
NM = @NM@
|
|
NMEDIT = @NMEDIT@
|
|
@@ -303,6 +306,7 @@ abs_builddir = @abs_builddir@
|
|
abs_srcdir = @abs_srcdir@
|
|
abs_top_builddir = @abs_top_builddir@
|
|
abs_top_srcdir = @abs_top_srcdir@
|
|
+ac_ct_AR = @ac_ct_AR@
|
|
ac_ct_CC = @ac_ct_CC@
|
|
ac_ct_CXX = @ac_ct_CXX@
|
|
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
|
@@ -439,8 +443,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
|
*config.status*) \
|
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
|
*) \
|
|
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
|
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
|
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
|
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
|
esac;
|
|
$(top_srcdir)/fragment.am $(am__empty):
|
|
|
|
diff --git a/gcc/libstdc++-v3/src/Makefile.in b/gcc/libstdc++-v3/src/Makefile.in
|
|
index 106b96995a..cfb198f594 100644
|
|
--- a/gcc/libstdc++-v3/src/Makefile.in
|
|
+++ b/gcc/libstdc++-v3/src/Makefile.in
|
|
@@ -1,7 +1,7 @@
|
|
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
|
|
+# Makefile.in generated by automake 1.16.3 from Makefile.am.
|
|
# @configure_input@
|
|
|
|
-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
|
|
|
|
# This Makefile.in is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -185,7 +185,7 @@ am__v_at_0 = @
|
|
am__v_at_1 =
|
|
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
|
|
depcomp =
|
|
-am__depfiles_maybe =
|
|
+am__maybe_remake_depfiles =
|
|
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
|
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
|
|
AM_V_lt = $(am__v_lt_@AM_V@)
|
|
@@ -294,6 +294,7 @@ C_INCLUDE_DIR = @C_INCLUDE_DIR@
|
|
DBLATEX = @DBLATEX@
|
|
DEBUG_FLAGS = @DEBUG_FLAGS@
|
|
DEFS = @DEFS@
|
|
+DLLTOOL = @DLLTOOL@
|
|
DOT = @DOT@
|
|
DOXYGEN = @DOXYGEN@
|
|
DSYMUTIL = @DSYMUTIL@
|
|
@@ -332,8 +333,10 @@ LONG_DOUBLE_ALT128_COMPAT_FLAGS = @LONG_DOUBLE_ALT128_COMPAT_FLAGS@
|
|
LONG_DOUBLE_COMPAT_FLAGS = @LONG_DOUBLE_COMPAT_FLAGS@
|
|
LTLIBICONV = @LTLIBICONV@
|
|
LTLIBOBJS = @LTLIBOBJS@
|
|
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
|
|
MAINT = @MAINT@
|
|
MAKEINFO = @MAKEINFO@
|
|
+MANIFEST_TOOL = @MANIFEST_TOOL@
|
|
MKDIR_P = @MKDIR_P@
|
|
NM = @NM@
|
|
NMEDIT = @NMEDIT@
|
|
@@ -377,6 +380,7 @@ abs_builddir = @abs_builddir@
|
|
abs_srcdir = @abs_srcdir@
|
|
abs_top_builddir = @abs_top_builddir@
|
|
abs_top_srcdir = @abs_top_srcdir@
|
|
+ac_ct_AR = @ac_ct_AR@
|
|
ac_ct_CC = @ac_ct_CC@
|
|
ac_ct_CXX = @ac_ct_CXX@
|
|
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
|
@@ -711,8 +715,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
|
*config.status*) \
|
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
|
*) \
|
|
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
|
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
|
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
|
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
|
esac;
|
|
$(top_srcdir)/fragment.am $(am__empty):
|
|
|
|
diff --git a/gcc/libstdc++-v3/src/c++11/Makefile.in b/gcc/libstdc++-v3/src/c++11/Makefile.in
|
|
index 770e948a98..b7722b5627 100644
|
|
--- a/gcc/libstdc++-v3/src/c++11/Makefile.in
|
|
+++ b/gcc/libstdc++-v3/src/c++11/Makefile.in
|
|
@@ -1,7 +1,7 @@
|
|
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
|
|
+# Makefile.in generated by automake 1.16.3 from Makefile.am.
|
|
# @configure_input@
|
|
|
|
-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
|
|
|
|
# This Makefile.in is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -175,7 +175,7 @@ am__v_at_0 = @
|
|
am__v_at_1 =
|
|
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
|
|
depcomp =
|
|
-am__depfiles_maybe =
|
|
+am__maybe_remake_depfiles =
|
|
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
|
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
|
|
AM_V_CXX = $(am__v_CXX_@AM_V@)
|
|
@@ -263,6 +263,7 @@ C_INCLUDE_DIR = @C_INCLUDE_DIR@
|
|
DBLATEX = @DBLATEX@
|
|
DEBUG_FLAGS = @DEBUG_FLAGS@
|
|
DEFS = @DEFS@
|
|
+DLLTOOL = @DLLTOOL@
|
|
DOT = @DOT@
|
|
DOXYGEN = @DOXYGEN@
|
|
DSYMUTIL = @DSYMUTIL@
|
|
@@ -301,8 +302,10 @@ LONG_DOUBLE_ALT128_COMPAT_FLAGS = @LONG_DOUBLE_ALT128_COMPAT_FLAGS@
|
|
LONG_DOUBLE_COMPAT_FLAGS = @LONG_DOUBLE_COMPAT_FLAGS@
|
|
LTLIBICONV = @LTLIBICONV@
|
|
LTLIBOBJS = @LTLIBOBJS@
|
|
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
|
|
MAINT = @MAINT@
|
|
MAKEINFO = @MAKEINFO@
|
|
+MANIFEST_TOOL = @MANIFEST_TOOL@
|
|
MKDIR_P = @MKDIR_P@
|
|
NM = @NM@
|
|
NMEDIT = @NMEDIT@
|
|
@@ -346,6 +349,7 @@ abs_builddir = @abs_builddir@
|
|
abs_srcdir = @abs_srcdir@
|
|
abs_top_builddir = @abs_top_builddir@
|
|
abs_top_srcdir = @abs_top_srcdir@
|
|
+ac_ct_AR = @ac_ct_AR@
|
|
ac_ct_CC = @ac_ct_CC@
|
|
ac_ct_CXX = @ac_ct_CXX@
|
|
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
|
@@ -638,8 +642,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
|
*config.status*) \
|
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
|
*) \
|
|
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
|
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
|
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
|
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
|
esac;
|
|
$(top_srcdir)/fragment.am $(am__empty):
|
|
|
|
diff --git a/gcc/libstdc++-v3/src/c++17/Makefile.in b/gcc/libstdc++-v3/src/c++17/Makefile.in
|
|
index fe5c9ffce5..e0e2d761b8 100644
|
|
--- a/gcc/libstdc++-v3/src/c++17/Makefile.in
|
|
+++ b/gcc/libstdc++-v3/src/c++17/Makefile.in
|
|
@@ -1,7 +1,7 @@
|
|
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
|
|
+# Makefile.in generated by automake 1.16.3 from Makefile.am.
|
|
# @configure_input@
|
|
|
|
-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
|
|
|
|
# This Makefile.in is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -149,7 +149,7 @@ am__v_at_0 = @
|
|
am__v_at_1 =
|
|
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
|
|
depcomp =
|
|
-am__depfiles_maybe =
|
|
+am__maybe_remake_depfiles =
|
|
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
|
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
|
|
AM_V_CXX = $(am__v_CXX_@AM_V@)
|
|
@@ -237,6 +237,7 @@ C_INCLUDE_DIR = @C_INCLUDE_DIR@
|
|
DBLATEX = @DBLATEX@
|
|
DEBUG_FLAGS = @DEBUG_FLAGS@
|
|
DEFS = @DEFS@
|
|
+DLLTOOL = @DLLTOOL@
|
|
DOT = @DOT@
|
|
DOXYGEN = @DOXYGEN@
|
|
DSYMUTIL = @DSYMUTIL@
|
|
@@ -275,8 +276,10 @@ LONG_DOUBLE_ALT128_COMPAT_FLAGS = @LONG_DOUBLE_ALT128_COMPAT_FLAGS@
|
|
LONG_DOUBLE_COMPAT_FLAGS = @LONG_DOUBLE_COMPAT_FLAGS@
|
|
LTLIBICONV = @LTLIBICONV@
|
|
LTLIBOBJS = @LTLIBOBJS@
|
|
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
|
|
MAINT = @MAINT@
|
|
MAKEINFO = @MAKEINFO@
|
|
+MANIFEST_TOOL = @MANIFEST_TOOL@
|
|
MKDIR_P = @MKDIR_P@
|
|
NM = @NM@
|
|
NMEDIT = @NMEDIT@
|
|
@@ -320,6 +323,7 @@ abs_builddir = @abs_builddir@
|
|
abs_srcdir = @abs_srcdir@
|
|
abs_top_builddir = @abs_top_builddir@
|
|
abs_top_srcdir = @abs_top_srcdir@
|
|
+ac_ct_AR = @ac_ct_AR@
|
|
ac_ct_CC = @ac_ct_CC@
|
|
ac_ct_CXX = @ac_ct_CXX@
|
|
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
|
@@ -543,8 +547,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
|
*config.status*) \
|
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
|
*) \
|
|
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
|
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
|
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
|
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
|
esac;
|
|
$(top_srcdir)/fragment.am $(am__empty):
|
|
|
|
diff --git a/gcc/libstdc++-v3/src/c++98/Makefile.in b/gcc/libstdc++-v3/src/c++98/Makefile.in
|
|
index 95e909b104..8ac2cce54b 100644
|
|
--- a/gcc/libstdc++-v3/src/c++98/Makefile.in
|
|
+++ b/gcc/libstdc++-v3/src/c++98/Makefile.in
|
|
@@ -1,7 +1,7 @@
|
|
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
|
|
+# Makefile.in generated by automake 1.16.3 from Makefile.am.
|
|
# @configure_input@
|
|
|
|
-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
|
|
|
|
# This Makefile.in is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -164,7 +164,7 @@ am__v_at_0 = @
|
|
am__v_at_1 =
|
|
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
|
|
depcomp =
|
|
-am__depfiles_maybe =
|
|
+am__maybe_remake_depfiles =
|
|
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
|
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
|
|
AM_V_CXX = $(am__v_CXX_@AM_V@)
|
|
@@ -252,6 +252,7 @@ C_INCLUDE_DIR = @C_INCLUDE_DIR@
|
|
DBLATEX = @DBLATEX@
|
|
DEBUG_FLAGS = @DEBUG_FLAGS@
|
|
DEFS = @DEFS@
|
|
+DLLTOOL = @DLLTOOL@
|
|
DOT = @DOT@
|
|
DOXYGEN = @DOXYGEN@
|
|
DSYMUTIL = @DSYMUTIL@
|
|
@@ -290,8 +291,10 @@ LONG_DOUBLE_ALT128_COMPAT_FLAGS = @LONG_DOUBLE_ALT128_COMPAT_FLAGS@
|
|
LONG_DOUBLE_COMPAT_FLAGS = @LONG_DOUBLE_COMPAT_FLAGS@
|
|
LTLIBICONV = @LTLIBICONV@
|
|
LTLIBOBJS = @LTLIBOBJS@
|
|
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
|
|
MAINT = @MAINT@
|
|
MAKEINFO = @MAKEINFO@
|
|
+MANIFEST_TOOL = @MANIFEST_TOOL@
|
|
MKDIR_P = @MKDIR_P@
|
|
NM = @NM@
|
|
NMEDIT = @NMEDIT@
|
|
@@ -335,6 +338,7 @@ abs_builddir = @abs_builddir@
|
|
abs_srcdir = @abs_srcdir@
|
|
abs_top_builddir = @abs_top_builddir@
|
|
abs_top_srcdir = @abs_top_srcdir@
|
|
+ac_ct_AR = @ac_ct_AR@
|
|
ac_ct_CC = @ac_ct_CC@
|
|
ac_ct_CXX = @ac_ct_CXX@
|
|
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
|
@@ -614,8 +618,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
|
*config.status*) \
|
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
|
*) \
|
|
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
|
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
|
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
|
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
|
esac;
|
|
$(top_srcdir)/fragment.am $(am__empty):
|
|
|
|
diff --git a/gcc/libstdc++-v3/src/filesystem/Makefile.in b/gcc/libstdc++-v3/src/filesystem/Makefile.in
|
|
index 76ba905087..783eaa4a71 100644
|
|
--- a/gcc/libstdc++-v3/src/filesystem/Makefile.in
|
|
+++ b/gcc/libstdc++-v3/src/filesystem/Makefile.in
|
|
@@ -1,7 +1,7 @@
|
|
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
|
|
+# Makefile.in generated by automake 1.16.3 from Makefile.am.
|
|
# @configure_input@
|
|
|
|
-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
|
|
|
|
# This Makefile.in is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -176,7 +176,7 @@ am__v_at_0 = @
|
|
am__v_at_1 =
|
|
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
|
|
depcomp =
|
|
-am__depfiles_maybe =
|
|
+am__maybe_remake_depfiles =
|
|
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
|
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
|
|
AM_V_CXX = $(am__v_CXX_@AM_V@)
|
|
@@ -265,6 +265,7 @@ C_INCLUDE_DIR = @C_INCLUDE_DIR@
|
|
DBLATEX = @DBLATEX@
|
|
DEBUG_FLAGS = @DEBUG_FLAGS@
|
|
DEFS = @DEFS@
|
|
+DLLTOOL = @DLLTOOL@
|
|
DOT = @DOT@
|
|
DOXYGEN = @DOXYGEN@
|
|
DSYMUTIL = @DSYMUTIL@
|
|
@@ -303,8 +304,10 @@ LONG_DOUBLE_ALT128_COMPAT_FLAGS = @LONG_DOUBLE_ALT128_COMPAT_FLAGS@
|
|
LONG_DOUBLE_COMPAT_FLAGS = @LONG_DOUBLE_COMPAT_FLAGS@
|
|
LTLIBICONV = @LTLIBICONV@
|
|
LTLIBOBJS = @LTLIBOBJS@
|
|
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
|
|
MAINT = @MAINT@
|
|
MAKEINFO = @MAKEINFO@
|
|
+MANIFEST_TOOL = @MANIFEST_TOOL@
|
|
MKDIR_P = @MKDIR_P@
|
|
NM = @NM@
|
|
NMEDIT = @NMEDIT@
|
|
@@ -348,6 +351,7 @@ abs_builddir = @abs_builddir@
|
|
abs_srcdir = @abs_srcdir@
|
|
abs_top_builddir = @abs_top_builddir@
|
|
abs_top_srcdir = @abs_top_srcdir@
|
|
+ac_ct_AR = @ac_ct_AR@
|
|
ac_ct_CC = @ac_ct_CC@
|
|
ac_ct_CXX = @ac_ct_CXX@
|
|
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
|
@@ -561,8 +565,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
|
*config.status*) \
|
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
|
*) \
|
|
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
|
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
|
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
|
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
|
esac;
|
|
$(top_srcdir)/fragment.am $(am__empty):
|
|
|
|
diff --git a/gcc/libstdc++-v3/testsuite/Makefile.in b/gcc/libstdc++-v3/testsuite/Makefile.in
|
|
index 2e42d47064..f24e5a8e89 100644
|
|
--- a/gcc/libstdc++-v3/testsuite/Makefile.in
|
|
+++ b/gcc/libstdc++-v3/testsuite/Makefile.in
|
|
@@ -1,7 +1,7 @@
|
|
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
|
|
+# Makefile.in generated by automake 1.16.3 from Makefile.am.
|
|
# @configure_input@
|
|
|
|
-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
|
|
|
|
# This Makefile.in is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -131,7 +131,7 @@ am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
|
am__v_at_0 = @
|
|
am__v_at_1 =
|
|
depcomp =
|
|
-am__depfiles_maybe =
|
|
+am__maybe_remake_depfiles =
|
|
SOURCES =
|
|
am__can_run_installinfo = \
|
|
case $$AM_UPDATE_INFO_DIR in \
|
|
@@ -190,6 +190,7 @@ C_INCLUDE_DIR = @C_INCLUDE_DIR@
|
|
DBLATEX = @DBLATEX@
|
|
DEBUG_FLAGS = @DEBUG_FLAGS@
|
|
DEFS = @DEFS@
|
|
+DLLTOOL = @DLLTOOL@
|
|
DOT = @DOT@
|
|
DOXYGEN = @DOXYGEN@
|
|
DSYMUTIL = @DSYMUTIL@
|
|
@@ -228,8 +229,10 @@ LONG_DOUBLE_ALT128_COMPAT_FLAGS = @LONG_DOUBLE_ALT128_COMPAT_FLAGS@
|
|
LONG_DOUBLE_COMPAT_FLAGS = @LONG_DOUBLE_COMPAT_FLAGS@
|
|
LTLIBICONV = @LTLIBICONV@
|
|
LTLIBOBJS = @LTLIBOBJS@
|
|
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
|
|
MAINT = @MAINT@
|
|
MAKEINFO = @MAKEINFO@
|
|
+MANIFEST_TOOL = @MANIFEST_TOOL@
|
|
MKDIR_P = @MKDIR_P@
|
|
NM = @NM@
|
|
NMEDIT = @NMEDIT@
|
|
@@ -273,6 +276,7 @@ abs_builddir = @abs_builddir@
|
|
abs_srcdir = @abs_srcdir@
|
|
abs_top_builddir = @abs_top_builddir@
|
|
abs_top_srcdir = @abs_top_srcdir@
|
|
+ac_ct_AR = @ac_ct_AR@
|
|
ac_ct_CC = @ac_ct_CC@
|
|
ac_ct_CXX = @ac_ct_CXX@
|
|
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
|
@@ -454,8 +458,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
|
*config.status*) \
|
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
|
*) \
|
|
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
|
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
|
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
|
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
|
esac;
|
|
$(top_srcdir)/fragment.am $(am__empty):
|
|
|
|
diff --git a/gcc/lto-plugin/Makefile.in b/gcc/lto-plugin/Makefile.in
|
|
index f6f5b020ff..5c88b4546e 100644
|
|
--- a/gcc/lto-plugin/Makefile.in
|
|
+++ b/gcc/lto-plugin/Makefile.in
|
|
@@ -1,7 +1,7 @@
|
|
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
|
|
+# Makefile.in generated by automake 1.16.3 from Makefile.am.
|
|
# @configure_input@
|
|
|
|
-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
|
|
|
|
# This Makefile.in is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -157,7 +157,7 @@ am__v_at_0 = @
|
|
am__v_at_1 =
|
|
DEFAULT_INCLUDES = -I.@am__isrc@
|
|
depcomp =
|
|
-am__depfiles_maybe =
|
|
+am__maybe_remake_depfiles =
|
|
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
|
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
|
AM_V_lt = $(am__v_lt_@AM_V@)
|
|
@@ -186,8 +186,8 @@ am__can_run_installinfo = \
|
|
n|no|NO) false;; \
|
|
*) (install-info --version) >/dev/null 2>&1;; \
|
|
esac
|
|
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
|
|
- $(LISP)config.h.in
|
|
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \
|
|
+ config.h.in
|
|
# Read a list of newline-separated strings from the standard input,
|
|
# and print each of them once, without duplicates. Input order is
|
|
# *not* preserved.
|
|
@@ -225,6 +225,7 @@ CPPFLAGS = @CPPFLAGS@
|
|
CYGPATH_W = @CYGPATH_W@
|
|
DEFS = @DEFS@
|
|
DEPDIR = @DEPDIR@
|
|
+DLLTOOL = @DLLTOOL@
|
|
DSYMUTIL = @DSYMUTIL@
|
|
DUMPBIN = @DUMPBIN@
|
|
ECHO_C = @ECHO_C@
|
|
@@ -247,8 +248,10 @@ LIBTOOL = @LIBTOOL@
|
|
LIPO = @LIPO@
|
|
LN_S = @LN_S@
|
|
LTLIBOBJS = @LTLIBOBJS@
|
|
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
|
|
MAINT = @MAINT@
|
|
MAKEINFO = @MAKEINFO@
|
|
+MANIFEST_TOOL = @MANIFEST_TOOL@
|
|
MKDIR_P = @MKDIR_P@
|
|
NM = @NM@
|
|
NMEDIT = @NMEDIT@
|
|
@@ -274,6 +277,7 @@ abs_builddir = @abs_builddir@
|
|
abs_srcdir = @abs_srcdir@
|
|
abs_top_builddir = @abs_top_builddir@
|
|
abs_top_srcdir = @abs_top_srcdir@
|
|
+ac_ct_AR = @ac_ct_AR@
|
|
ac_ct_CC = @ac_ct_CC@
|
|
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
|
ac_lto_plugin_extra_ldflags = @ac_lto_plugin_extra_ldflags@
|
|
@@ -406,8 +410,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
|
echo ' $(SHELL) ./config.status'; \
|
|
$(SHELL) ./config.status;; \
|
|
*) \
|
|
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
|
|
- cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
|
|
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
|
|
+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
|
|
esac;
|
|
|
|
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
|
diff --git a/gcc/lto-plugin/aclocal.m4 b/gcc/lto-plugin/aclocal.m4
|
|
index f1fc28d4f1..8721ab0bfc 100644
|
|
--- a/gcc/lto-plugin/aclocal.m4
|
|
+++ b/gcc/lto-plugin/aclocal.m4
|
|
@@ -1,6 +1,6 @@
|
|
-# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
|
|
+# generated automatically by aclocal 1.16.3 -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1996-2020 Free Software Foundation, Inc.
|
|
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -20,7 +20,7 @@ You have another version of autoconf. It may work, but is not guaranteed to.
|
|
If you have problems, you may need to regenerate the build system entirely.
|
|
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
|
|
|
|
-# Copyright (C) 2002-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2002-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -32,10 +32,10 @@ To do so, use the procedure documented by the package, typically 'autoreconf'.])
|
|
# generated from the m4 files accompanying Automake X.Y.
|
|
# (This private macro should not be called outside this file.)
|
|
AC_DEFUN([AM_AUTOMAKE_VERSION],
|
|
-[am__api_version='1.15'
|
|
+[am__api_version='1.16'
|
|
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
|
|
dnl require some minimum version. Point them to the right macro.
|
|
-m4_if([$1], [1.15.1], [],
|
|
+m4_if([$1], [1.16.3], [],
|
|
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
|
|
])
|
|
|
|
@@ -51,14 +51,14 @@ m4_define([_AM_AUTOCONF_VERSION], [])
|
|
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
|
|
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
|
|
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
|
|
-[AM_AUTOMAKE_VERSION([1.15.1])dnl
|
|
+[AM_AUTOMAKE_VERSION([1.16.3])dnl
|
|
m4_ifndef([AC_AUTOCONF_VERSION],
|
|
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
|
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
|
|
|
|
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2001-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -110,7 +110,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd`
|
|
|
|
# AM_CONDITIONAL -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 1997-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1997-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -141,7 +141,7 @@ AC_CONFIG_COMMANDS_PRE(
|
|
Usually this means the macro was only invoked conditionally.]])
|
|
fi])])
|
|
|
|
-# Copyright (C) 1999-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1999-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -332,13 +332,12 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
|
|
|
|
# Generate code to set up dependency tracking. -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 1999-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1999-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
# with or without modifications, as long as this notice is preserved.
|
|
|
|
-
|
|
# _AM_OUTPUT_DEPENDENCY_COMMANDS
|
|
# ------------------------------
|
|
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
|
|
@@ -346,49 +345,43 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
|
|
# Older Autoconf quotes --file arguments for eval, but not when files
|
|
# are listed without --file. Let's play safe and only enable the eval
|
|
# if we detect the quoting.
|
|
- case $CONFIG_FILES in
|
|
- *\'*) eval set x "$CONFIG_FILES" ;;
|
|
- *) set x $CONFIG_FILES ;;
|
|
- esac
|
|
+ # TODO: see whether this extra hack can be removed once we start
|
|
+ # requiring Autoconf 2.70 or later.
|
|
+ AS_CASE([$CONFIG_FILES],
|
|
+ [*\'*], [eval set x "$CONFIG_FILES"],
|
|
+ [*], [set x $CONFIG_FILES])
|
|
shift
|
|
- for mf
|
|
+ # Used to flag and report bootstrapping failures.
|
|
+ am_rc=0
|
|
+ for am_mf
|
|
do
|
|
# Strip MF so we end up with the name of the file.
|
|
- mf=`echo "$mf" | sed -e 's/:.*$//'`
|
|
- # Check whether this is an Automake generated Makefile or not.
|
|
- # We used to match only the files named 'Makefile.in', but
|
|
- # some people rename them; so instead we look at the file content.
|
|
- # Grep'ing the first line is not enough: some people post-process
|
|
- # each Makefile.in and add a new line on top of each file to say so.
|
|
- # Grep'ing the whole file is not good either: AIX grep has a line
|
|
+ am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'`
|
|
+ # Check whether this is an Automake generated Makefile which includes
|
|
+ # dependency-tracking related rules and includes.
|
|
+ # Grep'ing the whole file directly is not great: AIX grep has a line
|
|
# limit of 2048, but all sed's we know have understand at least 4000.
|
|
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
|
|
- dirpart=`AS_DIRNAME("$mf")`
|
|
- else
|
|
- continue
|
|
- fi
|
|
- # Extract the definition of DEPDIR, am__include, and am__quote
|
|
- # from the Makefile without running 'make'.
|
|
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
|
|
- test -z "$DEPDIR" && continue
|
|
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
|
|
- test -z "$am__include" && continue
|
|
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
|
|
- # Find all dependency output files, they are included files with
|
|
- # $(DEPDIR) in their names. We invoke sed twice because it is the
|
|
- # simplest approach to changing $(DEPDIR) to its actual value in the
|
|
- # expansion.
|
|
- for file in `sed -n "
|
|
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
|
|
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
|
|
- # Make sure the directory exists.
|
|
- test -f "$dirpart/$file" && continue
|
|
- fdir=`AS_DIRNAME(["$file"])`
|
|
- AS_MKDIR_P([$dirpart/$fdir])
|
|
- # echo "creating $dirpart/$file"
|
|
- echo '# dummy' > "$dirpart/$file"
|
|
- done
|
|
+ sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
|
|
+ || continue
|
|
+ am_dirpart=`AS_DIRNAME(["$am_mf"])`
|
|
+ am_filepart=`AS_BASENAME(["$am_mf"])`
|
|
+ AM_RUN_LOG([cd "$am_dirpart" \
|
|
+ && sed -e '/# am--include-marker/d' "$am_filepart" \
|
|
+ | $MAKE -f - am--depfiles]) || am_rc=$?
|
|
done
|
|
+ if test $am_rc -ne 0; then
|
|
+ AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments
|
|
+ for automatic dependency tracking. If GNU make was not used, consider
|
|
+ re-running the configure script with MAKE="gmake" (or whatever is
|
|
+ necessary). You can also try re-running configure with the
|
|
+ '--disable-dependency-tracking' option to at least be able to build
|
|
+ the package (albeit without support for automatic dependency tracking).])
|
|
+ fi
|
|
+ AS_UNSET([am_dirpart])
|
|
+ AS_UNSET([am_filepart])
|
|
+ AS_UNSET([am_mf])
|
|
+ AS_UNSET([am_rc])
|
|
+ rm -f conftest-deps.mk
|
|
}
|
|
])# _AM_OUTPUT_DEPENDENCY_COMMANDS
|
|
|
|
@@ -397,18 +390,17 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
|
|
# -----------------------------
|
|
# This macro should only be invoked once -- use via AC_REQUIRE.
|
|
#
|
|
-# This code is only required when automatic dependency tracking
|
|
-# is enabled. FIXME. This creates each '.P' file that we will
|
|
-# need in order to bootstrap the dependency handling code.
|
|
+# This code is only required when automatic dependency tracking is enabled.
|
|
+# This creates each '.Po' and '.Plo' makefile fragment that we'll need in
|
|
+# order to bootstrap the dependency handling code.
|
|
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
|
|
[AC_CONFIG_COMMANDS([depfiles],
|
|
[test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
|
|
- [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
|
|
-])
|
|
+ [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])])
|
|
|
|
# Do all the work for Automake. -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1996-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -495,8 +487,8 @@ AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
|
|
AC_REQUIRE([AC_PROG_MKDIR_P])dnl
|
|
# For better backward compatibility. To be removed once Automake 1.9.x
|
|
# dies out for good. For more background, see:
|
|
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
|
|
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
|
|
+# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
|
|
+# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
|
|
AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
|
|
# We need awk for the "check" target (and possibly the TAP driver). The
|
|
# system "awk" is bad on some platforms.
|
|
@@ -563,7 +555,7 @@ END
|
|
Aborting the configuration process, to ensure you take notice of the issue.
|
|
|
|
You can download and install GNU coreutils to get an 'rm' implementation
|
|
-that behaves properly: <http://www.gnu.org/software/coreutils/>.
|
|
+that behaves properly: <https://www.gnu.org/software/coreutils/>.
|
|
|
|
If you want to complete the configuration process using your problematic
|
|
'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
|
|
@@ -605,7 +597,7 @@ for _am_header in $config_headers :; do
|
|
done
|
|
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
|
|
|
|
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2001-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -629,7 +621,7 @@ AC_SUBST([install_sh])])
|
|
# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
|
|
# From Jim Meyering
|
|
|
|
-# Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1996-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -664,7 +656,7 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
|
|
|
|
# Check to see how 'make' treats includes. -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2001-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -672,49 +664,42 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
|
|
|
|
# AM_MAKE_INCLUDE()
|
|
# -----------------
|
|
-# Check to see how make treats includes.
|
|
+# Check whether make has an 'include' directive that can support all
|
|
+# the idioms we need for our automatic dependency tracking code.
|
|
AC_DEFUN([AM_MAKE_INCLUDE],
|
|
-[am_make=${MAKE-make}
|
|
-cat > confinc << 'END'
|
|
+[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive])
|
|
+cat > confinc.mk << 'END'
|
|
am__doit:
|
|
- @echo this is the am__doit target
|
|
+ @echo this is the am__doit target >confinc.out
|
|
.PHONY: am__doit
|
|
END
|
|
-# If we don't find an include directive, just comment out the code.
|
|
-AC_MSG_CHECKING([for style of include used by $am_make])
|
|
am__include="#"
|
|
am__quote=
|
|
-_am_result=none
|
|
-# First try GNU make style include.
|
|
-echo "include confinc" > confmf
|
|
-# Ignore all kinds of additional output from 'make'.
|
|
-case `$am_make -s -f confmf 2> /dev/null` in #(
|
|
-*the\ am__doit\ target*)
|
|
- am__include=include
|
|
- am__quote=
|
|
- _am_result=GNU
|
|
- ;;
|
|
-esac
|
|
-# Now try BSD make style include.
|
|
-if test "$am__include" = "#"; then
|
|
- echo '.include "confinc"' > confmf
|
|
- case `$am_make -s -f confmf 2> /dev/null` in #(
|
|
- *the\ am__doit\ target*)
|
|
- am__include=.include
|
|
- am__quote="\""
|
|
- _am_result=BSD
|
|
- ;;
|
|
- esac
|
|
-fi
|
|
-AC_SUBST([am__include])
|
|
-AC_SUBST([am__quote])
|
|
-AC_MSG_RESULT([$_am_result])
|
|
-rm -f confinc confmf
|
|
-])
|
|
+# BSD make does it like this.
|
|
+echo '.include "confinc.mk" # ignored' > confmf.BSD
|
|
+# Other make implementations (GNU, Solaris 10, AIX) do it like this.
|
|
+echo 'include confinc.mk # ignored' > confmf.GNU
|
|
+_am_result=no
|
|
+for s in GNU BSD; do
|
|
+ AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out])
|
|
+ AS_CASE([$?:`cat confinc.out 2>/dev/null`],
|
|
+ ['0:this is the am__doit target'],
|
|
+ [AS_CASE([$s],
|
|
+ [BSD], [am__include='.include' am__quote='"'],
|
|
+ [am__include='include' am__quote=''])])
|
|
+ if test "$am__include" != "#"; then
|
|
+ _am_result="yes ($s style)"
|
|
+ break
|
|
+ fi
|
|
+done
|
|
+rm -f confinc.* confmf.*
|
|
+AC_MSG_RESULT([${_am_result}])
|
|
+AC_SUBST([am__include])])
|
|
+AC_SUBST([am__quote])])
|
|
|
|
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 1997-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1997-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -735,12 +720,7 @@ AC_DEFUN([AM_MISSING_HAS_RUN],
|
|
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
|
|
AC_REQUIRE_AUX_FILE([missing])dnl
|
|
if test x"${MISSING+set}" != xset; then
|
|
- case $am_aux_dir in
|
|
- *\ * | *\ *)
|
|
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
|
|
- *)
|
|
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
|
|
- esac
|
|
+ MISSING="\${SHELL} '$am_aux_dir/missing'"
|
|
fi
|
|
# Use eval to expand $SHELL
|
|
if eval "$MISSING --is-lightweight"; then
|
|
@@ -753,7 +733,7 @@ fi
|
|
|
|
# Helper functions for option handling. -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2001-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -782,7 +762,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
|
|
AC_DEFUN([_AM_IF_OPTION],
|
|
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
|
|
|
|
-# Copyright (C) 1999-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1999-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -829,7 +809,7 @@ AC_LANG_POP([C])])
|
|
# For backward compatibility.
|
|
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
|
|
|
|
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2001-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -848,7 +828,7 @@ AC_DEFUN([AM_RUN_LOG],
|
|
|
|
# Check to make sure that the build environment is sane. -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1996-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -929,7 +909,7 @@ AC_CONFIG_COMMANDS_PRE(
|
|
rm -f conftest.file
|
|
])
|
|
|
|
-# Copyright (C) 2009-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2009-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -989,7 +969,7 @@ AC_SUBST([AM_BACKSLASH])dnl
|
|
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
|
|
])
|
|
|
|
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2001-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -1017,7 +997,7 @@ fi
|
|
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
|
|
AC_SUBST([INSTALL_STRIP_PROGRAM])])
|
|
|
|
-# Copyright (C) 2006-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2006-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -1036,7 +1016,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
|
|
|
|
# Check how to create a tarball. -*- Autoconf -*-
|
|
|
|
-# Copyright (C) 2004-2017 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2004-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
diff --git a/gcc/lto-plugin/config.h.in b/gcc/lto-plugin/config.h.in
|
|
index 8eb9c8aa47..aadb8640e6 100644
|
|
--- a/gcc/lto-plugin/config.h.in
|
|
+++ b/gcc/lto-plugin/config.h.in
|
|
@@ -36,8 +36,7 @@
|
|
/* Define to 1 if you have the <unistd.h> header file. */
|
|
#undef HAVE_UNISTD_H
|
|
|
|
-/* Define to the sub-directory in which libtool stores uninstalled libraries.
|
|
- */
|
|
+/* Define to the sub-directory where libtool stores uninstalled libraries. */
|
|
#undef LT_OBJDIR
|
|
|
|
/* Name of package */
|
|
diff --git a/gcc/ltoptions.m4 b/gcc/ltoptions.m4
|
|
index 5ef12ced2a..94b0829766 100644
|
|
--- a/gcc/ltoptions.m4
|
|
+++ b/gcc/ltoptions.m4
|
|
@@ -1,14 +1,14 @@
|
|
# Helper functions for option handling. -*- Autoconf -*-
|
|
#
|
|
-# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
|
|
-# Inc.
|
|
+# Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software
|
|
+# Foundation, Inc.
|
|
# Written by Gary V. Vaughan, 2004
|
|
#
|
|
# This file is free software; the Free Software Foundation gives
|
|
# unlimited permission to copy and/or distribute it, with or without
|
|
# modifications, as long as this notice is preserved.
|
|
|
|
-# serial 6 ltoptions.m4
|
|
+# serial 8 ltoptions.m4
|
|
|
|
# This is to help aclocal find these macros, as it can't see m4_define.
|
|
AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
|
|
@@ -29,7 +29,7 @@ m4_define([_LT_SET_OPTION],
|
|
[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
|
|
m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
|
|
_LT_MANGLE_DEFUN([$1], [$2]),
|
|
- [m4_warning([Unknown $1 option `$2'])])[]dnl
|
|
+ [m4_warning([Unknown $1 option '$2'])])[]dnl
|
|
])
|
|
|
|
|
|
@@ -75,13 +75,15 @@ m4_if([$1],[LT_INIT],[
|
|
dnl
|
|
dnl If no reference was made to various pairs of opposing options, then
|
|
dnl we run the default mode handler for the pair. For example, if neither
|
|
- dnl `shared' nor `disable-shared' was passed, we enable building of shared
|
|
+ dnl 'shared' nor 'disable-shared' was passed, we enable building of shared
|
|
dnl archives by default:
|
|
_LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
|
|
_LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
|
|
_LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
|
|
_LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
|
|
- [_LT_ENABLE_FAST_INSTALL])
|
|
+ [_LT_ENABLE_FAST_INSTALL])
|
|
+ _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
|
|
+ [_LT_WITH_AIX_SONAME([aix])])
|
|
])
|
|
])# _LT_SET_OPTIONS
|
|
|
|
@@ -112,7 +114,7 @@ AU_DEFUN([AC_LIBTOOL_DLOPEN],
|
|
[_LT_SET_OPTION([LT_INIT], [dlopen])
|
|
AC_DIAGNOSE([obsolete],
|
|
[$0: Remove this warning and the call to _LT_SET_OPTION when you
|
|
-put the `dlopen' option into LT_INIT's first parameter.])
|
|
+put the 'dlopen' option into LT_INIT's first parameter.])
|
|
])
|
|
|
|
dnl aclocal-1.4 backwards compatibility:
|
|
@@ -148,7 +150,7 @@ AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
|
|
_LT_SET_OPTION([LT_INIT], [win32-dll])
|
|
AC_DIAGNOSE([obsolete],
|
|
[$0: Remove this warning and the call to _LT_SET_OPTION when you
|
|
-put the `win32-dll' option into LT_INIT's first parameter.])
|
|
+put the 'win32-dll' option into LT_INIT's first parameter.])
|
|
])
|
|
|
|
dnl aclocal-1.4 backwards compatibility:
|
|
@@ -157,9 +159,9 @@ dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
|
|
|
|
# _LT_ENABLE_SHARED([DEFAULT])
|
|
# ----------------------------
|
|
-# implement the --enable-shared flag, and supports the `shared' and
|
|
-# `disable-shared' LT_INIT options.
|
|
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
|
|
+# implement the --enable-shared flag, and supports the 'shared' and
|
|
+# 'disable-shared' LT_INIT options.
|
|
+# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
|
|
m4_define([_LT_ENABLE_SHARED],
|
|
[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
|
|
AC_ARG_ENABLE([shared],
|
|
@@ -172,14 +174,14 @@ AC_ARG_ENABLE([shared],
|
|
*)
|
|
enable_shared=no
|
|
# Look at the argument we got. We use all the common list separators.
|
|
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
|
|
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
|
|
for pkg in $enableval; do
|
|
- IFS="$lt_save_ifs"
|
|
+ IFS=$lt_save_ifs
|
|
if test "X$pkg" = "X$p"; then
|
|
enable_shared=yes
|
|
fi
|
|
done
|
|
- IFS="$lt_save_ifs"
|
|
+ IFS=$lt_save_ifs
|
|
;;
|
|
esac],
|
|
[enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
|
|
@@ -211,9 +213,9 @@ dnl AC_DEFUN([AM_DISABLE_SHARED], [])
|
|
|
|
# _LT_ENABLE_STATIC([DEFAULT])
|
|
# ----------------------------
|
|
-# implement the --enable-static flag, and support the `static' and
|
|
-# `disable-static' LT_INIT options.
|
|
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
|
|
+# implement the --enable-static flag, and support the 'static' and
|
|
+# 'disable-static' LT_INIT options.
|
|
+# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
|
|
m4_define([_LT_ENABLE_STATIC],
|
|
[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
|
|
AC_ARG_ENABLE([static],
|
|
@@ -226,14 +228,14 @@ AC_ARG_ENABLE([static],
|
|
*)
|
|
enable_static=no
|
|
# Look at the argument we got. We use all the common list separators.
|
|
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
|
|
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
|
|
for pkg in $enableval; do
|
|
- IFS="$lt_save_ifs"
|
|
+ IFS=$lt_save_ifs
|
|
if test "X$pkg" = "X$p"; then
|
|
enable_static=yes
|
|
fi
|
|
done
|
|
- IFS="$lt_save_ifs"
|
|
+ IFS=$lt_save_ifs
|
|
;;
|
|
esac],
|
|
[enable_static=]_LT_ENABLE_STATIC_DEFAULT)
|
|
@@ -265,9 +267,9 @@ dnl AC_DEFUN([AM_DISABLE_STATIC], [])
|
|
|
|
# _LT_ENABLE_FAST_INSTALL([DEFAULT])
|
|
# ----------------------------------
|
|
-# implement the --enable-fast-install flag, and support the `fast-install'
|
|
-# and `disable-fast-install' LT_INIT options.
|
|
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
|
|
+# implement the --enable-fast-install flag, and support the 'fast-install'
|
|
+# and 'disable-fast-install' LT_INIT options.
|
|
+# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
|
|
m4_define([_LT_ENABLE_FAST_INSTALL],
|
|
[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
|
|
AC_ARG_ENABLE([fast-install],
|
|
@@ -280,14 +282,14 @@ AC_ARG_ENABLE([fast-install],
|
|
*)
|
|
enable_fast_install=no
|
|
# Look at the argument we got. We use all the common list separators.
|
|
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
|
|
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
|
|
for pkg in $enableval; do
|
|
- IFS="$lt_save_ifs"
|
|
+ IFS=$lt_save_ifs
|
|
if test "X$pkg" = "X$p"; then
|
|
enable_fast_install=yes
|
|
fi
|
|
done
|
|
- IFS="$lt_save_ifs"
|
|
+ IFS=$lt_save_ifs
|
|
;;
|
|
esac],
|
|
[enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
|
|
@@ -304,14 +306,14 @@ AU_DEFUN([AC_ENABLE_FAST_INSTALL],
|
|
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
|
|
AC_DIAGNOSE([obsolete],
|
|
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
|
|
-the `fast-install' option into LT_INIT's first parameter.])
|
|
+the 'fast-install' option into LT_INIT's first parameter.])
|
|
])
|
|
|
|
AU_DEFUN([AC_DISABLE_FAST_INSTALL],
|
|
[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
|
|
AC_DIAGNOSE([obsolete],
|
|
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
|
|
-the `disable-fast-install' option into LT_INIT's first parameter.])
|
|
+the 'disable-fast-install' option into LT_INIT's first parameter.])
|
|
])
|
|
|
|
dnl aclocal-1.4 backwards compatibility:
|
|
@@ -319,19 +321,85 @@ dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
|
|
dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
|
|
|
|
|
|
+# _LT_WITH_AIX_SONAME([DEFAULT])
|
|
+# ----------------------------------
|
|
+# implement the --with-aix-soname flag, and support the `aix-soname=aix'
|
|
+# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT
|
|
+# is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'.
|
|
+m4_define([_LT_WITH_AIX_SONAME],
|
|
+[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
|
|
+shared_archive_member_spec=
|
|
+case $host,$enable_shared in
|
|
+power*-*-aix[[5-9]]*,yes)
|
|
+ AC_MSG_CHECKING([which variant of shared library versioning to provide])
|
|
+ AC_ARG_WITH([aix-soname],
|
|
+ [AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
|
|
+ [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
|
|
+ [case $withval in
|
|
+ aix|svr4|both)
|
|
+ ;;
|
|
+ *)
|
|
+ AC_MSG_ERROR([Unknown argument to --with-aix-soname])
|
|
+ ;;
|
|
+ esac
|
|
+ lt_cv_with_aix_soname=$with_aix_soname],
|
|
+ [AC_CACHE_VAL([lt_cv_with_aix_soname],
|
|
+ [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)
|
|
+ with_aix_soname=$lt_cv_with_aix_soname])
|
|
+ AC_MSG_RESULT([$with_aix_soname])
|
|
+ if test aix != "$with_aix_soname"; then
|
|
+ # For the AIX way of multilib, we name the shared archive member
|
|
+ # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
|
|
+ # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
|
|
+ # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
|
|
+ # the AIX toolchain works better with OBJECT_MODE set (default 32).
|
|
+ if test 64 = "${OBJECT_MODE-32}"; then
|
|
+ shared_archive_member_spec=shr_64
|
|
+ else
|
|
+ shared_archive_member_spec=shr
|
|
+ fi
|
|
+ fi
|
|
+ ;;
|
|
+*)
|
|
+ with_aix_soname=aix
|
|
+ ;;
|
|
+esac
|
|
+
|
|
+_LT_DECL([], [shared_archive_member_spec], [0],
|
|
+ [Shared archive member basename, for filename based shared library versioning on AIX])dnl
|
|
+])# _LT_WITH_AIX_SONAME
|
|
+
|
|
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])])
|
|
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])])
|
|
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
|
|
+
|
|
+
|
|
# _LT_WITH_PIC([MODE])
|
|
# --------------------
|
|
-# implement the --with-pic flag, and support the `pic-only' and `no-pic'
|
|
+# implement the --with-pic flag, and support the 'pic-only' and 'no-pic'
|
|
# LT_INIT options.
|
|
-# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
|
|
+# MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'.
|
|
m4_define([_LT_WITH_PIC],
|
|
[AC_ARG_WITH([pic],
|
|
- [AS_HELP_STRING([--with-pic],
|
|
+ [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
|
|
[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
|
|
- [pic_mode="$withval"],
|
|
- [pic_mode=default])
|
|
-
|
|
-test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
|
|
+ [lt_p=${PACKAGE-default}
|
|
+ case $withval in
|
|
+ yes|no) pic_mode=$withval ;;
|
|
+ *)
|
|
+ pic_mode=default
|
|
+ # Look at the argument we got. We use all the common list separators.
|
|
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
|
|
+ for lt_pkg in $withval; do
|
|
+ IFS=$lt_save_ifs
|
|
+ if test "X$lt_pkg" = "X$lt_p"; then
|
|
+ pic_mode=yes
|
|
+ fi
|
|
+ done
|
|
+ IFS=$lt_save_ifs
|
|
+ ;;
|
|
+ esac],
|
|
+ [pic_mode=m4_default([$1], [default])])
|
|
|
|
_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
|
|
])# _LT_WITH_PIC
|
|
@@ -344,7 +412,7 @@ AU_DEFUN([AC_LIBTOOL_PICMODE],
|
|
[_LT_SET_OPTION([LT_INIT], [pic-only])
|
|
AC_DIAGNOSE([obsolete],
|
|
[$0: Remove this warning and the call to _LT_SET_OPTION when you
|
|
-put the `pic-only' option into LT_INIT's first parameter.])
|
|
+put the 'pic-only' option into LT_INIT's first parameter.])
|
|
])
|
|
|
|
dnl aclocal-1.4 backwards compatibility:
|
|
diff --git a/gcc/ltversion.m4 b/gcc/ltversion.m4
|
|
index bf87f77132..fa04b52a3b 100644
|
|
--- a/gcc/ltversion.m4
|
|
+++ b/gcc/ltversion.m4
|
|
@@ -1,23 +1,23 @@
|
|
# ltversion.m4 -- version numbers -*- Autoconf -*-
|
|
#
|
|
-# Copyright (C) 2004 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc.
|
|
# Written by Scott James Remnant, 2004
|
|
#
|
|
# This file is free software; the Free Software Foundation gives
|
|
# unlimited permission to copy and/or distribute it, with or without
|
|
# modifications, as long as this notice is preserved.
|
|
|
|
-# Generated from ltversion.in.
|
|
+# @configure_input@
|
|
|
|
-# serial 3134 ltversion.m4
|
|
+# serial 4179 ltversion.m4
|
|
# This file is part of GNU Libtool
|
|
|
|
-m4_define([LT_PACKAGE_VERSION], [2.2.7a])
|
|
-m4_define([LT_PACKAGE_REVISION], [1.3134])
|
|
+m4_define([LT_PACKAGE_VERSION], [2.4.6])
|
|
+m4_define([LT_PACKAGE_REVISION], [2.4.6])
|
|
|
|
AC_DEFUN([LTVERSION_VERSION],
|
|
-[macro_version='2.2.7a'
|
|
-macro_revision='1.3134'
|
|
+[macro_version='2.4.6'
|
|
+macro_revision='2.4.6'
|
|
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
|
|
_LT_DECL(, macro_revision, 0)
|
|
])
|
|
diff --git a/gcc/lt~obsolete.m4 b/gcc/lt~obsolete.m4
|
|
index bf92b5e079..c6b26f88f6 100644
|
|
--- a/gcc/lt~obsolete.m4
|
|
+++ b/gcc/lt~obsolete.m4
|
|
@@ -1,17 +1,18 @@
|
|
# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
|
|
#
|
|
-# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
|
|
+# Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software
|
|
+# Foundation, Inc.
|
|
# Written by Scott James Remnant, 2004.
|
|
#
|
|
# This file is free software; the Free Software Foundation gives
|
|
# unlimited permission to copy and/or distribute it, with or without
|
|
# modifications, as long as this notice is preserved.
|
|
|
|
-# serial 4 lt~obsolete.m4
|
|
+# serial 5 lt~obsolete.m4
|
|
|
|
# These exist entirely to fool aclocal when bootstrapping libtool.
|
|
#
|
|
-# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
|
|
+# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN),
|
|
# which have later been changed to m4_define as they aren't part of the
|
|
# exported API, or moved to Autoconf or Automake where they belong.
|
|
#
|
|
@@ -25,7 +26,7 @@
|
|
# included after everything else. This provides aclocal with the
|
|
# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
|
|
# because those macros already exist, or will be overwritten later.
|
|
-# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
|
|
+# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
|
|
#
|
|
# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
|
|
# Yes, that means every name once taken will need to remain here until
|
|
diff --git a/gcc/missing b/gcc/missing
|
|
index f62bbae306..8d0eaad250 100755
|
|
--- a/gcc/missing
|
|
+++ b/gcc/missing
|
|
@@ -1,9 +1,9 @@
|
|
#! /bin/sh
|
|
# Common wrapper for a few potentially missing GNU programs.
|
|
|
|
-scriptversion=2013-10-28.13; # UTC
|
|
+scriptversion=2018-03-07.03; # UTC
|
|
|
|
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
|
|
+# Copyright (C) 1996-2020 Free Software Foundation, Inc.
|
|
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
|
|
|
# This program is free software; you can redistribute it and/or modify
|
|
@@ -17,7 +17,7 @@ scriptversion=2013-10-28.13; # UTC
|
|
# GNU General Public License for more details.
|
|
|
|
# You should have received a copy of the GNU General Public License
|
|
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
# As a special exception to the GNU General Public License, if you
|
|
# distribute this file as part of a program that contains a
|
|
@@ -101,9 +101,9 @@ else
|
|
exit $st
|
|
fi
|
|
|
|
-perl_URL=http://www.perl.org/
|
|
-flex_URL=http://flex.sourceforge.net/
|
|
-gnu_software_URL=http://www.gnu.org/software
|
|
+perl_URL=https://www.perl.org/
|
|
+flex_URL=https://github.com/westes/flex
|
|
+gnu_software_URL=https://www.gnu.org/software
|
|
|
|
program_details ()
|
|
{
|
|
@@ -207,9 +207,9 @@ give_advice "$1" | sed -e '1s/^/WARNING: /' \
|
|
exit $st
|
|
|
|
# Local variables:
|
|
-# eval: (add-hook 'write-file-hooks 'time-stamp)
|
|
+# eval: (add-hook 'before-save-hook 'time-stamp)
|
|
# time-stamp-start: "scriptversion="
|
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
|
-# time-stamp-time-zone: "UTC"
|
|
+# time-stamp-time-zone: "UTC0"
|
|
# time-stamp-end: "; # UTC"
|
|
# End:
|
|
diff --git a/gcc/newlib/configure.host b/gcc/newlib/configure.host
|
|
index c429dde1c3..b2d5090eae 100644
|
|
--- a/gcc/newlib/configure.host
|
|
+++ b/gcc/newlib/configure.host
|
|
@@ -812,6 +812,11 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID
|
|
newlib_cflags="${newlib_cflags} -DHAVE_RENAME -DHAVE_SYSTEM -DMISSING_SYSCALL_NAMES"
|
|
syscall_dir=
|
|
;;
|
|
+ m68k-apple-macos)
|
|
+ newlib_cflags="${newlib_cflags} -DREENTRANT_SYSCALLS_PROVIDED -DMALLOC_PROVIDED"
|
|
+ newlib_cflags="${newlib_cflags} -ffunction-sections"
|
|
+ syscall_dir=syscalls
|
|
+ ;;
|
|
mcore-*-*)
|
|
syscall_dir=syscalls
|
|
;;
|
|
@@ -883,6 +888,11 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID
|
|
riscv*-*-*)
|
|
syscall_dir=syscalls
|
|
;;
|
|
+ powerpc-*-macos)
|
|
+ newlib_cflags="${newlib_cflags} -DREENTRANT_SYSCALLS_PROVIDED -DMALLOC_PROVIDED"
|
|
+ newlib_cflags="${newlib_cflags} -ffunction-sections"
|
|
+ syscall_dir=syscalls
|
|
+ ;;
|
|
sh*-*-*)
|
|
default_newlib_io_long_long="yes"
|
|
syscall_dir=syscalls
|
|
diff --git a/gcc/newlib/libc/include/math.h b/gcc/newlib/libc/include/math.h
|
|
index 799ac494ad..f078a7c611 100644
|
|
--- a/gcc/newlib/libc/include/math.h
|
|
+++ b/gcc/newlib/libc/include/math.h
|
|
@@ -510,6 +510,44 @@ extern long double erfcl (long double);
|
|
extern long double hypotl (long double, long double);
|
|
extern long double sqrtl (long double);
|
|
extern long double frexpl (long double, int *);
|
|
+/* Declare the remaining long double functions needed for complex math
|
|
+ on platforms where long double != double (e.g. m68k with 80-bit FPU). */
|
|
+#ifndef __math_68881
|
|
+extern long double atanl (long double);
|
|
+extern long double cosl (long double);
|
|
+extern long double sinl (long double);
|
|
+extern long double tanl (long double);
|
|
+extern long double sinhl (long double);
|
|
+extern long double coshl (long double);
|
|
+extern long double tanhl (long double);
|
|
+extern long double acosl (long double);
|
|
+extern long double asinl (long double);
|
|
+extern long double atan2l (long double, long double);
|
|
+extern long double expl (long double);
|
|
+extern long double ldexpl (long double, int);
|
|
+extern long double logl (long double);
|
|
+extern long double log10l (long double);
|
|
+extern long double powl (long double, long double);
|
|
+extern long double fmodl (long double, long double);
|
|
+extern long double fabsl (long double);
|
|
+extern long double floorl (long double);
|
|
+extern long double ceill (long double);
|
|
+extern long double modfl (long double, long double *);
|
|
+#endif /* ! defined (__math_68881) */
|
|
+extern long double copysignl (long double, long double);
|
|
+extern long double asinhl (long double);
|
|
+extern long double log2l (long double);
|
|
+extern long double rintl (long double);
|
|
+extern long double scalbnl (long double, int);
|
|
+extern long double exp2l (long double);
|
|
+extern long double scalblnl (long double, long);
|
|
+extern long double nearbyintl (long double);
|
|
+extern long int lrintl (long double);
|
|
+extern long long int llrintl (long double);
|
|
+extern long double roundl (long double);
|
|
+extern long lroundl (long double);
|
|
+extern long long int llroundl (long double);
|
|
+extern long double truncl (long double);
|
|
#ifdef __i386__
|
|
/* Other long double precision functions. */
|
|
extern _LONG_DOUBLE rintl (_LONG_DOUBLE);
|
|
diff --git a/gcc/newlib/libc/include/sys/config.h b/gcc/newlib/libc/include/sys/config.h
|
|
new file mode 100644
|
|
index 0000000000..2082dfdb18
|
|
--- /dev/null
|
|
+++ b/gcc/newlib/libc/include/sys/config.h
|
|
@@ -0,0 +1,300 @@
|
|
+#ifndef __SYS_CONFIG_H__
|
|
+#define __SYS_CONFIG_H__
|
|
+
|
|
+#include <machine/ieeefp.h> /* floating point macros */
|
|
+#include <sys/features.h> /* POSIX defs */
|
|
+
|
|
+#ifdef __aarch64__
|
|
+#define MALLOC_ALIGNMENT 16
|
|
+#endif
|
|
+
|
|
+/* exceptions first */
|
|
+#if defined(__H8500__) || defined(__W65__)
|
|
+#define __SMALL_BITFIELDS
|
|
+/* ??? This conditional is true for the h8500 and the w65, defining H8300
|
|
+ in those cases probably isn't the right thing to do. */
|
|
+#define H8300 1
|
|
+#endif
|
|
+
|
|
+/* 16 bit integer machines */
|
|
+#if defined(__Z8001__) || defined(__Z8002__) || defined(__H8500__) || defined(__W65__) || defined (__mn10200__) || defined (__AVR__)
|
|
+
|
|
+#undef INT_MAX
|
|
+#undef UINT_MAX
|
|
+#define INT_MAX 32767
|
|
+#define UINT_MAX 65535
|
|
+#endif
|
|
+
|
|
+#if defined (__H8300__) || defined (__H8300H__) || defined(__H8300S__) || defined (__H8300SX__)
|
|
+#define __SMALL_BITFIELDS
|
|
+#define H8300 1
|
|
+#undef INT_MAX
|
|
+#undef UINT_MAX
|
|
+#define INT_MAX __INT_MAX__
|
|
+#define UINT_MAX (__INT_MAX__ * 2U + 1)
|
|
+#endif
|
|
+
|
|
+#if (defined(__CR16__) || defined(__CR16C__) ||defined(__CR16CP__))
|
|
+#ifndef __INT32__
|
|
+#define __SMALL_BITFIELDS
|
|
+#undef INT_MAX
|
|
+#undef UINT_MAX
|
|
+#define INT_MAX 32767
|
|
+#define UINT_MAX (__INT_MAX__ * 2U + 1)
|
|
+#else /* INT32 */
|
|
+#undef INT_MAX
|
|
+#undef UINT_MAX
|
|
+#define INT_MAX 2147483647
|
|
+#define UINT_MAX (__INT_MAX__ * 2U + 1)
|
|
+#endif /* INT32 */
|
|
+
|
|
+#endif /* CR16C */
|
|
+
|
|
+#if defined (__xc16x__) || defined (__xc16xL__) || defined (__xc16xS__)
|
|
+#define __SMALL_BITFIELDS
|
|
+#endif
|
|
+
|
|
+#ifdef __W65__
|
|
+#define __SMALL_BITFIELDS
|
|
+#endif
|
|
+
|
|
+#if defined(__D10V__)
|
|
+#define __SMALL_BITFIELDS
|
|
+#undef INT_MAX
|
|
+#undef UINT_MAX
|
|
+#define INT_MAX __INT_MAX__
|
|
+#define UINT_MAX (__INT_MAX__ * 2U + 1)
|
|
+#define _POINTER_INT short
|
|
+#endif
|
|
+
|
|
+#if defined(__mc68hc11__) || defined(__mc68hc12__) || defined(__mc68hc1x__)
|
|
+#undef INT_MAX
|
|
+#undef UINT_MAX
|
|
+#define INT_MAX __INT_MAX__
|
|
+#define UINT_MAX (__INT_MAX__ * 2U + 1)
|
|
+#define _POINTER_INT short
|
|
+#endif
|
|
+
|
|
+#if defined(__m68k__) || defined(__mc68000__) || defined(__riscv)
|
|
+#define _READ_WRITE_RETURN_TYPE _ssize_t
|
|
+#endif
|
|
+
|
|
+#ifdef ___AM29K__
|
|
+#define _FLOAT_RET double
|
|
+#endif
|
|
+
|
|
+#ifdef __i386__
|
|
+#ifndef __unix__
|
|
+/* in other words, go32 */
|
|
+#define _FLOAT_RET double
|
|
+#endif
|
|
+#if defined(__linux__) || defined(__RDOS__)
|
|
+/* we want the reentrancy structure to be returned by a function */
|
|
+#define __DYNAMIC_REENT__
|
|
+#define HAVE_GETDATE
|
|
+#define _READ_WRITE_RETURN_TYPE _ssize_t
|
|
+#define __LARGE64_FILES 1
|
|
+/* we use some glibc header files so turn on glibc large file feature */
|
|
+#define _LARGEFILE64_SOURCE 1
|
|
+#endif
|
|
+#endif
|
|
+
|
|
+#ifdef __mn10200__
|
|
+#define __SMALL_BITFIELDS
|
|
+#endif
|
|
+
|
|
+#ifdef __AVR__
|
|
+#define __SMALL_BITFIELDS
|
|
+#define _POINTER_INT short
|
|
+#endif
|
|
+
|
|
+#ifdef __v850
|
|
+#define __ATTRIBUTE_IMPURE_PTR__ __attribute__((__sda__))
|
|
+#endif
|
|
+
|
|
+/* For the PowerPC eabi, force the _impure_ptr to be in .sdata */
|
|
+#if defined(__PPC__)
|
|
+#if defined(_CALL_SYSV)
|
|
+#define __ATTRIBUTE_IMPURE_PTR__ __attribute__((__section__(".sdata")))
|
|
+#endif
|
|
+#ifdef __SPE__
|
|
+#define _LONG_DOUBLE double
|
|
+#endif
|
|
+#endif
|
|
+
|
|
+/* Configure small REENT structure for Xilinx MicroBlaze platforms */
|
|
+#if defined (__MICROBLAZE__)
|
|
+#ifndef _REENT_SMALL
|
|
+#define _REENT_SMALL
|
|
+#endif
|
|
+/* Xilinx XMK uses Unix98 mutex */
|
|
+#ifdef __XMK__
|
|
+#define _UNIX98_THREAD_MUTEX_ATTRIBUTES
|
|
+#endif
|
|
+#endif
|
|
+
|
|
+#if defined(__mips__) && !defined(__rtems__)
|
|
+#define __ATTRIBUTE_IMPURE_PTR__ __attribute__((__section__(".sdata")))
|
|
+#endif
|
|
+
|
|
+#ifdef __xstormy16__
|
|
+#define __SMALL_BITFIELDS
|
|
+#undef INT_MAX
|
|
+#undef UINT_MAX
|
|
+#define INT_MAX __INT_MAX__
|
|
+#define UINT_MAX (__INT_MAX__ * 2U + 1)
|
|
+#define MALLOC_ALIGNMENT 8
|
|
+#define _POINTER_INT short
|
|
+#define __BUFSIZ__ 16
|
|
+#define _REENT_SMALL
|
|
+#endif
|
|
+
|
|
+#if defined __MSP430__
|
|
+#ifndef _REENT_SMALL
|
|
+#define _REENT_SMALL
|
|
+#endif
|
|
+
|
|
+#define __BUFSIZ__ 256
|
|
+#define __SMALL_BITFIELDS
|
|
+
|
|
+#ifdef __MSP430X_LARGE__
|
|
+#define _POINTER_INT long
|
|
+#else
|
|
+#define _POINTER_INT int
|
|
+#endif
|
|
+#endif
|
|
+
|
|
+#ifdef __m32c__
|
|
+#define __SMALL_BITFIELDS
|
|
+#undef INT_MAX
|
|
+#undef UINT_MAX
|
|
+#define INT_MAX __INT_MAX__
|
|
+#define UINT_MAX (__INT_MAX__ * 2U + 1)
|
|
+#define MALLOC_ALIGNMENT 8
|
|
+#if defined(__r8c_cpu__) || defined(__m16c_cpu__)
|
|
+#define _POINTER_INT short
|
|
+#else
|
|
+#define _POINTER_INT long
|
|
+#endif
|
|
+#define __BUFSIZ__ 16
|
|
+#define _REENT_SMALL
|
|
+#endif /* __m32c__ */
|
|
+
|
|
+#ifdef __SPU__
|
|
+#define MALLOC_ALIGNMENT 16
|
|
+#define __CUSTOM_FILE_IO__
|
|
+#endif
|
|
+
|
|
+#if defined(__or1k__) || defined(__or1knd__)
|
|
+#define __DYNAMIC_REENT__
|
|
+#endif
|
|
+
|
|
+/* This block should be kept in sync with GCC's limits.h. The point
|
|
+ of having these definitions here is to not include limits.h, which
|
|
+ would pollute the user namespace, while still using types of the
|
|
+ the correct widths when deciding how to define __int32_t and
|
|
+ __int64_t. */
|
|
+#ifndef __INT_MAX__
|
|
+# ifdef INT_MAX
|
|
+# define __INT_MAX__ INT_MAX
|
|
+# else
|
|
+# define __INT_MAX__ 2147483647
|
|
+# endif
|
|
+#endif
|
|
+
|
|
+#ifndef __LONG_MAX__
|
|
+# ifdef LONG_MAX
|
|
+# define __LONG_MAX__ LONG_MAX
|
|
+# else
|
|
+# if defined (__alpha__) || (defined (__sparc__) && defined(__arch64__)) \
|
|
+ || defined (__sparcv9)
|
|
+# define __LONG_MAX__ 9223372036854775807L
|
|
+# else
|
|
+# define __LONG_MAX__ 2147483647L
|
|
+# endif /* __alpha__ || sparc64 */
|
|
+# endif
|
|
+#endif
|
|
+/* End of block that should be kept in sync with GCC's limits.h. */
|
|
+
|
|
+#ifndef _POINTER_INT
|
|
+#define _POINTER_INT long
|
|
+#endif
|
|
+
|
|
+#ifdef __frv__
|
|
+#define __ATTRIBUTE_IMPURE_PTR__ __attribute__((__section__(".sdata")))
|
|
+#endif
|
|
+#undef __RAND_MAX
|
|
+#if __INT_MAX__ == 32767
|
|
+#define __RAND_MAX 32767
|
|
+#else
|
|
+#define __RAND_MAX 0x7fffffff
|
|
+#endif
|
|
+
|
|
+#if defined(__CYGWIN__)
|
|
+#include <cygwin/config.h>
|
|
+#endif
|
|
+
|
|
+#if defined(__rtems__)
|
|
+#define __FILENAME_MAX__ 255
|
|
+#define _READ_WRITE_RETURN_TYPE _ssize_t
|
|
+#define __DYNAMIC_REENT__
|
|
+#define _REENT_GLOBAL_ATEXIT
|
|
+#define _REENT_GLOBAL_STDIO_STREAMS
|
|
+#endif
|
|
+
|
|
+#ifndef __EXPORT
|
|
+#define __EXPORT
|
|
+#endif
|
|
+
|
|
+#ifndef __IMPORT
|
|
+#define __IMPORT
|
|
+#endif
|
|
+
|
|
+/* Define return type of read/write routines. In POSIX, the return type
|
|
+ for read()/write() is "ssize_t" but legacy newlib code has been using
|
|
+ "int" for some time. If not specified, "int" is defaulted. */
|
|
+#ifndef _READ_WRITE_RETURN_TYPE
|
|
+#define _READ_WRITE_RETURN_TYPE int
|
|
+#endif
|
|
+/* Define `count' parameter of read/write routines. In POSIX, the `count'
|
|
+ parameter is "size_t" but legacy newlib code has been using "int" for some
|
|
+ time. If not specified, "int" is defaulted. */
|
|
+#ifndef _READ_WRITE_BUFSIZE_TYPE
|
|
+#define _READ_WRITE_BUFSIZE_TYPE int
|
|
+#endif
|
|
+
|
|
+#ifndef __WCHAR_MAX__
|
|
+#if __INT_MAX__ == 32767 || defined (_WIN32)
|
|
+#define __WCHAR_MAX__ 0xffffu
|
|
+#endif
|
|
+#endif
|
|
+
|
|
+/* See if small reent asked for at configuration time and
|
|
+ is not chosen by the platform by default. */
|
|
+#ifdef _WANT_REENT_SMALL
|
|
+#ifndef _REENT_SMALL
|
|
+#define _REENT_SMALL
|
|
+#endif
|
|
+#endif
|
|
+
|
|
+#ifdef _WANT_REENT_GLOBAL_STDIO_STREAMS
|
|
+#ifndef _REENT_GLOBAL_STDIO_STREAMS
|
|
+#define _REENT_GLOBAL_STDIO_STREAMS
|
|
+#endif
|
|
+#endif
|
|
+
|
|
+#ifdef _WANT_USE_LONG_TIME_T
|
|
+#ifndef _USE_LONG_TIME_T
|
|
+#define _USE_LONG_TIME_T
|
|
+#endif
|
|
+#endif
|
|
+
|
|
+/* If _MB_EXTENDED_CHARSETS_ALL is set, we want all of the extended
|
|
+ charsets. The extended charsets add a few functions and a couple
|
|
+ of tables of a few K each. */
|
|
+#ifdef _MB_EXTENDED_CHARSETS_ALL
|
|
+#define _MB_EXTENDED_CHARSETS_ISO 1
|
|
+#define _MB_EXTENDED_CHARSETS_WINDOWS 1
|
|
+#endif
|
|
+
|
|
+#endif /* __SYS_CONFIG_H__ */
|
|
diff --git a/gcc/newlib/libc/machine/powerpc/setjmp.S b/gcc/newlib/libc/machine/powerpc/setjmp.S
|
|
index f327f31dae..0781cd6288 100644
|
|
--- a/gcc/newlib/libc/machine/powerpc/setjmp.S
|
|
+++ b/gcc/newlib/libc/machine/powerpc/setjmp.S
|
|
@@ -2,9 +2,16 @@
|
|
Ian Lance Taylor, Cygnus Support, 9 Feb 1994.
|
|
Modified by Jeff Johnston, Red Hat Inc. 2 Oct 2001. */
|
|
|
|
-#include "ppc-asm.h"
|
|
-
|
|
-FUNC_START(setjmp)
|
|
+ .toc
|
|
+ .csect .text[PR]
|
|
+ .align 2
|
|
+ .globl setjmp
|
|
+ .globl .setjmp
|
|
+ .csect setjmp[DS]
|
|
+setjmp:
|
|
+ .long .setjmp, TOC[tc0], 0
|
|
+ .csect .text[PR]
|
|
+.setjmp:
|
|
#ifdef __ALTIVEC__
|
|
addi 3,3,15 # align Altivec to 16 byte boundary
|
|
rlwinm 3,3,0,0,27
|
|
@@ -134,10 +141,16 @@ FUNC_START(setjmp)
|
|
#endif
|
|
li 3,0
|
|
blr
|
|
-FUNC_END(setjmp)
|
|
-
|
|
|
|
-FUNC_START(longjmp)
|
|
+ .csect .text[PR]
|
|
+ .align 2
|
|
+ .globl longjmp
|
|
+ .globl .longjmp
|
|
+ .csect longjmp[DS]
|
|
+longjmp:
|
|
+ .long .longjmp, TOC[tc0], 0
|
|
+ .csect .text[PR]
|
|
+.longjmp:
|
|
#ifdef __ALTIVEC__
|
|
addi 3,3,15 # align Altivec to 16 byte boundary
|
|
rlwinm 3,3,0,0,27
|
|
@@ -265,4 +278,3 @@ FUNC_START(longjmp)
|
|
bclr+ 4,2
|
|
li 3,1
|
|
blr
|
|
-FUNC_END(longjmp)
|
|
diff --git a/gcc/newlib/libc/sys/linux/config.h b/gcc/newlib/libc/sys/linux/config.h
|
|
new file mode 100644
|
|
index 0000000000..76b438c857
|
|
--- /dev/null
|
|
+++ b/gcc/newlib/libc/sys/linux/config.h
|
|
@@ -0,0 +1,16 @@
|
|
+#define HAVE_WEAK_SYMBOLS 1
|
|
+#define HAVE_GNU_LD 1
|
|
+#define HAVE_ELF 1
|
|
+#define __ASSUME_REALTIME_SIGNALS 1
|
|
+#define ASM_GLOBAL_DIRECTIVE .global
|
|
+
|
|
+#define TEMP_FAILURE_RETRY(expression) \
|
|
+ (__extension__ \
|
|
+ ({ long int __result; \
|
|
+ do __result = (long int) (expression); \
|
|
+ while (__result == -1L && errno == EINTR); \
|
|
+ __result; }))
|
|
+
|
|
+#define UINT32_C(c) c ## U
|
|
+
|
|
+#include <machine/sysdep.h>
|
|
diff --git a/gcc/newlib/libc/sys/linux/intl/config.h b/gcc/newlib/libc/sys/linux/intl/config.h
|
|
new file mode 100644
|
|
index 0000000000..69de0abcb7
|
|
--- /dev/null
|
|
+++ b/gcc/newlib/libc/sys/linux/intl/config.h
|
|
@@ -0,0 +1,29 @@
|
|
+#define HAVE_ICONV 1
|
|
+#define HAVE_STRING_H 1
|
|
+#define HAVE_MEMPCPY 1
|
|
+#define HAVE_STRCHR 1
|
|
+#define HAVE_STRDUP 1
|
|
+#define HAVE_MMAP 1
|
|
+#define HAVE_STRTOUL 1
|
|
+#define HAVE_ALLOCA_H 1
|
|
+#define HAVE_MALLOC_H 1
|
|
+#define HAVE_STRCASECMP 1
|
|
+#define HAVE_WEAK_SYMBOLS 1
|
|
+#define HAVE_GNU_LD 1
|
|
+#define HAVE_ELF 1
|
|
+#define __ASSUME_REALTIME_SIGNALS 1
|
|
+#define ASM_GLOBAL_DIRECTIVE .global
|
|
+
|
|
+#define TEMP_FAILURE_RETRY(expression) \
|
|
+ (__extension__ \
|
|
+ ({ long int __result; \
|
|
+ do __result = (long int) (expression); \
|
|
+ while (__result == -1L && errno == EINTR); \
|
|
+ __result; }))
|
|
+
|
|
+#define UINT32_C(c) c ## U
|
|
+
|
|
+#include <machine/sysdep.h>
|
|
+#include <features.h>
|
|
+
|
|
+#define _LIBC 1
|
|
diff --git a/gcc/newlib/libc/sys/linux/linuxthreads/config.h b/gcc/newlib/libc/sys/linux/linuxthreads/config.h
|
|
new file mode 100644
|
|
index 0000000000..05fb5ec965
|
|
--- /dev/null
|
|
+++ b/gcc/newlib/libc/sys/linux/linuxthreads/config.h
|
|
@@ -0,0 +1,13 @@
|
|
+#define HAVE_WEAK_SYMBOLS 1
|
|
+#define HAVE_GNU_LD 1
|
|
+#define HAVE_ELF 1
|
|
+#define __ASSUME_REALTIME_SIGNALS 1
|
|
+#define ASM_GLOBAL_DIRECTIVE .global
|
|
+
|
|
+#define TEMP_FAILURE_RETRY(expression) \
|
|
+ (__extension__ \
|
|
+ ({ long int __result; \
|
|
+ do __result = (long int) (expression); \
|
|
+ while (__result == -1L && errno == EINTR); \
|
|
+ __result; }))
|
|
+
|