* 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: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: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: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: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: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 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: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 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-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-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 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-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-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 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-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
[parent not found: <yddsjhnrngz.fsf@manam.CeBiTec.Uni-Bielefeld.DE>]
* 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
* 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 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 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
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).