Uros Bizjak [Tue, 3 Oct 2006 05:52:05 +0000 (07:52 +0200)]
inclhack.def (glibc_mutex_init): Also fix PTHREAD_MUTEX_(RECURSIVE|ERRORCHECK|ADAPTIVE)_NP and...
* inclhack.def (glibc_mutex_init): Also fix
PTHREAD_MUTEX_(RECURSIVE|ERRORCHECK|ADAPTIVE)_NP and
PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP initializers.
Jerry DeLisle [Tue, 3 Oct 2006 04:09:49 +0000 (04:09 +0000)]
re PR fortran/19260 (& not required when splitting a token in continuation)
2006-10-02 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/19260
* gfortran.dg/continuation.f90: Rename to continuation_1.f90.
* gfortran.dg/continuation_2.f90: New test.
PR fortran/19262
* gfortran.dg/continuation_3.f90: New test.
* gfortran.dg/continuation_4.f90: New test.
* gfortran.dg/continuation_5.f: New test.
* gfortran.dg/continuation_6.f: New test.
Jerry DeLisle [Tue, 3 Oct 2006 03:58:20 +0000 (03:58 +0000)]
re PR fortran/19262 (more than thirty-nine continuation lines should issue a std-warn)
2006-10-02 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/19262
* gfortran.h (gfc_option_t): Add max_continue_fixed and max_continue_free.
* options.c (gfc_init_options): Initialize fixed form and free form
consecutive continuation line limits.
* scanner.c (gfc_scanner_init_1): Initialize continue_line
and continue_count. (gfc_next_char_literal): Count the number of
continuation lines in the current statement and warn if
limit is exceeded.
2006-10-02 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/19260
* scanner.c (gfc_next_char_literal): Add check for missing '&'
and warn if in_string, otherwise return ' '.
Mark Mitchell [Mon, 2 Oct 2006 22:21:02 +0000 (22:21 +0000)]
re PR c++/29226 (ICE in make_decl_rtl, at varasm.c:886)
PR c++/29226
* typeck.c (cxx_sizeof_or_alignof_type): Tidy. In templates, do
not try to actually evaluate sizeof for a VLA type.
PR c++/29226
* g++.dg/template/vla1.C: New test.
Mark Mitchell [Mon, 2 Oct 2006 04:12:51 +0000 (04:12 +0000)]
re PR c++/29105 (segfault in add_candidates with a non template base class and a template member function)
PR c++/29105
* pt.c (tsubst_baselink): Substituteinto the qualifying scope.
* semantics.c (baselink_for_fns): Build a baselink, even when
processing a template.
PR c++/29105
* g++.dg/template/member6.C: New test.
* g++.dg/parse/typename7.C: Adjust error markers.
Mark Mitchell [Mon, 2 Oct 2006 04:12:30 +0000 (04:12 +0000)]
re PR c++/29080 (Multiple-inheritance with template method function code triggers "internal compiler error: in build_base_path, at cp/class.c:273")
PR c++/29080
* parser.c (cp_parser_postfix_dot_deref_expression): Use
BASELINK_ACCESS_BINFO as the qualifying scope when calling
adjust_result_of_qualified_name_lookup.
PR c++/29080
* g++.dg/template/member7.C: New test.
* gcc/tree.h (DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET): Fix
comments to reflect actual behavior and relationship between
DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET, and DECL_OFFSET_ALIGN.
* gcc/doc/c-tree.texi (Working with declarations): Fix documentation
of FIELD_DECL likewise.
Paolo Carlini [Sun, 1 Oct 2006 08:27:49 +0000 (08:27 +0000)]
basic_file_stdio.cc: As an extension...
2006-10-01 Paolo Carlini <pcarlini@suse.de>
* config/io/basic_file_stdio.cc: As an extension, and
consistently with C facilities, allow for in|out|app and
in|out|app|binary openmodes.
* testsuite/27_io/basic_filebuf/open/char/4.cc: New.
Brooks Moses [Sun, 1 Oct 2006 00:51:21 +0000 (00:51 +0000)]
invoke.texi: Add mention of BOZ constants and integer overflow to -fno-range-check.
2006-09-30 Brooks Moses <bmoses@stanford.edu>
* invoke.texi: Add mention of BOZ constants and integer
overflow to -fno-range-check.
* fortran.texi: Add mention of -fno-range-check to
section on BOZ contants.
Keith Seitz [Sat, 30 Sep 2006 19:20:16 +0000 (19:20 +0000)]
java-interp.h (prepared): Change type to pc_t.
* include/java-interp.h (prepared): Change type to pc_t.
(insn_index): Define for both DIRECT_THREADED and bytecode interpreters.
* interpret.cc [!DIRECT_THREADED] (POKEI): Fix typo.
(insn_index): Implement for bytecode interpreter.
* interpret-run.cc [!DIRECT_THREADED] (AVAL1U): Add _Jv_Linker class
qualifier to resolve_pool_entry.
[!DIRECT_THREADED] (AVAL2U): Likewise.
[!DIRECT_THREADED] bytecode() cannot be called without an object.
Changed all typos.
[!DIRECT_THREADED] Likewise for defining_class.
Eric Botcazou [Sat, 30 Sep 2006 13:31:29 +0000 (13:31 +0000)]
re PR rtl-optimization/28096 (fdlibm/strtod.c miscompiled at -O2)
PR rtl-optimization/28096
* ifcvt.c (check_cond_move_block): Return FALSE if the source of an
assignment has already been used as a destination earlier in the
block.
Joseph Myers [Fri, 29 Sep 2006 21:18:51 +0000 (22:18 +0100)]
re PR other/25035 (libssp causes a failure with cross compilers with unified trees)
PR other/25035
* configure.ac (AC_EXEEXT): Remove.
(GCC_NO_EXECUTABLES): Call.
(ssp_use_symver): Default to no if unable to link.
(AC_CHECK_FUNCS): Hardwire results if unable to link.
* aclocal.m4, configure, Makefile.in: Regenerate.
re PR libfortran/18791 (CABS specifics declared of wrong type)
PR fortran/18791
* gfortran.dg/specifics_1.f90: New test.
* gfortran.fortran-torture/execute/specifics.f90: Add tests for
complex specifics.
* m4/specific.m4: Special-case cabs so that its return type is
real. Special-case conjg so that their suffices are _4, _8, _10 and
_16 instead of _c4, _c8, _c10 and _c16.
* intrinsics/f2c_specifics.F90: Special-case conjg functions so
that their suffices are _4 and _8 instead of _c4 and _c8.
* generated/_conjg_c4.F90: Regenerate.
* generated/_conjg_c8.F90: Regenerate.
* generated/_conjg_c10.F90: Regenerate.
* generated/_conjg_c16.F90: Regenerate.
* generated/_abs_c4.F90: Regenerate.
* generated/_abs_c8.F90: Regenerate.
* generated/_abs_c10.F90: Regenerate.
* generated/_abs_c16.F90: Regenerate.
inclhack.def (solaris_mutex_init_2): Update for Solaris9.
* inclhack.def (solaris_mutex_init_2): Update for Solaris9.
Prevent it from running on solaris10 or later.
(solaris_once_init_2): Fix comment.
* tests/base/pthread.h: Update.
Eric Botcazou [Fri, 29 Sep 2006 06:52:04 +0000 (06:52 +0000)]
decl.c (gnat_to_gnu_entity): Do not set "const" flag on "pure" Ada subprograms if SJLJ exceptions are used.
* decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not set "const" flag
on "pure" Ada subprograms if SJLJ exceptions are used.
* trans.c (Handled_Sequence_Of_Statements_to_gnu): Set TREE_NO_WARNING
on the declaration node of JMPBUF_SAVE.
* utils.c (init_gigi_decls): Set DECL_IS_PURE on the declaration nodes
of Get_Jmpbuf_Address_Soft and Get_GNAT_Exception.
* utils2.c (build_call_0_expr): Do not set TREE_SIDE_EFFECTS.
Eric Botcazou [Fri, 29 Sep 2006 06:32:58 +0000 (06:32 +0000)]
builtins.c (expand_builtin_setjmp): Delete.
* builtins.c (expand_builtin_setjmp): Delete.
(expand_builtin) <BUILT_IN_SETJMP>: Mark as unreachable.
<BUILT_IN_SETJMP_SETUP>: New case.
<BUILT_IN_SETJMP_DISPATCHER>: Likewise.
<BUILT_IN_SETJMP_RECEIVER>: Likewise.
* builtins.def (BUILT_IN_SETJMP_SETUP): New built-in stub.
(BUILT_IN_SETJMP_DISPATCHER): Likewise.
(BUILT_IN_SETJMP_RECEIVER): Likewise.
* gimple-low.c (struct lower_data): New field calls_builtin_setjmp.
(lower_function_body): Initialize it to false. If it is set to true
at the end of the processing, emit the setjmp dispatcher.
(lower_stmt) <CALL_EXPR>: Invoke lower_builtin_setjmp if the callee
is __builtin_setjmp and set calls_builtin_setjmp to true as well.
<MODIFY_EXPR>: Fall through to above case if there is a CALL_EXPR
on the rhs of the assignment.
(lower_builtin_setjmp): New function.
* tree.c (build_common_builtin_nodes): Build BUILT_IN_SETJMP_SETUP,
BUILT_IN_SETJMP_DISPATCHER and BUILT_IN_SETJMP_RECEIVER nodes.
* tree-cfg.c (make_exit_edges) <CALL_EXPR>: Use specific predicate
to detect calls that can go to non-local labels. Use specific
helper to create the abnormal edges associated with them.
<MODIFY_EXPR>: Likewise.
(make_abnormal_goto_edges): New function extracted from...
(make_goto_expr_edges): ...here. Call it for computed gotos.
(simple_goto_p): Minor tweak.
(tree_can_make_abnormal_goto): New predicate.
(tree_redirect_edge_and_branch): Return zero on all abnormal edges.
(tree_purge_dead_abnormal_call_edges): New function.
* tree-flow.h (tree_can_make_abnormal_goto): Declare.
(tree_purge_dead_abnormal_call_edges): Likewise.
(make_abnormal_goto_edges): Likewise.
* tree-inline.c (expand_call_inline): Simplify statement frobbing.
Purge all dead abnormal edges if the call was in the last statement.
* tree-optimize.c (has_abnormal_outgoing_edge_p): New predicate.
(execute_fixup_cfg): If there are non-local labels in the function,
scan the basic blocks and split them at calls that can go to non-local
labels or add missing abnormal call edges. Write down the CFG in the
dump file.
(pass_fixup_cfg): Remove TODO_dump_func flag.
* unwind-sjlj.c: Poison setjmp.
* doc/install.texi (enable-sjlj-exceptions): Use more general wording.
* doc/tm.texi (DWARF2_UNWIND_INFO): Likewise.
(TARGET_UNWIND_TABLES_DEFAULT): Fix typo.
(DONT_USE_BUILTIN_SETJMP): Document it.
re PR target/28617 (___divti3 and ___umodti3 undefined for -m64 on powerpc-apple-darwin8)
PR target/28617
* config/rs6000/rs6000.h [IN_LIBGCC2] (TARGET_POWERPC64): Define
to 1 when __ppc64__ is defined.
* config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Add ppc64-fp.c and
darwin-64.c.
* config/rs6000/ppc64-fp.c: Also compile when __ppc64__ is defined.
Steven G. Kargl [Thu, 28 Sep 2006 19:31:37 +0000 (19:31 +0000)]
arith.c: Change conditional test for inclusion of arctangent().
2006-09-28 Steven G. Kargl <kargl@gcc.gnu.org>
* arith.c: Change conditional test for inclusion of arctangent().
(gfc_check_real_range): Change conditional test for use of
mpfr_subnormalize.
* simplify.c (gfc_simplify_atan2): Fix conditional for use of
mpfr_atan2() instead of arctangent().
(gfc_simplify_exponent): Fix conditional for use of mpfr_get_exp().
(gfc_simplify_log): Fix conditional for use of mpfr_atan2() instead
of arctangent().
(gfc_simplify_nearest): Fix conditional for use of mpfr_nextafter().
Eric Botcazou [Thu, 28 Sep 2006 19:14:05 +0000 (19:14 +0000)]
gimplify.c (gimplify_init_ctor_preeval): Call maybe_with_size_expr on the element before gimplifying it...
* gimplify.c (gimplify_init_ctor_preeval): Call maybe_with_size_expr
on the element before gimplifying it, instead of punting if it is of
variable size.
* testsuite/ext/pb_ds/example/hash_resize_neg.cc: Adjust line numbers.
* testsuite/util/regression/rand/priority_queue/detail/
operator_fn_imps.hpp: Set and clear label, throw
probability. Check only allocations of the marked label.
* testsuite/util/regression/rand/assoc/detail/
operator_fn_imps.hpp: Same.
Steven G. Kargl [Wed, 27 Sep 2006 20:15:22 +0000 (20:15 +0000)]
re PR fortran/28276 (EXPONENT() broken for real constants)
* configure.in: Check for GMP 4.1 or newer. Check for MPFR 2.2.0
or newer.
* configure: Regenerated.
* doc/install.texi: Document required versions of GMP and MPFR.
* fortran/arith.c: Conditionally include arctangent2().
(gfc_check_real_range): Use mpfr_subnormalize in preference to local
hack.
* fortran/trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl): Append
l for long double functions.
* fortran/simplify.c: Wrap Copyright to new line.
(gfc_simplify_atan2): Use mpfr_atan2 in preference to arctangent2().
(gfc_simplify_log): Ditto.
PR fortran/28276
* fortran/simplify.c (gfc_simplify_exponent): Use mpfr_get_exp in
preference to broken local hack.
PR fortran/27021
* fortran/simplify.c (gfc_simplify_nearest): Use mpfr_nexttoward and
mpfr_subnormalize to handle numbers near zero in preference to broken
local hack.
PR fortran/28276
* testsuite/gfortran.dg/exponent_1.f90: New test.
PR fortran/27021
* testsuite/gfortran.dg/nearest_1.f90: New test.
Dave Brolley [Wed, 27 Sep 2006 19:42:24 +0000 (15:42 -0400)]
configure.in (RUNTEST): Look for 'runtest' in the source tree by using $s instead of $r.
2006-09-27 Dave Brolley <brolley@redhat.com>
* configure.in (RUNTEST): Look for 'runtest' in the source tree by using
$s instead of $r.
* configure: Regenerated.
reload1.c (alter_reg): Require the alignment of the stack slot to be at least reg_max_ref_width bytes.
gcc/
* reload1.c (alter_reg): Require the alignment of the stack slot to
be at least reg_max_ref_width bytes.
(scan_paradoxical_subregs): Record the largest width in
reg_max_ref_width.
Tom Tromey [Wed, 27 Sep 2006 07:58:11 +0000 (07:58 +0000)]
Locale.java (hashcode): No longer transient.
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=201712
* java/util/Locale.java (hashcode): No longer transient.
(writeObject): Use ObjectOutputStream.PutField and
defaultWriteObject.
(readObject): Use defaultReadObject.
Paolo Carlini [Wed, 27 Sep 2006 07:08:13 +0000 (07:08 +0000)]
re PR libstdc++/29217 (locale confusion with time/collate categories)
2006-09-27 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/29217
* src/localename.cc (locale::_Impl::_M_replace_categories)):
Compensate for the inconsistent numerical encodings of the
collate and time categories vs the corresponding names.
* testsuite/22_locale/locale/cons/29217.cc: New.
* testsuite/22_locale/locale/cons/2.cc: Enable and split
out the few ENC_TRAITS bits to...
* testsuite/22_locale/locale/cons/unicode/1.cc... here.
* testsuite/libgomp.fortran/condinc1.f: New test.
* testsuite/libgomp.fortran/condinc2.f: New test.
* testsuite/libgomp.fortran/condinc3.f90: New test.
* testsuite/libgomp.fortran/condinc4.f90: New test.
* testsuite/libgomp.fortran/condinc1.inc: New file.
Lee Millward [Mon, 25 Sep 2006 19:58:10 +0000 (19:58 +0000)]
re PR c++/27667 (ICE with in-class specialization)
PR c++/27667
* cp-tree.h (begin_specialization): Return bool instead of void.
* pt.c (check_specialization_scope): Likwise. Adjust comment.
Return false if a specialization isn't permitted in the current scope,.
(begin_specialization): Use the return value of
check_specialization_scope.
* parser.c (cp_parser_explicit_specialization): If
begin_specialization returned false, skip the rest of the
specialization.
* g++.dg/template/spec33.C: New test.
* g++.old-deja/g++.pt/spec20.C: Adjust error markers.