public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* Remove obsolete Tru64 UNIX V5.1B support
@ 2012-03-05 17:14 Rainer Orth
  2012-03-05 17:28 ` Richard Henderson
                   ` (3 more replies)
  0 siblings, 4 replies; 27+ messages in thread
From: Rainer Orth @ 2012-03-05 17:14 UTC (permalink / raw)
  To: gcc-patches
  Cc: java-patches, libstdc++,
	Richard Henderson, Joseph S. Myers, Bruce Korb, Arnaud Charlet,
	Tristan Gingold

[-- Attachment #1: Type: text/plain, Size: 23932 bytes --]

The Tru64 UNIX V5.1 port has been obsoleted in GCC 4.7, and it's now
time to remove it from mainline.  The following patch does just that,
and should be mostly uncontroversial, like removing target-specific
fixincludes hacks, files, and testsuite support.

Then, there are target-specific features only used by this port (like
support for #pragma extern_prefix), and workarounds for target-specific
bugs (at least according to the comments).  In the last case, I've been
a bit aggressive by removing the workarounds.  It may well be that other
targets depend on them, but if not, we'd continue to carry garbage
around for years to come.

This is where I need explicit approval and/or guidance:

* There are some fixincludes hacks that from their names seem to be
  osf-specific, but are not restricted to alpha*-dec-osf*.  Bruce,
  what's the best way to handle those?  Disable them e.g. with a mach
  clause like unused-alpha*-dec-osf* and see if anything else breaks?

* In the alpha backend, there are a couple of cases that might be
  osf-specific, but I cannot tell for certain:

  macro				  osf5.h        alpha.h

  TARGET_AS_CAN_SUBTRACT_LABELS	  1		TARGET_GAS

  I cannot tell if !TARGET_GAS configurations exist, especially Alpha VMS.
  Also, in alpha.h there are some references to mips-tfile, which is
  gone with osf.  If there are no non-gas configrations remaining, that
  stuff can go, too.

  TARGET_HAS_XFLOATING_LIBS	  1		TARGET_LONG_DOUBLE_128

  Same here: any configurations with !TARGET_LONG_DOUBLE_128?

  TARGET_LD_BUGGY_LDGP		  1		0

  I've ripped this out, although a considerable part needs to remain to
  support flag_reorder_blocks_and_partition.

  HAVE_STAMP_H                    1

  In my understanding, this is purely a OSF thing and can go, but maybe
  other OSes on alpha mimiced OSF here?

  Then there's struct machine_function.some_ld_name in alpha.c.  The
  comment claims that it's for OSF, but this cannot be true: it's only
  used for TLS local dynamic, but while Tru64 UNIX V5.1 has native TLS
  support, the model is completely different from the ELF one.

  None of this is critical and further cleanups can certainly be done as
  followups.

* As I've mentioned, I've ripped out the #pragma extern_prefix support:
  while VMS has something similar, it doesn't use the common code.

* In libjava, there were several workarounds for OSF bugs/quirks.  I've
  ripped them out as explained above.

  There's one particular issue: the change to java/io/File.java required
  my to regenerate the .class file in classpath.  I've used Sun javac
  -target 1.5 for that and hope I got it right.

* The libstdc++ testsuite is messy since every thing pthread test
  includes the complete list of targets where it should be run, and the
  options required.  I've long meant to clean this up, but this will
  have to wait until after osf and irix are gone from the tree.

* With the removal of #pragma extern_prefix support, gcc/po/gcc.pot
  needs to be regenerated.  Since I'm not positive I have the right
  tools and trying found unrelated changes, I've omitted that change.

Unfortunately, I had to attach the patch compressed as it was too large
for the mailing list.

The patch was tested in two different ways:

* Full i386-pc-solaris2.10 bootstrap to make sure I didn't break any
  shared code.

* i386-pc-solaris2.10 x alpha-freebsd6.0 cross-build (C-only) to make
  sure the alpha changes are syntactically correct.

Ok for mainline?

	Rainer


2012-03-04  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	libstdc++-v3:
	* configure.host: Remove osf* handling.
	* config/os/osf: Remove.
	* doc/xml/manual/using.xml: Remove OSF reference.

	* testsuite/18_support/pthread_guard.cc: Remove alpha*-*-osf*
	handling.
	* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
	Likewise.
	* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
	Likewise.
	* testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
	* testsuite/21_strings/basic_string/pthread4.cc: Likewise.
	* testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
	* testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
	* testsuite/23_containers/list/pthread1.cc: Likewise.
	* testsuite/23_containers/list/pthread5.cc: Likewise.
	* testsuite/23_containers/map/pthread6.cc: Likewise.
	* testsuite/23_containers/vector/debug/multithreaded_swap.cc:
	Likewise.
	* testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
	* testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
	* testsuite/30_threads/async/42819.cc: Likewise.

	* libstdc++-v3/testsuite/30_threads/async/49668.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/async/any.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/async/async.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/async/launch.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/async/sync.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/call_once/39909.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/call_once/49668.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/call_once/call_once1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable/cons/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable/members/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable/members/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable_any/50862.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable_any/cons/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable_any/members/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable_any/members/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/future/cons/move.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/45133.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/get.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/get2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/share.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/valid.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/wait.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/lock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/lock/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/lock/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/lock/4.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/cons/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/dest/destructor_locked.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/lock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/native_handle/typesizes.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/unlock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/cons/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/cons/move.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/swap.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/cons/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/lock/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/native_handle/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/try_lock/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/try_lock/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/unlock/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/lock/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/lock/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/unlock/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/this_thread/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/this_thread/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/this_thread/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/this_thread/4.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/4.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/49668.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/5.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/6.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/7.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/8.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/9.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/moveable.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/members/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/members/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/members/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/members/4.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/members/5.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/members/hardware_concurrency.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/swap/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/native_handle/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/3.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_until/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_until/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/try_lock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/try_lock/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/try_lock/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/try_lock/4.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/modifiers/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/modifiers/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/ext/rope/pthread7-rope.cc: Likewise.
	* libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
	Likewise.
	* libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.

	libobjc:
	* configure.ac (enable_objc_gc): Remove alpha*-dec-osf* handling.
	* configure: Regenerate.

	* thr.c (_XOPEN_SOURCE): Define unconditionally.

	libjava:
	* configure.ac (alpha*-dec-osf*): Remove.
	* configure: Regenerate.
	* configure.host (alpha*-dec-osf*): Remove.

	* gnu/java/net/natPlainDatagramSocketImplPosix.cc (setOption): Use
	IPV6_MULTICAST_IF unconditionally.
	* gnu/java/net/natPlainDatagramSocketImplWin32.cc (setOption):
	Likewise.
	* gnu/java/net/natPlainSocketImplPosix.cc
	(gnu::java::net::PlainSocketImpl::accept): Use ::accept instead of
	_Jv_accept.
	* include/posix-signal.h [__alpha__ && __osf__]: Remove.
	* include/posix.h (_POSIX_PII_SOCKET): Don't define.
	(_Jv_accept): Remove.

	* java/io/File.java (File._access): Rename to access.
	Change callers.
	(File._stat): Likewise.
	* java/io/File.h: Regenerate.
	* classpath/lib/java/io/File.class: Regenerate.
	* java/io/natFilePosix.cc (java::io::File::_access): Rename to
	access.
	(java::io::File::_stat): Rename to stat.
	* java/io/natFileWin32.cc: Likewise.

	* testsuite/libjava.jni/jni.exp (gcj_jni_get_cxxflags_invocation):
	Remove alpha*-dec-osf* handling.
	* testsuite/libjava.jvmti/jvmti-interp.exp
	(gcj_jni_compile_c_to_so): Likewise.
	* testsuite/libjava.jvmti/jvmti.exp (gcj_jvmti_compile_cxx_to_o):
	Likewise.

	libitm:
	* configure.tgt (*-*-osf*): Remove.
	* configure: Regenerate.

	libgomp:
	* configure.tgt (alpha*-dec-osf*): Remove.

	* config/osf/sem.h: Remove.
	* config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.

	libgfortran:
	* configure.ac: Remove Tru64 reference.
	* acinclude.m4 (LIBGFOR_GTHREAD_WEAK): Remove alpha*-dec-osf*
	handling.
	* configure: Regenerate.
	* intrinsics/c99_functions.c [__osf__]: Remove.

	libgcc:
	* config.host: Remove alpha*-dec-osf5.1* handling.
	* config/alpha/gthr-posix.c: Remove.
	* config/alpha/libgcc-osf5.ver: Remove.
	* config/alpha/osf5-unwind.h: Remove.
	* config/alpha/t-osf-pthread: Remove.
	* config/alpha/t-slibgcc-osf: Remove.
	* config/t-crtfm (crtfastmath.o): Remove -frandom-seed.
	* gthr-posix.h [!_REENTRANT && __osf__] (_REENTRANT): Don't define.
	[__osf__ && _PTHREAD_USE_MANGLED_NAMES_]: Remove.
	* mkmap-flat.awk: Remove osf_export handling.

	gnattools:
	* configure.ac: Remove alpha*-dec-osf* handling.
	* configure: Regenerate.

	gcc/testsuite:
	* g++.dg/abi/rtti3.C: Remove alpha*-dec-osf* handling.
	* g++.dg/abi/thunk4.C: Likewise.
	* g++.dg/cdce3.C: Don't skip on*-dec-osf5*.
	Adapt line numbers.
	* g++.dg/compat/struct-layout-1_generate.c: Remove alpha*-dec-osf*
	handling.
	* g++.dg/cpp0x/constexpr-rom.C: Likewise.
	* g++.dg/eh/spbp.C: Likewise.
	* g++.dg/ext/label13.C: Likewise.
	* g++.dg/guality/guality.exp: Likewise.
	* g++.dg/other/anon5.C: Likewise.
	* g++.dg/other/pragma-ep-1.C: Remove.
	* g++.dg/warn/miss-format-1.C: Remove alpha*-dec-osf* handling.
	* g++.dg/warn/pr31246.C: Likewise.
	* g++.dg/warn/weak1.C: Likewise.
	* g++.old-deja/g++.eh/badalloc1.C: Likewise.
	* g++.old-deja/g++.ext/attrib5.C: Likewise.
	* gcc.c-torture/compile/limits-declparen.c: Likewise.
	* gcc.c-torture/compile/limits-pointer.c: Likewise.
	* gcc.c-torture/execute/20001229-1.c: Remove __osf__ handling.
	* gcc.dg/attr-weakref-1.c: Remove alpha*-dec-osf* handling.
	* gcc.dg/c99-stdint-6.c: Remove alpha*-dec-osf5* handling.
	* gcc.dg/c99-tgmath-1.c: Likewise.
	* gcc.dg/c99-tgmath-2.c: Likewise.
	* gcc.dg/c99-tgmath-3.c: Likewise.
	* gcc.dg/c99-tgmath-4.c: Likewise.
	* gcc.dg/compat/struct-layout-1_generate.c: Remove alpha*-dec-osf*
	handling.
	* gcc.dg/debug/pr49032.c: Likewise.
	* gcc.dg/guality/guality.exp: Likewise.
	* gcc.dg/intmax_t-1.c: Likewise.
	* gcc.dg/pr48616.c: Likewise.
	* gcc.dg/pragma-ep-1.c: Remove.
	* gcc.dg/pragma-ep-2.c: Remove.
	* gcc.dg/pragma-ep-3.c: Remove.
	* gcc.dg/torture/pr47917.c: Remove alpha*-dec-osf5* handling.
	* gcc.dg/tree-ssa/pr42585.c: Remove alpha*-dec-osf* handling.
	* gcc.misc-tests/gcov-14.c: Likewise.
	* gfortran.dg/guality/guality.exp: Likewise.
	* lib/target-supports.exp (check_weak_available): Likewise.
	(add_options_for_tls): Likewise.
	(check_ascii_locale_available): Likewise.
	* obj-c++.dg/dwarf-2.mm: Likewise.
	* objc.dg/dwarf-1.m: Likewise.
	* objc.dg/dwarf-2.m: Likewise.

	gcc/c-family:
	* c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
	handling.
	* c-pragma.c: Remove #pragma extern_prefix documentation.
	(pragma_extern_prefix): Remove.
	(handle_pragma_extern_prefix): Remove.
	(maybe_apply_renaming_pragma): Remove #pragma extern_prefix
	handling.
	(init_pragma): Don't register extern_prefix.
	* c-pragma.h (pragma_extern_prefix): Remove.

	gcc/po:
	* EXCLUDES (mips-tdump.c, mips-tfile.c): Remove.

	gcc:
	* config.gcc (alpha*-dec-osf5.1*): Remove.
	* config.host (alpha*-dec-osf*): Remove.
	* configure.ac (*-*-osf*): Remove.
	(alpha*-dec-osf*): Remove.
	* configure: Regenerate.

	* config/alpha/host-osf.c, config/alpha/osf5.h,
	config/alpha/osf5.opt, config/alpha/va_list.h, config/alpha/x-osf:
	Remove.

	* config/alpha/alpha.h (TARGET_LD_BUGGY_LDGP): Remove.
	* config/alpha/alpha.c (struct machine_function): Update comment.
	(alpha_start_function): Remove Tru64 UNIX as handling for
	max_frame_size.
	* config/alpha/alpha.md ("exception_receiver"): Remove
	TARGET_LD_BUGGY_LDGP.
	("*exception_receiver_2"): Likewise.
	* except.c (finish_eh_generation): Remove Tru64 reference.
	* ginclude/stdarg.h [_HIDDEN_VA_LIST]: Don't undef _VA_LIST.
	* target.def (handle_pragma_extern_prefix): Remove.

	* Makefile.in (mips-tfile.o-warn): Remove.
	(ALL_HOST_BACKEND_OBJS): Remove mips-tfile.o, mips-tdump.o.
	(mips-tfile, mips-tfile.o, mips-tdump, mips-tdump.o): Remove.
	* mips-tdump.c, mips-tfile.c: Remove.

	* doc/extend.texi (Symbol-Renaming Pragmas): Remove #pragma
	extern_prefix.
	* doc/install.texi (Specific, alpha*-dec-osf5.1): Note removal.
	* doc/tm.texi.in (Misc, TARGET_HANDLE_PRAGMA_EXTERN_PREFIX):
	Remove.
	* doc/tm.texi: Regenerate.
	* doc/trouble.texi (Cross-Compiler Problems): Remove.

	gcc/ada:
	* gcc-interface/Makefile.in (alpha*-dec-osf*): Remove.
	* a-intnam-tru64.ads, mlib-tgt-specific-tru64.adb,
	s-mastop-tru64.adb, s-osinte-tru64.adb, s-osinte-tru64.ads,
	s-taprop-tru64.adb, s-tasinf-tru64.ads, s-taspri-tru64.ads,
	system-tru64.ads: Remove.

	* adaint.c (__gnat_number_of_cpus) [__alpha__ && __osf__]:
	Remove.
	[IS_CROSS] [!(__alpha__ && __osf__)]: Remove.
	* env.c [__alpha__ && __osf__]: Remove.
	* gsocket.h (_OSF_SOURCE): Remove.
	(HAVE_THREAD_SAFE_GETxxxBYyyy) [__osf__]: Remove.
	* init.c [__alpha__ && __osf__]: Remove.
	* link.c [__osf__]: Remove.
	* s-oscons-tmplt.c [__alpha__ && __osf__]: Remove.
	[__osf__ && !_SS_MAXSIZE]: Remove.
	* sysdep.c [__osf__]: Remove.
	* terminals.c [__alpha__ && __osf__]: Remove.
	[OSF1]: Remove.

	* g-traceb.ads: Remove Tru64 reference.
	* g-trasym.ads: Likewise.
	* gnat_ugn.texi (Linking a Mixed C++ & Ada Program): Likewise.
	(Summary of Run-Time Configurations): Likewise.
	* memtrack.adb: Likewise.
	* s-tassta.adb (Task_Wrapper): Likewise.

	fixincludes:
	* inclhack.def (alpha___extern_prefix): Remove.
	(alpha___extern_prefix_standards): Remove.
	(alpha___extern_prefix_sys_stat): Remove.
	(alpha_bad_lval): Remove.
	(alpha_pthread): Remove.
	(alpha_pthread_gcc): Remove.
	(alpha_pthread_init): Remove.
	* fixincl.x: Regenerate.
	* tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: Remove.
	[ALPHA_PTHREAD_GCC_CHECK]: Remove.
	[ALPHA_PTHREAD_INIT_CHECK]: Remove.
	* tests/base/standards.h: Remove.
	* tests/base/sys/stat.h [ALPHA___EXTERN_PREFIX_SYS_STAT_CHECK]:
	Remove.
	* tests/base/testing.h [ALPHA___EXTERN_PREFIX_CHECK]: Remove.
	[ALPHA_BAD_LVAL_CHECK]: Remove.

	contrib:
	* config-list.mk (LIST): Remove alpha-dec-osf5.1.

	config:
	* weakref.m4 (GCC_CHECK_ELF_STYLE_WEAKREF): Remove
	alpha*-dec-osf*.

	toplevel:
	* MAINTAINERS (OS Port Maintainers): Remove osf.
	* configure.ac (enable_libgomp): Remove *-*-osf*.
	(with_stabs): Remove alpha*-*-osf*.
	* configure: Regenerate.


[-- Attachment #2: osf51-removal.patch.bz2 --]
[-- Type: application/octet-stream, Size: 103264 bytes --]

[-- Attachment #3: Type: text/plain, Size: 143 bytes --]


-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Remove obsolete Tru64 UNIX V5.1B support
  2012-03-05 17:14 Remove obsolete Tru64 UNIX V5.1B support Rainer Orth
@ 2012-03-05 17:28 ` Richard Henderson
  2012-03-05 17:36   ` Jakub Jelinek
                     ` (3 more replies)
  2012-03-05 17:32 ` Bruce Korb
                   ` (2 subsequent siblings)
  3 siblings, 4 replies; 27+ messages in thread
From: Richard Henderson @ 2012-03-05 17:28 UTC (permalink / raw)
  To: Rainer Orth
  Cc: gcc-patches, java-patches, libstdc++,
	Joseph S. Myers, Bruce Korb, Arnaud Charlet, Tristan Gingold

On 03/05/2012 09:14 AM, Rainer Orth wrote:
> * In the alpha backend, there are a couple of cases that might be
>   osf-specific, but I cannot tell for certain:
> 
>   macro				  osf5.h        alpha.h
> 
>   TARGET_AS_CAN_SUBTRACT_LABELS	  1		TARGET_GAS
> 
>   I cannot tell if !TARGET_GAS configurations exist, especially Alpha VMS.
>   Also, in alpha.h there are some references to mips-tfile, which is
>   gone with osf.  If there are no non-gas configrations remaining, that
>   stuff can go, too.

Given that GAS supports VMS, I suspect that all targets are now GAS.
I'll let the adacore folks answer that for certain howeverl.

>   TARGET_HAS_XFLOATING_LIBS	  1		TARGET_LONG_DOUBLE_128
> 
>   Same here: any configurations with !TARGET_LONG_DOUBLE_128?

I wouldn't think so; glibc before version 2.4, circa 1998?

>   HAVE_STAMP_H                    1
> 
>   In my understanding, this is purely a OSF thing and can go, but maybe
>   other OSes on alpha mimiced OSF here?

I've no idea what that actually is.

I'll have a look at the patch in detail later....

r~

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Remove obsolete Tru64 UNIX V5.1B support
  2012-03-05 17:14 Remove obsolete Tru64 UNIX V5.1B support Rainer Orth
  2012-03-05 17:28 ` Richard Henderson
@ 2012-03-05 17:32 ` Bruce Korb
  2012-03-05 23:13 ` Joseph S. Myers
  2012-03-06  8:57 ` Tristan Gingold
  3 siblings, 0 replies; 27+ messages in thread
From: Bruce Korb @ 2012-03-05 17:32 UTC (permalink / raw)
  To: Rainer Orth
  Cc: gcc-patches, java-patches, libstdc++,
	Richard Henderson, Joseph S. Myers, Arnaud Charlet,
	Tristan Gingold

CF:
        fixincludes:
       * inclhack.def (alpha___extern_prefix): Remove.
       (alpha___extern_prefix_standards): Remove.
       (alpha___extern_prefix_sys_stat): Remove.
       (alpha_bad_lval): Remove.
       (alpha_pthread): Remove.
       (alpha_pthread_gcc): Remove.
       (alpha_pthread_init): Remove.
       * fixincl.x: Regenerate.
       * tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: Remove.
       [ALPHA_PTHREAD_GCC_CHECK]: Remove.
       [ALPHA_PTHREAD_INIT_CHECK]: Remove.
       * tests/base/standards.h: Remove.
       * tests/base/sys/stat.h [ALPHA___EXTERN_PREFIX_SYS_STAT_CHECK]:
       Remove.
       * tests/base/testing.h [ALPHA___EXTERN_PREFIX_CHECK]: Remove.
       [ALPHA_BAD_LVAL_CHECK]: Remove.

Seems reasonable to me...

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Remove obsolete Tru64 UNIX V5.1B support
  2012-03-05 17:28 ` Richard Henderson
@ 2012-03-05 17:36   ` Jakub Jelinek
  2012-03-05 17:52     ` Rainer Orth
  2012-03-05 17:41   ` Douglas Rupp
                     ` (2 subsequent siblings)
  3 siblings, 1 reply; 27+ messages in thread
From: Jakub Jelinek @ 2012-03-05 17:36 UTC (permalink / raw)
  To: Richard Henderson
  Cc: Rainer Orth, gcc-patches, java-patches, libstdc++,
	Joseph S. Myers, Bruce Korb, Arnaud Charlet, Tristan Gingold

On Mon, Mar 05, 2012 at 09:28:18AM -0800, Richard Henderson wrote:
> >   TARGET_HAS_XFLOATING_LIBS	  1		TARGET_LONG_DOUBLE_128
> > 
> >   Same here: any configurations with !TARGET_LONG_DOUBLE_128?
> 
> I wouldn't think so; glibc before version 2.4, circa 1998?

No idea about MIPS, but for ppc/ppc64/s390/s390x/sparc32 the selectable
size long double support is from 2006.

	Jakub

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Remove obsolete Tru64 UNIX V5.1B support
  2012-03-05 17:28 ` Richard Henderson
  2012-03-05 17:36   ` Jakub Jelinek
@ 2012-03-05 17:41   ` Douglas Rupp
  2012-03-05 17:54     ` Rainer Orth
  2012-03-05 18:00   ` Rainer Orth
  2012-03-06  8:39   ` Tristan Gingold
  3 siblings, 1 reply; 27+ messages in thread
From: Douglas Rupp @ 2012-03-05 17:41 UTC (permalink / raw)
  To: Richard Henderson
  Cc: Rainer Orth, gcc-patches, java-patches, libstdc++,
	Joseph S. Myers, Bruce Korb, Arnaud Charlet, Tristan Gingold

On 3/5/2012 9:28 AM, Richard Henderson wrote:
> On 03/05/2012 09:14 AM, Rainer Orth wrote:
>> * In the alpha backend, there are a couple of cases that might be
>>    osf-specific, but I cannot tell for certain:
>>
>>    macro				  osf5.h        alpha.h
>>
>>    TARGET_AS_CAN_SUBTRACT_LABELS	  1		TARGET_GAS
>>
>>    I cannot tell if !TARGET_GAS configurations exist, especially Alpha VMS.
>>    Also, in alpha.h there are some references to mips-tfile, which is
>>    gone with osf.  If there are no non-gas configrations remaining, that
>>    stuff can go, too.
> Given that GAS supports VMS, I suspect that all targets are now GAS.
> I'll let the adacore folks answer that for certain howeverl.
>
All Alpha/VMS targets use GAS.
--Doug

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Remove obsolete Tru64 UNIX V5.1B support
  2012-03-05 17:36   ` Jakub Jelinek
@ 2012-03-05 17:52     ` Rainer Orth
  0 siblings, 0 replies; 27+ messages in thread
From: Rainer Orth @ 2012-03-05 17:52 UTC (permalink / raw)
  To: Jakub Jelinek
  Cc: Richard Henderson, gcc-patches, java-patches, libstdc++,
	Joseph S. Myers, Bruce Korb, Arnaud Charlet, Tristan Gingold

Jakub Jelinek <jakub@redhat.com> writes:

> On Mon, Mar 05, 2012 at 09:28:18AM -0800, Richard Henderson wrote:
>> >   TARGET_HAS_XFLOATING_LIBS	  1		TARGET_LONG_DOUBLE_128
>> > 
>> >   Same here: any configurations with !TARGET_LONG_DOUBLE_128?
>> 
>> I wouldn't think so; glibc before version 2.4, circa 1998?
>
> No idea about MIPS, but for ppc/ppc64/s390/s390x/sparc32 the selectable
> size long double support is from 2006.

... which leaves us with the BSDs.  No idea about those.

	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Remove obsolete Tru64 UNIX V5.1B support
  2012-03-05 17:41   ` Douglas Rupp
@ 2012-03-05 17:54     ` Rainer Orth
  0 siblings, 0 replies; 27+ messages in thread
From: Rainer Orth @ 2012-03-05 17:54 UTC (permalink / raw)
  To: Douglas Rupp
  Cc: Richard Henderson, gcc-patches, java-patches, libstdc++,
	Joseph S. Myers, Bruce Korb, Arnaud Charlet, Tristan Gingold

Douglas Rupp <rupp@gnat.com> writes:

> On 3/5/2012 9:28 AM, Richard Henderson wrote:
>> On 03/05/2012 09:14 AM, Rainer Orth wrote:
>>> * In the alpha backend, there are a couple of cases that might be
>>>    osf-specific, but I cannot tell for certain:
>>>
>>>    macro				  osf5.h        alpha.h
>>>
>>>    TARGET_AS_CAN_SUBTRACT_LABELS	  1		TARGET_GAS
>>>
>>>    I cannot tell if !TARGET_GAS configurations exist, especially Alpha VMS.
>>>    Also, in alpha.h there are some references to mips-tfile, which is
>>>    gone with osf.  If there are no non-gas configrations remaining, that
>>>    stuff can go, too.
>> Given that GAS supports VMS, I suspect that all targets are now GAS.
>> I'll let the adacore folks answer that for certain howeverl.
>>
> All Alpha/VMS targets use GAS.

Fine.  Given that the BSDs have no option but to use gas (and all of
them include MASK_GAS in config.gcc (target_cpu_default), the
!TARGET_GAS support can go.

I'll either do this in a followup patch or leave it to the alpha
maintainers.

	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Remove obsolete Tru64 UNIX V5.1B support
  2012-03-05 17:28 ` Richard Henderson
  2012-03-05 17:36   ` Jakub Jelinek
  2012-03-05 17:41   ` Douglas Rupp
@ 2012-03-05 18:00   ` Rainer Orth
  2012-03-06  8:39   ` Tristan Gingold
  3 siblings, 0 replies; 27+ messages in thread
From: Rainer Orth @ 2012-03-05 18:00 UTC (permalink / raw)
  To: Richard Henderson
  Cc: gcc-patches, java-patches, libstdc++,
	Joseph S. Myers, Bruce Korb, Arnaud Charlet, Tristan Gingold

Richard Henderson <rth@redhat.com> writes:

>>   HAVE_STAMP_H                    1
>> 
>>   In my understanding, this is purely a OSF thing and can go, but maybe
>>   other OSes on alpha mimiced OSF here?
>
> I've no idea what that actually is.

It's used to emit .verstamp directives for ECOFF objects.  I've just
checked again: all of Linux, *BSD, and VMS use ELF, so HAVE_STAMP_H
support (and any code for !OBJECT_FORMAT_ELF) can go.

	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Remove obsolete Tru64 UNIX V5.1B support
  2012-03-05 17:14 Remove obsolete Tru64 UNIX V5.1B support Rainer Orth
  2012-03-05 17:28 ` Richard Henderson
  2012-03-05 17:32 ` Bruce Korb
@ 2012-03-05 23:13 ` Joseph S. Myers
  2012-03-05 23:59   ` Bruce Korb
  2012-03-06 13:14   ` Rainer Orth
  2012-03-06  8:57 ` Tristan Gingold
  3 siblings, 2 replies; 27+ messages in thread
From: Joseph S. Myers @ 2012-03-05 23:13 UTC (permalink / raw)
  To: Rainer Orth
  Cc: gcc-patches, java-patches, libstdc++,
	Richard Henderson, Bruce Korb, Arnaud Charlet, Tristan Gingold

On Mon, 5 Mar 2012, Rainer Orth wrote:

> * There are some fixincludes hacks that from their names seem to be
>   osf-specific, but are not restricted to alpha*-dec-osf*.  Bruce,
>   what's the best way to handle those?  Disable them e.g. with a mach
>   clause like unused-alpha*-dec-osf* and see if anything else breaks?

I'd favour just removing any fixes that it seems likely are no longer 
useful.

>   There's one particular issue: the change to java/io/File.java required
>   my to regenerate the .class file in classpath.  I've used Sun javac
>   -target 1.5 for that and hope I got it right.

I'd have expected regeneration to use GCJ built to use ECJ, though I don't 
know.

> * With the removal of #pragma extern_prefix support, gcc/po/gcc.pot
>   needs to be regenerated.  Since I'm not positive I have the right
>   tools and trying found unrelated changes, I've omitted that change.

There is no expectation that anyone changing diagnostics regenerates this 
file; it's regenerated as needed before submission to the Translation 
Project.

> 	gcc/c-family:
> 	* c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
> 	handling.
> 	* c-pragma.c: Remove #pragma extern_prefix documentation.
> 	(pragma_extern_prefix): Remove.
> 	(handle_pragma_extern_prefix): Remove.
> 	(maybe_apply_renaming_pragma): Remove #pragma extern_prefix
> 	handling.
> 	(init_pragma): Don't register extern_prefix.
> 	* c-pragma.h (pragma_extern_prefix): Remove.

These changes are OK.

> 	gcc/po:
> 	* EXCLUDES (mips-tdump.c, mips-tfile.c): Remove.

This is OK.

> 	gcc:
> 	* config.gcc (alpha*-dec-osf5.1*): Remove.

I'd suggest removing the extra_passes mechanism in the followup since this 
was the only user of that mechanism in config.gcc.

> 	* target.def (handle_pragma_extern_prefix): Remove.

Removed hooks should be poisoned in system.h.

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Remove obsolete Tru64 UNIX V5.1B support
  2012-03-05 23:13 ` Joseph S. Myers
@ 2012-03-05 23:59   ` Bruce Korb
  2012-03-06 13:18     ` Rainer Orth
  2012-03-06 13:14   ` Rainer Orth
  1 sibling, 1 reply; 27+ messages in thread
From: Bruce Korb @ 2012-03-05 23:59 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: Rainer Orth, gcc-patches, Richard Henderson

On Mon, Mar 5, 2012 at 3:13 PM, Joseph S. Myers <joseph@codesourcery.com> wrote:
> On Mon, 5 Mar 2012, Rainer Orth wrote:
>
>> * There are some fixincludes hacks that from their names seem to be
>>   osf-specific, but are not restricted to alpha*-dec-osf*.  Bruce,
>>   what's the best way to handle those?  Disable them e.g. with a mach
>>   clause like unused-alpha*-dec-osf* and see if anything else breaks?
>
> I'd favour just removing any fixes that it seems likely are no longer
> useful.

I favor it for now, but I think being more aggressive is a good thing.
#define REGEX_COUNT          265
#define MACH_LIST_SIZE_LIMIT 181
#define FIX_COUNT            223
I believe that headers have likely improved in the last decade.
I do doubt that there are twice as many actively needed patches
to headers required now versus then.

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Remove obsolete Tru64 UNIX V5.1B support
  2012-03-05 17:28 ` Richard Henderson
                     ` (2 preceding siblings ...)
  2012-03-05 18:00   ` Rainer Orth
@ 2012-03-06  8:39   ` Tristan Gingold
  3 siblings, 0 replies; 27+ messages in thread
From: Tristan Gingold @ 2012-03-06  8:39 UTC (permalink / raw)
  To: Richard Henderson
  Cc: Rainer Orth, gcc-patches, java-patches, libstdc++,
	Joseph S. Myers, Bruce Korb, Arnaud Charlet


On Mar 5, 2012, at 6:28 PM, Richard Henderson wrote:

> On 03/05/2012 09:14 AM, Rainer Orth wrote:
>> * In the alpha backend, there are a couple of cases that might be
>>  osf-specific, but I cannot tell for certain:
>> 
>>  macro				  osf5.h        alpha.h
>> 
>>  TARGET_AS_CAN_SUBTRACT_LABELS	  1		TARGET_GAS
>> 
>>  I cannot tell if !TARGET_GAS configurations exist, especially Alpha VMS.
>>  Also, in alpha.h there are some references to mips-tfile, which is
>>  gone with osf.  If there are no non-gas configrations remaining, that
>>  stuff can go, too.
> 
> Given that GAS supports VMS, I suspect that all targets are now GAS.
> I'll let the adacore folks answer that for certain however.

Yes, that's my understanding too.

>>  TARGET_HAS_XFLOATING_LIBS	  1		TARGET_LONG_DOUBLE_128
>> 
>>  Same here: any configurations with !TARGET_LONG_DOUBLE_128?
> 
> I wouldn't think so; glibc before version 2.4, circa 1998?

OpenVMS long double is 128 bits (also I was never personally tested it).

Tristan.

> 
>>  HAVE_STAMP_H                    1
>> 
>>  In my understanding, this is purely a OSF thing and can go, but maybe
>>  other OSes on alpha mimiced OSF here?
> 
> I've no idea what that actually is.
> 
> I'll have a look at the patch in detail later....
> 
> r~

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Remove obsolete Tru64 UNIX V5.1B support
  2012-03-05 17:14 Remove obsolete Tru64 UNIX V5.1B support Rainer Orth
                   ` (2 preceding siblings ...)
  2012-03-05 23:13 ` Joseph S. Myers
@ 2012-03-06  8:57 ` Tristan Gingold
  2012-03-06 13:24   ` Rainer Orth
  2012-03-12 16:07   ` Rainer Orth
  3 siblings, 2 replies; 27+ messages in thread
From: Tristan Gingold @ 2012-03-06  8:57 UTC (permalink / raw)
  To: Rainer Orth
  Cc: gcc-patches, java-patches, libstdc++,
	Richard Henderson, Joseph S. Myers, Bruce Korb, Arnaud Charlet


Rainer,

On Mar 5, 2012, at 6:14 PM, Rainer Orth wrote:

> The Tru64 UNIX V5.1 port has been obsoleted in GCC 4.7, and it's now
> time to remove it from mainline.  The following patch does just that,
> and should be mostly uncontroversial, like removing target-specific
> fixincludes hacks, files, and testsuite support.
> 
> Then, there are target-specific features only used by this port (like
> support for #pragma extern_prefix),

[…]

> * As I've mentioned, I've ripped out the #pragma extern_prefix support:
>  while VMS has something similar, it doesn't use the common code.

in fact VMS use some of the already existing #pragma extern_prefix support.  You're removing too much code here !

Commenting only the relevant part:

> diff --git a/gcc/c-family/c-cppbuiltin.c b/gcc/c-family/c-cppbuiltin.c
> --- a/gcc/c-family/c-cppbuiltin.c
> +++ b/gcc/c-family/c-cppbuiltin.c
> @@ -1,6 +1,6 @@
>  /* Define builtin-in macros for the C family front ends.
> -   Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
> -   Free Software Foundation, Inc.
> +   Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
> +   2011, 2012 Free Software Foundation, Inc.
>  
>  This file is part of GCC.
>  
> @@ -886,9 +886,6 @@ c_cpp_builtins (cpp_reader *pfile)
>    /* Show the availability of some target pragmas.  */
>    cpp_define (pfile, "__PRAGMA_REDEFINE_EXTNAME");
>  
> -  if (targetm.handle_pragma_extern_prefix)
> -    cpp_define (pfile, "__PRAGMA_EXTERN_PREFIX");

VMS doesn't reference this macro, so you could remove it.


> -
>    /* Make the choice of the stack protector runtime visible to source code.
>       The macro names and values here were chosen for compatibility with an
>       earlier implementation, i.e. ProPolice.  */
> diff --git a/gcc/c-family/c-pragma.c b/gcc/c-family/c-pragma.c
> --- a/gcc/c-family/c-pragma.c
> +++ b/gcc/c-family/c-pragma.c
> @@ -1,6 +1,6 @@
>  /* Handle #pragma, system V.4 style.  Supports #pragma weak and #pragma pack.
>     Copyright (C) 1992, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
> -   2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
> +   2006, 2007, 2008, 2009, 2010, 2012 Free Software Foundation, Inc.
>  
>  This file is part of GCC.
>  
> @@ -369,37 +369,26 @@ handle_pragma_weak (cpp_reader * ARG_UNU
>      }
>  }
>  
> -/* GCC supports two #pragma directives for renaming the external
> +/* GCC supports a #pragma directive for renaming the external
>     symbol associated with a declaration (DECL_ASSEMBLER_NAME), for
> -   compatibility with the Solaris and Tru64 system headers.  GCC also
> +   compatibility with the Solaris system headers.  GCC also
>     has its own notation for this, __asm__("name") annotations.
>  
>     Corner cases of these features and their interaction:
>  
> -   1) Both pragmas silently apply only to declarations with external
> +   1) The pragma silently applies only to declarations with external
>        linkage (that is, TREE_PUBLIC || DECL_EXTERNAL).  Asm labels
>        do not have this restriction.
>  
> -   2) In C++, both #pragmas silently apply only to extern "C" declarations.
> +   2) In C++, the #pragma silently applies only to extern "C" declarations.
>        Asm labels do not have this restriction.
>  
> -   3) If any of the three ways of changing DECL_ASSEMBLER_NAME is
> +   3) If any of the two ways of changing DECL_ASSEMBLER_NAME is
>        applied to a decl whose DECL_ASSEMBLER_NAME is already set, and the
>        new name is different, a warning issues and the name does not change.
>  
>     4) The "source name" for #pragma redefine_extname is the DECL_NAME,
> -      *not* the DECL_ASSEMBLER_NAME.
> -
> -   5) If #pragma extern_prefix is in effect and a declaration occurs
> -      with an __asm__ name, the #pragma extern_prefix is silently
> -      ignored for that declaration.
> -
> -   6) If #pragma extern_prefix and #pragma redefine_extname apply to
> -      the same declaration, whichever triggered first wins, and a warning
> -      is issued.  (We would like to have #pragma redefine_extname always
> -      win, but it can appear either before or after the declaration, and
> -      if it appears afterward, we have no way of knowing whether a modified
> -      DECL_ASSEMBLER_NAME is due to #pragma extern_prefix.)  */
> +      *not* the DECL_ASSEMBLER_NAME.  */

I think the comments would still apply.

>  
>  typedef struct GTY(()) pending_redefinition_d {
>    tree oldname;
> @@ -494,30 +483,6 @@ add_to_renaming_pragma_list (tree oldnam
>    p->newname = newname;
>  }
>  
> -/* The current prefix set by #pragma extern_prefix.  */
> -GTY(()) tree pragma_extern_prefix;

This variable is referenced by gcc/config/vms/vms-c.c, so it shouldn't be removed.

> -
> -/* #pragma extern_prefix "prefix" */
> -static void
> -handle_pragma_extern_prefix (cpp_reader * ARG_UNUSED (dummy))
> -{
> -  tree prefix, x;
> -  enum cpp_ttype t;
> -
> -  if (pragma_lex (&prefix) != CPP_STRING)
> -    GCC_BAD ("malformed #pragma extern_prefix, ignored");
> -  t = pragma_lex (&x);
> -  if (t != CPP_EOF)
> -    warning (OPT_Wpragmas, "junk at end of %<#pragma extern_prefix%>");
> -
> -  if (targetm.handle_pragma_extern_prefix)
> -    /* Note that the length includes the null terminator.  */
> -    pragma_extern_prefix = (TREE_STRING_LENGTH (prefix) > 1 ? prefix : NULL);
> -  else if (warn_unknown_pragmas > in_system_header)
> -    warning (OPT_Wunknown_pragmas,
> -	     "#pragma extern_prefix not supported on this target");
> -}
> -

Currently, the #pragma __extern_prefix is handled by vms-c.c, which is slightly more powerful than the tru64 version.
It would be easier to me if the above version were removed!

>  /* Hook from the front ends to apply the results of one of the preceding
>     pragmas that rename variables.  */
>  
> @@ -580,35 +545,12 @@ maybe_apply_renaming_pragma (tree decl, 
>  	    return asmname;
>  	  }
>  
> -	/* Otherwise we use what we've got; #pragma extern_prefix is
> -	   silently ignored.  */
> +	/* Otherwise we use what we've got.  */
>  	return build_string (IDENTIFIER_LENGTH (newname),
>  			     IDENTIFIER_POINTER (newname));
>        }
>  
> -  /* If we've got an asmname, #pragma extern_prefix is silently ignored.  */
> -  if (asmname)
> -    return asmname;
> -
> -  /* If #pragma extern_prefix is in effect, apply it.  */
> -  if (pragma_extern_prefix)
> -    {
> -      const char *prefix = TREE_STRING_POINTER (pragma_extern_prefix);
> -      size_t plen = TREE_STRING_LENGTH (pragma_extern_prefix) - 1;
> -
> -      const char *id = IDENTIFIER_POINTER (DECL_NAME (decl));
> -      size_t ilen = IDENTIFIER_LENGTH (DECL_NAME (decl));
> -
> -      char *newname = (char *) alloca (plen + ilen + 1);
> -
> -      memcpy (newname,        prefix, plen);
> -      memcpy (newname + plen, id, ilen + 1);
> -
> -      return build_string (plen + ilen, newname);
> -    }
> -
> -  /* Nada.  */
> -  return 0;
> +  return asmname;
>  }

So this code shouldn't be removed because vms-c.c set pragma_extern_prefix.

> @@ -1396,7 +1338,6 @@ init_pragma (void)
>  
>    c_register_pragma_with_expansion (0, "redefine_extname",
>  				    handle_pragma_redefine_extname);
> -  c_register_pragma (0, "extern_prefix", handle_pragma_extern_prefix);

Agreed as discussed above.

>    c_register_pragma_with_expansion (0, "message", handle_pragma_message);
>  
> diff --git a/gcc/c-family/c-pragma.h b/gcc/c-family/c-pragma.h
> --- a/gcc/c-family/c-pragma.h
> +++ b/gcc/c-family/c-pragma.h
> @@ -1,6 +1,6 @@
>  /* Pragma related interfaces.
>     Copyright (C) 1995, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
> -   2007, 2008, 2009, 2010  Free Software Foundation, Inc.
> +   2007, 2008, 2009, 2010, 2012 Free Software Foundation, Inc.
>  
>  This file is part of GCC.
>  
> @@ -146,6 +146,4 @@ extern enum cpp_ttype c_lex_with_flags (
>  
>  extern void c_pp_lookup_pragma (unsigned int, const char **, const char **);
>  
> -extern GTY(()) tree pragma_extern_prefix;
> -
>  #endif /* GCC_C_PRAGMA_H */

Shouldn't be removed too.

Thank you Rainer for all the Tru64 maintainership work!

Tristan.

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Remove obsolete Tru64 UNIX V5.1B support
  2012-03-05 23:13 ` Joseph S. Myers
  2012-03-05 23:59   ` Bruce Korb
@ 2012-03-06 13:14   ` Rainer Orth
  2012-03-06 17:55     ` David Daney
  1 sibling, 1 reply; 27+ messages in thread
From: Rainer Orth @ 2012-03-06 13:14 UTC (permalink / raw)
  To: Joseph S. Myers
  Cc: gcc-patches, java-patches, libstdc++,
	Richard Henderson, Bruce Korb, Arnaud Charlet, Tristan Gingold

"Joseph S. Myers" <joseph@codesourcery.com> writes:

>>   There's one particular issue: the change to java/io/File.java required
>>   my to regenerate the .class file in classpath.  I've used Sun javac
>>   -target 1.5 for that and hope I got it right.
>
> I'd have expected regeneration to use GCJ built to use ECJ, though I don't 
> know.

I've never tried this.  Given that the .class file lives below
libjava/classpath and has to be synced with upstream Classpath anyway, I
hope the Java maintainers will take care of that.

At least with the javac-built File.class I had no libjava testsuite
failures.

>> * With the removal of #pragma extern_prefix support, gcc/po/gcc.pot
>>   needs to be regenerated.  Since I'm not positive I have the right
>>   tools and trying found unrelated changes, I've omitted that change.
>
> There is no expectation that anyone changing diagnostics regenerates this 
> file; it's regenerated as needed before submission to the Translation 
> Project.

Ok, thanks.

>> 	gcc:
>> 	* config.gcc (alpha*-dec-osf5.1*): Remove.
>
> I'd suggest removing the extra_passes mechanism in the followup since this 
> was the only user of that mechanism in config.gcc.

Yup, will do.

>> 	* target.def (handle_pragma_extern_prefix): Remove.
>
> Removed hooks should be poisoned in system.h.

Ok.  Greping for current occurences obviously missed this :-)

Thanks.
        Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Remove obsolete Tru64 UNIX V5.1B support
  2012-03-05 23:59   ` Bruce Korb
@ 2012-03-06 13:18     ` Rainer Orth
  0 siblings, 0 replies; 27+ messages in thread
From: Rainer Orth @ 2012-03-06 13:18 UTC (permalink / raw)
  To: Bruce Korb; +Cc: Joseph S. Myers, gcc-patches, Richard Henderson

Bruce Korb <bkorb@gnu.org> writes:

> On Mon, Mar 5, 2012 at 3:13 PM, Joseph S. Myers <joseph@codesourcery.com> wrote:
>> On Mon, 5 Mar 2012, Rainer Orth wrote:
>>
>>> * There are some fixincludes hacks that from their names seem to be
>>>   osf-specific, but are not restricted to alpha*-dec-osf*.  Bruce,
>>>   what's the best way to handle those?  Disable them e.g. with a mach
>>>   clause like unused-alpha*-dec-osf* and see if anything else breaks?
>>
>> I'd favour just removing any fixes that it seems likely are no longer
>> useful.
>
> I favor it for now, but I think being more aggressive is a good thing.
> #define REGEX_COUNT          265
> #define MACH_LIST_SIZE_LIMIT 181
> #define FIX_COUNT            223
> I believe that headers have likely improved in the last decade.
> I do doubt that there are twice as many actively needed patches
> to headers required now versus then.

Certainly true, especially with old targets like Tru64 UNIX and IRIX on
the way out.  My current list of fixes that are likely osf-specific, but
isn't tagged as such, includes

        alpha___assert
	alpha_assert
	alpha_if_semicolon (osf4)	
	alpha_parens
	cxx_unready
	osf_namespace_a, tests/base/reg_types.h
	osf_namespace_c, tests/base/regex.h
	sysv68_string (ffs)
	ultrix_const
	ultrix_const2

Some of them appear to be more generic, so it's probably safer to keep
them until your proposed mechanism for collecting usage data is in
place.

Either way, they don't need to go in the first round of the removal
patch.

	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Remove obsolete Tru64 UNIX V5.1B support
  2012-03-06  8:57 ` Tristan Gingold
@ 2012-03-06 13:24   ` Rainer Orth
  2012-03-12 16:07   ` Rainer Orth
  1 sibling, 0 replies; 27+ messages in thread
From: Rainer Orth @ 2012-03-06 13:24 UTC (permalink / raw)
  To: Tristan Gingold
  Cc: gcc-patches, java-patches, libstdc++,
	Richard Henderson, Joseph S. Myers, Bruce Korb, Arnaud Charlet

Tristan,

>> * As I've mentioned, I've ripped out the #pragma extern_prefix support:
>>  while VMS has something similar, it doesn't use the common code.
>
> in fact VMS use some of the already existing #pragma extern_prefix support.  You're removing too much code here !

oops, seems I was too eager to get rid of the cruft ;-)

> Commenting only the relevant part:
>
>> diff --git a/gcc/c-family/c-cppbuiltin.c b/gcc/c-family/c-cppbuiltin.c
>> --- a/gcc/c-family/c-cppbuiltin.c
>> +++ b/gcc/c-family/c-cppbuiltin.c
>> @@ -1,6 +1,6 @@
>>  /* Define builtin-in macros for the C family front ends.
>> -   Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
>> -   Free Software Foundation, Inc.
>> +   Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
>> +   2011, 2012 Free Software Foundation, Inc.
>>  
>>  This file is part of GCC.
>>  
>> @@ -886,9 +886,6 @@ c_cpp_builtins (cpp_reader *pfile)
>>    /* Show the availability of some target pragmas.  */
>>    cpp_define (pfile, "__PRAGMA_REDEFINE_EXTNAME");
>>  
>> -  if (targetm.handle_pragma_extern_prefix)
>> -    cpp_define (pfile, "__PRAGMA_EXTERN_PREFIX");
>
> VMS doesn't reference this macro, so you could remove it.

It's not even used in the Tru64 UNIX system headers; I suppose it was
introduced for symmetry with __PRAGMA_REDEFINE_EXTNAME.

>> -/* GCC supports two #pragma directives for renaming the external
>> +/* GCC supports a #pragma directive for renaming the external
>>     symbol associated with a declaration (DECL_ASSEMBLER_NAME), for
>> -   compatibility with the Solaris and Tru64 system headers.  GCC also
>> +   compatibility with the Solaris system headers.  GCC also
>>     has its own notation for this, __asm__("name") annotations.
>>  
>>     Corner cases of these features and their interaction:
>>  
>> -   1) Both pragmas silently apply only to declarations with external
>> +   1) The pragma silently applies only to declarations with external
>>        linkage (that is, TREE_PUBLIC || DECL_EXTERNAL).  Asm labels
>>        do not have this restriction.
>>  
>> -   2) In C++, both #pragmas silently apply only to extern "C" declarations.
>> +   2) In C++, the #pragma silently applies only to extern "C" declarations.
>>        Asm labels do not have this restriction.
>>  
>> -   3) If any of the three ways of changing DECL_ASSEMBLER_NAME is
>> +   3) If any of the two ways of changing DECL_ASSEMBLER_NAME is
>>        applied to a decl whose DECL_ASSEMBLER_NAME is already set, and the
>>        new name is different, a warning issues and the name does not change.
>>  
>>     4) The "source name" for #pragma redefine_extname is the DECL_NAME,
>> -      *not* the DECL_ASSEMBLER_NAME.
>> -
>> -   5) If #pragma extern_prefix is in effect and a declaration occurs
>> -      with an __asm__ name, the #pragma extern_prefix is silently
>> -      ignored for that declaration.
>> -
>> -   6) If #pragma extern_prefix and #pragma redefine_extname apply to
>> -      the same declaration, whichever triggered first wins, and a warning
>> -      is issued.  (We would like to have #pragma redefine_extname always
>> -      win, but it can appear either before or after the declaration, and
>> -      if it appears afterward, we have no way of knowing whether a modified
>> -      DECL_ASSEMBLER_NAME is due to #pragma extern_prefix.)  */
>> +      *not* the DECL_ASSEMBLER_NAME.  */
>
> I think the comments would still apply.

Ok.  I had assumed that the vms handling of #pragma extern_prefix is
completely independent of the one in c-pragma.c.

>> -/* #pragma extern_prefix "prefix" */
>> -static void
>> -handle_pragma_extern_prefix (cpp_reader * ARG_UNUSED (dummy))
>> -{
>> -  tree prefix, x;
>> -  enum cpp_ttype t;
>> -
>> -  if (pragma_lex (&prefix) != CPP_STRING)
>> -    GCC_BAD ("malformed #pragma extern_prefix, ignored");
>> -  t = pragma_lex (&x);
>> -  if (t != CPP_EOF)
>> -    warning (OPT_Wpragmas, "junk at end of %<#pragma extern_prefix%>");
>> -
>> -  if (targetm.handle_pragma_extern_prefix)
>> -    /* Note that the length includes the null terminator.  */
>> -    pragma_extern_prefix = (TREE_STRING_LENGTH (prefix) > 1 ? prefix : NULL);
>> -  else if (warn_unknown_pragmas > in_system_header)
>> -    warning (OPT_Wunknown_pragmas,
>> -	     "#pragma extern_prefix not supported on this target");
>> -}
>> -
>
> Currently, the #pragma __extern_prefix is handled by vms-c.c, which is slightly more powerful than the tru64 version.
> It would be easier to me if the above version were removed!

Yup, will do.

>>  /* Hook from the front ends to apply the results of one of the preceding
>>     pragmas that rename variables.  */
>>  
>> @@ -580,35 +545,12 @@ maybe_apply_renaming_pragma (tree decl, 
>>  	    return asmname;
>>  	  }
>>  
>> -	/* Otherwise we use what we've got; #pragma extern_prefix is
>> -	   silently ignored.  */
>> +	/* Otherwise we use what we've got.  */
>>  	return build_string (IDENTIFIER_LENGTH (newname),
>>  			     IDENTIFIER_POINTER (newname));
>>        }
>>  
>> -  /* If we've got an asmname, #pragma extern_prefix is silently ignored.  */
>> -  if (asmname)
>> -    return asmname;
>> -
>> -  /* If #pragma extern_prefix is in effect, apply it.  */
>> -  if (pragma_extern_prefix)
>> -    {
>> -      const char *prefix = TREE_STRING_POINTER (pragma_extern_prefix);
>> -      size_t plen = TREE_STRING_LENGTH (pragma_extern_prefix) - 1;
>> -
>> -      const char *id = IDENTIFIER_POINTER (DECL_NAME (decl));
>> -      size_t ilen = IDENTIFIER_LENGTH (DECL_NAME (decl));
>> -
>> -      char *newname = (char *) alloca (plen + ilen + 1);
>> -
>> -      memcpy (newname,        prefix, plen);
>> -      memcpy (newname + plen, id, ilen + 1);
>> -
>> -      return build_string (plen + ilen, newname);
>> -    }
>> -
>> -  /* Nada.  */
>> -  return 0;
>> +  return asmname;
>>  }
>
> So this code shouldn't be removed because vms-c.c set pragma_extern_prefix.

Ok, I'll keep it and add a comment referencing that use.

I'll rework the patch accordingly (also incorporating the other review
comments), most likely over the weekend.  I'll try an i386-solaris x
alpha-vms cross build to ensure cc1 at least builds.

> Thank you Rainer for all the Tru64 maintainership work!

Thanks, it has been an interesting journey :-)

	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Remove obsolete Tru64 UNIX V5.1B support
  2012-03-06 13:14   ` Rainer Orth
@ 2012-03-06 17:55     ` David Daney
  2012-03-07 14:36       ` Rainer Orth
  2012-03-12 16:33       ` Rainer Orth
  0 siblings, 2 replies; 27+ messages in thread
From: David Daney @ 2012-03-06 17:55 UTC (permalink / raw)
  To: Rainer Orth
  Cc: Joseph S. Myers, gcc-patches, java-patches, libstdc++,
	Richard Henderson, Bruce Korb, Arnaud Charlet, Tristan Gingold

On 03/06/2012 05:14 AM, Rainer Orth wrote:
> "Joseph S. Myers"<joseph@codesourcery.com>  writes:
>
>>>    There's one particular issue: the change to java/io/File.java required
>>>    my to regenerate the .class file in classpath.  I've used Sun javac
>>>    -target 1.5 for that and hope I got it right.
>>
>> I'd have expected regeneration to use GCJ built to use ECJ, though I don't
>> know.
>
> I've never tried this.  Given that the .class file lives below
> libjava/classpath and has to be synced with upstream Classpath anyway, I
> hope the Java maintainers will take care of that.
>

This it documented (although perhaps badly) in install/configure.html

You should use --enable-java-maintainer-mode, this will cause the build 
to use ecj and gjavah to regenerate all the generated files in the 
'standard' manner.

> At least with the javac-built File.class I had no libjava testsuite
> failures.
>

It probably results in a usable .class file, but is error prone and not 
very reproducible.

David Daney

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Remove obsolete Tru64 UNIX V5.1B support
  2012-03-06 17:55     ` David Daney
@ 2012-03-07 14:36       ` Rainer Orth
  2012-03-12 16:33       ` Rainer Orth
  1 sibling, 0 replies; 27+ messages in thread
From: Rainer Orth @ 2012-03-07 14:36 UTC (permalink / raw)
  To: David Daney
  Cc: Joseph S. Myers, gcc-patches, java-patches, libstdc++,
	Richard Henderson, Bruce Korb, Arnaud Charlet, Tristan Gingold

David Daney <david.daney@cavium.com> writes:

>>> I'd have expected regeneration to use GCJ built to use ECJ, though I don't
>>> know.
>>
>> I've never tried this.  Given that the .class file lives below
>> libjava/classpath and has to be synced with upstream Classpath anyway, I
>> hope the Java maintainers will take care of that.
>>
>
> This it documented (although perhaps badly) in install/configure.html
>
> You should use --enable-java-maintainer-mode, this will cause the build to
> use ecj and gjavah to regenerate all the generated files in the 'standard'
> manner.

Ok, I'll try it when incorporating review comments and testing the
result.  ecj-4.5.jar is still the right file to use?  The
contrib/download_ecj script mentioned in HACKING doesn't exist any longer.

>> At least with the javac-built File.class I had no libjava testsuite
>> failures.
>>
>
> It probably results in a usable .class file, but is error prone and not
> very reproducible.

No doubt about that: it took me several iterations to get the right
invocation.

	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Remove obsolete Tru64 UNIX V5.1B support
  2012-03-06  8:57 ` Tristan Gingold
  2012-03-06 13:24   ` Rainer Orth
@ 2012-03-12 16:07   ` Rainer Orth
  2012-03-12 16:19     ` Paolo Carlini
  2012-03-13  9:07     ` Tristan Gingold
  1 sibling, 2 replies; 27+ messages in thread
From: Rainer Orth @ 2012-03-12 16:07 UTC (permalink / raw)
  To: Tristan Gingold
  Cc: gcc-patches, java-patches, libstdc++,
	Richard Henderson, Joseph S. Myers, Bruce Korb, Arnaud Charlet

[-- Attachment #1: Type: text/plain, Size: 29827 bytes --]

Tristan Gingold <gingold@adacore.com> writes:

> Rainer,
>
> On Mar 5, 2012, at 6:14 PM, Rainer Orth wrote:
>
>> The Tru64 UNIX V5.1 port has been obsoleted in GCC 4.7, and it's now
>> time to remove it from mainline.  The following patch does just that,
>> and should be mostly uncontroversial, like removing target-specific
>> fixincludes hacks, files, and testsuite support.
>> 
>> Then, there are target-specific features only used by this port (like
>> support for #pragma extern_prefix),
>
> […]
>
>> * As I've mentioned, I've ripped out the #pragma extern_prefix support:
>>  while VMS has something similar, it doesn't use the common code.
>
> in fact VMS use some of the already existing #pragma extern_prefix support.  You're removing too much code here !
>
> Commenting only the relevant part:
>
>> diff --git a/gcc/c-family/c-cppbuiltin.c b/gcc/c-family/c-cppbuiltin.c
>> --- a/gcc/c-family/c-cppbuiltin.c
>> +++ b/gcc/c-family/c-cppbuiltin.c
>> @@ -1,6 +1,6 @@
>>  /* Define builtin-in macros for the C family front ends.
>> -   Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
>> -   Free Software Foundation, Inc.
>> +   Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
>> +   2011, 2012 Free Software Foundation, Inc.
>>  
>>  This file is part of GCC.
>>  
>> @@ -886,9 +886,6 @@ c_cpp_builtins (cpp_reader *pfile)
>>    /* Show the availability of some target pragmas.  */
>>    cpp_define (pfile, "__PRAGMA_REDEFINE_EXTNAME");
>>  
>> -  if (targetm.handle_pragma_extern_prefix)
>> -    cpp_define (pfile, "__PRAGMA_EXTERN_PREFIX");
>
> VMS doesn't reference this macro, so you could remove it.
>
>
>> -
>>    /* Make the choice of the stack protector runtime visible to source code.
>>       The macro names and values here were chosen for compatibility with an
>>       earlier implementation, i.e. ProPolice.  */
>> diff --git a/gcc/c-family/c-pragma.c b/gcc/c-family/c-pragma.c
>> --- a/gcc/c-family/c-pragma.c
>> +++ b/gcc/c-family/c-pragma.c
>> @@ -1,6 +1,6 @@
>>  /* Handle #pragma, system V.4 style.  Supports #pragma weak and #pragma pack.
>>     Copyright (C) 1992, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
>> -   2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
>> +   2006, 2007, 2008, 2009, 2010, 2012 Free Software Foundation, Inc.
>>  
>>  This file is part of GCC.
>>  
>> @@ -369,37 +369,26 @@ handle_pragma_weak (cpp_reader * ARG_UNU
>>      }
>>  }
>>  
>> -/* GCC supports two #pragma directives for renaming the external
>> +/* GCC supports a #pragma directive for renaming the external
>>     symbol associated with a declaration (DECL_ASSEMBLER_NAME), for
>> -   compatibility with the Solaris and Tru64 system headers.  GCC also
>> +   compatibility with the Solaris system headers.  GCC also
>>     has its own notation for this, __asm__("name") annotations.
>>  
>>     Corner cases of these features and their interaction:
>>  
>> -   1) Both pragmas silently apply only to declarations with external
>> +   1) The pragma silently applies only to declarations with external
>>        linkage (that is, TREE_PUBLIC || DECL_EXTERNAL).  Asm labels
>>        do not have this restriction.
>>  
>> -   2) In C++, both #pragmas silently apply only to extern "C" declarations.
>> +   2) In C++, the #pragma silently applies only to extern "C" declarations.
>>        Asm labels do not have this restriction.
>>  
>> -   3) If any of the three ways of changing DECL_ASSEMBLER_NAME is
>> +   3) If any of the two ways of changing DECL_ASSEMBLER_NAME is
>>        applied to a decl whose DECL_ASSEMBLER_NAME is already set, and the
>>        new name is different, a warning issues and the name does not change.
>>  
>>     4) The "source name" for #pragma redefine_extname is the DECL_NAME,
>> -      *not* the DECL_ASSEMBLER_NAME.
>> -
>> -   5) If #pragma extern_prefix is in effect and a declaration occurs
>> -      with an __asm__ name, the #pragma extern_prefix is silently
>> -      ignored for that declaration.
>> -
>> -   6) If #pragma extern_prefix and #pragma redefine_extname apply to
>> -      the same declaration, whichever triggered first wins, and a warning
>> -      is issued.  (We would like to have #pragma redefine_extname always
>> -      win, but it can appear either before or after the declaration, and
>> -      if it appears afterward, we have no way of knowing whether a modified
>> -      DECL_ASSEMBLER_NAME is due to #pragma extern_prefix.)  */
>> +      *not* the DECL_ASSEMBLER_NAME.  */
>
> I think the comments would still apply.
>
>>  
>>  typedef struct GTY(()) pending_redefinition_d {
>>    tree oldname;
>> @@ -494,30 +483,6 @@ add_to_renaming_pragma_list (tree oldnam
>>    p->newname = newname;
>>  }
>>  
>> -/* The current prefix set by #pragma extern_prefix.  */
>> -GTY(()) tree pragma_extern_prefix;
>
> This variable is referenced by gcc/config/vms/vms-c.c, so it shouldn't be removed.
>
>> -
>> -/* #pragma extern_prefix "prefix" */
>> -static void
>> -handle_pragma_extern_prefix (cpp_reader * ARG_UNUSED (dummy))
>> -{
>> -  tree prefix, x;
>> -  enum cpp_ttype t;
>> -
>> -  if (pragma_lex (&prefix) != CPP_STRING)
>> -    GCC_BAD ("malformed #pragma extern_prefix, ignored");
>> -  t = pragma_lex (&x);
>> -  if (t != CPP_EOF)
>> -    warning (OPT_Wpragmas, "junk at end of %<#pragma extern_prefix%>");
>> -
>> -  if (targetm.handle_pragma_extern_prefix)
>> -    /* Note that the length includes the null terminator.  */
>> -    pragma_extern_prefix = (TREE_STRING_LENGTH (prefix) > 1 ? prefix : NULL);
>> -  else if (warn_unknown_pragmas > in_system_header)
>> -    warning (OPT_Wunknown_pragmas,
>> -	     "#pragma extern_prefix not supported on this target");
>> -}
>> -
>
> Currently, the #pragma __extern_prefix is handled by vms-c.c, which is slightly more powerful than the tru64 version.
> It would be easier to me if the above version were removed!
>
>>  /* Hook from the front ends to apply the results of one of the preceding
>>     pragmas that rename variables.  */
>>  
>> @@ -580,35 +545,12 @@ maybe_apply_renaming_pragma (tree decl, 
>>  	    return asmname;
>>  	  }
>>  
>> -	/* Otherwise we use what we've got; #pragma extern_prefix is
>> -	   silently ignored.  */
>> +	/* Otherwise we use what we've got.  */
>>  	return build_string (IDENTIFIER_LENGTH (newname),
>>  			     IDENTIFIER_POINTER (newname));
>>        }
>>  
>> -  /* If we've got an asmname, #pragma extern_prefix is silently ignored.  */
>> -  if (asmname)
>> -    return asmname;
>> -
>> -  /* If #pragma extern_prefix is in effect, apply it.  */
>> -  if (pragma_extern_prefix)
>> -    {
>> -      const char *prefix = TREE_STRING_POINTER (pragma_extern_prefix);
>> -      size_t plen = TREE_STRING_LENGTH (pragma_extern_prefix) - 1;
>> -
>> -      const char *id = IDENTIFIER_POINTER (DECL_NAME (decl));
>> -      size_t ilen = IDENTIFIER_LENGTH (DECL_NAME (decl));
>> -
>> -      char *newname = (char *) alloca (plen + ilen + 1);
>> -
>> -      memcpy (newname,        prefix, plen);
>> -      memcpy (newname + plen, id, ilen + 1);
>> -
>> -      return build_string (plen + ilen, newname);
>> -    }
>> -
>> -  /* Nada.  */
>> -  return 0;
>> +  return asmname;
>>  }
>
> So this code shouldn't be removed because vms-c.c set pragma_extern_prefix.
>
>> @@ -1396,7 +1338,6 @@ init_pragma (void)
>>  
>>    c_register_pragma_with_expansion (0, "redefine_extname",
>>  				    handle_pragma_redefine_extname);
>> -  c_register_pragma (0, "extern_prefix", handle_pragma_extern_prefix);
>
> Agreed as discussed above.
>
>>    c_register_pragma_with_expansion (0, "message", handle_pragma_message);
>>  
>> diff --git a/gcc/c-family/c-pragma.h b/gcc/c-family/c-pragma.h
>> --- a/gcc/c-family/c-pragma.h
>> +++ b/gcc/c-family/c-pragma.h
>> @@ -1,6 +1,6 @@
>>  /* Pragma related interfaces.
>>     Copyright (C) 1995, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
>> -   2007, 2008, 2009, 2010  Free Software Foundation, Inc.
>> +   2007, 2008, 2009, 2010, 2012 Free Software Foundation, Inc.
>>  
>>  This file is part of GCC.
>>  
>> @@ -146,6 +146,4 @@ extern enum cpp_ttype c_lex_with_flags (
>>  
>>  extern void c_pp_lookup_pragma (unsigned int, const char **, const char **);
>>  
>> -extern GTY(()) tree pragma_extern_prefix;
>> -
>>  #endif /* GCC_C_PRAGMA_H */
>
> Shouldn't be removed too.

I've now incorporated all review comments.  The final patch was
bootstrapped on i386-pc-solaris2.11 (together with a couple of further
cleanup/removal patches to be submitted shortly) and cross-tested in
i386-solaris2.11 x alpha-freebsd6.0 resp. i386-solaris2.11 x alpha-vms
C-only crosses to make sure cc1 still builds.

I think the remaining changes are either obvious or covered by osf or
testsuite maintainerships, so I've applied the patch.

Thanks.
	Rainer


2012-03-04  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	libstdc++-v3:
	* configure.host: Remove osf* handling.
	* config/os/osf: Remove.
	* doc/xml/manual/using.xml: Remove OSF reference.

	* testsuite/18_support/pthread_guard.cc: Remove alpha*-*-osf*
	handling.
	* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
	Likewise.
	* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
	Likewise.
	* testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
	* testsuite/21_strings/basic_string/pthread4.cc: Likewise.
	* testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
	* testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
	* testsuite/23_containers/list/pthread1.cc: Likewise.
	* testsuite/23_containers/list/pthread5.cc: Likewise.
	* testsuite/23_containers/map/pthread6.cc: Likewise.
	* testsuite/23_containers/vector/debug/multithreaded_swap.cc:
	Likewise.
	* testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
	* testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
	* testsuite/30_threads/async/42819.cc: Likewise.

	* libstdc++-v3/testsuite/30_threads/async/49668.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/async/any.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/async/async.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/async/launch.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/async/sync.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/call_once/39909.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/call_once/49668.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/call_once/call_once1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable/cons/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable/members/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable/members/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable_any/50862.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable_any/cons/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable_any/members/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable_any/members/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/future/cons/move.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/45133.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/get.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/get2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/share.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/valid.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/wait.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/lock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/lock/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/lock/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/lock/4.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/cons/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/dest/destructor_locked.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/lock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/native_handle/typesizes.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/unlock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/cons/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/cons/move.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/swap.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/cons/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/lock/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/native_handle/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/try_lock/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/try_lock/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/unlock/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/lock/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/lock/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/unlock/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/this_thread/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/this_thread/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/this_thread/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/this_thread/4.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/4.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/49668.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/5.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/6.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/7.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/8.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/9.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/moveable.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/members/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/members/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/members/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/members/4.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/members/5.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/members/hardware_concurrency.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/swap/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/native_handle/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/3.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_until/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_until/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/try_lock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/try_lock/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/try_lock/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/try_lock/4.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/modifiers/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/modifiers/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/ext/rope/pthread7-rope.cc: Likewise.
	* libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
	Likewise.
	* libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.

	libobjc:
	* configure.ac (enable_objc_gc): Remove alpha*-dec-osf* handling.
	* configure: Regenerate.

	* thr.c (_XOPEN_SOURCE): Define unconditionally.

	libjava:
	* configure.ac (alpha*-dec-osf*): Remove.
	* configure: Regenerate.
	* configure.host (alpha*-dec-osf*): Remove.

	* gnu/java/net/natPlainDatagramSocketImplPosix.cc (setOption): Use
	IPV6_MULTICAST_IF unconditionally.
	* gnu/java/net/natPlainDatagramSocketImplWin32.cc (setOption):
	Likewise.
	* gnu/java/net/natPlainSocketImplPosix.cc
	(gnu::java::net::PlainSocketImpl::accept): Use ::accept instead of
	_Jv_accept.
	* include/posix-signal.h [__alpha__ && __osf__]: Remove.
	* include/posix.h (_POSIX_PII_SOCKET): Don't define.
	(_Jv_accept): Remove.

	* java/io/File.java (File._access): Rename to access.
	Change callers.
	(File._stat): Likewise.
	* java/io/File.h: Regenerate.
	* classpath/lib/java/io/File.class: Regenerate.
	* java/io/natFilePosix.cc (java::io::File::_access): Rename to
	access.
	(java::io::File::_stat): Rename to stat.
	* java/io/natFileWin32.cc: Likewise.

	* testsuite/libjava.jni/jni.exp (gcj_jni_get_cxxflags_invocation):
	Remove alpha*-dec-osf* handling.
	* testsuite/libjava.jvmti/jvmti-interp.exp
	(gcj_jni_compile_c_to_so): Likewise.
	* testsuite/libjava.jvmti/jvmti.exp (gcj_jvmti_compile_cxx_to_o):
	Likewise.

	libitm:
	* configure.tgt (*-*-osf*): Remove.
	* configure: Regenerate.

	libgomp:
	* configure.tgt (alpha*-dec-osf*): Remove.

	* config/osf/sem.h: Remove.
	* config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.

	libgfortran:
	* configure.ac: Remove Tru64 reference.
	* acinclude.m4 (LIBGFOR_GTHREAD_WEAK): Remove alpha*-dec-osf*
	handling.
	* configure: Regenerate.
	* intrinsics/c99_functions.c [__osf__]: Remove.

	libgcc:
	* config.host: Remove alpha*-dec-osf5.1* handling.
	* config/alpha/gthr-posix.c: Remove.
	* config/alpha/libgcc-osf5.ver: Remove.
	* config/alpha/osf5-unwind.h: Remove.
	* config/alpha/t-osf-pthread: Remove.
	* config/alpha/t-slibgcc-osf: Remove.
	* config/t-crtfm (crtfastmath.o): Remove -frandom-seed.
	* gthr-posix.h [!_REENTRANT && __osf__] (_REENTRANT): Don't define.
	[__osf__ && _PTHREAD_USE_MANGLED_NAMES_]: Remove.
	* mkmap-flat.awk: Remove osf_export handling.

	gnattools:
	* configure.ac: Remove alpha*-dec-osf* handling.
	* configure: Regenerate.

	gcc/testsuite:
	* g++.dg/abi/rtti3.C: Remove alpha*-dec-osf* handling.
	* g++.dg/abi/thunk4.C: Likewise.
	* g++.dg/cdce3.C: Don't skip on*-dec-osf5*.
	Adapt line numbers.
	* g++.dg/compat/struct-layout-1_generate.c: Remove alpha*-dec-osf*
	handling.
	* g++.dg/cpp0x/constexpr-rom.C: Likewise.
	* g++.dg/eh/spbp.C: Likewise.
	* g++.dg/ext/label13.C: Likewise.
	* g++.dg/guality/guality.exp: Likewise.
	* g++.dg/other/anon5.C: Likewise.
	* g++.dg/other/pragma-ep-1.C: Remove.
	* g++.dg/warn/miss-format-1.C: Remove alpha*-dec-osf* handling.
	* g++.dg/warn/pr31246.C: Likewise.
	* g++.dg/warn/weak1.C: Likewise.
	* g++.old-deja/g++.eh/badalloc1.C: Likewise.
	* g++.old-deja/g++.ext/attrib5.C: Likewise.
	* gcc.c-torture/compile/limits-declparen.c: Likewise.
	* gcc.c-torture/compile/limits-pointer.c: Likewise.
	* gcc.c-torture/execute/20001229-1.c: Remove __osf__ handling.
	* gcc.dg/attr-weakref-1.c: Remove alpha*-dec-osf* handling.
	* gcc.dg/c99-stdint-6.c: Remove alpha*-dec-osf5* handling.
	* gcc.dg/c99-tgmath-1.c: Likewise.
	* gcc.dg/c99-tgmath-2.c: Likewise.
	* gcc.dg/c99-tgmath-3.c: Likewise.
	* gcc.dg/c99-tgmath-4.c: Likewise.
	* gcc.dg/compat/struct-layout-1_generate.c: Remove alpha*-dec-osf*
	handling.
	* gcc.dg/debug/pr49032.c: Likewise.
	* gcc.dg/guality/guality.exp: Likewise.
	* gcc.dg/intmax_t-1.c: Likewise.
	* gcc.dg/pr48616.c: Likewise.
	* gcc.dg/pragma-ep-1.c: Remove.
	* gcc.dg/pragma-ep-2.c: Remove.
	* gcc.dg/pragma-ep-3.c: Remove.
	* gcc.dg/torture/pr47917.c: Remove alpha*-dec-osf5* handling.
	* gcc.dg/tree-ssa/pr42585.c: Remove alpha*-dec-osf* handling.
	* gcc.misc-tests/gcov-14.c: Likewise.
	* gfortran.dg/guality/guality.exp: Likewise.
	* lib/target-supports.exp (check_weak_available): Likewise.
	(add_options_for_tls): Likewise.
	(check_ascii_locale_available): Likewise.
	* obj-c++.dg/dwarf-2.mm: Likewise.
	* objc.dg/dwarf-1.m: Likewise.
	* objc.dg/dwarf-2.m: Likewise.

	gcc/c-family:
	* c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
	handling.
	* c-pragma.c (handle_pragma_extern_prefix): Remove.
	(init_pragma): Don't register extern_prefix.

	gcc/po:
	* EXCLUDES (mips-tdump.c, mips-tfile.c): Remove.

	gcc:
	* config.gcc (alpha*-dec-osf5.1*): Remove.
	* config.host (alpha*-dec-osf*): Remove.
	* configure.ac (*-*-osf*): Remove.
	(alpha*-dec-osf*): Remove.
	* configure: Regenerate.

	* config/alpha/host-osf.c, config/alpha/osf5.h,
	config/alpha/osf5.opt, config/alpha/va_list.h, config/alpha/x-osf:
	Remove.

	* config/alpha/alpha.h (TARGET_LD_BUGGY_LDGP): Remove.
	* config/alpha/alpha.c (struct machine_function): Update comment.
	(alpha_start_function): Remove Tru64 UNIX as handling for
	max_frame_size.
	* config/alpha/alpha.md ("exception_receiver"): Remove
	TARGET_LD_BUGGY_LDGP.
	("*exception_receiver_2"): Likewise.
	* except.c (finish_eh_generation): Remove Tru64 reference.
	* ginclude/stdarg.h [_HIDDEN_VA_LIST]: Don't undef _VA_LIST.
	* system.h (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Poison.
	* target.def (handle_pragma_extern_prefix): Remove.

	* Makefile.in (mips-tfile.o-warn): Remove.
	(ALL_HOST_BACKEND_OBJS): Remove mips-tfile.o, mips-tdump.o.
	(mips-tfile, mips-tfile.o, mips-tdump, mips-tdump.o): Remove.
	* mips-tdump.c, mips-tfile.c: Remove.

	* doc/extend.texi (Symbol-Renaming Pragmas): Remove #pragma
	extern_prefix.
	* doc/install.texi (Binaries): Remove Tru64 UNIX reference.
	(Specific, alpha*-dec-osf5.1): Note removal.
	* doc/tm.texi.in (Misc, TARGET_HANDLE_PRAGMA_EXTERN_PREFIX):
	Remove.
	* doc/tm.texi: Regenerate.
	* doc/trouble.texi (Cross-Compiler Problems): Remove.

	gcc/ada:
	* gcc-interface/Makefile.in (alpha*-dec-osf*): Remove.
	* a-intnam-tru64.ads, mlib-tgt-specific-tru64.adb,
	s-mastop-tru64.adb, s-osinte-tru64.adb, s-osinte-tru64.ads,
	s-taprop-tru64.adb, s-tasinf-tru64.ads, s-taspri-tru64.ads,
	system-tru64.ads: Remove.

	* adaint.c (__gnat_number_of_cpus) [__alpha__ && __osf__]:
	Remove.
	[IS_CROSS] [!(__alpha__ && __osf__)]: Remove.
	* env.c [__alpha__ && __osf__]: Remove.
	* gsocket.h (_OSF_SOURCE): Remove.
	(HAVE_THREAD_SAFE_GETxxxBYyyy) [__osf__]: Remove.
	* init.c [__alpha__ && __osf__]: Remove.
	* link.c [__osf__]: Remove.
	* s-oscons-tmplt.c [__alpha__ && __osf__]: Remove.
	[__osf__ && !_SS_MAXSIZE]: Remove.
	* sysdep.c [__osf__]: Remove.
	* terminals.c [__alpha__ && __osf__]: Remove.
	[OSF1]: Remove.

	* g-traceb.ads: Remove Tru64 reference.
	* g-trasym.ads: Likewise.
	* gnat_ugn.texi (Linking a Mixed C++ & Ada Program): Likewise.
	(Summary of Run-Time Configurations): Likewise.
	* memtrack.adb: Likewise.

	fixincludes:
	* inclhack.def (alpha___extern_prefix): Remove.
	(alpha___extern_prefix_standards): Remove.
	(alpha___extern_prefix_sys_stat): Remove.
	(alpha_bad_lval): Remove.
	(alpha_pthread): Remove.
	(alpha_pthread_gcc): Remove.
	(alpha_pthread_init): Remove.
	* fixincl.x: Regenerate.
	* tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: Remove.
	[ALPHA_PTHREAD_GCC_CHECK]: Remove.
	[ALPHA_PTHREAD_INIT_CHECK]: Remove.
	* tests/base/standards.h: Remove.
	* tests/base/sys/stat.h [ALPHA___EXTERN_PREFIX_SYS_STAT_CHECK]:
	Remove.
	* tests/base/testing.h [ALPHA___EXTERN_PREFIX_CHECK]: Remove.
	[ALPHA_BAD_LVAL_CHECK]: Remove.

	contrib:
	* config-list.mk (LIST): Remove alpha-dec-osf5.1.

	config:
	* weakref.m4 (GCC_CHECK_ELF_STYLE_WEAKREF): Remove
	alpha*-dec-osf*.

	toplevel:
	* MAINTAINERS (OS Port Maintainers): Remove osf.
	* configure.ac (enable_libgomp): Remove *-*-osf*.
	(with_stabs): Remove alpha*-*-osf*.
	* configure: Regenerate.


[-- Attachment #2: osf51-removal.patch.bz2 --]
[-- Type: application/octet-stream, Size: 112135 bytes --]

[-- Attachment #3: Type: text/plain, Size: 144 bytes --]



-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Remove obsolete Tru64 UNIX V5.1B support
  2012-03-12 16:07   ` Rainer Orth
@ 2012-03-12 16:19     ` Paolo Carlini
  2012-03-12 16:23       ` Rainer Orth
  2012-03-13  9:07     ` Tristan Gingold
  1 sibling, 1 reply; 27+ messages in thread
From: Paolo Carlini @ 2012-03-12 16:19 UTC (permalink / raw)
  To: Rainer Orth
  Cc: Tristan Gingold, gcc-patches, java-patches, libstdc++,
	Richard Henderson, Joseph S. Myers, Bruce Korb, Arnaud Charlet

On 03/12/2012 05:06 PM, Rainer Orth wrote:
> I think the remaining changes are either obvious or covered by osf or
> testsuite maintainerships, so I've applied the patch. Thanks. Rainer
Thanks, but please remove all the spurious 'libstdc++v3' from the
ChangeLog entry and make sure it's wrapped to 80 columns.

Thanks,
Paolo.

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Remove obsolete Tru64 UNIX V5.1B support
  2012-03-12 16:19     ` Paolo Carlini
@ 2012-03-12 16:23       ` Rainer Orth
  0 siblings, 0 replies; 27+ messages in thread
From: Rainer Orth @ 2012-03-12 16:23 UTC (permalink / raw)
  To: Paolo Carlini
  Cc: Tristan Gingold, gcc-patches, java-patches, libstdc++,
	Richard Henderson, Joseph S. Myers, Bruce Korb, Arnaud Charlet

Paolo Carlini <paolo.carlini@oracle.com> writes:

> On 03/12/2012 05:06 PM, Rainer Orth wrote:
>> I think the remaining changes are either obvious or covered by osf or
>> testsuite maintainerships, so I've applied the patch. Thanks. Rainer
> Thanks, but please remove all the spurious 'libstdc++v3' from the
> ChangeLog entry and make sure it's wrapped to 80 columns.

Oops, sorry, will do ASAP.

	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Remove obsolete Tru64 UNIX V5.1B support
  2012-03-06 17:55     ` David Daney
  2012-03-07 14:36       ` Rainer Orth
@ 2012-03-12 16:33       ` Rainer Orth
  1 sibling, 0 replies; 27+ messages in thread
From: Rainer Orth @ 2012-03-12 16:33 UTC (permalink / raw)
  To: David Daney
  Cc: Joseph S. Myers, gcc-patches, java-patches, libstdc++,
	Richard Henderson, Bruce Korb, Arnaud Charlet, Tristan Gingold

David Daney <david.daney@cavium.com> writes:

> On 03/06/2012 05:14 AM, Rainer Orth wrote:
>> "Joseph S. Myers"<joseph@codesourcery.com>  writes:
>>
>>>>    There's one particular issue: the change to java/io/File.java required
>>>>    my to regenerate the .class file in classpath.  I've used Sun javac
>>>>    -target 1.5 for that and hope I got it right.
>>>
>>> I'd have expected regeneration to use GCJ built to use ECJ, though I don't
>>> know.
>>
>> I've never tried this.  Given that the .class file lives below
>> libjava/classpath and has to be synced with upstream Classpath anyway, I
>> hope the Java maintainers will take care of that.
>>
>
> This it documented (although perhaps badly) in install/configure.html
>
> You should use --enable-java-maintainer-mode, this will cause the build to
> use ecj and gjavah to regenerate all the generated files in the 'standard'
> manner.

I tried that route, but failed: even with ecj1 and gjavah scripts in
PATH, I get

/var/gcc/gcc-4.8.0-20120309/11-gcc/./gcc/gcj -B/var/gcc/gcc-4.8.0-20120309/11-gcc/i386-pc-solaris2.11/amd64/libjava/ -B/var/gcc/gcc-4.8.0-20120309/11-gcc/i386-pc-solaris2.11/amd64/libjava/ -B/var/gcc/gcc-4.8.0-20120309/11-gcc/./gcc/ -B/usr/local/i386-pc-solaris2.11/bin/ -B/usr/local/i386-pc-solaris2.11/lib/ -isystem /usr/local/i386-pc-solaris2.11/include -isystem /usr/local/i386-pc-solaris2.11/sys-include  -m64 -C -g  -fsource=1.5 -ftarget=1.5 --bootclasspath='' --classpath=/vol/gcc/src/hg/trunk/solaris/libjava:/var/gcc/gcc-4.8.0-20120309/11-gcc/i386-pc-solaris2.11/amd64/libjava:/vol/gcc/src/hg/trunk/solaris/libjava/classpath:/vol/gcc/src/hg/trunk/solaris/libjava/classpath/external/w3c_dom:/vol/gcc/src/hg/trunk/solaris/libjava/classpath/external/sax:/vol/gcc/src/hg/trunk/solaris/libjava/classpath/external/relaxngDatatype:/vol/gcc/src/hg/trunk/solaris/libjava/classpath/external/jsr166:.:: -d /vol/gcc/src/hg/trunk/solaris/libjava/classpath/lib @classes
no classpath specified
make[6]: *** [compile-classes] Error 1

I gave up and checked in the File.class file produced with Sun javac.

	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Remove obsolete Tru64 UNIX V5.1B support
  2012-03-12 16:07   ` Rainer Orth
  2012-03-12 16:19     ` Paolo Carlini
@ 2012-03-13  9:07     ` Tristan Gingold
  1 sibling, 0 replies; 27+ messages in thread
From: Tristan Gingold @ 2012-03-13  9:07 UTC (permalink / raw)
  To: Rainer Orth; +Cc: GCC Patches, Arnaud Charlet

Rainer,

this chunk:

--- a/gcc/ada/sysdep.c
+++ b/gcc/ada/sysdep.c
@@ -252,27 +254,27 @@ __gnat_ttyname (int filedes)
 #endif
 ^L
 #if defined (linux) || defined (sun) || defined (sgi) \
-  || (defined (__osf__) && ! defined (__alpha_vxworks)) || defined (WINNT) \
+  || ! defined (__alpha_vxworks) || defined (WINNT) \
   || defined (__MACHTEN__) || defined (__hpux__) || defined (_AIX) \
   || (defined (__svr4__) && defined (i386)) || defined (__Lynx__) \
   || defined (__CYGWIN__) || defined (__FreeBSD__) || defined (__OpenBSD__) \
   || defined (__GLIBC__) || defined (__APPLE__)

is not correct, '! defined (__alpha_vxworks)' should have been removed too.

I will commit this fix (as obvious):

ada/
2012-03-13  Tristan Gingold  <gingold@adacore.com>

	* sysdep.c: Adjust condition after removal of __osf__.
	Indent nested directives.

diff --git a/gcc/ada/sysdep.c b/gcc/ada/sysdep.c
index 0669c2f..37cb8d7 100644
--- a/gcc/ada/sysdep.c
+++ b/gcc/ada/sysdep.c
@@ -254,27 +254,27 @@ __gnat_ttyname (int filedes)
 #endif
 

 #if defined (linux) || defined (sun) || defined (sgi) \
-  || ! defined (__alpha_vxworks) || defined (WINNT) \
+  || defined (WINNT) \
   || defined (__MACHTEN__) || defined (__hpux__) || defined (_AIX) \
   || (defined (__svr4__) && defined (i386)) || defined (__Lynx__) \
   || defined (__CYGWIN__) || defined (__FreeBSD__) || defined (__OpenBSD__) \
   || defined (__GLIBC__) || defined (__APPLE__)
 
-#ifdef __MINGW32__
-#if OLD_MINGW
-#include <termios.h>
-#else
-#include <conio.h>  /* for getch(), kbhit() */
-#endif
-#else
-#include <termios.h>
-#endif
+# ifdef __MINGW32__
+#  if OLD_MINGW
+#   include <termios.h>
+#  else
+#   include <conio.h>  /* for getch(), kbhit() */
+#  endif
+# else
+#  include <termios.h>
+# endif
 
 #else
-#if defined (VMS)
+# if defined (VMS)
 extern char *decc$ga_stdscr;
 static int initted = 0;
-#endif
+# endif
 #endif
 
 /* Implements the common processing for getc_immediate and

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Remove obsolete Tru64 UNIX V5.1B support
  2012-03-06  8:44 ` Arnaud Charlet
@ 2012-03-06 13:19   ` Rainer Orth
  0 siblings, 0 replies; 27+ messages in thread
From: Rainer Orth @ 2012-03-06 13:19 UTC (permalink / raw)
  To: Arnaud Charlet
  Cc: gcc-patches, java-patches, libstdc++,
	Richard Henderson, Joseph S. Myers, Bruce Korb, Tristan Gingold

Arnaud Charlet <charlet@adacore.com> writes:

> The gnattools and gcc/ada parts are OK, except for the comment removal in
> s-tassta.adb: this comment is still useful, and needs to be revisited at
> some point ratheer than removed silently as you did, to understand
> why we can't use a when E: others => construct.
>
> So either remove the s-tassta.adb hunk, or extend the comment, but removing
> it would be wrong.

Ok, I'll just keep it.

Thanks.
        Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Remove obsolete Tru64 UNIX V5.1B support
  2012-03-05 17:58 ` Jonathan Wakely
@ 2012-03-06 13:12   ` Rainer Orth
  0 siblings, 0 replies; 27+ messages in thread
From: Rainer Orth @ 2012-03-06 13:12 UTC (permalink / raw)
  To: Jonathan Wakely
  Cc: gcc-patches, java-patches, libstdc++,
	Richard Henderson, Joseph S. Myers, Bruce Korb, Arnaud Charlet,
	Tristan Gingold

Jonathan Wakely <jwakely.gcc@gmail.com> writes:

> On 5 March 2012 17:01, Rainer Orth wrote:
>>
>> * The libstdc++ testsuite is messy since every thing pthread test
>>  includes the complete list of targets where it should be run, and the
>>  options required.  I've long meant to clean this up, but this will
>>  have to wait until after osf and irix are gone from the tree.
>
> That would be fantastic if you do clean it up some time.

This has been on my agenda for a long time.  Hopefully I'll get around
to it this time ;-)

> The libstdc++ parts of this patch are OK.

Thanks.
	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Remove obsolete Tru64 UNIX V5.1B support
       [not found] <yddsjhnrngz.fsf@manam.CeBiTec.Uni-Bielefeld.DE>
  2012-03-05 17:20 ` Andrew Haley
  2012-03-05 17:58 ` Jonathan Wakely
@ 2012-03-06  8:44 ` Arnaud Charlet
  2012-03-06 13:19   ` Rainer Orth
  2 siblings, 1 reply; 27+ messages in thread
From: Arnaud Charlet @ 2012-03-06  8:44 UTC (permalink / raw)
  To: Rainer Orth
  Cc: gcc-patches, java-patches, libstdc++,
	Richard Henderson, Joseph S. Myers, Bruce Korb, Tristan Gingold

The gnattools and gcc/ada parts are OK, except for the comment removal in
s-tassta.adb: this comment is still useful, and needs to be revisited at
some point ratheer than removed silently as you did, to understand
why we can't use a when E: others => construct.

So either remove the s-tassta.adb hunk, or extend the comment, but removing
it would be wrong.

Arno

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Remove obsolete Tru64 UNIX V5.1B support
       [not found] <yddsjhnrngz.fsf@manam.CeBiTec.Uni-Bielefeld.DE>
  2012-03-05 17:20 ` Andrew Haley
@ 2012-03-05 17:58 ` Jonathan Wakely
  2012-03-06 13:12   ` Rainer Orth
  2012-03-06  8:44 ` Arnaud Charlet
  2 siblings, 1 reply; 27+ messages in thread
From: Jonathan Wakely @ 2012-03-05 17:58 UTC (permalink / raw)
  To: Rainer Orth
  Cc: gcc-patches, java-patches, libstdc++,
	Richard Henderson, Joseph S. Myers, Bruce Korb, Arnaud Charlet,
	Tristan Gingold

On 5 March 2012 17:01, Rainer Orth wrote:
>
> * The libstdc++ testsuite is messy since every thing pthread test
>  includes the complete list of targets where it should be run, and the
>  options required.  I've long meant to clean this up, but this will
>  have to wait until after osf and irix are gone from the tree.

That would be fantastic if you do clean it up some time.

The libstdc++ parts of this patch are OK.

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Remove obsolete Tru64 UNIX V5.1B support
       [not found] <yddsjhnrngz.fsf@manam.CeBiTec.Uni-Bielefeld.DE>
@ 2012-03-05 17:20 ` Andrew Haley
  2012-03-05 17:58 ` Jonathan Wakely
  2012-03-06  8:44 ` Arnaud Charlet
  2 siblings, 0 replies; 27+ messages in thread
From: Andrew Haley @ 2012-03-05 17:20 UTC (permalink / raw)
  To: Rainer Orth
  Cc: gcc-patches, java-patches, libstdc++,
	Richard Henderson, Joseph S. Myers, Bruce Korb, Arnaud Charlet,
	Tristan Gingold

On 03/05/2012 05:01 PM, Rainer Orth wrote:
> * In libjava, there were several workarounds for OSF bugs/quirks.  I've
>   ripped them out as explained above.
> 
>   There's one particular issue: the change to java/io/File.java required
>   my to regenerate the .class file in classpath.  I've used Sun javac
>   -target 1.5 for that and hope I got it right.

OK.

Andrew.

^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2012-03-13  9:07 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-05 17:14 Remove obsolete Tru64 UNIX V5.1B support Rainer Orth
2012-03-05 17:28 ` Richard Henderson
2012-03-05 17:36   ` Jakub Jelinek
2012-03-05 17:52     ` Rainer Orth
2012-03-05 17:41   ` Douglas Rupp
2012-03-05 17:54     ` Rainer Orth
2012-03-05 18:00   ` Rainer Orth
2012-03-06  8:39   ` Tristan Gingold
2012-03-05 17:32 ` Bruce Korb
2012-03-05 23:13 ` Joseph S. Myers
2012-03-05 23:59   ` Bruce Korb
2012-03-06 13:18     ` Rainer Orth
2012-03-06 13:14   ` Rainer Orth
2012-03-06 17:55     ` David Daney
2012-03-07 14:36       ` Rainer Orth
2012-03-12 16:33       ` Rainer Orth
2012-03-06  8:57 ` Tristan Gingold
2012-03-06 13:24   ` Rainer Orth
2012-03-12 16:07   ` Rainer Orth
2012-03-12 16:19     ` Paolo Carlini
2012-03-12 16:23       ` Rainer Orth
2012-03-13  9:07     ` Tristan Gingold
     [not found] <yddsjhnrngz.fsf@manam.CeBiTec.Uni-Bielefeld.DE>
2012-03-05 17:20 ` Andrew Haley
2012-03-05 17:58 ` Jonathan Wakely
2012-03-06 13:12   ` Rainer Orth
2012-03-06  8:44 ` Arnaud Charlet
2012-03-06 13:19   ` Rainer Orth

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).