Zdenek Dvorak [Wed, 19 Dec 2007 15:07:01 +0000 (16:07 +0100)]
omp-low.c (build_omp_regions_1): Recognition of combined parallels moved ...
* omp-low.c (build_omp_regions_1): Recognition of combined parallels
moved ...
(expand_omp): ... here.
* gcc.dg/gomp/combined-1.c: New test.
From-SVN: r131064
Zdenek Dvorak [Wed, 19 Dec 2007 15:01:19 +0000 (16:01 +0100)]
re PR tree-optimization/34355 (ICE: invariant not recomputed when ADDR_EXPR changed with -ftree-parallelize-loops)
PR tree-optimization/34355
* tree-parloops.c (take_address_of): Handle expresions
instead of just variables.
(eliminate_local_variables_1): Force whole invariant
address to ssa name.
* g++.dg/tree-ssa/pr34355.C: New test.
From-SVN: r131063
Etsushi Kato [Wed, 19 Dec 2007 14:28:32 +0000 (14:28 +0000)]
re PR target/30572 (target libraries links against /libgcc_s.1.dylib instead of $(prefix)/lib/libgcc_s.1.dylib)
2007-12-19 Etsushi Kato <ek.kato@gmail.com>
Paolo Bonzini <bonzini@gnu.org>
PR target/30572
* Makefile.in: Use @shlib_slibdir@ substitution to get correct install name
on darwin.
* config/t-slibgcc-darwin: Use @shlib_slibdir@ for -install_name.
Co-Authored-By: Paolo Bonzini <bonzini@gnu.org>
From-SVN: r131062
Revital Eres [Wed, 19 Dec 2007 13:36:32 +0000 (13:36 +0000)]
Fix generation of reg-moves
From-SVN: r131060
Jakub Jelinek [Wed, 19 Dec 2007 12:58:32 +0000 (13:58 +0100)]
re PR c++/34513 (static variable not found for C++ OpenMP)
PR c++/34513
* parser.c (cp_parser_omp_parallel): For non-combined parallel
call cp_parser_statement rather than
cp_parser_already_scoped_statement.
* testsuite/libgomp.c/pr34513.c: New test.
* testsuite/libgomp.c++/pr34513.C: New test.
From-SVN: r131059
Richard Sandiford [Wed, 19 Dec 2007 09:54:45 +0000 (09:54 +0000)]
tree.h (set_decl_incoming_rtl): Add a by_reference_p parameter.
gcc/
* tree.h (set_decl_incoming_rtl): Add a by_reference_p parameter.
* emit-rtl.c (set_decl_incoming_rtl): Likewise. Don't set the
rtl's register attributes when the parameter is true.
* function.c (assign_parms_unsplit_complex, assign_parms)
(expand_function_start): Update calls to set_decl_incoming_rtl.
From-SVN: r131056
Richard Sandiford [Wed, 19 Dec 2007 09:54:24 +0000 (09:54 +0000)]
rtl.def (SUBREG): Update comments.
gcc/
* rtl.def (SUBREG): Update comments.
* rtl.h (reg_attrs): Be explicit about the type of offset used.
(set_reg_attrs_from_mem): Rename to...
(set_reg_attrs_from_value): ...this.
(adjust_reg_mode, byte_lowpart_offset): Declare.
* emit-rtl.c (byte_lowpart_offset): New function.
(update_reg_offset): Remove special offset handling for big-endian
targets.
(gen_rtx_REG_offset, gen_reg_rtx_offset): Explicitly say that the
offset parameter is added to REG_OFFSET.
(adjust_reg_mode): New function.
(set_reg_attrs_for_mem): Rename to...
(set_reg_attrs_for_value): ...this and generalize to all values.
If the register is a lowpart of the value, adjust the offset
accordingly.
(set_reg_attrs_for_parm): Update after the above renaming.
(set_reg_attrs_for_decl_rtl): New function, split out from
set_decl_incoming_rtl. Set the offset of plain REGs to the
offset of the REG's mode from the decl's. Assert that all
subregs are lowparts and handle their inner registers in the
same way as plain REGs.
(set_decl_rtl, set_incoming_decl_rtl): Use reg_attrs_for_decl_rtl.
(subreg_lowpart_offset): Explicitly say that the returned offset
is a SUBREG_BYTE.
* combine.c (do_SUBST_MODE, try_combine, undo_all): Use adjust_reg_mode
instead of PUT_MODE.
* final.c (alter_subreg): Fix/update argument to gen_rtx_REG_offset.
* config/ia64/ia64.c (ia64_expand_load_address): Likewise.
* regclass.c (reg_scan_mark_refs): Use set_reg_attrs_from_value.
* reload.c (find_reloads_subreg_address): Call set_mem_offset
when offseting a MEM.
* var-tracking.c (offset_valid_for_tracked_p): Delete.
(mode_for_reg_attrs): Replace with...
(track_loc_p): ...this new function. Return the mode and offset
to the caller, checking that the latter is valid. If the rtx is
a paradoxical lowpart of the decl, use the decl's mode instead.
Do the same when storing to a register that contains the entire decl.
(var_lowpart): Use byte_lowpart_offset rather than
subreg_lowpart_offset when adjusting the offset attribute.
(count_uses, add_uses, add_stores): Use track_reg_p instead of
REG_EXPR, MEM_EXPR, REG_OFFSET, INT_MEM_OFFSET, track_expr_p,
offset_valid_for_tracked_p and mode_for_reg_attrs. Generate
lowparts for MEMs as well as REGs.
(vt_add_function_parameters): When obtaining the information from
the decl_rtl, adjust the offset to match incoming. Use track_loc_p
and var_lowpart.
From-SVN: r131055
Samuel Tardieu [Wed, 19 Dec 2007 09:45:43 +0000 (09:45 +0000)]
Makefile.in: Add s-tasinf.ad[bs] substitutions for sh4-linux target.
gcc/ada/
* Makefile.in: Add s-tasinf.ad[bs] substitutions for sh4-linux target.
From-SVN: r131054
Jerry DeLisle [Wed, 19 Dec 2007 05:58:53 +0000 (05:58 +0000)]
re PR fortran/34325 (Wrong error message for syntax error)
2007-12-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/34325
* gfortran.dg/missing_parens_1.f90: New.
* gfortran.dg/missing_parens_1.f90: New.
From-SVN: r131053
Jerry DeLisle [Wed, 19 Dec 2007 05:55:17 +0000 (05:55 +0000)]
re PR fortran/34325 (Wrong error message for syntax error)
2007-12-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/34325
* match.h: New function declaration.
* match.c (gfc_match_parens): New function to look for mismatched
parenthesis. (gfc_match_if): Use new function to catch missing '('.
From-SVN: r131052
GCC Administrator [Wed, 19 Dec 2007 00:17:19 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r131050
Daniel Franke [Tue, 18 Dec 2007 23:39:56 +0000 (18:39 -0500)]
re PR fortran/34495 (accepts invalid initialization expressions withTRANSFER)
gcc/fortran:
2007-12-19 Daniel Franke <franke.daniel@gmail.com>
PR fortran/34495
* expr.c (check_init_expr): Check whether variables with flavor
FL_PARAMETER do have a value assigned. Added error messages where
appropriate.
* simplify.c (gfc_simplify_transfer): Added check if the MOLD
argument is a constant if working with initialization
expressions.
gcc/testsuite:
2007-12-19 Daniel Franke <franke.daniel@gmail.com>
PR fortran/34495
* gfortran.dg/transfer_simplify_2.f90: Fixed invalid initialization
expressions.
* gfortran.dg/transfer_simplify_7.f90: New test.
From-SVN: r131047
Janis Johnson [Tue, 18 Dec 2007 22:52:13 +0000 (22:52 +0000)]
* gcc.dg/pr32912-3.c: Compile with -w.
From-SVN: r131046
Janis Johnson [Tue, 18 Dec 2007 22:50:56 +0000 (22:50 +0000)]
* gcc.dg/torture/builtin-modf-1.c: Remove -funsafe-math-optimizations.
From-SVN: r131045
Jason Merrill [Tue, 18 Dec 2007 22:25:20 +0000 (17:25 -0500)]
re PR c++/34206 (ICE in retrieve_local_specialization)
PR c++/34206
* pt.c (tsubst_aggr_type): Do nothing if the type already doesn't
use template parms.
(dependent_type_p_r): Handle the domain of an array.
From-SVN: r131044
Doug Gregor [Tue, 18 Dec 2007 21:20:17 +0000 (21:20 +0000)]
Accidentally failed to commit ChangeLog
From-SVN: r131042
Douglas Gregor [Tue, 18 Dec 2007 21:19:41 +0000 (21:19 +0000)]
re PR c++/32565 (ICE with specialization of variadic template)
2007-12-18 Douglas Gregor <doug.gregor@gmail.com>
Jakub Jelinek <jakub@redhat.com>
PR c++/32565
PR c++/33943
PR c++/33965
* pt.c (template_template_parm_bindings_ok_p): New; verifies
bindings of template template parameters after all template
arguments have been deduced.
(coerce_template_parms): Don't complain when COMPLAIN doesn't
include tf_error.
(fn_type_unification): Use template_template_parm_bindings_ok_p.
(unify): Deal with variadic, bound template template parameters.
(get_class_bindings): Use template_template_parm_bindings_ok_p.
2007-12-18 Douglas Gregor <doug.gregor@gmail.com>
Jakub Jelinek <jakub@redhat.com>
PR c++/32565
PR c++/33943
PR c++/33965
* g++.dg/cpp0x/variadic86.C: New.
* g++.dg/cpp0x/variadic87.C: New.
* g++.dg/cpp0x/variadic84.C: New.
* g++.dg/cpp0x/variadic85.C: New.
* g++.dg/template/ttp25.C: New.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r131041
Sebastian Pop [Tue, 18 Dec 2007 19:40:35 +0000 (19:40 +0000)]
re PR tree-optimization/34123 (verify_ssa failed with -ftree-loop-linear)
2007-12-18 Sebastian Pop <sebastian.pop@amd.com>
PR tree-optimization/34123
* lambda-code.c (can_duplicate_iv): New.
(cannot_convert_modify_to_perfect_nest): New.
(cannot_convert_bb_to_perfect_nest): New.
(can_convert_to_perfect_nest): Split up.
* gcc.dg/tree-ssa/pr34123.c: New test.
From-SVN: r131040
David Daney [Tue, 18 Dec 2007 16:46:16 +0000 (16:46 +0000)]
mips.md (clear_hazard): Use PRINT_OPERAND punctuation instead of .set push and .set pop.
2007-12-18 David Daney <ddaney@avtrex.com>
* config/mips/mips.md (clear_hazard): Use PRINT_OPERAND punctuation
instead of .set push and .set pop.
From-SVN: r131038
Rask Ingemann Lambertsen [Tue, 18 Dec 2007 15:30:57 +0000 (16:30 +0100)]
re PR target/33474 (bfin: ICE: RTL check: expected code 'set' or 'clobber', have 'parallel' in bfin_adjust_cost, at config/bfin/bfin.c:3120)
PR target/33474
* config/bfin/bfin.c (bfin_adjust_cost): Dig into PARALLELs to find
the SET.
From-SVN: r131037
Andrew Haley [Tue, 18 Dec 2007 14:06:15 +0000 (14:06 +0000)]
re PR java/27643 (ICE in java_mark_cni_decl_local compiling bytecode->native)
2007-12-18 Andrew Haley <aph@redhat.com>
PR java/27643
* jcf-parse.c (java_parse_file): Remove call to
java_mark_class_local.
(parse_class_file): Reinstate call to java_mark_class_local here.
* decl.c (java_mark_cni_decl_local): If the ASSEMBLER_NAME is
already set, call java_mangle_decl() and make_decl_rtl() to
rewrite its name as a hidden alias.
From-SVN: r131036
Razya Ladelsky [Tue, 18 Dec 2007 11:21:48 +0000 (11:21 +0000)]
tree-parloops.c (reduiction_info): Change documentation of reduction_initial field.
2007-12-18 Razya Ladelsky <razya@il.ibm.com>
* tree-parloops.c (reduiction_info): Change documentation of
reduction_initial field.
(initialize_reductions): Remove creation of reduction_initial
variable.
(create_loads_for_reductions): don't join reduction_initial to
the loaded value.
From-SVN: r131035
Paolo Carlini [Tue, 18 Dec 2007 10:33:35 +0000 (10:33 +0000)]
2007-12-18 Paolo Carlini <pcarlini@suse.de>
Tweak the last ChangeLog.
From-SVN: r131034
Richard Sandiford [Tue, 18 Dec 2007 07:40:17 +0000 (07:40 +0000)]
200x-xx-xx Kaz Kylheku <kaz@zeugmasystems.com>
gcc/
200x-xx-xx Kaz Kylheku <kaz@zeugmasystems.com>
PR rtl-optimization/34456
* resource.c (mark_set_resources): Use regs_invalidated_by_call
rather than call_used_regs and global_regs.
gcc/testsuite/
PR rtl-optimization/34456
* gcc.c-torture/execute/pr34456.c: New test.
From-SVN: r131033
Hans-Peter Nilsson [Tue, 18 Dec 2007 03:22:37 +0000 (03:22 +0000)]
inclhack.def: (glibc_c99_inline_1a, glibc_c99_inline_5): New.
* inclhack.def: (glibc_c99_inline_1a, glibc_c99_inline_5): New.
* fixincl.x: Regenerate.
* tests/base/wchar.h: Update.
* tests/base/features.h: New.
From-SVN: r131031
GCC Administrator [Tue, 18 Dec 2007 00:17:30 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r131028
Jakub Jelinek [Tue, 18 Dec 2007 00:15:32 +0000 (01:15 +0100)]
re PR c++/34488 (ICE on invalid friend declaration)
PR c++/34488
* decl.c (grokdeclarator): Reject friend sfk_constructor
FUNCTION_TYPE.
* g++.dg/parse/friend7.C: New test.
From-SVN: r131025
Jakub Jelinek [Tue, 18 Dec 2007 00:13:29 +0000 (01:13 +0100)]
re PR rtl-optimization/34490 (r128833 causes miscompilation of glibc clock_gettime.c)
PR rtl-optimization/34490
* simplify-rtx.c (simplify_const_relational_operation): If !sign,
don't reduce mmin/mmax using num_sign_bit_copies.
* gcc.c-torture/execute/
20071216-1.c: New test.
From-SVN: r131023
Jonathan Wakely [Mon, 17 Dec 2007 22:07:39 +0000 (22:07 +0000)]
locale_classes.h: Simplify RTTI checks.
2007-12-17 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/bits/locale_classes.h: Simplify RTTI checks.
From-SVN: r131020
Jonathan Wakely [Mon, 17 Dec 2007 21:37:26 +0000 (21:37 +0000)]
test.html: Fix paths and notes on running subset of tests.
2007-12-17 Jonathan Wakely <jwakely.gcc@gmail.com>
* docs/html/test.html: Fix paths and notes on running subset of tests.
* docs/html/ext/parallel_mode.html: Fix markup typos.
* docs/html/ext/pb_ds/index.html: Likewise.
From-SVN: r131019
Kaveh R. Ghazi [Mon, 17 Dec 2007 21:28:51 +0000 (21:28 +0000)]
configure.ac: Change required MPFR from 2.2.0 -> 2.2.1.
* configure.ac: Change required MPFR from 2.2.0 -> 2.2.1.
Change recommended MPFR from 2.2.1 > 2.3.0.
* configure: Regenerate.
gcc:
* doc/install.texi: Change recommended MPFR from 2.2.1 > 2.3.0.
testsuite:
* gcc.dg/torture/builtin-math-4.c: Remove XFAIL.
From-SVN: r131018
Andreas Schwab [Mon, 17 Dec 2007 21:05:06 +0000 (21:05 +0000)]
* doc/invoke.texi (Warning Options): Use @itemx.
From-SVN: r131017
Dorit Nuzman [Mon, 17 Dec 2007 20:54:01 +0000 (20:54 +0000)]
tree-vectorizer.h (verbosity_levels): Add new verbosity level REPORT_COST.
* tree-vectorizer.h (verbosity_levels): Add new verbosity level
REPORT_COST.
* tree-vect-transform.c (vect_estimate_min_profitable_iters): Change
verbosity level to REPORT_COST.
(vect_model_reduction_cost): Likewise.
(vect_model_induction_cost): Likewise.
(vect_model_simple_cost): likewise.
(vect_model_store_cost): likewise.
(vect_model_load_cost): likewise.
(conservative_cost_threshold): Likewise. Remove print.
From-SVN: r131016
Benjamin Kosnik [Mon, 17 Dec 2007 19:41:32 +0000 (19:41 +0000)]
standard_facet_hierarchies.cc: Fix for generic locale model.
2007-12-17 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/22_locale/global_templates/
standard_facet_hierarchies.cc: Fix for generic locale model.
From-SVN: r131013
Jack Howarth [Mon, 17 Dec 2007 19:30:08 +0000 (19:30 +0000)]
re PR target/32765 (Testsuite failures due to undefined symbol ___emutls_get_address)
2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
PR target/32765
* testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
From-SVN: r131012
Rask Ingemann Lambertsen [Mon, 17 Dec 2007 18:38:09 +0000 (19:38 +0100)]
* doc/tm.texi (TARGET_SECONDARY_RELOAD): Fix typos.
From-SVN: r131011
Jakub Jelinek [Mon, 17 Dec 2007 17:06:44 +0000 (18:06 +0100)]
Makefile.am (compile-tests): Build libjava.jvmti/interp/*.h with -jni rather than -cni.
* testsuite/Makefile.am (compile-tests): Build
libjava.jvmti/interp/*.h with -jni rather than -cni.
* testsuite/Makefile.in: Rebuilt.
From-SVN: r131010
Jakub Jelinek [Mon, 17 Dec 2007 14:16:42 +0000 (15:16 +0100)]
re PR c/34506 (gcc disallows comma between C/C++ OpenMP clauses)
PR c/34506
* c-parser.c (c_parser_omp_all_clauses): Accept optional comma
in between clauses.
* parser.c (cp_parser_omp_all_clauses): Accept optional comma
in between clauses.
* gcc.dg/gomp/clause-2.c: New test.
* g++.dg/gomp/clause-4.C: New test.
From-SVN: r131008
Tobias Burnus [Mon, 17 Dec 2007 11:24:06 +0000 (12:24 +0100)]
intrinsic.c (add_functions): Undo change; mark float and sngl as STD_F77.
2007-12-17 Tobias Burnus <burnus@net-b.de>
* intrinsic.c (add_functions): Undo change; mark float and
sngl as STD_F77.
* intrinsic.texi (FLOAT, SNGL): Change standard to F77 and later.
* gfortran.texi (BOZ): Make note about FLOAT etc. clearer.
2007-12-17 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/initialization_16.f90: Update as FLOAT/SNGL are
part of Fortran 77/95/2003.
From-SVN: r131007
Dorit Nuzman [Mon, 17 Dec 2007 11:13:56 +0000 (11:13 +0000)]
re PR tree-optimization/34445 (internal compiler error: in cost_for_stmt, at tree-vect-transform.c:98)
PR tree-optimization/34445
* tree-vect-trasnform.c (vect_estimate_min_profitable_iters): Skip
stmts (including live stmts) that are not relevant.
From-SVN: r131006
Arnaud Charlet [Mon, 17 Dec 2007 10:09:55 +0000 (10:09 +0000)]
* s-vxwork-alpha.ads: Removed, no longer used.
From-SVN: r131005
Jerry DeLisle [Mon, 17 Dec 2007 00:51:25 +0000 (00:51 +0000)]
re PR libfortran/34427 (Revision 130708 breaks namelist input)
2007-12-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/34427
* gfortran.dg/namelist_42.f90: Update.
* gfortran.dg/namelist_43.f90: New.
From-SVN: r131004
Jerry DeLisle [Mon, 17 Dec 2007 00:47:14 +0000 (00:47 +0000)]
re PR libfortran/34427 (Revision 130708 breaks namelist input)
2007-12-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/34427
* io/list_read.c (read_real): Handle intervening line ends and spaces.
(get_name): Don't push separators to saved_string.
(eat_separator): If in namelist mode eat spaces and line ends as well.
From-SVN: r131003
GCC Administrator [Mon, 17 Dec 2007 00:17:32 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r131001
Jack Howarth [Sun, 16 Dec 2007 23:22:30 +0000 (23:22 +0000)]
re PR target/34025 (Warning when compiling with -m64 -ffast-math on Intel Darwin)
PR target/34025
* config/i386/t-crtpc: Add $(MULTILIB_CFLAGS).
* config/i386/t-crtfm: Likewise.
From-SVN: r130998
Uros Bizjak [Sun, 16 Dec 2007 23:12:15 +0000 (00:12 +0100)]
i386.h (WIDEST_HARDWARE_FP_SIZE): Define.
* config/i386/i386.h (WIDEST_HARDWARE_FP_SIZE): Define.
From-SVN: r130997
Jonathan Wakely [Sun, 16 Dec 2007 22:44:01 +0000 (22:44 +0000)]
ChangeLog: Fix my email address in previous two entries.
2007-12-16 Jonathan Wakely <jwakely.gcc@gmail.com>
* ChangeLog: Fix my email address in previous two entries.
From-SVN: r130996
Jonathan Wakely [Sun, 16 Dec 2007 22:31:16 +0000 (22:31 +0000)]
default_weaktoshared.cc: Add required dg-option for cygwin and darwin targets.
2007-12-16 Jonathan Wakely <jwakely-gcc@gmail.com>
* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Add
required dg-option for cygwin and darwin targets.
* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
From-SVN: r130995
Tobias Burnus [Sun, 16 Dec 2007 22:12:55 +0000 (23:12 +0100)]
re PR fortran/34495 (accepts invalid initialization expressions withTRANSFER)
2007-12-16 Tobias Burnus <burnus@net-b.de>
PR fortran/34495
* intrinsic.c (add_functions): Mark float and sngl as STD_GNU.
(gfc_intrinsic_func_interface): Reject REAL, DBLE and CMPLX
in initialization expressions for -std=f95.
2007-12-16 Tobias Burnus <burnus@net-b.de>
PR fortran/34495
* gfortran.dg/initialization_16.f90: New.
From-SVN: r130994
Thomas Koenig [Sun, 16 Dec 2007 21:09:34 +0000 (21:09 +0000)]
re PR fortran/34305 (ICE with array(real) declaration)
2007-12-16 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/34305
* resolve.c (compare_bound): If either of the types of
the arguments isn't INTEGER, return CMP_UNKNOWN.
2007-12-16 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/34305
* gfortran.dg/real_dimension_1.f: New test case.
From-SVN: r130993
Rask Ingemann Lambertsen [Sun, 16 Dec 2007 20:46:01 +0000 (21:46 +0100)]
* gcc.dg/torture/pr24257.c: Remove -O from options.
From-SVN: r130992
Tobias Burnus [Sun, 16 Dec 2007 20:24:32 +0000 (21:24 +0100)]
re PR fortran/34246 (gfortran.dg/bind_c_usage_16.f03 doesn't work)
2007-12-16 Tobias Burnus <burnus@net-b.de>
PR fortran/34246
* trans-types.c (gfc_init_types): Change build_type_variant
to build_qualified_type.
(gfc_sym_type): Return gfc_character1_type_node for
character-returning bind(C) functions.
* trans-expr.c (gfc_conv_function_call): Do not set
se->string_length for character-returning bind(c) functions.
(gfc_trans_string_copy,gfc_trans_scalar_assign):
Support also single characters.
2007-12-16 Tobias Burnus <burnus@net-b.de>
PR fortran/34246
* gfortran.dg/bind_c_usage_16.f03: Extend test.
From-SVN: r130991
Bernhard Fischer [Sun, 16 Dec 2007 17:16:15 +0000 (18:16 +0100)]
Undo misguided distinction WRT deciding if a warning is an error or a warning.
A Warning is a warning, diagnostics DTRT. Cosmetic correction from fallout for
fix for PR21061. See ML-archives for details on why this hunk is wrong but
still harmless in effect.
2007-12-16 Bernhard Fischer <aldot@gcc.gnu.org>
* errors.c (gfc_notify_std): As originally stated but improperly
changed, disregard warnings_are_errors for deciding which buffer
to use for warnings.
From-SVN: r130990
Uros Bizjak [Sun, 16 Dec 2007 12:26:29 +0000 (13:26 +0100)]
tree-vect-transform.c (conservative_cost_threshold): Add missing space to "not vectorized" message.
* tree-vect-transform.c (conservative_cost_threshold): Add missing
space to "not vectorized" message.
From-SVN: r130989
Paul Thomas [Sun, 16 Dec 2007 11:34:08 +0000 (11:34 +0000)]
re PR fortran/31213 (ICE on valid code with gfortran)
2007-12-16 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31213
PR fortran/33888
PR fortran/33998
* trans-array.c (gfc_trans_array_constructor_value): If the
iterator variable does not have a backend_decl, use a local
temporary.
(get_elemental_fcn_charlen): New function to map the character
length of an elemental function onto its actual arglist.
(gfc_conv_expr_descriptor): Call the above so that the size of
the temporary can be evaluated.
* trans-expr.c : Include arith.h and change prototype of
gfc_apply_interface_mapping_to_expr to return void. Change all
references to gfc_apply_interface_mapping_to_expr accordingly.
(gfc_free_interface_mapping): Free the 'expr' field.
(gfc_add_interface_mapping): Add an argument for the actual
argument expression. This is copied to the 'expr' field of the
mapping. Only stabilize the backend_decl if the se is present.
Copy the character length expression and only add it's backend
declaration if se is present. Return without working on the
backend declaration for the new symbol if se is not present.
(gfc_map_intrinsic_function) : To simplify intrinsics 'len',
'size', 'ubound' and 'lbound' and then to map the result.
(gfc_map_fcn_formal_to_actual): Performs the formal to actual
mapping for the case of a function found in a specification
expression in the interface being mapped.
(gfc_apply_interface_mapping_to_ref): Remove seen_result and
all its references. Remove the inline simplification of LEN
and call gfc_map_intrinsic_function instead. Change the
order of mapping of the actual arguments and simplifying
intrinsic functions. Finally, if a function maps to an
actual argument, call gfc_map_fcn_formal_to_actual.
(gfc_conv_function_call): Add 'e' to the call to
gfc_add_interface_mapping.
* dump-parse-tree.c (gfc_show_symbol_n): New function for
diagnostic purposes.
* gfortran.h : Add prototype for gfc_show_symbol_n.
* trans.h : Add 'expr' field to gfc_add_interface_mapping.
Add 'expr' to prototype for gfc_show_symbol_n.
* resolve.c (resolve_generic_f0): Set specific function as
referenced.
2007-12-16 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31213
PR fortran/33888
PR fortran/33998
* gfortran.dg/mapping_1.f90: New test.
* gfortran.dg/mapping_2.f90: New test.
* gfortran.dg/mapping_3.f90: New test.
From-SVN: r130988
Richard Sandiford [Sun, 16 Dec 2007 09:54:34 +0000 (09:54 +0000)]
re PR rtl-optimization/34415 (Possible miscompilation on MIPS)
gcc/
PR rtl-optimization/34415
* df.h (DF_LR_IN, DF_LR_OUT): Update comments.
* resource.c (mark_target_live_regs): Use DF_LR_IN rather than
df_get_live_in. Don't handle pseudos.
gcc/testsuite/
PR rtl-optimization/34415
* gcc.c-torture/execute/pr34415.c: New test.
From-SVN: r130987
Sebastian Pop [Sun, 16 Dec 2007 01:01:23 +0000 (01:01 +0000)]
patch_tester.sh: Don't save the script anymore.
2007-12-15 Sebastian Pop <sebastian.pop@amd.com>
* patch_tester.sh: Don't save the script anymore.
From-SVN: r130986
GCC Administrator [Sun, 16 Dec 2007 00:17:05 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r130984
Sebastian Pop [Sun, 16 Dec 2007 00:08:17 +0000 (00:08 +0000)]
patch_tester.sh: New.
2007-12-15 Sebastian Pop <sebastian.pop@amd.com>
* patch_tester.sh: New.
* prepare_patch.sh: New.
From-SVN: r130981
Danny Smith [Sat, 15 Dec 2007 23:57:36 +0000 (23:57 +0000)]
fastcall-1.c (f4): Change return type to void.
* gcc.target/i386/fastcall-1.c (f4): Change return type to
void.
From-SVN: r130980
Jakub Jelinek [Sat, 15 Dec 2007 23:08:47 +0000 (00:08 +0100)]
re PR bootstrap/34003 (gcc trunk unable to bootstrap itself; Unsatisfied symbols: ggc_free)
PR bootstrap/34003
* c-decl.c (merge_decls): Copy RTL from olddecl to newdecl.
* config/pa/pa.c (pa_encode_section_info): If !first, preserve
SYMBOL_FLAG_REFERENCED flag.
* gcc.dg/pr34003-1.c: New test.
* gcc.dg/pr34003-2.c: New.
From-SVN: r130979
Jonathan Wakely [Sat, 15 Dec 2007 23:06:45 +0000 (23:06 +0000)]
boost_shared_ptr.h: Add support for allocators, aliasing, make_shared and rvalue-references.
2007-12-15 Jonathan Wakely <jwakely-gcc@gmail.com>
* include/tr1_impl/boost_shared_ptr.h: Add support for allocators,
aliasing, make_shared and rvalue-references. Move __shared_count
and _Sp_counted_* classes to new headers.
* include/tr1_impl/boost_sp_counted_base.h: New.
* include/bits/boost_sp_shared_count.h: New.
* include/tr1/boost_sp_shared_count.h: New.
* include/std/memory, include/tr1/memory: Include new headers.
* include/Makefile.am: Adjust.
* include/Makefile.in: Regenerate.
* docs/html/documentation.html: Link to shared_ptr notes.
* docs/html/20_util/shared_ptr.html: New.
* docs/html/17_intro/c++0x_status.html: Update shared_ptr status.
* testsuite/20_util/shared_ptr/cons/alias.cc: New.
* testsuite/20_util/shared_ptr/cons/alloc.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/move.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/move.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/alloc.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/make.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/assign.cc: Duplicate tr1 test.
* testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/dr541.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/shared_ptr.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/casts/1.cc: Likewise.
* testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/copy.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/default.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/weak_ptr.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Likewise.
* testsuite/20_util/shared_ptr/dest/dest.cc: Likewise.
* testsuite/20_util/shared_ptr/misc/24595.cc: Likewise.
* testsuite/20_util/shared_ptr/misc/io.cc: Likewise.
* testsuite/20_util/shared_ptr/misc/swap.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/24805.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/reset.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/reset_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/swap.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/swap_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/observers/bool_conv.cc: Likewise.
* testsuite/20_util/shared_ptr/observers/get.cc: Likewise.
* testsuite/20_util/shared_ptr/observers/unique.cc: Likewise.
* testsuite/20_util/shared_ptr/observers/use_count.cc: Likewise.
* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
Likewise.
* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
* testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1.cc: Likewise.
* testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
2.cc: Likewise.
* testsuite/20_util/shared_ptr/requirements/explicit_instantiation.cc:
Remove.
* testsuite/20_util/weak_ptr/lock/1.cc: Duplicate tr1 test.
* testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
Likewise.
* testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
Likewise.
* testsuite/20_util/weak_ptr/requirements/explicit_instantiation.cc:
Remove.
From-SVN: r130978
Jonathan Wakely [Sat, 15 Dec 2007 22:28:29 +0000 (22:28 +0000)]
boost_shared_ptr.h: Add support for allocators, aliasing, make_shared and rvalue-references.
2007-12-15 Jonathan Wakely <jwakely-gcc@gmail.com>
* include/tr1_impl/boost_shared_ptr.h: Add support for allocators,
aliasing, make_shared and rvalue-references. Move __shared_count
and _Sp_counted_* classes to new headers.
* include/tr1_impl/boost_sp_counted_base.h: New.
* include/bits/boost_sp_shared_count.h: New.
* include/tr1/boost_sp_shared_count.h: New.
* include/std/memory, include/tr1/memory: Include new headers.
* include/Makefile.am: Adjust.
* include/Makefile.in: Regenerate.
* docs/html/documentation.html: Link to shared_ptr notes.
* docs/html/20_util/shared_ptr.html: New.
* docs/html/17_intro/c++0x_status.html: Update shared_ptr status.
* testsuite/20_util/shared_ptr/cons/alias.cc: New.
* testsuite/20_util/shared_ptr/cons/alloc.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/move.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/move.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/alloc.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/make.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/assign.cc: Duplicate tr1 test.
* testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/dr541.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/shared_ptr.cc: Likewise.
* testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/casts/1.cc: Likewise.
* testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/copy.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/default.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/weak_ptr.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Likewise.
* testsuite/20_util/shared_ptr/dest/dest.cc: Likewise.
* testsuite/20_util/shared_ptr/misc/24595.cc: Likewise.
* testsuite/20_util/shared_ptr/misc/io.cc: Likewise.
* testsuite/20_util/shared_ptr/misc/swap.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/24805.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/reset.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/reset_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/swap.cc: Likewise.
* testsuite/20_util/shared_ptr/modifiers/swap_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/observers/bool_conv.cc: Likewise.
* testsuite/20_util/shared_ptr/observers/get.cc: Likewise.
* testsuite/20_util/shared_ptr/observers/unique.cc: Likewise.
* testsuite/20_util/shared_ptr/observers/use_count.cc: Likewise.
* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
Likewise.
* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
* testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1.cc: Likewise.
* testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
2.cc: Likewise.
* testsuite/20_util/shared_ptr/requirements/explicit_instantiation.cc:
Remove.
* testsuite/20_util/weak_ptr/lock/1.cc: Duplicate tr1 test.
* testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
Likewise.
* testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
Likewise.
* testsuite/20_util/weak_ptr/requirements/explicit_instantiation.cc:
Remove.
From-SVN: r130977
Joseph Myers [Sat, 15 Dec 2007 22:15:51 +0000 (22:15 +0000)]
* sv.po: Update.
From-SVN: r130976
Alexandre Oliva [Sat, 15 Dec 2007 21:46:41 +0000 (21:46 +0000)]
* tree.c (type_hash_add): Fix whitespace.
From-SVN: r130974
Hans-Peter Nilsson [Sat, 15 Dec 2007 21:39:14 +0000 (21:39 +0000)]
Add CRIS v32 support. Fix -mcc-init.
From-SVN: r130973
Hans-Peter Nilsson [Sat, 15 Dec 2007 21:38:34 +0000 (21:38 +0000)]
* config/cris/cris-protos.h (cris_register_move_cost)
(cris_cc0_user_requires_cmp, cris_asm_output_case_end): Declare.
From-SVN: r130972
Hans-Peter Nilsson [Sat, 15 Dec 2007 21:38:19 +0000 (21:38 +0000)]
cris.md: Group related constants together, with comments local.
* gcc/config/cris/cris.md: Group related constants together, with
comments local.
(CRIS_UNSPEC_PLT_GOTREL, CRIS_UNSPEC_PLT_PCREL, CRIS_UNSPEC_PCREL)
(CRIS_UNSPEC_CASESI): New constants.
(CRIS_UNSPEC_PLT): Remove constant.
(CRIS_ACR_REGNUM): New constant.
("slottable"): New attr alternatives "has_return_slot" and
"has_call_slot".
("cc"): New attr alternatives "noov32" and "rev".
((eq_attr "slottable" "has_call_slot"))
((eq_attr "slottable" "has_return_slot")): New define_delays.
("movdi", "movsi"): Adjust operands for CRIS v32.
("tstdi", "cmpdi", "adddi3", "subdi3", "uminsi3")
("indirect_jump"): Ditto. Make define_expand.
("*tstdi_non_v32", "*tstdi_v32", "*tst<mode>_cmp")
("*tst<mode>_non_cmp", "*cmpdi_non_v32", "*cmpdi_v32")
("*movdi_v32", "*adddi3_non_v32", "*adddi3_v32")
("*addsi3_non_v32", "*addsi3_v32", "*addhi3_non_v32")
("*addhi3_v32", "*addqi3_non_v32", "*addqi3_v32")
("*subdi3_non_v32", "*subdi3_v32", "*subsi3_non_v32")
("*subsi3_v32", "*sub<mode>3_nonv32", "*sub<mode>3_v32")
("*andqi3_non_v32", "*andqi3_v32", "*iorsi3_non_v32")
("*iorsi3_v32", "*iorhi3_non_v32", "*iorhi3_v32")
("*iorqi3_non_v32", "*iorqi3_v32", "*uminsi3_non_v32")
("*uminsi3_v32", "*indirect_jump_non_v32", "*indirect_jump_v32")
("*expanded_call_v32", "*expanded_call_value_v32"): New patterns,
for the corresponding standard name.
("tst<mode>"): Limit to BW and make define_expand.
("tstsi"): Make separate insn, adjusting for CRIS v32.
("*cmp_swapext<mode>"): Adjust for v32. Specify "rev" for attr "cc".
("cmpsi", "cmp<mode>"): Remove special cases for zero. Specify
attr "cc".
("*btst"): Don't match for TARGET_CCINIT. Replace test of
register with compatible "cmpq 0". Specify attr "cc".
("*movdi_insn_non_v32"): New pattern, replacing "*movdi_insn" and
define_split.
(define_split for DI move): Match CRIS v32 only.
("*movsi_got_load", "*movsi_internal", "*addi"): Adjust for CRIS
v32.
("load_multiple", "store_multiple", "*addsbw_v32", "*addubw_v32")
("*adds<mode>_v32", "*addu<mode>_v32", "*bound<mode>_v32")
("*casesi_jump_v32", "*expanded_andsi_v32", "*expanded_andhi_v32")
("*extop<mode>si_v32", "*extopqihi_v32", "*andhi_lowpart_v32")
("*andqi_lowpart_v32", "cris_casesi_v32"): New patterns.
("add<mode>3"): Make addsi3, addhi3 and addqi3 define_expand.
("sub<mode>3"): Ditto subsi3, subhi3 and subqi3.
("ior<mode>3"): Ditto iorsi3, iorhi3 and iorqi3.
("*extopqihi_non_v32"): Replace "*extopqihi".
("*extop<mode>si_non_v32"): Replace "*extop<mode>si".
("*addxqihi_swap_non_v32"): Rename from "*extopqihi_swap", make
non-v32 only.
("*extop<mode>si_swap_non_v32"): Ditto "*extop<mode>si_swap".
("*expanded_andsi_non_v32"): Ditto "*expanded_andsi".
("*expanded_andhi_non_v32"): Ditto "*expanded_andhi".
("*andhi_lowpart_non_v32"): Ditto "*andhi_lowpart".
("*andqi_lowpart_non_v32"): Ditto "*andqi_lowpart".
("*expanded_call_non_v32"): Ditto "*expanded_call". Change from
"cris_general_operand_or_plt_symbol" to "general_operand".
("*expanded_call_value_non_v32") Ditto "*expanded_call_value".
("*casesi_adds_w", "mstep_shift", "mstep_mul")
("*expanded_call_side", "*expanded_call_value_side")
(op-extend-split, op-extend-split-rx=rz, op-extend-split-swapped)
(op-extend-split-swapped-rx=rz, op-extend, op-split-rx=rz)
(op-split-swapped, op-split-swapped-rx=rz): Make non-v32 only.
("dstep_mul", "xorsi3", "one_cmplsi2", "<shlr>si3")
("*expanded_<shlr><mode>", "*<shlr><mode>_lowpart", "ashl<mode>3")
("*ashl<mode>_lowpart", "abssi2", "clzsi2", "bswapsi2", "cris_swap_bits"): Specify "noov32" for
attr "cc".
("<su>mulsi3_highpart"): Ditto. Correct operand 0 to
register_operand.
("andqi3"): Make define_expand.
("*return_expanded"): For attr "slottable", change from "has_slot"
to "has_return_slot".
("cris_casesi_non_v32"): New pattern, old contents of "casesi".
("casesi"): Divert into "cris_casesi_v32" and
"cris_casesi_non_v32".
(moversideqi, movemsideqi, mover2side): Require
TARGET_SIDE_EFFECT_PREFIXES.
(gotplt-to-plt, gotplt-to-plt-side): Change from CRIS_UNSPEC_PLT
to CRIS_UNSPEC_PLT_GOTREL.
From-SVN: r130971
Hans-Peter Nilsson [Sat, 15 Dec 2007 21:37:55 +0000 (21:37 +0000)]
cris.h: Sanity-check TARGET_CPU_DEFAULT for contents.
* config/cris/cris.h: Sanity-check TARGET_CPU_DEFAULT for contents.
(CRIS_DEFAULT_TUNE, CRIS_ARCH_CPP_DEFAULT)
(CRIS_DEFAULT_ASM_ARCH_OPTION): New macros.
(CRIS_CC1_SUBTARGET_SPEC): Change default tuning to use
CRIS_DEFAULT_TUNE.
(CRIS_CPP_SUBTARGET_SPEC): Ditto. Add CRIS_ARCH_CPP_DEFAULT.
(ASM_SPEC): Add sanity-check erroring out when both -march= and
-mcpu= are specified. Pass on either as --march=v32.
(CRIS_ASM_SUBTARGET_SPEC): When neither -march= or -mcpu= are
specified, pass on CRIS_DEFAULT_ASM_ARCH_OPTION.
(CRIS_CPU_V32): New macro.
[!TARGET_CPU_DEFAULT]: Default-define as CRIS_CPU_BASE.
[!TARGET_DEFAULT, TARGET_CPU_DEFAULT == 32]: Move default
TARGET_DEFAULT definition after new TARGET_CPU_DEFAULT definition.
Define v32-adjusted TARGET_DEFAULT.
(CRIS_DEFAULT_CPU_VERSION): Change to TARGET_CPU_DEFAULT from
CRIS_CPU_BASE.
(TARGET_V32): New macro.
(REG_ALLOC_ORDER_V32): New macro.
(HARD_REGNO_MODE_OK): Do not allow larger-than-register-size modes
into CRIS_ACR_REGNUM.
(enum reg_class): New classes ACR_REGS, SPEC_ACR_REGS,
GENNONACR_REGS and SPEC_GENNONACR_REGS.
(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Adjust for new classes.
(REGNO_REG_CLASS): Give ACR_REGS for CRIS_ACR_REGNUM.
(MODE_CODE_BASE_REG_CLASS): Define, give for OCODE POST_INC
GENNONACR_REGS, BASE_REG_CLASS otherwise.
(REG_CLASS_FROM_LETTER): 'a' is for ACR_REGS.
(REGNO_MODE_CODE_OK_FOR_BASE_P): Define, refusing OCODE POST_INC
for CRIS_ACR_REGNUM.
(PREFERRED_RELOAD_CLASS): Keep ACR_REGS as preferred.
(HARD_REGNO_RENAME_OK): Refuse CRIS_ACR_REGNUM as TO.
(EXTRA_CONSTRAINT): New constraint 'U'.
(TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE)
(ASM_OUTPUT_ADDR_DIFF_ELT): Adjust for CRIS v32.
(BASE_OR_AUTOINCR_P): Refuse POST_INC for CRIS_ACR_REGNUM.
(SIMPLE_ADDRESS_P): Remove.
(GO_IF_LEGITIMATE_ADDRESS): Use BASE_OR_AUTOINCR_P, not redundant
SIMPLE_ADDRESS_P. Make one chained if-else, finishing as
non-match after BASE_OR_AUTOINCR_P for TARGET_V32.
(REGISTER_MOVE_COST): Just call the new function
cris_register_move_cost.
(enum cris_pic_symbol_type): Rename cris_gotrel_symbol to
cris_rel_symbol. All users changed.
(REGISTER_NAMES): Replace "pc" with "acr".
(ADDITIONAL_REGISTER_NAMES): Add "pc" for 15.
(ASM_OUTPUT_REG_PUSH): Change to v32-compatible sequence.
(ASM_OUTPUT_REG_POP): Change to v32-compatible syntax.
(ASM_OUTPUT_CASE_END): Just call the new function
cris_asm_output_case_end.
From-SVN: r130970
Hans-Peter Nilsson [Sat, 15 Dec 2007 21:37:37 +0000 (21:37 +0000)]
linux.h: Sanity-check TARGET_CPU_DEFAULT for presence and contents.
* config/cris/linux.h: Sanity-check TARGET_CPU_DEFAULT for
presence and contents.
(CRIS_SUBTARGET_DEFAULT_ARCH): New macro, MASK_AVOID_GOTPLT for
v32, 0 otherwise.
(CRIS_CPP_SUBTARGET_SPEC, CRIS_CC1_SUBTARGET_SPEC,
CRIS_ASM_SUBTARGET_SPEC): Adjust for different
TARGET_CPU_DEFAULT.
(CRIS_SUBTARGET_DEFAULT): Add CRIS_SUBTARGET_DEFAULT_ARCH.
From-SVN: r130969
Hans-Peter Nilsson [Sat, 15 Dec 2007 21:37:22 +0000 (21:37 +0000)]
* config/cris/predicates.md
("cris_general_operand_or_pic_source"): New predicate.
("cris_general_operand_or_plt_symbol"): Replace by...
("cris_nonmemory_operand_or_callable_symbol"): New predicate.
From-SVN: r130968
Hans-Peter Nilsson [Sat, 15 Dec 2007 21:37:10 +0000 (21:37 +0000)]
* config/cris/t-elfmulti: Add multilib v32 for -march=v32.
From-SVN: r130967
Hans-Peter Nilsson [Sat, 15 Dec 2007 21:36:30 +0000 (21:36 +0000)]
cris.c (ASSERT_PLT_UNSPEC): Remove unused macro.
* config/cris/cris.c (ASSERT_PLT_UNSPEC): Remove unused macro.
(cris_movem_load_rest_p, cris_store_multiple_op_p): Remove FIXME.
Change regno_dir and regno only if !TARGET_V32.
(cris_conditional_register_usage): If TARGET_V32, set
reg_alloc_order as per REG_ALLOC_ORDER_V32 and make
CRIS_ACR_REGNUM non-fixed.
(cris_print_base): Add gcc_assert for post_inc on CRIS_ACR_REGNUM.
(cris_print_operand) <case 'Z', case 'u'>: New cases.
<case REG of case 'H'>: Allow for CRIS_SRP_REGNUM.
(cris_reload_address_legitimized): Always return false for
TARGET_V32.
(cris_register_move_cost): New function, guts from
REGISTER_MOVE_COST adjusted for CRIS v32.
(cris_normal_notice_update_cc): New function split out from...
(cris_notice_update_cc): Set cc_status.flags CC_REVERSED for
TARGET_CCINIT. Call cris_normal_notice_update_cc for CC_REV,
CC_NOOV32 and CC_NORMAL, but set cc_status.flags CC_NO_OVERFLOW
for CC_NOOV32 and TARGET_V32.
(cris_simple_epilogue): Always return false for TARGET_V32 if
cris_return_address_on_stack yields true.
(cris_cc0_user_requires_cmp): New function.
(cris_valid_pic_const): Add argument ANY_OPERAND. All callers
changed. Handle CRIS_UNSPEC_PLT_PCREL and CRIS_UNSPEC_PCREL.
(cris_asm_output_case_end): New function, guts from
ASM_OUTPUT_CASE_END adjusted for CRIS v32.
(cris_override_options): Adjust for CRIS v32. Mask out
TARGET_SIDE_EFFECT_PREFIXES and TARGET_MUL_BUG if v32.
(cris_asm_output_mi_thunk, cris_expand_epilogue)
(cris_gen_movem_load, cris_emit_movem_store)
(cris_expand_pic_call_address, cris_asm_output_symbol_ref)
(cris_asm_output_label_ref, cris_output_addr_const_extra): Adjust
for CRIS v32.
(cris_split_movdx): Copy re-used MEM.
From-SVN: r130966
Hans-Peter Nilsson [Sat, 15 Dec 2007 21:35:32 +0000 (21:35 +0000)]
config.gcc: Make crisv32-* have cpu_type cris.
* config.gcc: Make crisv32-* have cpu_type cris. Handle
crisv32-*-elf and crisv32-*-none like cris-*-elf and cris-*-none
but without multilibs and with target_cpu_default=32.
From-SVN: r130965
Hans-Peter Nilsson [Sat, 15 Dec 2007 21:34:23 +0000 (21:34 +0000)]
config.host (crisv32-*-elf, [...]): New, same as cris-*-elf and cris-*-none.
* config.host (crisv32-*-elf, crisv32-*-none): New, same as
cris-*-elf and cris-*-none.
(crisv32-*-linux*): Similar, as cris-*-linux*.
From-SVN: r130964
Hans-Peter Nilsson [Sat, 15 Dec 2007 21:33:45 +0000 (21:33 +0000)]
configure.host (try_cpu settings): Set try_cpu=cris for crisv32.
* configure.host (try_cpu settings): Set try_cpu=cris for crisv32.
* config/cpu/cris/atomicity.h (__exchange_and_add)
[__CRIS_arch_version >= 32]: Add support for CRIS v32.
From-SVN: r130963
Hans-Peter Nilsson [Sat, 15 Dec 2007 21:31:18 +0000 (21:31 +0000)]
peep2-xsrand.c, [...]: Drop redundant target-specifier.
* gcc.target/cris/peep2-xsrand.c, gcc.target/cris/asmreg-1.c,
gcc.target/cris/peep2-andu1.c, gcc.target/cris/peep2-xsrand2.c,
gcc.target/cris/
20011127-1.c: Drop redundant target-specifier.
* gcc.target/cris/peep2-andu2.c: Ditto. Make dg-do assemble and
add -save-temps.
* gcc.target/cris/torture/cris-torture.exp,
gcc.target/cris/cris.exp: Run for crisv32-*-* too.
* gcc.target/cris/builtin_ctz_v3.c,
gcc.target/cris/builtin_ctz_v8.c,
gcc.target/cris/builtin_clz_v0.c,
gcc.target/cris/builtin_clz_v3.c,
gcc.target/cris/builtin_bswap_v3.c,
gcc.target/cris/builtin_bswap_v8.c, gcc.dg/sibcall-4.c,
gcc.dg/pr19340.c, gcc.dg/
20020919-1.c, gcc.dg/pr31866.c,
gcc.dg/torture/cris-asm-mof-1.c, gcc.dg/torture/cris-volatile-1.c,
gcc.dg/weak/typeof-2.c, gcc.dg/tree-ssa/loop-1.c,
gcc.dg/tree-ssa/
20040204-1.c, gcc.dg/sibcall-3.c,
lib/target-supports.exp: Adjust for crisv32-*-*.
From-SVN: r130962
Sebastian Pop [Sat, 15 Dec 2007 20:54:04 +0000 (20:54 +0000)]
MAINTAINERS: Update my email address.
2007-12-15 Sebastian Pop <sebastian.pop@amd.com>
* MAINTAINERS: Update my email address.
From-SVN: r130961
Alexandre Oliva [Sat, 15 Dec 2007 20:19:23 +0000 (20:19 +0000)]
re PR debug/7081 (DWARF enhancements for C++)
gcc/ChangeLog:
PR debug/7081
* dwarf2out.c (dwarf_tag_name): Synchronize with dwarf2.h.
(is_type_die): Cover interface types.
(class_or_namespace_scope_p): Cover interface and class types.
(record_type_tag): New.
(gen_inlined_structure_type_die): Use it.
(gen_struct_or_union_type_die): Likewise.
(prune_unused_types_walk): Cover interface types.
* langhooks.h (classify_record): New enum.
(classify_record): New member in struct langhooks_for_types.
* langhooks-def.h (LANG_HOOKS_CLASSIFY_RECORD): New.
(LANGHOOKS_FOR_TYPES_INITIALIZER): Adjust.
gcc/cp/ChangeLog:
PR debug/7081
* cp-lang.c (cp_classify_record): New.
(LANG_HOOKS_CLASSIFY_RECORD): Override.
gcc/java/ChangeLog:
PR debug/7081
* lang.c (java_classify_record): New.
(LANG_HOOKS_CLASSIFY_RECORD): Override.
From-SVN: r130960
Alexandre Oliva [Sat, 15 Dec 2007 20:16:03 +0000 (20:16 +0000)]
dwarf2out.c (reference_to_unused): Don't emit strings in initializers just because of debug information.
gcc/ChangeLog:
* dwarf2out.c (reference_to_unused): Don't emit strings in
initializers just because of debug information.
* tree.h (TREE_ASM_WRITTEN): Document use for STRING_CSTs.
gcc/testsuite/ChangeLog:
* gcc.dg/debug/const-3.c: New.
From-SVN: r130959
John David Anglin [Sat, 15 Dec 2007 19:45:41 +0000 (19:45 +0000)]
datasec1.C: Require named section support.
* g++.dg/other/datasec1.C: Require named section support.
From-SVN: r130958
Sebastian Pop [Sat, 15 Dec 2007 18:35:23 +0000 (18:35 +0000)]
tree-scalar-evolution.c (number_of_iterations_for_all_loops): Replace print_loop_ir with print_loops.
2007-12-15 Sebastian Pop <sebastian.pop@amd.com>
* tree-scalar-evolution.c (number_of_iterations_for_all_loops): Replace
print_loop_ir with print_loops.
* tree-flow.h (dot_cfg, debug_loops, debug_loop, debug_loop_num,
print_loops, print_loops_bb): Declare.
* tree-cfg.c (print_loops_bb): New.
(print_loop): Print header, latch, bounds, estimation of iterations.
(print_loop_and_siblings): New.
(print_loop_ir): Renamed print_loops.
(debug_loop_ir): Renamed debug_loops.
(debug_loop, debug_loop_num): New.
From-SVN: r130957
Benjamin Kosnik [Sat, 15 Dec 2007 16:19:37 +0000 (16:19 +0000)]
partial_sum.h: Include new.
2007-12-15 Benjamin Kosnik <bkoz@redhat.com>
Paolo Carlini <pcarlini@suse.de>
* include/parallel/partial_sum.h: Include new. Fix for DR 402.
* include/parallel/multiway_merge.h:Fix for DR 402.
* include/parallel/losertree.h: Same.
* include/parallel/quicksort.h: Same.
* include/parallel/random_shuffle.h: Same.
* include/parallel/multiway_mergesort.h: Same.
Co-Authored-By: Paolo Carlini <pcarlini@suse.de>
From-SVN: r130956
Bernhard Reutner-Fischer [Sat, 15 Dec 2007 15:41:53 +0000 (16:41 +0100)]
MAINTAINERS: Update my email address.
2007-12-15 Bernhard Fischer <aldot@gcc.gnu.org>
* MAINTAINERS: Update my email address.
From-SVN: r130955
Bernhard Fischer [Sat, 15 Dec 2007 15:35:32 +0000 (16:35 +0100)]
tree-flow-inline.h.c (next_readonly_imm_use): Fix typo in comment.
2007-12-15 Bernhard Fischer <aldot@gcc.gnu.org>
* tree-flow-inline.h.c (next_readonly_imm_use): Fix typo in comment.
From-SVN: r130954
Bernhard Fischer [Sat, 15 Dec 2007 15:25:41 +0000 (16:25 +0100)]
toplev.c (process_options): Fix typo in warning.
2007-12-15 Bernhard Fischer <>
* toplev.c (process_options): Fix typo in warning.
From-SVN: r130953
Jakub Jelinek [Sat, 15 Dec 2007 07:52:23 +0000 (08:52 +0100)]
* Make-lang.in (gnat1, gnatbind): Pass ALL_CFLAGS on the link line.
From-SVN: r130952
GCC Administrator [Sat, 15 Dec 2007 00:17:22 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r130950
Benjamin Kosnik [Fri, 14 Dec 2007 19:32:03 +0000 (19:32 +0000)]
re PR libstdc++/30127 (std::has_facet returns true for not installed derived facets)
2007-12-14 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/30127
PR libstdc++/34449
* include/bits/locale_classes.h (use_facet): Check facet hierarchy.
(has_facet): Same.
* testsuite/22_locale/global_templates/user_facet_hierarchies.cc: New.
* testsuite/22_locale/global_templates/
standard_facet_hierarchies.cc: New.
From-SVN: r130941
Jakub Jelinek [Fri, 14 Dec 2007 18:00:39 +0000 (19:00 +0100)]
re PR target/29978 (redundant jumps)
PR target/29978
* config/i386/i386.c (ix86_expand_branch): Optimize LE/LEU/GT/GTU
DImode comparisons against constant with all 1's in the lower word.
* gcc.target/i386/pr29978.c: New test.
From-SVN: r130938
Paolo Bonzini [Fri, 14 Dec 2007 17:40:46 +0000 (17:40 +0000)]
df-core.c: Update comments referring to removed features.
2007-12-14 Paolo Bonzini <bonzini@gnu.org>
* df-core.c: Update comments referring to removed features.
* df-problems.c: Likewise.
* df-scan.c: Likewise.
* df.h: Likewise.
From-SVN: r130937
Uros Bizjak [Fri, 14 Dec 2007 15:33:34 +0000 (16:33 +0100)]
sse.md (sse4_2_pcmpestr): Use reg_not_xmm0_operand constraint for operand2.
* config/i386/sse.md (sse4_2_pcmpestr): Use reg_not_xmm0_operand
constraint for operand2. Use nonimm_not_xmm0_operand constraint
for operand 4. Update arguments in the call to
gen_sse4_2_pcmpestr_cconly.
(sse_4_2_pcmpestr_cconly): Renumber insn operands and update insn
template accordingly.
(sse4_2_pcmpistr): Use reg_not_xmm0_operand constraint for operand2.
Use nonimm_not_xmm0_operand constraint for operand 3. Update
arguments in the call to gen_sse4_2_pcmpistr_cconly.
(sse_4_2_pcmpistr_cconly): Renumber insn operands and update insn
testsuite/ChangeLog:
* gcc.target/i386/sse-12.c (dg-options): Use -msse4
instead of -msse4.1.
* gcc.target/i386/sse-12.c (dg-options): Ditto.
* g++.dg/other/i386-2.C (dg-options): Ditto.
From-SVN: r130934
Tobias Burnus [Fri, 14 Dec 2007 15:14:29 +0000 (16:14 +0100)]
re PR fortran/34438 (gfortran not compliant w.r.t default initialization of derived type component and implicit SAVE attribute)
2007-12-14 Tobias Burnus <burnus@net-b.de>
PR fortran/34438
* resolve.c (resolve_symbol): Do not emit public-variable-
of-private-derived-type error for non-module variables.
2007-12-14 Tobias Burnus <burnus@net-b.de>
PR fortran/34438
* gfortran.dg/private_type_10.f90: New.
From-SVN: r130933
Tobias Burnus [Fri, 14 Dec 2007 15:11:17 +0000 (16:11 +0100)]
re PR fortran/34398 (BOZ literals: Range checks)
2007-12-14 Tobias Burnus <burnus@net-b.de>
PR fortran/34398
* expr.c (gfc_check_assign): Add range checks for assignments of
* BOZs.
* resolve.c (resolve_ordinary_assign): Ditto.
* arith.c (gfc_range_check): Fix return value for complex
* numbers.
2007-12-14 Tobias Burnus <burnus@net-b.de>
PR fortran/34398
* gfortran.dg/nan_4.f90: New.
From-SVN: r130932
Richard Guenther [Fri, 14 Dec 2007 14:21:41 +0000 (14:21 +0000)]
re PR middle-end/34462 (tree check: expected ssa_name, have struct_field_tag in vuses_compare, at tree-vn.c:118)
2007-12-14 Richard Guenther <rguenther@suse.de>
PR middle-end/34462
* tree-ssa-operands.h (create_ssa_artificial_load_stmt): Add
parameter to say whether to unlink immediate uses.
* tree-ssa-operands.c (create_ssa_artificial_load_stmt): Do not
mark the artificial stmt as modified. Unlink immediate uses
only if requested.
* tree-ssa-dom.c (record_equivalences_from_stmt): Update caller.
* tree-ssa-pre.c (insert_fake_stores): Likewise.
* gcc.c-torture/compile/
20071214-1.c: New testcase.
From-SVN: r130931
Uros Bizjak [Fri, 14 Dec 2007 12:43:57 +0000 (13:43 +0100)]
sse-14.c (test_1, [...]): New macros to test macroized SSE intrinsics.
* gcc.target/i386/sse-14.c (test_1, test_2, test_2x, test_4): New
macros to test macroized SSE intrinsics. Use new macros to test
macroized SSE intrinsics from ammintrin.h, smmintrin.h, tmmintrin.h,
emmintrin.h, xmmintrin.h and bmmintrin.h
* gcc.target/i386/sse-13.c (__builtin_ia32_pcmp?str*128): Redefine
to test with immediate operand.
From-SVN: r130930
Daniel Franke [Fri, 14 Dec 2007 10:25:12 +0000 (05:25 -0500)]
re PR fortran/34324 (Module files on CRLF systems)
2007-12-14 Daniel Franke <franke.daniel@gmail.com>
PR fortran/34324
* module.c (parse_atom): Fixed parsing of modules files whose
lines are terminated by CRLF.
From-SVN: r130928
John David Anglin [Fri, 14 Dec 2007 01:01:58 +0000 (01:01 +0000)]
re PR target/34091 (ICE in reload_cse_simplify_operands, at postreload.c:392)
PR target/34091
* gcc.c-torture/compile/pr34091.c: New test.
From-SVN: r130927
GCC Administrator [Fri, 14 Dec 2007 00:17:21 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r130925
Eric Botcazou [Thu, 13 Dec 2007 21:49:09 +0000 (22:49 +0100)]
re PR middle-end/33088 (spurious exceptions with -ffloat-store)
PR middle-end/33088
* gimplify.c (gimplify_modify_expr_complex_part): Add note to comment.
* tree-complex.c (init_dont_simulate_again): Return true if there are
uninitialized loads generated by gimplify_modify_expr_complex_part.
* tree-gimple.c (is_gimple_reg_type): Return false for complex types
if not optimizing.
* tree-ssa.c (ssa_undefined_value_p): New predicate extracted from...
(warn_uninit): ...here. Use ssa_undefined_value_p.
* tree-ssa-pre.c (is_undefined_value): Delete.
(phi_translate_1): Use ssa_undefined_value_p.
(add_to_exp_gen): Likewise.
(make_values_for_stmt): Likewise.
* tree-flow.h (ssa_undefined_value_p): Declare.
From-SVN: r130917