Commit Graph

85015 Commits

Author SHA1 Message Date
Andreas Schwab
b29bb6404f * doc/invoke.texi (Warning Options): Use @itemx.
From-SVN: r131017
2007-12-17 21:05:06 +00:00
Dorit Nuzman
f5adacc5c9 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
2007-12-17 20:54:01 +00:00
Benjamin Kosnik
8619bc82fc 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
2007-12-17 19:41:32 +00:00
Jack Howarth
ae8d887945 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
2007-12-17 19:30:08 +00:00
Rask Ingemann Lambertsen
9bdf23b292 * doc/tm.texi (TARGET_SECONDARY_RELOAD): Fix typos.
From-SVN: r131011
2007-12-17 18:38:09 +00:00
Jakub Jelinek
d42a3bace3 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
2007-12-17 18:06:44 +01:00
Jakub Jelinek
8085ca151e 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
2007-12-17 15:16:42 +01:00
Tobias Burnus
7f59aaba14 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
2007-12-17 12:24:06 +01:00
Dorit Nuzman
ca7b051775 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
2007-12-17 11:13:56 +00:00
Arnaud Charlet
5287c2bcad * s-vxwork-alpha.ads: Removed, no longer used.
From-SVN: r131005
2007-12-17 11:09:55 +01:00
Jerry DeLisle
ffeb38bce9 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
2007-12-17 00:51:25 +00:00
Jerry DeLisle
78a15b1f3f 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
2007-12-17 00:47:14 +00:00
GCC Administrator
3bee5325ca Daily bump.
From-SVN: r131001
2007-12-17 00:17:32 +00:00
Jack Howarth
3ef275593f 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
2007-12-17 00:22:30 +01:00
Uros Bizjak
ce99890082 i386.h (WIDEST_HARDWARE_FP_SIZE): Define.
* config/i386/i386.h (WIDEST_HARDWARE_FP_SIZE): Define.

From-SVN: r130997
2007-12-17 00:12:15 +01:00
Jonathan Wakely
bd1efa437d 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
2007-12-16 22:44:01 +00:00
Jonathan Wakely
dbf3a49233 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
2007-12-16 22:31:16 +00:00
Tobias Burnus
b7970354e8 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
2007-12-16 23:12:55 +01:00
Thomas Koenig
df80a455ed 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
2007-12-16 21:09:34 +00:00
Rask Ingemann Lambertsen
c238230e6d * gcc.dg/torture/pr24257.c: Remove -O from options.
From-SVN: r130992
2007-12-16 20:46:01 +00:00
Tobias Burnus
06a54338c4 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
2007-12-16 21:24:32 +01:00
Bernhard Fischer
ac8bb1ec43 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
2007-12-16 18:16:15 +01:00
Uros Bizjak
42cb1b8960 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
2007-12-16 13:26:29 +01:00
Paul Thomas
0a164a3cd0 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
2007-12-16 11:34:08 +00:00
Richard Sandiford
30c6f45db6 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
2007-12-16 09:54:34 +00:00
Sebastian Pop
cf79e38637 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
2007-12-16 01:01:23 +00:00
GCC Administrator
c4b544b3c9 Daily bump.
From-SVN: r130984
2007-12-16 00:17:05 +00:00
Sebastian Pop
0f55312ac9 patch_tester.sh: New.
2007-12-15  Sebastian Pop  <sebastian.pop@amd.com>

	* patch_tester.sh: New.
	* prepare_patch.sh: New.

From-SVN: r130981
2007-12-16 00:08:17 +00:00
Danny Smith
9bcbdde328 fastcall-1.c (f4): Change return type to void.
* gcc.target/i386/fastcall-1.c (f4): Change return type to
	void.

From-SVN: r130980
2007-12-15 23:57:36 +00:00
Jakub Jelinek
9a60b229e8 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
2007-12-16 00:08:47 +01:00
Jonathan Wakely
249b9e5e0a 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
2007-12-15 23:06:45 +00:00
Jonathan Wakely
aaf0ca6f27 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
2007-12-15 22:28:29 +00:00
Joseph Myers
5f0686bc40 * sv.po: Update.
From-SVN: r130976
2007-12-15 22:15:51 +00:00
Alexandre Oliva
b0d667cbfa * tree.c (type_hash_add): Fix whitespace.
From-SVN: r130974
2007-12-15 21:46:41 +00:00
Hans-Peter Nilsson
9c16b6362d Add CRIS v32 support. Fix -mcc-init.
From-SVN: r130973
2007-12-15 21:39:14 +00:00
Hans-Peter Nilsson
6e86f9ab6f * config/cris/cris-protos.h (cris_register_move_cost)
(cris_cc0_user_requires_cmp, cris_asm_output_case_end): Declare.

From-SVN: r130972
2007-12-15 21:38:34 +00:00
Hans-Peter Nilsson
45d5d09c3f 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
2007-12-15 21:38:19 +00:00
Hans-Peter Nilsson
6725c4029d 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
2007-12-15 21:37:55 +00:00
Hans-Peter Nilsson
39ecc4b530 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
2007-12-15 21:37:37 +00:00
Hans-Peter Nilsson
3261b8c4f8 * 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
2007-12-15 21:37:22 +00:00
Hans-Peter Nilsson
047c66928d * config/cris/t-elfmulti: Add multilib v32 for -march=v32.
From-SVN: r130967
2007-12-15 21:37:10 +00:00
Hans-Peter Nilsson
c31500c27e 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
2007-12-15 21:36:30 +00:00
Hans-Peter Nilsson
99c5227a64 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
2007-12-15 21:35:32 +00:00
Hans-Peter Nilsson
4081d70475 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
2007-12-15 21:34:23 +00:00
Hans-Peter Nilsson
0678581243 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
2007-12-15 21:33:45 +00:00
Hans-Peter Nilsson
c7e30cf2d1 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
2007-12-15 21:31:18 +00:00
Sebastian Pop
a2e51f7753 MAINTAINERS: Update my email address.
2007-12-15  Sebastian Pop  <sebastian.pop@amd.com>

	* MAINTAINERS: Update my email address.

From-SVN: r130961
2007-12-15 20:54:04 +00:00
Alexandre Oliva
394d9fe79e 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
2007-12-15 20:19:23 +00:00
Alexandre Oliva
d2f08d9879 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
2007-12-15 20:16:03 +00:00
John David Anglin
4b516b14ba datasec1.C: Require named section support.
* g++.dg/other/datasec1.C: Require named section support.

From-SVN: r130958
2007-12-15 19:45:41 +00:00