Commit Graph

104985 Commits

Author SHA1 Message Date
Uros Bizjak
a6759a8a0b nop.h: Move from ...
* gcc.dg/nop.h: Move from ...
	* gcc.dg/guality/nop.h: ... here.
	* gcc.dg/lto/20091216-1_0.c: Include nop.h and use NOP macro.
	* gcc.dg/guality/asm-1.c: Update nop.h include.
	* gcc.dg/guality/pr43329-1.c: Ditto.

From-SVN: r166877
2010-11-17 21:35:46 +01:00
Paolo Bonzini
f725e72170 c-parser.c (c_token_is_qualifier, [...]): New.
2010-11-17  Paolo Bonzini  <bonzini@gnu.org>

        * c-parser.c (c_token_is_qualifier,
        c_parser_next_token_is_qualifier): New.
        (c_parser_declaration_or_fndef, c_parser_struct_declaration):
        Improve error message on specs->tagdef_seen_p.
        (c_parser_struct_or_union_specifier): Improve error recovery.
        (c_parser_declspecs): Move exit condition on C_ID_ID early.
        Reorganize exit condition for C_ID_TYPENAME/C_ID_CLASSNAME
        using c_parser_next_token_is_qualifier; extend it to cover
        a ctsk_tagdef typespec and !typespec_ok in general.

testsuite:
2010-11-17  Paolo Bonzini  <bonzini@gnu.org>

        * gcc.dg/two-types-1.c: New test.
        * gcc.dg/two-types-2.c: New test.
        * gcc.dg/two-types-3.c: New test.
        * gcc.dg/two-types-4.c: New test.
        * gcc.dg/two-types-5.c: New test.
        * gcc.dg/two-types-6.c: New test.
        * gcc.dg/two-types-7.c: New test.
        * gcc.dg/two-types-8.c: New test.
        * gcc.dg/two-types-9.c: New test.
        * gcc.dg/two-types-10.c: New test.
        * objc.dg/two-types-1.m: New test.

From-SVN: r166874
2010-11-17 18:17:17 +00:00
Richard Guenther
0197bf54a1 value-prof.c (gimple_divmod_fixed_value_transform): Update the stmt.
2010-11-17  Richard Guenther  <rguenther@suse.de>

	* value-prof.c (gimple_divmod_fixed_value_transform): Update
	the stmt.
	(gimple_mod_pow2_value_transform): Likewise.
	(gimple_mod_subtract_transform): Likewise.

From-SVN: r166871
2010-11-17 15:56:41 +00:00
Richard Guenther
3c760b86e1 re PR lto/46504 (LTO failed on 483.xalancbmk in SPEC CPU 2006)
2010-11-17  Richard Guenther  <rguenther@suse.de>

	PR lto/46504
	* gimple.c (gimple_register_canonical_type): Make sure to only
	make type leaders canonical types.

From-SVN: r166870
2010-11-17 15:47:17 +00:00
Michael Matz
a222c01a3c timevar.def (TV_IPA_OPT, [...]): New.
* timevar.def (TV_IPA_OPT, TV_EARLY_LOCAL, TV_OPTIMIZE,
	TV_POSTRELOAD, TV_REMOVE_UNUSED, TV_ADDRESS_TAKEN, TV_TODO,
	TV_VERIFY_LOOP_CLOSED, TV_VERIFY_RTL_SHARING,
	TV_REBUILD_FREQUENCIES, TV_REPAIR_LOOPS): New.
	* tree-into-ssa.c (rewrite_into_ssa): Don't push/pop timevar here ...
	(pass_build_ssa): ... but here.
	* cgraphbuild.c (pass_rebuild_cgraph): Use timevar.
	* tree-ssa-loop-manip.c (verify_loop_closed_ssa): Use timevar.
	* tree-emutls.c (pass_ipa_lower_emutls): Ditto.
	* df-core.c (pass_df_initialize_opt,
	pass_df_initialize_no_opt): Ditto.
	* predict.c (rebuild_frequencies): Ditto.
	* tree-vectorizer.c (pass_ipa_increase_alignment): Ditto.
	* emit-rtl.c (verify_rtl_sharing): Ditto.
	* tree-cfgcleanup.c (repair_loop_structures): Ditto.
	* tree-ssa-live.c (remove_unused_locals): Ditto.
	* cfglayout.c (pass_into_cfg_layout, pass_outof_cfg_layout): Ditto.
	* tree-ssa.c (pass_early_warn_uninitialized,
	execute_update_addresses_taken, pass_update_address_taken): Ditto.
	* tree-optimize.c (pass_all_optimizations, pass_early_local_passes,
	pass_cleanup_cfg_post_optimizing, tree_rest_of_compilation): Ditto.
	* passes.c (pass_postreload, execute_todo): Ditto.
	* tree-ssanames.c (pass_release_ssa_names): Ditto.

From-SVN: r166869
2010-11-17 15:18:08 +00:00
Joseph Myers
b37421c62a invoke.texi (-dy): Remove.
* doc/invoke.texi (-dy): Remove.
	* langhooks-def.h (lhd_do_nothing_i): Don't declare.
	(LANG_HOOKS_PARSE_FILE): Define to lhd_do_nothing.
	* langhooks.c (lhd_do_nothing_i): Remove.
	* langhooks.h (lang_hooks.parse_file): Take no arguments.
	* toplev.c (set_yydebug): Remove.
	(compile_file): Update call to lang_hooks.parse_file.
	(decode_d_option): Don't handle -dy.

ada:
	* gcc-interface/misc.c (gnat_parse_file): Take no arguments.

c-family:
	* c-opts.c (c_common_parse_file): Take no arguments.
	* c-common.h (c_common_parse_file): Update prototype.

fortran:
	* f95-lang.c (gfc_be_parse_file): Take no arguments.

java:
	* jcf-parse.c (java_parse_file): Take no arguments.
	* java-tree.h (java_parse_file): Update prototype.

lto:
	* lto.c (lto_main): Take no arguments.
	* lto.h (lto_main): Update prototype.

From-SVN: r166868
2010-11-17 14:31:07 +00:00
Jakub Jelinek
073d7052e5 re PR rtl-optimization/46440 (ICE: in rtl_verify_flow_info, at cfgrtl.c:2165 with -fstack-protector-all -fno-tree-dominator-opts -fno-tree-fre)
PR rtl-optimization/46440
	* combine.c (update_cfg_for_uncondjump): When changing
	an indirect jump into unconditional jump, remove BARRIERs
	from bb's footer.

	* gcc.dg/pr46440.c: New test.

From-SVN: r166867
2010-11-17 14:02:31 +01:00
Joseph Myers
f79616a446 opts.c (target_handle_option): Do not assert that loc == UNKNOWN_LOCATION.
* opts.c (target_handle_option): Do not assert that loc ==
	UNKNOWN_LOCATION.

From-SVN: r166866
2010-11-17 12:21:39 +00:00
Jakub Jelinek
b57849d419 re PR testsuite/45429 (gcc.dg/vect/no-section-anchors-vect-64.c)
PR testsuite/45429
	* gcc.dg/vect/no-section-anchors-vect-64.c: New test.

From-SVN: r166865
2010-11-17 13:05:24 +01:00
Eric Botcazou
5a19bc0a79 trans.c (addressable_p): Rewrite obsolete paragraph in head comment.
* gcc-interface/trans.c (addressable_p): Rewrite obsolete paragraph in
	head comment.

From-SVN: r166864
2010-11-17 12:00:15 +00:00
Jakub Jelinek
d0f305b11a re PR middle-end/45838 (FAIL: libgomp.c/pr34513.c execution test)
PR middle-end/45838
	* tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
	call_may_clobber_ref_p_1): Return true for __sync_* and some
	OpenMP builtins that act as threading barriers.

Co-Authored-By: Richard Guenther <rguenther@suse.de>

From-SVN: r166863
2010-11-17 12:15:55 +01:00
Richard Guenther
5ac60b564f re PR tree-optimization/46498 (ICE: in eliminate_unnecessary_stmts, at tree-ssa-dce.c:1112 with -O -funsafe-math-optimizations -fno-tree-dominator-opts -fno-tree-reassoc)
2010-11-16  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/46498
	* tree-ssa-dce.c (perform_tree_ssa_dce): Compute dominator info.

From-SVN: r166861
2010-11-17 10:43:21 +00:00
Ira Rosen
d92826beb4 re PR tree-optimization/46312 (gcc.dg/vec-scal-opt2.c fails for ARM targets.)
PR tree-optimization/46312
        * gcc.dg/vect/vect-scal-opt2.c: Rename to...
        * gcc.dg/vect/vec-scal-opt2.c: ... this. Expect to pass only
        on targets that support vector shifts with scalar shift
        argument.
        Remove dg-options.
        * gcc.dg/vect/vect-scal-opt.c: Rename to...
        * gcc.dg/vect/vec-scal-opt.c: ... this, and change likewise.
        * gcc.dg/vect/vect-scal-opt1.c: Rename to...
        * gcc.dg/vect/vec-scal-opt1.c: ... this, and change likewise.
        * gcc.dg/vect/vect.exp: Run vec-scal-* tests with relevant
        flags.
        * gcc.dg/vect/vect-114.c: Expect to pass only on targets that
        support misaligned data accesses.
        * gcc.dg/vect/pr43432.c, gcc.dg/vect/vect-15.c: Likewise.
        * gcc.dg/vect/pr43430-2.c: Remove dg-options.
        * lib/target-supports.exp
        (check_effective_target_vect_shift_scalar): New.

From-SVN: r166860
2010-11-17 10:00:27 +00:00
Jakub Jelinek
a677307de8 nop.h: New file.
* gcc.dg/guality/nop.h: New file.
	* gcc.dg/guality/asm-1.c: Include it and use NOP macro instead of
	"nop".  Adjust line numbers in gdb-test.
	* gcc.dg/guality/pr43329-1.c: Likewise.

From-SVN: r166859
2010-11-17 10:16:06 +01:00
Nathan Froyd
84ec98d2eb xtensa.c (function_arg_boundary): Really rename to...
* config/xtensa/xtensa.c (function_arg_boundary): Really rename to...
	(xtensa_function_arg_boundary): ...this.
	* config/picochip/pichochip.c (picochip_function_arg_boundary): Fix
	thinko in declaration.
	(picochip_function_arg, picochip_arg_partial_bytes): Pass proper
	number of parameters to picochip_function_arg_boundary.
	(picochip_arg_advance): Likewise.

From-SVN: r166853
2010-11-17 03:18:19 +00:00
Jason Merrill
be5e69085c call.c (convert_like_real): Don't make a temp for copy-list-init.
* call.c (convert_like_real): Don't make a temp for copy-list-init.
	(build_over_call): Don't handle that here.
	(build_new_method_call): Use COMPLETE_OR_OPEN_TYPE_P for error.

From-SVN: r166852
2010-11-16 20:43:19 -05:00
Jason Merrill
66753821b5 re PR c++/46497 ([C++0x] Defaulted vs declared move constructor vs is_convertible)
PR c++/46497
	* call.c (build_over_call): Check for =delete even when trivial.

From-SVN: r166851
2010-11-16 20:43:10 -05:00
Jason Merrill
bf4c0738c0 DR 1004
DR 1004
	* decl.c (make_unbound_class_template): Handle using
	injected-type-name as template.

From-SVN: r166850
2010-11-16 20:43:02 -05:00
Nathan Froyd
b58a864da3 re PR target/46512 (crtstuff.c:563:1: internal compiler error: Segmentation fault)
PR target/46512
	* config/pa/pa.c (pa_function_arg_boundary): Move TYPE_SIZE accesses
	under check for type.

From-SVN: r166849
2010-11-17 01:41:13 +00:00
Ian Lance Taylor
d82f74d3ab simple-object.h (simple_object_attributes_merge): Declare, replacing simple_object_attributes_compare.
include/:
	* simple-object.h (simple_object_attributes_merge): Declare,
	replacing simple_object_attributes_compare.
libiberty/:
	* simple-object.c (simple_object_attributes_merge): Rename from
	simple_object_attributes_compare.  Call merge field.
	* simple-object-common.h (struct simple_object_functions): Rename
	attributes_compare field to attribute_merge.
	* simple-object-elf.c (EM_SPARC): Define.
	(EM_SPARC32PLUS): Define.
	(simple_object_elf_attributes_merge): Renamed from
	simple_object_elf_attributes_compare.  Permit EM_SPARC and
	EM_SPARC32PLUS objects to be merged.
	(simple_object_elf_functions): Update function name.
	* simple-object-coff.c (simple_object_coff_attributes_merge):
	Rename from simple_object_coff_attributes_compare.
	(simple_object_coff_functions): Update function name.
	* simple-object-mach-o.c (simple_object_mach_o_attributes_merge):
	Renamed from simple_object_mach_o_attributes_compare.
	(simple_object_mach_o_functions): Update function name.
gcc/lto/:
	* lto-object.c (lto_obj_file_open): Call
	simple_object_attributes_merge rather than
	simple_object_attributes_compare.

From-SVN: r166848
2010-11-17 01:03:06 +00:00
Nicola Pero
354d8ce108 In gcc/objc/: 2010-11-17 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/objc/:
2010-11-17  Nicola Pero  <nicola.pero@meta-innovation.com>

        * objc-act.c (lookup_method_in_protocol_list): Search methods in
        PROTOCOL_OPTIONAL_CLS_METHODS / PROTOCOL_OPTIONAL_NST_METHODS if
        they are not found in PROTOCOL_CLS_METHODS / PROTOCOL_NST_METHODS.

In gcc/testsuite/:
2010-11-17  Nicola Pero  <nicola.pero@meta-innovation.com>

        * objc.dg/protocol-optional-1.m: New.
        * obj-c++.dg/protocol-optional-1.mm: New.

From-SVN: r166847
2010-11-17 01:01:49 +00:00
GCC Administrator
109a508a0a Daily bump.
From-SVN: r166844
2010-11-17 00:18:36 +00:00
Eric Botcazou
a5e2cc0b54 * ifcvt.c (dead_or_predicable): Fix typo.
From-SVN: r166839
2010-11-16 23:29:15 +00:00
Richard Henderson
d7ecb504b9 s390: -mfused-madd cleanup
* config.gcc [s390*-*] (extra_options): Add fused-madd.opt.
        * config/s390/s390.opt (mfused-madd): Remove.
        * config/s390/s390.c (s390_rtx_costs): Handle FMA.
        (TARGET_DEFAULT_TARGET_FLAGS): Remove MASK_FUSED_MADD.
        * config/s390/s390.md (fma<DSF>4): Rename from *fmadd<DSF>; use FMA.
        (fms<DSF>4): Rename from *fmsub<DSF>; use FMA.

From-SVN: r166838
2010-11-16 15:24:53 -08:00
Richard Henderson
d6613781a5 rs6000: -mfused-madd cleanup
* config.gcc [powerpc*, rs6000*] (extra_options): Add fused-madd.opt.
	* config/rs6000/rs6000.opt (mfused-madd): Remove.
	* config/rs6000/altivec.md (altivec_vmaddfp): Remove.
	(*altivec_vmaddfp_1): Remove.
	(*altivec_fmav4sf4): Rename from altivec_vmaddfp_2; use FMA.
	(altivec_mulv4sf3): Expand to FMA directly.
	(*altivec_vnmsubfp): Rename from altivec_vnmsubfp.
	(*altivec_vnmsubfp_1, *altivec_vnmsubfp_2): Remove.
	* config/rs6000/paired.md (paired_madds0): Use FMA.
	(paired_madds1): Likewise.
	(*paired_madd): Rename from paired_madd; use FMA.
	(*paired_msub, *paired_nmadd, *paired_nmsub): Similarly.
	* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not
	consider TARGET_FUSED_MADD wrt rs6000_recip_control.
	(bdesc_3arg): Update CODE_FOR_* for pattern renames.
	(rs6000_emit_madd): Use fma_optab.
	(rs6000_emit_msub): Use fms_optab.
	(rs6000_emit_nmsub): Expand the FMA pattern directly.
	* config/rs6000/rs6000.md (FMA_F): New mode iterator.
	(*fmasf4_fpr): Rename from fmasf4_fpr.
	(*nfmasf4_fpr): Rename from *fnmasf4_fpr.
	(*nfmssf4_fpr): Rename from *fnmssf4_fpr.
	(*fmaddsf4_powerpc, *fmaddsf4_power, *fmsubsf4_powerpc): Remove.
	(*fmsubsf4_power, *fnmaddsf4_powerpc_1, *fnmaddsf4_powerpc_2): Remove.
	(*fnmaddsf4_power_1, *fnmaddsf4_power_2, *fnmsubsf4_powerpc_1): Remove.
	(*fnmsubsf4_powerpc_2, *fnmsubsf4_power_1, *fnmsubsf4_power_2): Remove.
	(*fmadf4_fpr): Rename from fmadf4_fpr.
	(*nfmadf4_fpr): Rename from *fnmadf4_fpr.
	(*nfmsdf4_fpr): Rename from *fnmsdf4_fpr.
	(*fmadddf4_fpr, *fmsubdf4_fpr, *fnmadddf4_fpr_1): Remove.
	(*fnmadddf4_fpr_2, *fnmsubdf4_fpr_1, *fnmsubdf4_fpr_2): Remove.
	(fmasf4, fmadf4): Macroize into...
	(fma<FMA_F>4): ... here.
	(fms<FMA_F>4, fnma<FMA_F>4, fnms<FMA_F>4): New.
	(nfma<FMA_F>4, nfms<FMA_F>4): New.
	* config/rs6000/vector.md (mul<VEC_F>3): Do not depend on
	TARGET_FUSED_MADD.
	* config/rs6000/vsx.md (vsx_fmadd<VSX_B>4): Remove.
	(*vsx_fmadd<mode>4_1): Remove.
	(vsx_fmsub<mode>4, *vsx_fmsub<mode>4_1): Remove.
	(vsx_fnmadd<mode>4_1, vsx_fnmadd<mode>4_2): Remove.
	(vsx_fnmsub<mode>4_1, vsx_fnmsub<mode>4_2): Remove.
	(*vsx_fma<mode>4): Rename from vsx_fmadd<mode>4_2.
	(*vsx_fms<mode>4): Rename from vsx_fmsub<mode>4_2.
	(*vsx_nfma<mode>4): Rename from vsx_fnmadd<mode>4.
	(*vsx_nfms<mode>4): Rename from vsx_fnmsub<mode>4.

testsuite/
	* gcc.target/powerpc/ppc-fma-2.c: Use -ffp-contract=off.
	* gcc.target/powerpc/ppc-fma-4.c: Likewise.

From-SVN: r166837
2010-11-16 15:19:44 -08:00
Richard Henderson
f9669294e1 pa: Use the FMA rtx code.
* config/pa/pa.md (fmadf4): Rename from unnamed; use FMA.
        (fmasf4, fnmadf4, fnmasf4): Likewise.
        (unnamed plus+mult insns and splitters): Delete.

From-SVN: r166834
2010-11-16 14:56:06 -08:00
Richard Henderson
23c819b54d spu: Use the FMA rtx code.
* config/spu/spu.md (fma<VSF>4): Rename from fma_<VSF>.
        (fnma<VSF>4): Rename from fnms_<VSF>.
        (fms<VSF>4): Rename from fms_<VSF>.
        (fma<VDF>4): Rename from fma_<VDF>.
        (fms<VDF>4): Rename from fms_<VDF>.
        (nfma<VDF>4): Rename from fnma_<VDF>.
        (nfms<VDF>4): Rename from fnms_<VDF>.
        (fnma<VDF>4, fnms<VDF>4): New expanders.
        (floatunsdisf2): Update for the renames.
        (*div<VSF>3_fast, *div<VSF>3_adjusted): Likewise.
        * config/spu/spu-builtins.def: Update CODE_FOR_* for the renames.

From-SVN: r166833
2010-11-16 14:47:27 -08:00
Eric Botcazou
a05c8f2351 re PR rtl-optimization/46490 (ACATS c460007 fails at -O2 or above)
PR rtl-optimization/46490
	* combine.c (expand_compound_operation): Fix thinko.

From-SVN: r166830
2010-11-16 22:30:19 +00:00
Richard Henderson
cfc76ec4d0 re PR target/46470 ("add $0x8,%rsp" no longer optimized to pop)
PR target/46470
        * recog.c (peep2_attempt): Convert frame-related info when possible.
        (peep2_fill_buffer): Allow frame-related insns into the buffer.
        (peephole2_optimize): Allow peep2_attempt to fail.

From-SVN: r166829
2010-11-16 14:22:13 -08:00
Eric Botcazou
885c9b5d3a re PR rtl-optimization/46315 (-O2 -fno-strict-overflow causes wrong code generation)
PR rtl-optimization/46315
	* rtl.h (remove_reg_equal_equiv_notes_for_regno): Declare.
	* rtlanal.c (remove_reg_equal_equiv_notes_for_regno): New function
	extracted from...
	* dce.c (delete_corresponding_reg_eq_notes): ...here.  Rename into...
	(remove_reg_equal_equiv_notes_for_defs): ...this.
	(delete_unmarked_insns): Adjust to above renaming.
	* ifcvt.c (dead_or_predicable): Remove REG_EQUAL and REG_EQUIV notes
	referring to registers set in the insns being moved, if any.

	* df-core.c (df_ref_dump): New function extracted from...
	(df_refs_chain_dump): ...here.  Call it.
	(df_regs_chain_dump): Likewise.
	* df-problems.c (df_chain_dump): Print 'e' for uses in notes.
	* df-scan.c (df_scan_start_dump): Likewise.  Fix long line.

From-SVN: r166827
2010-11-16 22:13:52 +00:00
Joern Rennecke
2b12962772 re PR java/46386 (negative shift count in build_constants_constructor for 16 bit pointer targets)
2010-11-09  Joern Rennecke  <amylaar@spamcop.net>
	    Andrew Haley  <aph@redhat.com>

	PR java/46386
gcc/java:
	* constants.c (build_constants_constructor): Avoid negative shift.
gcc:
	* config/pdp11/t-pdp11 (java/constants.o-warn): Remove.
	* config/t-pnt16-warn (java/constants.o-warn): Likewise.

Co-Authored-By: Andrew Haley <aph@redhat.com>

From-SVN: r166826
2010-11-16 21:46:28 +00:00
Francois-Xavier Coudert
1ec601bf9f re PR fortran/32049 (Support on x86_64 also kind=16)
/
2010-11-13  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/32049
        * Makefile.def: Add libquadmath; build it with language=fortran.
        * configure.ac: Add libquadmath.
        * Makefile.tpl: Handle multiple libs in check-[+language+].
        * Makefile.in: Regenerate.
        * configure: Regenerate.

libquadmath/
2010-11-13  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/32049
        Initial implementation and checkin.

gcc/fortran/
2010-11-13  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/32049
        * gfortranspec.c (find_spec_file): New function.
        (lang_specific_driver): Try to find .spec file and use it.
        * trans-io.c (iocall): Define
        * IOCALL_X_REAL128/COMPLEX128(,write).
        (gfc_build_io_library_fndecls): Build decl for __float128 I/O.
        (transfer_expr): Call __float128 I/O functions.
        * trans-types.c (gfc_init_kinds): Allow kind-16 belonging
        to __float128.

gcc/testsuite/
2010-11-13  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/32049
        * gfortran.dg/quad_1.f90: New.
        * lib/gcc-defs.exp (gcc-set-multilib-library-path): Use also
        compiler arguments.
        * lib/gfortran.exp (gfortran_link_flags): Add libquadmath to
        library search path; call gcc-set-multilib-library-path with
        arguments such that libgfortran.spec is found.
        (gfortran_init): Add path for libgfortran.spec to
GFORTRAN_UNDER_TEST.

libgomp/
2010-11-13  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/32049
        * configure.ac: 
        * configure: Regenerate.

libgfortran/
2010-11-13  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/32049
        * Makefile.am: Add missing pow_r16_i4.c, add transfer128.c,
        link libquadmath, if used.
        * acinclude.m4 (LIBGFOR_CHECK_FLOAT128): Add.
        * configure.ac: Use it, touch spec file.
        * gfortran.map: Add pow_r16_i4 and
        transfer_(real,complex)128(,write) functions.
        * intrinsics/cshift0.c (cshift0): Handle __float128 type.
        * intrinsics/erfc_scaled_inc.c: Ditto.
        * intrinsics/pack_generic.c (pack): Ditto
        * intrinsics/spread_generic.c (spread): Ditto.
        * intrinsics/unpack_generic.c (unpack1): Ditto.
        * io/read.c (convert_real): Ditto.
        * io/transfer.c: Update comments.
        * io/transfer128.c: New file.
        * io/write_float.def (write_float): Handle __float128 type.
        * libgfortran.h: #include quadmath_weak.h, define __builtin_infq
        and nanq.
        * m4/mtype.m4: Handle __float128 type.
        * runtime/in_pack_generic.c (internal_pack): Ditto.
        * runtime/in_unpack_generic.c (internal_unpack): Ditto.
        * kinds-override.h: New file.
        * libgfortran.spec.in: Ditto.
        * generated/pow_r16_i4.c: Generated.
        * Makefile.in: Regenerate.
        * configure: Regenerate.
        * config.h: Regenerate.
        * bessel_r10.c: Regenerate.
        * bessel_r16.c: Regenerate.
        * bessel_r4.c: Regenerate.
        * bessel_r8.c: Regenerate.
        * exponent_r16.c: Regenerate.
        * fraction_r16.c: Regenerate.
        * nearest_r16.c: Regenerate.
        * norm2_r10.c: Regenerate.
        * norm2_r16.c: Regenerate.
        * norm2_r4.c: Regenerate.
        * norm2_r8.c: Regenerate.
        * rrspacing_r16.c: Regenerate.
        * set_exponent_r16.c: Regenerate.
        * spacing_r16.c: Regenerate.


Co-Authored-By: Tobias Burnus <burnus@net-b.de>

From-SVN: r166825
2010-11-16 22:23:19 +01:00
Jakub Jelinek
07078664fd re PR c++/46401 (very slow compile time with -Wsequence-point)
PR c++/46401
	* c-common.c (warning_candidate_p): Don't track non-const calls
	or STRING_CSTs.

	* g++.dg/warn/Wsequence-point-3.C: New test.

From-SVN: r166823
2010-11-16 21:49:57 +01:00
Andreas Schwab
18c33e032d re PR rtl-optimization/46395 (FAIL: 22_locale/numpunct/members/pod/2.cc execution test)
PR rtl-optimization/46395
* gcc/postreload.c (reload_combine): Invalidate register use
information on all control flow insns.

From-SVN: r166820
2010-11-16 20:17:31 +00:00
Kai Tietz
651a20b54b re PR preprocessor/17349 (// comments cause weird behaviour with options -E -C)
2010-11-16  Kai Tietz  <kai.tietz@onevision.com>

        PR preprocessor/17349
        * lex.c (save_comment): Handle in argument passing c++
        comments special.

2010-11-16  Kai Tietz  <kai.tietz@onevision.com>

        PR preprocessor/17349
        * gcc.dg/cpp/cmdlne-C3.c: New.

From-SVN: r166817
2010-11-16 20:50:17 +01:00
Andreas Schwab
92cf739996 m68k.c (m68k_delegitimize_address): Also expect LABEL_REF in UNSPEC operand.
* gcc/config/m68k/m68k.c (m68k_delegitimize_address): Also expect
LABEL_REF in UNSPEC operand.

From-SVN: r166816
2010-11-16 19:45:55 +00:00
Jan Hubicka
df7705b18e cgraph.h (+varpool_can_remove_if_no_refs): Move here from ......
* cgraph.h (+varpool_can_remove_if_no_refs): Move here from ...;
	when !flag_toplevel_reorder do not remove unless variable is
	COMDAT or ARTIFICIAL.
	* ipa.c (varpool_can_remove_if_no_refs): ... here.
	(cgraph_remove_unreachable_nodes): Only analyzed nodes needs to stay.
	* cgraphunit.c (cgraph_analyze_functions): Dump varpool, too.
	* varpool.c (decide_is_variable_needed): Do not handle visibility issues.
	(varpool_finalize_decl): Likewise.
	(varpool_remove_unreferenced_decls): Use varpool_mark_needed_node; update
	outdated comment on DECL_RTL_SET_P check.

From-SVN: r166812
2010-11-16 18:15:17 +00:00
Rainer Orth
3e794bfe43 sol2.h (NM_FLAGS): Define.
* config/sol2.h (NM_FLAGS): Define.
	* doc/tm.texi.in (Macros for Initialization, NM_FLAGS): Document.
	* doc/tm.texi: Update.

From-SVN: r166811
2010-11-16 18:04:40 +00:00
H.J. Lu
431f321fbd Properly demangle a global constructor symbol.
2010-11-16  H.J. Lu  <hongjiu.lu@intel.com>

	PR other/42670
	PR binutils/11137
	* cp-demangle.c (d_make_demangle_mangled_name): New.
	(d_demangle_callback): Use it on DCT_GLOBAL_XTORS.

	* testsuite/demangle-expected: Updated.

From-SVN: r166810
2010-11-16 09:56:50 -08:00
Tom Tromey
b9b9d34254 * MAINTAINERS: Moved myself to reviewers section.
From-SVN: r166809
2010-11-16 17:37:04 +00:00
Nick Clifton
2a5e378096 v850.md (maddsf4): Rename to fmasf4 and use fma rtx_code.
* config/v850/v850.md (maddsf4): Rename to fmasf4 and use fma
	rtx_code.
	(msubsf4): Rename to fmssf4, and use fma.
	(nmaddsf4): Rename to fnmasf4 and use fma.
	(nmsubsf4): Rename to fnmssf4 and use fma.

From-SVN: r166808
2010-11-16 16:51:14 +00:00
Joern Rennecke
996893cea3 re PR target/44762 (score/predicates.md warnings)
PR target/44762
	* config/score/score3.c (score3_return_in_memory): Constify arguments.
	(score3_in_small_data_p, score3_function_value): Likewise.
	(score3_trampoline_init): Use LCT_NORMAL.
	(score3_print_operand): Initialize code as UNKNOWN.
	* config/score/predicates.md (score_load_multiple_operation):
	Remove unused variable.
	(score_store_multiple_operation): Likewise.
	* config/score/score7.c (score7_return_in_memory): Constify arguments.
        (score7_in_small_data_p, score7_function_value): Likewise.
	(score7_trampoline_init): Use LCT_NORMAL.
	(score7_print_operand): Initialize code as UNKNOWN.
	* config/score/score3.h (score3_return_in_memory): Update prototype.
	(score3_in_small_data_p, score3_function_value): Likewise.
	* config/score/score-protos.h (score_function_value): Likewise.
	* config/score/score7.h (score7_return_in_memory): Update prototype.
	(score7_in_small_data_p, score7_function_value): Likewise.
	* config/score/score.c (TARGET_PROMOTE_PROTOTYPES): Constify.
	(score_return_in_memory, score_pass_by_reference): Constify arguments.
	(score_output_mi_thunk, score_function_prologue): Don't return a value.
	(score_function_epilogue, score_in_small_data_p): Likewise.
	(score_option_override, score_asm_trampoline_template): Likewise.
	(score_trampoline_init, score_print_operand): Likewise.
	(score_print_operand_address, score_prologue): Likewise.
	(score_epilogue, score_call, score_call_value): Likewise.
	(score_movsicc, score_movdi, score_zero_extract_andi): Likewise.
	(score_function_arg_advance): Likewise. Make static.
	(score_asm_file_end): Mark parameter value with ATTRIBUTE_UNUSED.
	(score_function_arg, score_legitimate_address_p): Make static.
	(score_function_value): Mark parameter func with ATTRIBUTE_UNUSED.
	* config/score/score.h (REGNO_REG_CLASS): Cast value to enum reg_class.
	* config/score/score-conv.h (UIMM_IN_RANGE, SIMM_IN_RANGE):
	Allow (W) == HOST_BITS_PER_WIDE_INT.

From-SVN: r166807
2010-11-16 16:12:14 +00:00
Nathan Froyd
19cf9bde76 arc.c: Delete pasto.
* config/arc/arc.c: Delete pasto.
	* config/pa/pa.c (pa_function_arg_boundary): Add missing comparison.

From-SVN: r166806
2010-11-16 15:48:28 +00:00
Anatoly Sokolov
f2831cc91f mn10300.h (PREFERRED_RELOAD_CLASS, [...]): Remove.
* config/mn10300/mn10300.h (PREFERRED_RELOAD_CLASS,
	PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
	* config/mn10300/mn10300.c (TARGET_PREFERRED_RELOAD_CLASS,
	TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
	(mn10300_preferred_reload_class,
	mn10300_preferred_output_reload_class): New functions.

From-SVN: r166805
2010-11-16 18:47:31 +03:00
Andreas Krebbel
64aad6898e gensupport.c (MNEMONIC_ATTR_NAME, [...]): New macros.
2010-11-16  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* gensupport.c (MNEMONIC_ATTR_NAME, MNEMONIC_HTAB_SIZE): New
	macros.
	(htab_eq_string, add_mnemonic_string, gen_mnemonic_setattr)
	(mnemonic_htab_callback, gen_mnemonic_attr): New functions.
	(init_rtx_reader_args_cb): Invoke gen_mnemonic_attr.

From-SVN: r166804
2010-11-16 15:33:53 +00:00
Nathan Froyd
c2ed6cf88c builtins.c (std_gimplify_va_arg_expr): Use targetm.calls.function_arg_boundary.
* builtins.c (std_gimplify_va_arg_expr): Use
	targetm.calls.function_arg_boundary.
	* function.c (assign_parms, locate_and_pad_parm): Likewise.
	* calls.c (struct arg_data): Update comment.
	* defaults.h (FUNCTION_ARG_BOUNDARY): Delete.
	* target.def (function_arg_boundary): Define.
	* targhooks.h (default_function_arg_boundary): Declare.
	* targhooks.c (default_function_arg_boundary): Define.
	* doc/tm.texi.in (FUNCTION_ARG_PADDING): Use
	TARGET_FUNCTION_ARG_BOUNDARY.
	(FUNCTION_ARG_BOUNDARY): Delete.
	(TARGET_FUNCTION_ARG_BOUNDARY): New.
	* doc/tm.texi: Regenerate.
	* system.h (FUNCTION_ARG_BOUNDARY): Poison.
	* config/arc/arc.h (FUNCTION_ARG_BOUNDARY): Delete.
	* config/arc/arc.c (arc_function_arg_boundary): Define.
	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
	* config/arm/arm.h (FUNCTION_ARG_BOUNDARY): Delete.
	* config/arm/arm-protos.h (arm_needs_doubleword_align): Delete.
	* config/arm/arm.c (arm_needs_doubleword_align): Make static.
	(arm_function_arg_boundary): Define.
	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
	* config/frv/frv.h (FUNCTION_ARG_BOUNDARY): Delete.
	* config/frv/frv-protos.h (frv_function_arg_boundary): Delete.
	* config/frv/frv.c (frv_function_arg_boundary): Make static.
	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
	* config/i386/i386.h (FUNCTION_ARG_BOUNDARY): Delete.
	* config/i386/i386-protos.h (ix86_function_arg_boundary): Delete.
	* config/i386/i386.c (ix86_function_arg_boundary): Make static.
	(ix86_compat_function_arg_boundary): Take and return unsigned int.
	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
	* config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Delete.
	* config/ia64/ia64-protos.h (ia64_function_arg_boundary): Delete.
	* config/ia64/ia64.c (ia64_function_arg_boundary): Make static.
	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
	* config/m32c/m32c.h (FUNCTION_ARG_BOUNDARY): Delete.
	* config/m32c/m32c.c (m32c_function_arg_boundary): Define.
	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
	* config/m32r/m32r.h (FUNCTION_ARG_BOUNDARY): Delete.
	* config/mcore/mcore.h (FUNCTION_ARG_BOUNDARY): Delete.
	* config/mcore/mcore.c (mcore_function_arg_boundary): Define.
	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
	* config/mips/mips.h (FUNCTION_ARG_BOUNDARY): Delete.
	* config/mips/mips-protos.h (mips_function_arg_boundary): Delete.
	* config/mips/mips.c (mips_function_arg_boundary): Make static.
	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
	* config/pa/pa.h (FUNCTION_ARG_BOUNDARY): Delete.
	* config/pa/pa.c (pa_function_arg_boundary): Define.
	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
	* config/picochip/picochip.h (FUNCTION_ARG_BOUNDARY): Delete.
	* config/picochip/picochip-protos.h
	(picochip_get_function_arg_boundary): Delete.
	* config/picochip/picochip.c (picochip_get_function_arg_boundary):
	Rename to...
	(picochip_function_arg_boundary): ...this.  Make static.
	(picochip_function_arg, picochip_arg_partial_bytes): Adjust.
	(picochip_arg_advance): Adjust.
	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
	* config/rs6000/rs6000.h (FUNCTION_ARG_BOUNDARY): Delete.
	* config/rs6000/rs6000-protos.h (function_arg_boundary): Delete.
	* config/rs6000/rs6000.c (function_arg_boundary): Rename to...
	(rs6000_function_arg_boundary): ...this.  Make static.
	(rs6000_parm_start, rs6000_gimplify_va_arg): Adjust.
	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
	* config/rx/rx.h (FUNCTION_ARG_BOUNDARY): Delete.
	* config/rx/rx.c (rx_function_arg_boundary): Define.
	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
	* config/sparc/sparc.h (FUNCTION_ARG_BOUNDARY): Delete.
	* config/sparc/sparc.c (sparc_function_arg_boundary): Define.
	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
	* config/xtensa/xtensa.h (FUNCTION_ARG_BOUNDARY): Delete.
	* config/xtensa/xtensa-protos.h (function_arg_boundary): Delete.
	* config/xtensa/xtensa.c (function_arg_boundary): Rename to...
	(xtensa_function_arg_boundary): ...this.  Make static.
	(TARGET_FUNCTION_ARG_BOUNDARY): Define.

From-SVN: r166803
2010-11-16 14:25:07 +00:00
Nathan Froyd
d824aea207 expr.c (alignment_for_piecewise_move): New function.
* expr.c (alignment_for_piecewise_move): New function.
	(widest_int_mode_for_size): New function.
	(move_by_pieces, move_by_pieces_ninsns): Call them.
	(can_store_by_pieces, store_by_pieces_1): Likewise.

From-SVN: r166802
2010-11-16 14:19:43 +00:00
Nathan Froyd
69d540bdc7 gcc.c (char_p): Define.
* gcc.c (char_p): Define.  Define a VEC of it.
	(n_linker_options, n_assembler_options, n_preprocessor_options):
	Delete.
	(linker_options, assembler_options, preprocessor_options): Convert
	to a VEC.
	(add_preprocessor_option): Adjust.
	(add_assembler_option): Adjust.
	(add_linker_option): Adjust.
	(do_specs_vec): New function.
	(do_spec_1): Call it.  Adjust for new types.

From-SVN: r166801
2010-11-16 14:18:02 +00:00
Nathan Froyd
8e65c28647 Makefile.in (bitmap.o, [...]): Update dependencies.
* Makefile.in (bitmap.o, ebitmap.o, et-forest.o): Update
	dependencies.
	(sreal.o, statistics.o, stringpool.o): Likewise.

From-SVN: r166800
2010-11-16 14:16:30 +00:00
Richard Guenther
6b03de573e re PR tree-optimization/44545 (internal compiler error: in remove_unreachable_handlers, at tree-eh)
2010-11-16  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/44545
	* tree-ssa-reassoc.c (linearize_expr_tree): Possibly throwing
	statements are not reassociatable.
	(reassociate_bb): Likewise.

	* gcc.dg/pr44545.c: New testcase.

From-SVN: r166799
2010-11-16 14:15:55 +00:00