mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-01 08:27:59 +00:00
gcc: more diff reductions against Apple GCC.
Mostly cosmetical changes to aid further merges. Obtained from: gcc 4.3 (rev. 120611, 124839; GPLv2) MFC after: 1 week
This commit is contained in:
parent
026346c8f1
commit
62f78f3261
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=259649
@ -150,6 +150,14 @@
|
||||
regs_invalidated_by_call, rather than just checking the
|
||||
membership of REGNO (REG).
|
||||
|
||||
2007-05-18 Geoffrey Keating <geoffk@apple.com> (r124839)
|
||||
|
||||
* dwarf2out.c (print_die): Use '%ld' not '%lu' to print a 'long'.
|
||||
(output_die): Use 'unsigned long' with %x.
|
||||
* sched-vis.c (print_value): Use 'unsigned HOST_WIDE_INT' and
|
||||
HOST_WIDE_INT_PRINT_HEX to print HOST_WIDE_INT.
|
||||
* tree-dump.c (dump_pointer): Use 'unsigned long' for %lx.
|
||||
|
||||
2007-05-16 Eric Christopher <echristo@apple.com> (r124763)
|
||||
|
||||
* config/rs6000/rs6000.c (rs6000_emit_prologue): Move altivec register
|
||||
@ -470,6 +478,14 @@
|
||||
* c-common.c (vector_types_convertible_p): Treat opaque types as
|
||||
always convertible if they have the same size, but not otherwise.
|
||||
|
||||
2007-01-08 Geoffrey Keating <geoffk@apple.com> (r120611)
|
||||
|
||||
* target.h (struct gcc_target): New field library_rtti_comdat.
|
||||
* target-def.h (TARGET_CXX_LIBRARY_RTTI_COMDAT): New.
|
||||
(TARGET_CXX): Add TARGET_CXX_LIBRARY_RTTI_COMDAT.
|
||||
* doc/tm.texi (C++ ABI): Document TARGET_CXX_LIBRARY_RTTI_COMDAT.
|
||||
* config/darwin.h (TARGET_CXX_LIBRARY_RTTI_COMDAT): Define.
|
||||
|
||||
2007-01-08 Mark Shinwell <shinwell@codesourcery.com> (r120572)
|
||||
|
||||
* c.opt: Add -flax-vector-conversions.
|
||||
|
@ -467,6 +467,10 @@ extern GTY(()) int darwin_ms_struct;
|
||||
with names, so it's safe to make the class data not comdat. */
|
||||
#define TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT hook_bool_void_false
|
||||
|
||||
/* For efficiency, on Darwin the RTTI information that is always
|
||||
emitted in the standard C++ library should not be COMDAT. */
|
||||
#define TARGET_CXX_LIBRARY_RTTI_COMDAT hook_bool_void_false
|
||||
|
||||
/* We make exception information linkonce. */
|
||||
#undef TARGET_USES_WEAK_UNWIND_INFO
|
||||
#define TARGET_USES_WEAK_UNWIND_INFO 1
|
||||
|
@ -35,6 +35,10 @@
|
||||
|
||||
* typeck.c (build_binary_op): Include types in error.
|
||||
|
||||
2007-05-18 Geoffrey Keating <geoffk@apple.com> (r124839)
|
||||
|
||||
* mangle.c (write_real_cst): Use 'unsigned long' for %lx.
|
||||
|
||||
2007-05-05 Geoffrey Keating <geoffk@apple.com> (r124467)
|
||||
|
||||
PR 31775
|
||||
|
@ -265,7 +265,7 @@ cp/tree.o: cp/tree.c $(CXX_TREE_H) $(TM_H) $(FLAGS_H) toplev.h $(RTL_H) \
|
||||
$(TARGET_H) debug.h
|
||||
cp/ptree.o: cp/ptree.c $(CXX_TREE_H) $(TM_H)
|
||||
cp/rtti.o: cp/rtti.c $(CXX_TREE_H) $(TM_H) $(FLAGS_H) toplev.h convert.h \
|
||||
gt-cp-rtti.h
|
||||
$(TARGET_H) gt-cp-rtti.h
|
||||
cp/except.o: cp/except.c $(CXX_TREE_H) $(TM_H) $(FLAGS_H) $(RTL_H) except.h \
|
||||
toplev.h cp/cfns.h $(EXPR_H) libfuncs.h $(TREE_INLINE_H) $(TARGET_H)
|
||||
cp/expr.o: cp/expr.c $(CXX_TREE_H) $(TM_H) $(RTL_H) $(FLAGS_H) $(EXPR_H) \
|
||||
|
@ -1340,7 +1340,7 @@ write_real_cst (const tree value)
|
||||
|
||||
for (; i != limit; i += dir)
|
||||
{
|
||||
sprintf (buffer, "%08lx", target_real[i]);
|
||||
sprintf (buffer, "%08lx", (unsigned long) target_real[i]);
|
||||
write_chars (buffer, 8);
|
||||
}
|
||||
}
|
||||
|
@ -32,6 +32,7 @@ Boston, MA 02110-1301, USA. */
|
||||
#include "assert.h"
|
||||
#include "toplev.h"
|
||||
#include "convert.h"
|
||||
#include "target.h"
|
||||
|
||||
/* C++ returns type information to the user in struct type_info
|
||||
objects. We also use type information to implement dynamic_cast and
|
||||
@ -1427,8 +1428,11 @@ emit_support_tinfos (void)
|
||||
comdat_linkage for details.) Since we want these objects
|
||||
to have external linkage so that copies do not have to be
|
||||
emitted in code outside the runtime library, we make them
|
||||
non-COMDAT here. */
|
||||
if (!flag_weak)
|
||||
non-COMDAT here.
|
||||
|
||||
It might also not be necessary to follow this detail of the
|
||||
ABI. */
|
||||
if (!flag_weak || ! targetm.cxx.library_rtti_comdat ())
|
||||
{
|
||||
gcc_assert (TREE_PUBLIC (tinfo) && !DECL_COMDAT (tinfo));
|
||||
DECL_INTERFACE_KNOWN (tinfo) = 1;
|
||||
|
@ -8953,6 +8953,12 @@ classes whose virtual table will be emitted in only one translation
|
||||
unit will not be COMDAT.
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Target Hook} bool TARGET_CXX_LIBRARY_RTTI_COMDAT (void)
|
||||
This hook returns true (the default) if the RTTI information for
|
||||
the basic types which is defined in the C++ runtime should always
|
||||
be COMDAT, false if it should not be COMDAT.
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Target Hook} bool TARGET_CXX_USE_AEABI_ATEXIT (void)
|
||||
This hook returns true if @code{__aeabi_atexit} (as defined by the ARM EABI)
|
||||
should be used to register static destructors when @option{-fuse-cxa-atexit}
|
||||
|
@ -5741,11 +5741,11 @@ print_die (dw_die_ref die, FILE *outfile)
|
||||
unsigned ix;
|
||||
|
||||
print_spaces (outfile);
|
||||
fprintf (outfile, "DIE %4lu: %s\n",
|
||||
fprintf (outfile, "DIE %4ld: %s\n",
|
||||
die->die_offset, dwarf_tag_name (die->die_tag));
|
||||
print_spaces (outfile);
|
||||
fprintf (outfile, " abbrev id: %lu", die->die_abbrev);
|
||||
fprintf (outfile, " offset: %lu\n", die->die_offset);
|
||||
fprintf (outfile, " offset: %ld\n", die->die_offset);
|
||||
|
||||
for (ix = 0; VEC_iterate (dw_attr_node, die->die_attr, ix, a); ix++)
|
||||
{
|
||||
@ -5793,7 +5793,7 @@ print_die (dw_die_ref die, FILE *outfile)
|
||||
if (AT_ref (a)->die_symbol)
|
||||
fprintf (outfile, "die -> label: %s", AT_ref (a)->die_symbol);
|
||||
else
|
||||
fprintf (outfile, "die -> %lu", AT_ref (a)->die_offset);
|
||||
fprintf (outfile, "die -> %ld", AT_ref (a)->die_offset);
|
||||
}
|
||||
else
|
||||
fprintf (outfile, "die -> <null>");
|
||||
@ -7063,7 +7063,8 @@ output_die (dw_die_ref die)
|
||||
output_die_symbol (die);
|
||||
|
||||
dw2_asm_output_data_uleb128 (die->die_abbrev, "(DIE (0x%lx) %s)",
|
||||
die->die_offset, dwarf_tag_name (die->die_tag));
|
||||
(unsigned long)die->die_offset,
|
||||
dwarf_tag_name (die->die_tag));
|
||||
|
||||
for (ix = 0; VEC_iterate (dw_attr_node, die->die_attr, ix, a); ix++)
|
||||
{
|
||||
@ -7245,7 +7246,7 @@ output_die (dw_die_ref die)
|
||||
/* Add null byte to terminate sibling list. */
|
||||
if (die->die_child != NULL)
|
||||
dw2_asm_output_data (1, 0, "end of children of DIE 0x%lx",
|
||||
die->die_offset);
|
||||
(unsigned long) die->die_offset);
|
||||
}
|
||||
|
||||
/* Output the compilation unit that appears at the beginning of the
|
||||
|
@ -430,7 +430,10 @@ print_value (char *buf, rtx x, int verbose)
|
||||
if (FLOAT_MODE_P (GET_MODE (x)))
|
||||
real_to_decimal (t, CONST_DOUBLE_REAL_VALUE (x), sizeof (t), 0, 1);
|
||||
else
|
||||
sprintf (t, "<0x%lx,0x%lx>", (long) CONST_DOUBLE_LOW (x), (long) CONST_DOUBLE_HIGH (x));
|
||||
sprintf (t,
|
||||
"<" HOST_WIDE_INT_PRINT_HEX "," HOST_WIDE_INT_PRINT_HEX ">",
|
||||
(unsigned HOST_WIDE_INT) CONST_DOUBLE_LOW (x),
|
||||
(unsigned HOST_WIDE_INT) CONST_DOUBLE_HIGH (x));
|
||||
cur = safe_concat (buf, cur, t);
|
||||
break;
|
||||
case CONST_STRING:
|
||||
|
@ -587,6 +587,10 @@ Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
#define TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT hook_bool_void_true
|
||||
#endif
|
||||
|
||||
#ifndef TARGET_CXX_LIBRARY_RTTI_COMDAT
|
||||
#define TARGET_CXX_LIBRARY_RTTI_COMDAT hook_bool_void_true
|
||||
#endif
|
||||
|
||||
#ifndef TARGET_CXX_USE_AEABI_ATEXIT
|
||||
#define TARGET_CXX_USE_AEABI_ATEXIT hook_bool_void_false
|
||||
#endif
|
||||
@ -606,6 +610,7 @@ Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
TARGET_CXX_KEY_METHOD_MAY_BE_INLINE, \
|
||||
TARGET_CXX_DETERMINE_CLASS_DATA_VISIBILITY, \
|
||||
TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT, \
|
||||
TARGET_CXX_LIBRARY_RTTI_COMDAT, \
|
||||
TARGET_CXX_USE_AEABI_ATEXIT, \
|
||||
TARGET_CXX_ADJUST_CLASS_AT_DEFINITION \
|
||||
}
|
||||
|
@ -783,6 +783,10 @@ struct gcc_target
|
||||
class data for classes whose virtual table will be emitted in
|
||||
only one translation unit will not be COMDAT. */
|
||||
bool (*class_data_always_comdat) (void);
|
||||
/* Returns true (the default) if the RTTI for the basic types,
|
||||
which is always defined in the C++ runtime, should be COMDAT;
|
||||
false if it should not be COMDAT. */
|
||||
bool (*library_rtti_comdat) (void);
|
||||
/* Returns true if __aeabi_atexit should be used to register static
|
||||
destructors. */
|
||||
bool (*use_aeabi_atexit) (void);
|
||||
|
@ -166,7 +166,7 @@ void
|
||||
dump_pointer (dump_info_p di, const char *field, void *ptr)
|
||||
{
|
||||
dump_maybe_newline (di);
|
||||
fprintf (di->stream, "%-4s: %-8lx ", field, (long) ptr);
|
||||
fprintf (di->stream, "%-4s: %-8lx ", field, (unsigned long) ptr);
|
||||
di->column += 15;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user