Benjamin Kosnik
00d04db682
atomicity.h: Include c++config.h to get defines.
...
2004-02-27 Benjamin Kosnik <bkoz@redhat.com>
* config/cpu/hppa/atomicity.h: Include c++config.h to get defines.
* src/misc-inst.cc (_S_atomicity_lock): Move to __gnu_cxx.
* config/os/irix/irix5.2/atomicity.h: Merge..
* config/os/irix/irix6.5/atomicity.h: Merge..
* config/os/irix/atomicity.h: ...into this.
* config/os/irix/atomic_word.h: New.
* configure.host: Set atomic_word_dir for irix.
* hppa/atomicity.h: Change __Atomicity_lock to _Atomicity_lock.
* i386/atomicity.h: Same.
* m68k/atomicity.h: Same.
* sparc/atomicity.h: Same.
From-SVN: r78577
2004-02-27 20:56:46 +00:00
Benjamin Kosnik
2c5d0ae842
atomicity.h: New, forward declarations for __atomic_add and __exchange_and_add.
...
2004-02-25 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/atomicity.h: New, forward declarations for __atomic_add
and __exchange_and_add.
* config/cpu/generic/atomic_word.h: New, typdef for atomic word.
* config/cpu/cris/atomic_word.h: Same.
* config/cpu/sparc/atomic_word.h: Same.
* include/bits/ios_base.h (_Callback_list::_M_remove_reference):
Qualifiy with __gnu_cxx.
(_Callback_list::_M_add_reference): Same.
* include/bits/locale_classes.h (locale::facet::_M_add_reference): Add.
(locale::facet::_M_remove_reference): Same.
(locale::_Impl::_M_add_reference): Add.
(locale::_Impl::_M_remove_reference): Same.
* include/bits/basic_string.h (basic_string::_Rep::_M_refcopy): Same.
(basic_string::_Rep::_M_dispose): Same.
* src/ios.cc (ios_base::xalloc): Same.
* src/ios_init.cc (ios_base::Init::Init): Same.
(ios_base::Init::~Init): Same.
* src/locale.cc (locale:🆔 :_M_id): Same.
* config/cpu/i486/atomicity.h: Use __gnu_cxx namespace. Remove
static, and inline keyworks.
* config/cpu/alpha/atomicity.h: Same.
* config/cpu/cris/atomicity.h: Same.
* config/cpu/generic/atomicity.h: Same.
* config/cpu/hppa/atomicity.h: Same.
* config/cpu/i386/atomicity.h: Same.
* config/cpu/ia64/atomicity.h: Same.
* config/cpu/m68k/atomicity.h: Same.
* config/cpu/mips/atomicity.h: Same.
* config/cpu/powerpc/atomicity.h: Same.
* config/cpu/s390/atomicity.h: Same.
* config/cpu/sparc/atomicity.h: Same.
* src/Makefile.am (host_sources): Add atomicity.cc.
(atomicity.cc): New rule.
* src/Makefile.in: Regenerate.
* include/Makefile.am (host_headers): Remove host atomicity.h.
(host_headers): Add atomic_word.h.
(bits_headers): Add bits atomicity.h.
Change ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
* include/Makefile.in: Regenerate.
* configure.host (atomic_word_dir): Add.
* configure.ac: Substitute ATOMIC_WORD_SRCDIR. Change
ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
* configure: Regenerate.
* config/linker-map.gnu: Export __exchange_and_add, and __atomic_add.
* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
From-SVN: r78544
2004-02-27 00:49:50 +00:00
Jason Merrill
46eb4b3989
atomicity.h: Remove memory clobbers.
...
* config/cpu/cris/atomicity.h: Remove memory clobbers.
* config/cpu/mips/atomicity.h: Likewise.
* config/cpu/i486/atomicity.h: Remove memory clobbers.
Split up read-write memory operand.
* config/cpu/m68k/atomicity.h: Likewise.
* config/cpu/powerpc/atomicity.h: Make memory I/O explicit.
* config/cpu/s390/atomicity.h: Likewise.
* config/cpu/sparc/atomicity.h: Likewise.
From-SVN: r74870
2003-12-19 22:08:42 -05:00
Benjamin Kosnik
5ec3f5662c
linker-map.gnu: Remove private ios_base members from export list.
...
2003-12-09 Benjamin Kosnik <bkoz@redhat.com>
* config/linker-map.gnu: Remove private ios_base members from
export list.
* config/cpu/alpha/atomicity.h: Consistently format.
* config/cpu/cris/atomicity.h: Same.
* config/cpu/generic/atomicity.h: Same.
* config/cpu/hppa/atomicity.h: Same.
* config/cpu/i386/atomicity.h: Same.
* config/cpu/i486/atomicity.h: Same.
* config/cpu/ia64/atomicity.h: Same.
* config/cpu/m68k/atomicity.h: Same.
* config/cpu/mips/atomicity.h: Same.
* config/cpu/powerpc/atomicity.h: Same.
* config/cpu/s390/atomicity.h: Same.
* config/cpu/sparc/atomicity.h: Same.
From-SVN: r74486
2003-12-10 04:52:37 +00:00
Bernardo Innocenti
068c84e3b5
atomicity.h (__exchange_and_add): Use TAS on __mcf5400__.
...
* config/cpu/m68k/atomicity.h (__exchange_and_add): Use TAS on
__mcf5400__. Don't rely on __mc68000__ to detect a bare 68000.
Document SMP safeness of asm macros.
From-SVN: r72570
2003-10-16 21:47:45 +02:00
Bernardo Innocenti
1c64ab6172
re PR libstdc++/11784 (atomic __exchange_and_add() broken for ColdFire and 68000 targets.)
...
2003-08-07 Bernardo Innocenti <bernie@develer.com>
PR libstdc++/11784
* libstdc++-v3/config/cpu/m68k/atomicity.h (__exchange_and_add):
Replace variants with new BSET-based version.
[[Split portion of a mixed commit.]]
From-SVN: r70231.2
2003-08-07 20:58:04 +00:00
Bernardo Innocenti
4e9ebd4bc8
re PR libstdc++/11784 (atomic __exchange_and_add() broken for ColdFire and 68000 targets.)
...
2003-08-07 Bernardo Innocenti <bernie@develer.com>
PR libstdc++/11784
* libstdc++-v3/config/cpu/m68k/atomicity.h (__exchange_and_add):
Replace variants with new BSET-based version.
From-SVN: r70230
2003-08-07 20:53:57 +00:00
Benjamin Kosnik
3d7c150e3f
Move from CPP to CXX.
...
2003-07-04 Benjamin Kosnik <bkoz@redhat.com>
Move from CPP to CXX.
* include/bits/c++config: Move to GLIBCXX from GLIBCPP.
* testsuite/Makefile.am: Same.
* testsuite/Makefile.in: Regenerate.
* po/Makefile.am: Same.
* po/Makefile.in: Regenerate.
* libsupc++/Makefile.am: Same.
* libsupc++/Makefile.in: Regenerate.
* libmath/Makefile.am: Same.
* libmath/Makefile.in: Regenerate.
* include/Makefile.am: Same.
* include/Makefile.in: Regenerate.
* src/Makefile.am: Same.
* src/Makefile.in: Regenerate.
* acconfig.h: Same.
* configure.host: Same.
* configure.in: Same.
* configure: Regenerate.
* acinclude.m4: Same.
* aclocal.m4: Same.
* src: Change all files in this directory.
* testsuite: Same.
* include: Same, standardize include guards.
* config: Same.
* libsupc++: Same.
From-SVN: r68958
2003-07-05 04:05:45 +00:00
Jason Merrill
e55393db34
atomicity.h (__exchange_and_add, [...]): *__mem is also an output.
...
* config/cpu/i486/atomicity.h (__exchange_and_add, __atomic_add):
*__mem is also an output.
* config/cpu/m68k/atomicity.h (__exchange_and_add): Likewise.
From-SVN: r60807
2003-01-02 17:48:21 -05:00
Benjamin Kosnik
ca017eef3a
Makefile.am (target_headers): Remove cpu_limits.h.
...
2002-09-25 Benjamin Kosnik <bkoz@redhat.com>
* include/Makefile.am (target_headers): Remove cpu_limits.h.
* include/Makefile.in: Regenerate.
* configure.in (CPU_LIMITS_INC_SRCDIR): Remove
* configure: Regenerate.
* configure.target (CPULIMITS): Remove.
* include/std/std_limits.h: Remove cpu_limits.h include.
* config/os/solaris/solaris2.7/os_defines.h (__glibcpp_long_bits):
Remove.
* config/os/irix/irix6.5/os_defines.h
(__glibcpp_long_double_bits): Remove.
(__glibcpp_wchar_t_bits): Remove.
(__glibcpp_long_bits): Remove.
* config/os/irix/irix5.2/os_defines.h
(__glibcpp_long_double_bits): Remove.
(__glibcpp_long_bits): Remove.
* config/os/hpux/os_defines.h (__glibcpp_wchar_t_is_signed): Remove.
* config/os/bsd/freebsd/os_defines.h:
(__glibcpp_long_double_bits): Remove.
* config/os/aix/os_defines.h (__glibcpp_wchar_t_bits): Remove.
(__glibcpp_wchar_t_is_signed): Remove.
(__glibcpp_long_bits): Remove.
* config/os/gnu-linux/os_defines.h (__glibcpp_long_bits): Remove.
(__glibcpp_long_double_bits): Remove.
* config/os/osf/osf5.0/cpu_limits.h: Remove.
* config/cpu/alpha/cpu_limits.h: Remove.
* config/cpu/arm/cpu_limits.h: Remove.
* config/cpu/cris/cpu_limits.h: Remove.
* config/cpu/generic/cpu_limits.h: Remove.
* config/cpu/generic/limits.h: Remove.
* config/cpu/ia64/cpu_limits.h: Remove.
* config/cpu/m68k/cpu_limits.h: Remove.
* config/cpu/mmix/cpu_limits.h: Remove.
* config/cpu/powerpc/cpu_limits.h: Remove.
* config/cpu/S390/cpu_limits.h: Remove.
From-SVN: r57524
2002-09-26 05:25:14 +00:00
Phil Edwards
d32e25dffa
*: Move header files up a level.
...
2002-06-24 Phil Edwards <pme@gcc.gnu.org>
* config/cpu/*/bits/*: Move header files up a level. Remove bits.
* config/os/*/bits/*: Likewise.
* configure.in: Update.
* configure: Regenerate.
* configure.target: Update.
* docs/html/17_intro/porting.texi: Update.
From-SVN: r54943
2002-06-24 05:50:58 +00:00
Marc Espie
04df515ada
atomicity.h (__exchange_and_add): Fix inline assembly for old assemblers.
...
* config/cpu/m68k/bits/atomicity.h(__exchange_and_add): Fix inline
assembly for old assemblers.
From-SVN: r54202
2002-06-03 05:26:00 +00:00
Joel Sherrill
0b46224d2b
atomicity.h: Corrected for RTEMS targets which do not have a CAS instruction.
...
2001-02-14 Joel Sherrill <joel@OARcorp.com>
* config/cpu/m68k/bits/atomicity.h: Corrected for RTEMS targets which
do not have a CAS instruction.
From-SVN: r49772
2002-02-14 18:57:38 +00:00
Richard Henderson
acae253ec1
re PR libstdc++/5198 (3.0.3 linux x m68k build fail: invalid opcodes in c++locale.cc)
...
PR libstdc++/5198
* config/cpu/m68k/bits/atomicity.h (__exchange_and_add): Only use
CAS on the cpu variants that support it. Add versions that use
TAS and that disable interrupts.
(__atomic_add): Use __exchange_and_add to guarantee atomicity.
From-SVN: r49160
2002-01-23 17:31:13 -08:00
Benjamin Kosnik
f295ecef02
limits.h: Move to...
...
2001-10-22 Benjamin Kosnik <bkoz@redhat.com>
* config/cpu/i386/bits/limits.h: Move to...
* config/cpu/i386/bits/cpu_limits.h: ...here.
* config/cpu/cris/bits/cpu_limits.h: Same.
* config/cpu/powerpc/bits/cpu_limits.h: Same.
* config/cpu/x86-64/bits/cpu_limits.h: Same.
* config/cpu/alpha/bits/cpu_limits.h: New.
* config/cpu/m68k/bits/cpu_limits.h: New.
* config/cpu/s390/bits/cpu_limits.h: New.
* config/os/aix/bits/os_defines.h: Tweaks.
* config/os/bsd/freebsd/bits/os_defines.h: Same.
* config/os/bsd/netbsd/bits/os_defines.h: Same.
* config/os/djgpp/bits/os_defines.h: Same.
* config/os/generic/bits/os_defines.h: Same.
* config/os/gnu-linux/bits/os_defines.h: Same.
* config/os/hpux/bits/os_defines.h: Same.
* config/os/irix/irix5.2/bits/os_defines.h: Same.
* config/os/irix/irix6.5/bits/os_defines.h: Same.
* config/os/newlib/bits/os_defines.h: Same.
* config/os/solaris/solaris2.5/bits/os_defines.h: Same.
* config/os/solaris/solaris2.6/bits/os_defines.h: Same.
* config/os/solaris/solaris2.7/bits/os_defines.h: Same.
* include/bits/c++config: Remove include.
* include/bits/limits_generic.h: Remove.
* include/bits/std_limits.h: Include cpu_limits.h.
* include/Makefile.am: Fixup.
* src/limits.cc: Tweak.
* src/limits_generic.cc: Remove.
* src/gen-num-limits.cc: Remove.
* mknumeric_limits: Remove.
From-SVN: r46445
2001-10-23 21:40:31 +00:00
Andreas Schwab
b8f73826af
configure.target (cpu_include_dir): Set to `config/cpu/m68k' for m68k and m680[246]0.
...
* configure.target (cpu_include_dir): Set to `config/cpu/m68k' for
m68k and m680[246]0.
* config/cpu/m68k/bits/atomicity.h: New file.
From-SVN: r44925
2001-08-15 16:00:45 +00:00