Commit Graph

90460 Commits

Author SHA1 Message Date
Hans-Peter Nilsson
aa05ad8653 re PR target/37939 (CRIS port: no addi insn)
PR target/37939
	* config/cris/cris.c (cris_rtx_costs) <MULT>: Return 0 for an ADDI
	operand.

From-SVN: r141524
2008-11-01 22:16:09 +00:00
Paolo Carlini
7ea6fdf55e PR libstdc++/37958 (cont again)
2008-11-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/37958 (cont again)
	* include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
	iter_type, ios_base&, ios_base::iostate&, bool&): Fix again.
	* testsuite/22_locale/num_get/get/char/37958.cc: Extend.
	* testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.

From-SVN: r141523
2008-11-01 22:09:43 +00:00
Janus Weil
6f6e26a880 re PR fortran/36426 (Endless loop in gfc_apply_interface_mapping_to_expr)
2008-11-01  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/36426
	* expr.c (replace_symbol): Replace all symbols which lie in the
	formal namespace of the interface and copy their attributes.
	* resolve.c (resolve_symbol): Add charlen to namespace.


2008-11-01  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/36426
	* gfortran.dg/proc_decl_19.f90: New.

From-SVN: r141522
2008-11-01 22:56:27 +01:00
Paolo Carlini
f18e0ca6dc locale_facets.tcc (num_get<>::do_get(, long&), [...]): Move inline...
2008-11-01  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/locale_facets.tcc (num_get<>::do_get(, long&),
	num_get<>::do_get(, unsigned short&),
	num_get<>::do_get(, unsigned int&),
	num_get<>::do_get(, unsigned long&),
	num_get<>::do_get(, long long&),
	num_get<>::do_get(, unsigned long long&),
	num_put<>::do_put(, long), num_put<>::do_put(, unsigned long),
	num_put<>::do_put(, long long),
	num_put<>::do_put(, unsigned long long)): Move inline...
	* include/bits/locale_facets.h: ... here.

From-SVN: r141520
2008-11-01 17:38:39 +00:00
Steven G. Kargl
2a3003441c re PR fortran/19925 (Implied do-loop in an initialization expression is broken)
2008-11-01  Steven G. Kargl  <kargls@comcast.net>

	PR fortran/19925
	* gfortran.dg/initialization_20.f90: New test.
	* gfortran.dg/initialization_21.f90: Ditto.

From-SVN: r141519
2008-11-01 17:00:49 +00:00
Steven G. Kargl
63346ddba6 re PR fortran/19925 (Implied do-loop in an initialization expression is broken)
2008-11-01  Steven G. Kargl  <kargls@comcast.net>

	PR fortran/19925
	* trans-array.c (gfc_trans_array_constructor_value): Fix comment.
	(gfc_conv_array_initializer): Convert internal_error() to gfc_error_now.
	* array.c: Remove GFC_MAX_AC_EXPAND macro.
	(gfc_expand_constructor): Use gfc_option.flag_max_array_constructor.
	* gfortran.h (gfc_option): Add flag_max_array_constructor member.
	* lang.opt: Add -fmax-array-constructor option.
	* expr.c (gfc_match_init_expr): Fix error message to mention new option.
	* invoke.texi: Document new option.
	* options.c (gfc_init_options): Set default value for new option.
	(gfc_handle_option): Deal with commandline.

From-SVN: r141518
2008-11-01 16:42:31 +00:00
Paolo Carlini
fa4262a47a PR libstdc++/37958 (cont)
2008-11-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/37958 (cont)
	* include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
	iter_type, ios_base&, ios_base::iostate&, bool&): Fix again.

From-SVN: r141517
2008-11-01 16:17:42 +00:00
Daniel Kraft
12f681a099 re PR fortran/35681 (wrong result for vector subscripted array expression in MVBITS)
2008-11-01  Daniel Kraft  <d@domob.eu>

	PR fortran/35681
	* gfortran.h (struct gfc_code): New field `resolved_isym'.
	* trans.h (gfc_build_memcpy_call): Made public.
	* trans-array.h (gfc_trans_create_temp_array): New argument `initial'.
	* intrinsic.c (gfc_intrinsic_sub_interface): Set resolved_isym.
	* iresolve.c (create_formal_for_intents): New helper method.
	(gfc_resolve_mvbits): Put dummy formal arglist on resolved_sym.
	* resolve.c (resolve_call): Initialize resolved_isym to NULL.
	* trans-array.c (gfc_trans_allocate_array_storage): New argument
	`initial' to allow initializing the allocated storage to some initial
	value copied from another array.
	(gfc_trans_create_temp_array): Allow initialization of the temporary
	with a copy of some other array by using the new extension.
	(gfc_trans_array_constructor): Pass NULL_TREE for initial argument.
	(gfc_conv_loop_setup): Ditto.
	* trans-intrinsic.c (gfc_conv_intrinsic_array_transfer): Ditto.
	* trans-expr.c (gfc_conv_function_call): Ditto.
	(gfc_build_memcpy_call): Made public.
	* trans-stmt.c (gfc_conv_elemental_dependencies): Initialize created
	temporary for INTENT(INOUT) arguments to the value of the mirrored
	array and clean up the temporary as very last intructions in the created
	block.
	* trans.c (gfc_trans_code): For EXEC_CALL, see if we have a MVBITS call
	and enable elemental dependency checking if we have.

2008-11-01  Daniel Kraft  <d@domob.eu>

	PR fortran/35681
	* gfortran.dg/mvbits_4.f90: New test.

From-SVN: r141516
2008-11-01 14:26:19 +01:00
Janus Weil
c6acea9d4f re PR fortran/36322 (ICE with PROCEDURE using a complicated interface)
2008-11-01  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/36322
	PR fortran/36463
	* gfortran.h: New function gfc_expr_replace_symbols.
	* decl.c (match_procedure_decl): Increase reference count for interface.
	* expr.c: New functions replace_symbol and gfc_expr_replace_symbols.
	* resolve.c (resolve_symbol): Correctly copy array spec and char len
	of PROCEDURE declarations from their interface.
	* symbol.c (gfc_get_default_type): Enhanced error message.
	(copy_formal_args): Call copy_formal_args recursively for arguments.
	* trans-expr.c (gfc_conv_function_call): Bugfix.


2008-11-01  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/36322
	PR fortran/36463
	* gfortran.dg/proc_decl_17.f90: New.
	* gfortran.dg/proc_decl_18.f90: New.

From-SVN: r141515
2008-11-01 14:24:03 +01:00
Richard Guenther
002bd9f0ac re PR middle-end/37976 (ICE in insert_into_preds_of_block)
2008-11-01  Richard Guenther  <rguenther@suse.de>

	PR middle-end/37976
	* builtins.c (fold_builtin_strspn): Return a size_t.
	(fold_builtin_strcspn): Likewise.

	* gcc.c-torture/compile/pr37976.c: New testcase.

From-SVN: r141514
2008-11-01 12:47:38 +00:00
Jonathan Wakely
8dd5e93af6 shared_ptr.h: Update comparisons to match WP.
2008-11-01  Jonathan Wakely  <jwakely.gcc@gmail.com>

        * include/bits/shared_ptr.h: Update comparisons to match WP.
        (_Sp_counted_ptr): Make copy and assignment members deleted.
        (_Sp_counted_deleter): Remove private copy and assignment members.
        (__shared_count::_M_less,__weak_count::_M_less,operator<): Replace
        friend operator< with overloaded _M_less member functions to allow
        comparison with either shared_count or weak_count.
        (__shared_ptr::_M_less,__weak_ptr::_M_less): Replace with...
        (__shared_ptr::owner_before,__weak_ptr::owner_before): New overloads
        for ownership-based ordering.
        (operator<(__shared_ptr,__shared_ptr)): Compare stored pointers,
        make non-friend.
        (operator==(__shared_ptr,__shared_ptr)): Make non-friend.
        (operator!=(__shared_ptr,__shared_ptr)): Likewise.
        (less<__shared_ptr<>>,less<shared_ptr<>>,_Sp_less): Explicitly call
        pointer specialization.
        (__weak_ptr::operator<,weak_ptr::operator<=,weak_ptr::operator>,
        weak_ptr::operator>=): Remove operator< and delete all comparisons.
        (_Sp_owner_less,owner_less): Predicate for ownership-based ordering.
        (operator<(shared_ptr,shared_ptr): Overload for derived shared_ptr.
        (operator==(shared_ptr,shared_ptr): Likewise.
        (operator!=(shared_ptr,shared_ptr): Likewise.
        (swap(shared_ptr,shared_ptr)): Fix parameter types.
        (swap(weak_ptr,weak_ptr)): Add missing overload.
        * testsuite/20_util/owner_less/cmp.cc: New.
        * testsuite/20_util/shared_ptr/comparison/cmp.cc: Test other ops.
        * testsuite/20_util/shared_ptr/comparison/less.cc: New.
        * testsuite/20_util/shared_ptr/observers/owner_before.cc: New.
        * testsuite/20_util/weak_ptr/observers/owner_before.cc: New.
        * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: New.

From-SVN: r141512
2008-11-01 11:29:06 +00:00
Dennis Wassel
1b867ae782 re PR fortran/37159 (RANDOM_SEED: GET= check array size at compile time and respect -fdefault-integer-*)
2008-11-01  Dennis Wassel  <dennis.wassel@gmail.com>

	PR fortran/37159
	* fortran/check.c (gfc_check_random_seed): Check PUT size
	at compile time.

2008-11-01  Dennis Wassel  <dennis.wassel@gmail.com>

	PR fortran/37159
	* intrinsics/random.c: Added comment to adapt check.c, should
	kiss_size change.
	Few cosmetic changes to existing comments.

2008-11-01  Dennis Wassel  <dennis.wassel@gmail.com>

	PR fortran/37159
	* gfortran.dg/random_seed_1.f90: New testcase.

From-SVN: r141511
2008-11-01 10:24:15 +00:00
Nathan Froyd
f9fd1e7778 rs6000.c (rs6000_file_start): Output gnu attribute for struct return convention.
* config/rs6000/rs6000.c (rs6000_file_start): Output gnu
	attribute for struct return convention.

From-SVN: r141510
2008-11-01 02:26:26 +00:00
Nathan Froyd
a57b73a786 * config/rs6000/crtsavres.asm: Really, really delete.
From-SVN: r141509
2008-11-01 02:24:07 +00:00
Nathan Froyd
19ce673106 rs6000.c (no_global_regs_above): Fix precedence problem.
* config/rs6000/rs6000.c (no_global_regs_above): Fix precedence
	problem.
	(rs6000_emit_prologue): Invert logic.
	* config/rs6000/rs6000.md (*save_gpregs_<mode>): Use explicit
	(reg:P 11) instead of match_operand.
	(*save_fpregs_<mode>): Likewise.
	(*restore_gpregs_<mode>): Likewise.
	(*return_and_restore_gpregs_<mode>): Likewise.
	(*return_and_restore_fpregs_<mode>): Likewise.
	* config/rs6000/spe.md (*save_gpregs_spe): Use explicit
	(reg:P 11) insted of match_operand.
	(*restore_gpregs_spe): Likewise.
	(*return_and_restore_gpregs_spe): Likewise.

From-SVN: r141508
2008-11-01 02:22:55 +00:00
GCC Administrator
24b6353f30 Daily bump.
From-SVN: r141506
2008-11-01 00:16:59 +00:00
Manuel López-Ibáñez
47960aaf16 expr.c (struct op): Add location.
2008-10-31  Manuel López-Ibáñez  <manu@gcc.gnu.org>

libcpp/
	* expr.c (struct op): Add location.
	(_cpp_parse_expr): Propagate locations throught the stack
	of expressions.
	(reduce): Likewise.
	(check_promotion): Use explicit location in errors.
	
testsuite/
	* gcc.dg/cpp/Wsignprom.c: Add column numbers.
	* gcc.dg/cpp/if-mpar.c: Likewise.

From-SVN: r141503
2008-10-31 22:00:37 +00:00
Jakub Jelinek
4f48b9c1a5 re PR c++/37967 (ICE with function returning auto)
PR c++/37967
	* decl.c (grokdeclarator): Diagnose auto function decl without
	late return type and late return type function decl where type
	is not auto.

	* g++.dg/cpp0x/auto8.C: New test.

From-SVN: r141502
2008-10-31 22:33:47 +01:00
Jakub Jelinek
0a3098bba1 re PR c++/37965 (ICE with invalid auto variable in template)
PR c++/37965
	* decl.c (cp_finish_decl): Diagnose type_uses_auto type with
	no initializer.

	* g++.dg/cpp0x/auto7.C: New test.

From-SVN: r141501
2008-10-31 22:30:05 +01:00
Andrew Haley
728a8a74ac Makefile.am (install-data-local): Correct symlink paths for SDK-style installed JARs.
2008-10-31  Andrew Haley  <aph@redhat.com>

        * Makefile.am (install-data-local): Correct symlink paths for
        SDK-style installed JARs.  
        Correct symlinks for headers when DESTDIR is set.

From-SVN: r141499
2008-10-31 17:16:12 +00:00
Paolo Carlini
894e47e76e re PR libstdc++/37958 (num_get<>::do_get(bool) sets eofbit flag incorrectly when boolalpha == true)
2008-10-31  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/37958
	* include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
	iter_type, ios_base&, ios_base::iostate&, bool&): Fix.
	* testsuite/22_locale/num_get/get/char/37958.cc: New.
	* testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.

From-SVN: r141498
2008-10-31 16:47:48 +00:00
Mikael Morin
d3d0b9e07f re PR fortran/35840 (ICE for character expression in I/O specifier)
2008-10-31  Mikael Morin  <mikael.morin@tele2.fr>

	PR fortran/35840
	* expr.c (gfc_reduce_init_expr): New function, containing checking code
	from gfc_match_init_expr, so that checking can be deferred. 
	(gfc_match_init_expr): Use gfc_reduce_init_expr.
	* io.c (check_io_constraints): Use gfc_reduce_init_expr instead of 
	checking that the expression is a constant. 
	* match.h (gfc_reduce_init_expr): Prototype added. 

2008-10-31  Mikael Morin  <mikael.morin@tele2.fr>

	PR fortran/35840
	* gfortran.dg/write_check4.f90: New test.

From-SVN: r141497
2008-10-31 15:56:21 +00:00
Mikael Morin
0e6834af18 [multiple changes]
2008-10-31  Mikael Morin  <mikael.morin@tele2.fr>

	PR fortran/35820
	* resolve.c (gfc_count_forall_iterators): New function.
	(gfc_resolve_forall): Use gfc_count_forall_iterators to evaluate 
	the needed memory amount to allocate. Don't forget to free allocated 
	memory.  Add an assertion to check for memory leaks. 

2008-10-16  Mikael Morin  <mikael.morin@tele2.fr>

	PR fortran/35820
	* gfortran.dg/nested_forall_1.f: New test.

From-SVN: r141496
2008-10-31 15:37:17 +00:00
Duncan Sands
798c19f855 * MAINTAINERS (Write After Approval): Add self.
From-SVN: r141495
2008-10-31 15:36:18 +00:00
Mikael Morin
ea99e36ef7 MAINTAINERS (Write after approval): Add myself.
2008-10-31  Mikael Morin  <mikael.morin@tele2.fr>

	* MAINTAINERS (Write after approval): Add myself.

From-SVN: r141494
2008-10-31 15:20:23 +00:00
Joseph Myers
41216c64b5 * id.po: Update.
From-SVN: r141492
2008-10-31 14:11:42 +00:00
Jerry DeLisle
32584f7286 Fix garbage.
From-SVN: r141490
2008-10-31 04:53:00 +00:00
Steven G. Kargl
dc4a37ec55 re PR fortran/37930 (gfortran error and ICE at automatic type conversion with transfer intrinsic)
2008-10-30  Steven G. Kargl  <kargls@comcast.net>

	PR fortran/37930
	* gfortran.dg/int_conv_2.f90:  New test.

From-SVN: r141489
2008-10-31 04:51:04 +00:00
Steven G. Kargl
7278e4dcfb re PR fortran/37930 (gfortran error and ICE at automatic type conversion with transfer intrinsic)
2008-10-30  Steven G. Kargl  <kargls@comcast.net>

	PR fortran/37930
	* fortran/arith.c (gfc_mpfr_to_mpz):  Test for NaN and Inf values.
	Remove stale comment and kludge code for MPFR 2.0.1 and older.
	(gfc_real2int): Error on conversion of NaN or Inf.
	(gfc_complex2int): Ditto.
	* fortran/arith.h: Update mpfr_to_mpz prototype.
	* fortran/simplify.c (gfc_simplify_ceiling, gfc_simplify_floor,
	gfc_simplify_ifix, gfc_simplify_idint, simplify_nint): Update function
	calls to include locus.

From-SVN: r141488
2008-10-31 04:45:28 +00:00
GCC Administrator
98d53624ea Daily bump.
From-SVN: r141481
2008-10-31 00:17:00 +00:00
Ben Elliston
fb0d26846b configure.ac (spu-*-*): Remove special case.
* configure.ac (spu-*-*): Remove special case.
	* configure: Regenerate.

From-SVN: r141471
2008-10-31 10:33:12 +11:00
Luis Machado
7c8fbd3fbe Add -dumpbase to the switches that take arguments
From-SVN: r141469
2008-10-30 22:45:32 +00:00
Jakub Jelinek
dbc0f59397 s390.c (s390_mark_symbol_ref_as_used): New function.
* config/s390/s390.c (s390_mark_symbol_ref_as_used): New function.
	(s390_output_pool_entry): Call it through for_each_rtx.

From-SVN: r141468
2008-10-30 23:36:30 +01:00
Mikael Morin
45bc572c86 re PR fortran/37903 (wrong-code for complicated vector subscripts)
2008-10-30  Mikael Morin  <mikael.morin@tele2.fr>

        PR fortran/37903
        * trans-array.c (gfc_trans_create_temp_array): If n is less
	than the temporary dimension, assert that loop->from is
	zero (reverts to earlier versions). If there is at least one
	null loop->to[n], it is a callee allocated array so set the
	size to NULL and break.
	(gfc_trans_constant_array_constructor): Set the offset to zero.
	(gfc_trans_array_constructor): Remove loop shifting around the
	temporary creation.
	(gfc_conv_loop_setup): Prefer zero-based descriptors if
	possible.  Calculate the translation from loop variables to
	array indices if an array constructor.

2008-10-30  Mikael Morin  <mikael.morin@tele2.fr>

        PR fortran/37749
        * trans-array.c (gfc_trans_create_temp_array): If size is NULL
	use the array bounds for loop->to.

2008-10-30  Mikael Morin  <mikael.morin@tele2.fr>

        PR fortran/37903
        * gfortran.dg/vector_subscript_4.f90: New test.

2008-10-30  Mikael Morin  <mikael.morin@tele2.fr>

        PR fortran/37749
        * gfortran.dg/vector_subscript__5.f90: New test.

From-SVN: r141467
2008-10-30 20:45:09 +00:00
Catherine Moore
73c07a3e71 MAINTAINERS (Write after approval): Update my email address.
2008-10-30  Catherine Moore  <clm@codesourcery.com>

        * MAINTAINERS (Write after approval): Update my email address.

From-SVN: r141465
2008-10-30 14:42:39 -04:00
Jakub Jelinek
905cf57dab pr36822.c: Avoid cast to pointer from integer of different size warning with -m31.
* gcc.target/s390/pr36822.c: Avoid cast to pointer from integer
	of different size warning with -m31.

From-SVN: r141462
2008-10-30 13:51:03 +01:00
Jakub Jelinek
723a7cedae re PR middle-end/37730 (gcc.c-torture/compile/pr37713.c ICEs at -O3 -msse2)
PR middle-end/37730
	* expr.c (store_constructor): For vectors, if target is a MEM, use
	target's MEM_ALIAS_SET instead of elttype alias set.

	* gcc.dg/vect/pr37730.c: New test.

From-SVN: r141461
2008-10-30 13:49:31 +01:00
GCC Administrator
8ec6daa568 Daily bump.
From-SVN: r141456
2008-10-30 00:16:55 +00:00
Jakub Jelinek
63240f9558 re PR debug/36668 (FAIL: g++.dg/other/PR23205.C scan-assembler .stabs.*foobar:c=i)
PR debug/36668
	* g++.dg/other/PR23205.C: Allow foobar to be defined as variable.
	* g++.dg/other/pr23205-2.C: New test.

From-SVN: r141453
2008-10-30 01:11:23 +01:00
Kaz Kojima
77253e5663 re PR target/37909 (internal compiler error: in fixup_mova, at config/sh/sh.c:3756)
PR target/37909
	* config/sh/sh.c (untangle_mova): Return -1 when NEW_MOVA has
	no address.

From-SVN: r141452
2008-10-29 23:54:35 +00:00
David Edelsohn
b4cb33a15e * gcc.c-torture/compile/pr37878.c: New test.
From-SVN: r141451
2008-10-29 19:39:30 -04:00
David Edelsohn
2665ab87be re PR target/37878 (PPC64 ldu command generated with invalid offset)
PR target/37878
        * config/rs6000/predicates.md (word_offset_memref_operand):
        Restructure code and look inside auto-inc/dec addresses.

From-SVN: r141450
2008-10-29 19:33:02 -04:00
Steve Ellcey
81a39e89f3 re PR target/32277 (indir-call-prof fails on ia64-linux-gnu)
PR target/32277
	* libgcov.c ( __gcov_indirect_call_profiler): Check
	TARGET_VTABLE_USES_DESCRIPTORS.

From-SVN: r141442
2008-10-29 19:46:16 +00:00
Steve Ellcey
f9f658c800 re PR middle-end/37339 (gcc.dg/pr33645-3.c scan-assembler-not var1_t)
PR middle-end/37339
	* gcc.dg/pr33545-3.c: Remove.

From-SVN: r141440
2008-10-29 19:41:26 +00:00
Stefan Schulze Frielinghaus
7310a2da1c configure.ac [spu-*-*]: Do not set skipdirs.
ChangeLog:

2008-10-29  Stefan Schulze Frielinghaus  <xxschulz@de.ibm.com>

	* configure.ac [spu-*-*]: Do not set skipdirs.
	* configure: Re-generate.

gcc/ChangeLog:

2008-10-29  Stefan Schulze Frielinghaus  <xxschulz@de.ibm.com>

	* config/spu/spu.h (FRAME_GROWS_DOWNWARD): Define.
	(INITIAL_FRAME_POINTER_OFFSET): Remove.
	* config/spu/spu.c (spu_initial_elimination_offset): Calculate new
	offset if eliminating soft frame pointer.
	* config/spu/spu.md (stack_protect_set, stack_protect_test)
	(stack_protect_test_si): Add initial machine description
	for Stack Smashing Protector

From-SVN: r141437
2008-10-29 19:33:45 +00:00
Manuel López-Ibáñez
cdd6a337c0 re PR middle-end/11492 (Bogus warning with -Wsign-compare)
2008-10-29  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR 11492
	* c-common.c (min_precision): Move to...
	* tree.c (tree_int_cst_min_precision): ... to here. Renamed.
	* tree.h (tree_int_cst_min_precision): Declare.
	* c-common.h (min_precision): Delete declaration.
	* fold-const.c (tree_binary_nonnegative_warnv_p): Handle
	multiplication of non-negative integer constants.
	* c-decl.c (check_bitfield_type_and_width): Rename min_precision to
	tree_int_cst_min_precision.
	(finish_enum): Likewise.
cp/
	* class.c (check_bitfield_decl): Rename min_precision to
	tree_int_cst_min_precision.
	* decl.c (finish_enum): Likewise.
testsuite/
	* gcc.dg/pr11492.c: New.
	* g++.dg/warn/pr11492.C: New.

From-SVN: r141434
2008-10-29 17:16:46 +00:00
Joseph Myers
20ded7a68b re PR middle-end/36578 (cast to long double not taken into account when result stored to a double)
PR middle-end/36578
	* convert.c (convert_to_real): Do not optimize conversions of
	binary arithmetic operations between binary and decimal
	floating-point types.  Consider mode of target type in determining
	decimal type for arithmetic.  Unless
	flag_unsafe_math_optimizations, do not optimize binary conversions
	where this may change rounding behavior.
	* real.c (real_can_shorten_arithmetic): New.
	* real.h (real_can_shorten_arithmetic): Declare.

testsuite:
	* gcc.dg/dfp/convert-bfp-13.c, gcc.dg/dfp/convert-bfp-14.c,
	gcc.dg/dfp/convert-dfp-fold-2.c, gcc.target/i386/pr36578-1.c,
	gcc.target/i386/pr36578-2.c: New tests.

From-SVN: r141432
2008-10-29 17:05:42 +00:00
Bernd Schmidt
669eeb28ea bfin-protos.h (WA_05000257, [...]): New.
* config/bfin/bfin-protos.h (WA_05000257, WA_05000283, WA_05000315,
	ENABLE_WA_05000257, ENABLE_WA_05000283, ENABLE_WA_05000315): New.
	* config/bfin/bfin.c (bfin_cpus): Add these workaround bits as
	appropriate.
	(must_save_p): For some workarounds, interrupts need to clobber a
	P register.
	(expand_prologue_reg_save, expand_epilogue_reg_restore): Save LC0
	and LC1 for WA_05000257.
	(expand_interrupt_handler_prologue): Add dummy read of CHIPID for
	WA_05000283 and WA_05000315.
	* config/bfin/bfin.md (UNSPEC_VOLATILE_DUMMY): New constant.
	(movbi): Add alternative to set CC to 1; improve code for setting
	CC to 0.
	(dummy_load): New pattern.

From-SVN: r141431
2008-10-29 16:37:22 +00:00
Jakub Jelinek
7d293b587a re PR middle-end/37870 (ICE in extract_bit_field_1)
PR middle-end/37870
	* expmed.c (extract_bit_field_1): If int_mode_for_mode returns
	BLKmode for non-memory, convert using a wider MODE_INT mode
	or through memory.

	* gcc.target/i386/pr37870.c: New test.

From-SVN: r141430
2008-10-29 17:07:39 +01:00
Manuel López-Ibáñez
d3f7b2c67e re PR c++/26997 (g++ reports misleading error message when the identifier with error occurs earlier on the same line)
2008-10-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c++/26997
cp/
	* parser.c (cp_parser_token_starts_cast_expression): New.
	(cp_parser_cast_expression): Peek the next token to decide whether
	this could be a parenthesized constructor or is definitely an
	actual cast.
testsuite/
	* g++.dg/parse/pr26997.C: New.

From-SVN: r141429
2008-10-29 16:05:27 +00:00