Jason Merrill [Mon, 16 Sep 2002 22:24:43 +0000 (18:24 -0400)]
winnt.c (ix86_handle_dll_attribute): Set DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
* config/i386/winnt.c (ix86_handle_dll_attribute): Set
DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
(i386_pe_mark_dllimport): Not here.
Co-Authored-By: Danny Smith <dannysmith@users.sourceforge.net>
From-SVN: r57217
target.c (ffetarget_memcpy_): Don't test nonexistent HOST_BYTES_BIG_ENDIAN, HOST_BITS_BIG_ENDIAN.
* target.c (ffetarget_memcpy_): Don't test nonexistent
HOST_BYTES_BIG_ENDIAN, HOST_BITS_BIG_ENDIAN. Check
HOST_WORDS_BIG_ENDIAN against both WORDS_BIG_ENDIAN and
BYTES_BIG_ENDIAN.
Alan Modra [Fri, 13 Sep 2002 06:53:05 +0000 (06:53 +0000)]
PR other/7114, target/5967
2002-07-18 Alan Modra <amodra@bigpond.net.au>
PR other/7114, target/5967
* config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
adjustments to first_reg for profiling case.
(output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
Save static chain reg to sp + 12 on ABI_AIX_NODESC.
* config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
(ASM_OUTPUT_REG_POP): Define.
* config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
(ASM_OUTPUT_REG_POP): Undef.
Alan Modra [Fri, 13 Sep 2002 05:22:59 +0000 (05:22 +0000)]
backport: PR c/7150, target/7380
Merge from mainline.
2002-07-24 Alan Modra <amodra@bigpond.net.au>
PR c/7150, target/7380
* config/rs6000/rs6000.md: Remove scratch reg on insns using
addze and similar (plus (comparison r1 r2) r3) insns. Add
missing scratch reg in one case. Formatting fixes.
Benjamin Kosnik [Fri, 13 Sep 2002 02:25:49 +0000 (02:25 +0000)]
[multiple changes]
2002-09-12 Benjamin Kosnik <bkoz@redhat.com>
* libmath/Makefile.am (LIBTOOL): Use --tag CC always for this
directory.
* libmath/Makefile.in: Regenerate.
* src/Makefile.am: Tweak comment.
* src/Makefile.in: Regenerate.
Janis Johnson [Thu, 12 Sep 2002 16:46:12 +0000 (16:46 +0000)]
[multiple changes]
2002-09-12 Janis Johnson <janis187@us.ibm.com>
* doc/compat.texi: New file with new chapter, Binary Compatibility.
and this, which should have been added yesterday:
2002-09-11 Janis Johnson <janis187@us.ibm.com>
* Makefile.in (TEXI_GCC_FILES): Add compat.texi.
* doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
include its file, compat.texi.
* doc/trouble.texi (Interoperation): Update information about C++ ABI
issues.
* doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
(-fpcc-struct-return, -freg-struct-return, -fshort-enums,
-fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
Warn that these options can break ABI compatibility.
(Many places): Fix overfull hboxes.
* doc/extend.texi: Fix a broken link; fix overfull hboxes.
* doc/install.texi: Fix a typo, some formatting directives, and
overfull hboxes.
* doc/c-tree.texi: Fix overfull hboxes.
* doc/cppopts.texi: Ditto.
* doc/makefile.texi: Ditto.
* doc/rtl.texi: Ditto.
* doc/standards.texi: Ditto.
* doc/tm.texi: Ditto.
Alan Modra [Thu, 12 Sep 2002 02:27:14 +0000 (02:27 +0000)]
emit-rtl.c (set_mem_size): New function.
* emit-rtl.c (set_mem_size): New function.
* expr.h (set_mem_size): Declare.
* config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
(expand_block_move): Instead, use adjust_address and
replace_equiv_address to generate proper aliasing info.
Move common code out of conditionals. Localize vars.
Janis Johnson [Wed, 11 Sep 2002 16:40:29 +0000 (16:40 +0000)]
Makefile.in (TEXI_GCC_FILES): Add compat.texi.
2002-09-11 Janis Johnson <janis187@us.ibm.com>
* Makefile.in (TEXI_GCC_FILES): Add compat.texi.
* doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
include its file, compat.texi.
* doc/compat.texi: New file with new chapter, Binary Compatibility.
* doc/trouble.texi (Interoperation): Update information about C++ ABI
issues.
* doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
(-fpcc-struct-return, -freg-struct-return, -fshort-enums,
-fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
Warn that these options can break ABI compatibility.
(Many places): Fix overfull hboxes.
* doc/extend.texi: Fix a broken link; fix overfull hboxes.
* doc/install.texi: Fix a typo, some formatting directives, and
overfull hboxes.
* doc/c-tree.texi: Fix overfull hboxes.
* doc/cppopts.texi: Ditto.
* doc/makefile.texi: Ditto.
* doc/rtl.texi: Ditto.
* doc/standards.texi: Ditto.
* doc/tm.texi: Ditto.
sched-deps.c (sched_analyze_insn): Make sure to add insn to reg_last->sets after flushing the dependency lists to...
* sched-deps.c (sched_analyze_insn): Make sure to add insn
to reg_last->sets after flushing the dependency lists to guarantee
that subsequent clobbers will be dependent on it.
Jakub Jelinek [Fri, 6 Sep 2002 18:32:08 +0000 (20:32 +0200)]
configure.target: Use cpu_include_dir="config/cpu/sparc" for all sparc targets.
* configure.target: Use cpu_include_dir="config/cpu/sparc" for all
sparc targets.
* config/cpu/sparc/bits/atomicity.h: New file.
* config/cpu/sparc/sparc32/bits/atomicity.h: Removed.
* config/cpu/sparc/sparc64/bits/atomicity.h: Removed.
Jakub Jelinek [Fri, 6 Sep 2002 18:11:57 +0000 (20:11 +0200)]
configure.target: Use cpu_include_dir="config/cpu/sparc" for all sparc targets.
* configure.target: Use cpu_include_dir="config/cpu/sparc" for all
sparc targets.
* config/cpu/sparc/bits/atomicity.h: New file.
* config/cpu/sparc/sparc32/bits/atomicity.h: Removed.
* config/cpu/sparc/sparc64/bits/atomicity.h: Removed.
Jakub Jelinek [Fri, 6 Sep 2002 17:54:17 +0000 (19:54 +0200)]
ctype_noninline.h [...]: Remove using _C_legacy::__ctype_*.
* config/os/gnu-linux/bits/ctype_noninline.h
[_GLIBCPP_USE_SHADOW_HEADERS]: Remove using _C_legacy::__ctype_*.
(ctype<char>::classic_table): If _GLIBCPP_C_LOCALE_GNU, return
_S_c_locale->__ctype_b, otherwise temporarily switch to "C" locale
and return __ctype_b.
(ctype<char>::ctype(__c_locale, const mask*, bool, size_t)): If not
_GLIBCPP_C_LOCALE_GNU, temporarily switch to "C" locale and
initialize using __ctype_{b,tolower,toupper}.
(ctype<char>::ctype(const mask*, bool, size_t)): If
_GLIBCPP_C_LOCALE_GNU, initialize using
_S_c_locale->__ctype_{b,tolower,toupper}, otherwise temporarily
switch to "C" locale and initialize using __ctype_{b,tolower,toupper}.
Paolo Carlini [Thu, 5 Sep 2002 21:35:27 +0000 (23:35 +0200)]
re PR libstdc++/7811 (default locale not taken from environment)
2002-09-05 Paolo Carlini <pcarlini@unitus.it>
Roland McGrath <roland@redhat.com>
PR libstdc++/7811
* src/locale.cc (locale::locale(__s)): Use getenv instead
of setenv for the environment locale.
* testsuite/22_locale/ctor_copy_dtor.cc (test03): New.
Co-Authored-By: Roland McGrath <roland@redhat.com>
From-SVN: r56866
Phil Edwards [Thu, 5 Sep 2002 16:10:08 +0000 (16:10 +0000)]
Makefile.am: Use LD_RUN_PATH when linking abi_check.
2002-09-05 Phil Edwards <pme@gcc.gnu.org>
* testsuite/Makefile.am: Use LD_RUN_PATH when linking abi_check.
Fix spelling in comment.
* testsuite/Makefile.in: Regenerate.
* testsuite/abi_check.cc: Use string literals to build 'cmd' rather
than 'quote' and 'bslash'.
Jakub Jelinek [Thu, 5 Sep 2002 07:53:14 +0000 (09:53 +0200)]
ctype_members.cc (ctype<wchar_t>::do_widen(char)): Switch to _M_c_locale_ctype around btowc call.
* config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_widen(char)):
Switch to _M_c_locale_ctype around btowc call.
(ctype<wchar_t>::do_widen(const char*, const char *, wchar_t*)):
Switch to _M_c_locale_ctype around mbsrtowcs call.
(ctype<wchar_t>::do_narrow(char)): Switch to _M_c_locale_ctype around
wctob call.
(ctype<wchar_t>::do_narrow(const char*, const char *, wchar_t*)):
Switch to _M_c_locale_ctype around wcsrtombs call.
Jakub Jelinek [Thu, 5 Sep 2002 07:50:45 +0000 (09:50 +0200)]
monetary_members.cc (moneypunct<wchar_t, [...]): Use __uselocale instead of setlocale for glibc 2.3.
* config/locale/gnu/monetary_members.cc
(moneypunct<wchar_t, true>::_M_initialize_moneypunct,
moneypunct<wchar_t, false>::_M_initialize_moneypunct): Use
__uselocale instead of setlocale for glibc 2.3.
Jakub Jelinek [Thu, 5 Sep 2002 07:45:12 +0000 (09:45 +0200)]
c++locale_internal.h: New header.
* config/locale/generic/c++locale_internal.h: New header.
* config/locale/gnu/c++locale_internal.h: New header.
* config/locale/gnu/c_locale.cc: Include it.
* config/locale/gnu/collate_members.cc: Include it.
* config/locale/gnu/ctype_members.cc: Include it.
* config/locale/gnu/messages_members.cc: Include it.
* config/locale/gnu/monetary_members.cc: Include it.
* config/locale/gnu/numeric_members.cc: Include it.
* config/locale/gnu/time_members.cc: Include it.
(_M_put): Reorder __strftime_l and __wcsftime_l arguments to match
glibc.
(_M_initialize_timepunct): Initialize _M_c_locale_timepunct for
C locale.
* acinclude.m4: Include string.h when testing strcoll_l.
For glibc 2.3 provide __-prefixed prototypes.
(CLOCALE_INTERNAL_H): Set, add AC_LINK_FILES line.
* aclocal.m4, configure: Rebuilt.
* include/bits/locale_facets.h: Add declaration of specialization
here.
* config/locale/gnu/messages_members.cc: Add specialization for
messages<wchar_t>.
* config/locale/gnu/messages_members.h: Remove generic definition
of do_get.
* c-tree.h (skip_evaluation): Move declaration...
* c-common.h: ... here.
* c-typeck.c (build_external_ref): Don't assemble_external nor
mark a tree as used if skip_evaluation is set.
* c-parse.in (typeof): New non-terminal to set skip_evaluation
around TYPEOF.
(typespec_nonreserved_nonattr): Use it.
parse.y (sizeof, [...]): New non-terminals to increment skip_evaluation.
* parse.y (sizeof, alignof, typeof): New non-terminals to
increment skip_evaluation. Replace terminals with them and
decrement skip_evaluation at the end of rules using them.
* decl2.c (mark_used): Don't assemble_external if
skipping evaluation.