Commit Graph

94162 Commits

Author SHA1 Message Date
Sergei Dyshel 8393a9c80c see removal
From-SVN: r148664
2009-06-18 16:08:00 +00:00
Martin Jambor 2a45675fd0 tree-sra.c: Include statistics.h
2009-06-18  Martin Jambor  <mjambor@suse.cz>

	* tree-sra.c: Include statistics.h
	(sra_stats): New variable.
	(sra_initialize): Clear sra_stats.
	(create_access_replacement): Increment sra_stats.replacements.
	(get_access_replacement): Do not return twice.
	(analyze_all_variable_accesses): Increment statistics counter by the
	number of scalarized aggregates.
	(generate_subtree_copies): Increment sra_stats.subtree_copies.
	(sra_modify_expr): Increment sra_stats.exprs.
	(load_assign_lhs_subreplacements): Increment sra_stats.subreplacements.
	(sra_modify_assign): Increment sra_stats.exprs,
	sra_stats.separate_lhs_rhs_handling and sra_stats.deleted.
	(perform_intra_sra): Update statistics counters.
	* Makefile.in (tree-sra.o): Add statistics.h to dependencies.

From-SVN: r148663
2009-06-18 17:38:36 +02:00
Manuel López-Ibáñez b506a5a238 expr.c (num_div_op): Take explicit location.
2009-06-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>

libcpp/	
	* expr.c (num_div_op): Take explicit location.
testsuite/	
	* gcc.dg/cpp/arith-3.c: Add column info.

From-SVN: r148662
2009-06-18 15:10:23 +00:00
Olivier Hainque 4c1a901679 system-aix64.ads: New file.
* system-aix64.ads: New file.
	* gcc-interface/Makefile.in (aix LIBGNAT_TARGET_PAIRS): Use the
	64bit system.ads for ppc64 multilib variants.

From-SVN: r148659
2009-06-18 14:13:20 +00:00
Sandra Loosemore bdc4827b1c arm.c (TARGET_SCALAR_MODE_SUPPORTED_P): Redefine.
2009-06-18  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* config/arm/arm.c (TARGET_SCALAR_MODE_SUPPORTED_P): Redefine.
	(arm_scalar_mode_supported_p): New function.

	gcc/testsuite/
	* gcc.target/arm/fp16-compile-none-2.c: New.
	* gcc.target/arm/fp16-compile-ieee-12.c: New.
	* gcc.target/arm/fp16-compile-alt-12.c: New.

From-SVN: r148657
2009-06-18 08:33:27 -04:00
Sandra Loosemore 76d6502fc9 fp16-compile-alt-1.c: New.
2009-06-18  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/testsuite/
	* gcc.target/arm/fp16-compile-alt-1.c: New.
	* gcc.target/arm/fp16-compile-alt-2.c: New.
	* gcc.target/arm/fp16-compile-alt-3.c: New.
	* gcc.target/arm/fp16-compile-alt-4.c: New.
	* gcc.target/arm/fp16-compile-alt-5.c: New.
	* gcc.target/arm/fp16-compile-alt-6.c: New.
	* gcc.target/arm/fp16-compile-alt-7.c: New.
	* gcc.target/arm/fp16-compile-alt-8.c: New.
	* gcc.target/arm/fp16-compile-alt-9.c: New.
	* gcc.target/arm/fp16-compile-alt-10.c: New.
	* gcc.target/arm/fp16-compile-alt-11.c: New.
	* gcc.target/arm/fp16-compile-ieee-1.c: New.
	* gcc.target/arm/fp16-compile-ieee-2.c: New.
	* gcc.target/arm/fp16-compile-ieee-3.c: New.
	* gcc.target/arm/fp16-compile-ieee-4.c: New.
	* gcc.target/arm/fp16-compile-ieee-5.c: New.
	* gcc.target/arm/fp16-compile-ieee-6.c: New.
	* gcc.target/arm/fp16-compile-ieee-7.c: New.
	* gcc.target/arm/fp16-compile-ieee-8.c: New.
	* gcc.target/arm/fp16-compile-ieee-9.c: New.
	* gcc.target/arm/fp16-compile-ieee-10.c: New.
	* gcc.target/arm/fp16-compile-ieee-11.c: New.
	* gcc.target/arm/fp16-compile-none-1.c: New.
	* gcc.target/arm/fp16-compile-exprtype.c: New.
	* gcc.target/arm/fp16-compile-vcvt.c: New.
	* gcc.target/arm/fp16-builtins-1.c: New.
	* gcc.target/arm/fp16-rounding-alt-1.c: New.
	* gcc.target/arm/fp16-rounding-ieee-1.c: New.
	* gcc.target/arm/fp16-param-1.c: New.
	* gcc.target/arm/fp16-return-1.c: New.
	* gcc.target/arm/fp16-unprototyped-1.c: New.
	* gcc.target/arm/fp16-unprototyped-2.c: New.
	* gcc.target/arm/fp16-variadic-1.c: New.
	* gcc.dg/torture/arm-fp16-compile-assign.c: New.
	* gcc.dg/torture/arm-fp16-compile-convert.c: New.
	* gcc.dg/torture/arm-fp16-int-convert-alt.c: New.
	* gcc.dg/torture/arm-fp16-int-convert-ieee.c: New.
	* gcc.dg/torture/arm-fp16-ops.h: New.
	* gcc.dg/torture/arm-fp16-ops-1.c: New.
	* gcc.dg/torture/arm-fp16-ops-2.c: New.
	* gcc.dg/torture/arm-fp16-ops-3.c: New.
	* gcc.dg/torture/arm-fp16-ops-4.c: New.
	* gcc.dg/torture/arm-fp16-ops-5.c: New.
	* gcc.dg/torture/arm-fp16-ops-6.c: New.
	* gcc.dg/torture/arm-fp16-ops-7.c: New.
	* gcc.dg/torture/arm-fp16-ops-8.c: New.
	* g++.dg/ext/arm-fp16/fp16-overload-1.C: New.
	* g++.dg/ext/arm-fp16/fp16-return-1.C: New.
	* g++.dg/ext/arm-fp16/fp16-param-1.C: New.
	* g++.dg/ext/arm-fp16/fp16-mangle-1.C: New.
	* g++.dg/ext/arm-fp16/arm-fp16-ops.h: New.
	* g++.dg/ext/arm-fp16/arm-fp16-ops-1.C: New.
	* g++.dg/ext/arm-fp16/arm-fp16-ops-2.C: New.
	* g++.dg/ext/arm-fp16/arm-fp16-ops-3.C: New.
	* g++.dg/ext/arm-fp16/arm-fp16-ops-4.C: New.
	* g++.dg/ext/arm-fp16/arm-fp16-ops-5.C: New.
	* g++.dg/ext/arm-fp16/arm-fp16-ops-6.C: New.
	* g++.dg/ext/arm-fp16/arm-fp16-ops-7.C: New.
	* g++.dg/ext/arm-fp16/arm-fp16-ops-8.C: New.

From-SVN: r148656
2009-06-18 08:30:19 -04:00
Paul Brook d9dd51dc46 sfp-machine.h (_FP_NANFRAC_H, [...]): Define.
2009-06-18  Paul Brook  <paul@codesourcery.com>
	    Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* config/arm/sfp-machine.h (_FP_NANFRAC_H, _FP_NANSIGN_H): Define.
	(__extendhfsf2, __truncsfhf2): Define.
	* config/arm/fp16.c: New file.
	* config/arm/t-bpabi (LIB2FUNCS_STATIC_EXTRA): Add fp16.c.
	* config/arm/t-symbian (LIB2FUNCS_STATIC_EXTRA):  Add fp16.c.



Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>

From-SVN: r148655
2009-06-18 08:26:37 -04:00
Sandra Loosemore 0fd8c3ad1e extend.texi (Half-Precision): New section.
2009-06-18  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* doc/extend.texi (Half-Precision): New section.
	* doc/invoke.texi (Option Summary): List -mfp16-format.
	(ARM Options): List neon-fp16 as -mfpu value.  Document -mfp16-format.
	* config/arm/arm.opt (mfp16-format=): New.
	* config/arm/arm.c: Include intl.h.
	(TARGET_INVALID_PARAMETER_TYPE): Redefine.
	(TARGET_INVALID_RETURN_TYPE): Redefine.
	(TARGET_PROMOTED_TYPE): Redefine.
	(TARGET_CONVERT_TO_TYPE): Redefine.
	(arm_fp16_format): Define.
	(all_fpus): Add entry for neon-fp16.
	(fp_model_for_fpu): Likewise.
	(struct fp16_format): Declare.
	(all_fp16_formats): Define.
	(arm_init_libfuncs): Add entries for HFmode conversions and arithmetic
	functions.
	(arm_override_options): Set arm_fp16_format. Call sorry for fp16
	and no ldrh.
	(arm_legitimate_index_p): Treat HFmode like HImode.
	(thumb1_legitimate_address_p): Make it recognize HFmode constants.
	(coproc_secondary_reload_class): Special-case HFmode.
	(arm_print_operand): Add 'z' specifier for vld1.16/vst1.16.
	(arm_hard_regno_mode_ok): Allow HFmode values in VFP registers.
	(arm_init_fp16_builtins): New.
	(arm_init_builtins): Call it.
	(arm_invalid_parameter_type): New.
	(arm_invalid_return_type): New.
	(arm_promoted_type): New.
	(arm_convert_to_type).
	(arm_file_start): Deal with neon-fp16 as fpu_name.  Emit tag for fp16
	format.
	(arm_emit_fp16_const): New function.
	(arm_mangle_type): Mangle __fp16 as "Dh".
	* config/arm/arm.h (TARGET_VFPD32): Make it know about
	FPUTYPE_NEON_FP16.
	(TARGET_NEON_FP16): New.
	(TARGET_NEON): Make it know about FPUTYPE_NEON_FP16.
	(enum fputype): Add FPUTYPE_NEON_FP16.
	(enum arm_fp16_format_type): Declare.
	(arm_fp16_format): Declare.
	(LARGEST_EXPONENT_IS_NORMAL): Define.
	* config/arm/arm-protos.h (arm_emit_fp16_const): Declare.
	* config/arm/arm-modes.def (HFmode): Define.
	* config/arm/vfp.md: (*movhf_vfp): New.
	(extendhfsf2): New.
	(truncsfhf2): New.
	* config/arm/arm.md: (fpu): Add neon_fp16.
	(floatsihf2, floatdihf2): New.
	(fix_trunchfsi2, fix_trunchfdi2): New.
	(truncdfhf2): New.
	(extendhfdf2): New.
	(movhf): New.
	(*arm32_movhf): New.
	(*thumb1_movhf): New.
	(consttable_2): Add check for HFmode constants.
	(consttable_4): Handle HFmode constants.

From-SVN: r148654
2009-06-18 08:24:10 -04:00
Uros Bizjak 2c2f70e1f2 convert.c (convert_to_integer): Convert (int)logb() into ilogb().
* convert.c (convert_to_integer): Convert (int)logb() into ilogb().

testsuite/ChangeLog:

	* gcc.dg/builtins-65.c: New test.

From-SVN: r148653
2009-06-18 13:35:38 +02:00
Janus Weil f99098233b re PR fortran/40451 ([F03] procedure pointer assignment rejected)
2009-06-18  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/40451
	* resolve.c (resolve_contained_fntype): Prevent implicit typing for
	procedures with explicit interface.
	* symbol.c (gfc_check_function_type): Ditto.

2009-06-18  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/40451
	* gfortran.dg/proc_ptr_result_4.f90: New.

From-SVN: r148652
2009-06-18 10:09:40 +02:00
Uros Bizjak c637b0fa0d ChangeLog: Various fixes.
* ChangeLog: Various fixes.
	* testsuite/ChangeLog: Ditto.

From-SVN: r148651
2009-06-18 09:58:17 +02:00
Olivier Hainque db4fa1c121 collect2.c (main): Use CONST_CAST2 to perform char ** to const char ** conversion in AIX specific...
* collect2.c (main): Use CONST_CAST2 to perform char ** to
	const char ** conversion in AIX specific section.

From-SVN: r148649
2009-06-18 07:45:09 +00:00
Benjamin Kosnik a9a51750b9 check_construct_destroy.h: New.
2009-06-17  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/23_containers/list/check_construct_destroy.h: New.
	Move test logic here.
	* testsuite/23_containers/list/moveable.h: Same.
	* testsuite/23_containers/list/modifiers/insert/25288.h: Same.
	* testsuite/23_containers/list/modifiers/1.h: Same.
	* testsuite/23_containers/list/modifiers/2.h: Same.
	* testsuite/23_containers/list/modifiers/3.h: Same.
	* testsuite/23_containers/list/modifiers/swap/1.h: Same.
	* testsuite/23_containers/list/modifiers/swap/2.h: Same.
	* testsuite/23_containers/list/modifiers/swap/3.h: Same.
	* testsuite/23_containers/list/operations/1.h: Same.
	* testsuite/23_containers/list/operations/2.h: Same.
	* testsuite/23_containers/list/operations/3.h: Same.
	* testsuite/23_containers/list/operations/4.h: Same.
	* testsuite/23_containers/list/operations/5.h: Same.
	* testsuite/23_containers/list/capacity/1.h: Same.
	* testsuite/23_containers/list/init-list.h: Same.
	* testsuite/23_containers/list/cons/1.h: Same.
	* testsuite/23_containers/list/cons/2.h: Same.
	* testsuite/23_containers/list/cons/3.h: Same.
	* testsuite/23_containers/list/cons/4.h: Same.
	* testsuite/23_containers/list/cons/5.h: Same.
	* testsuite/23_containers/list/cons/6.h: Same.
	* testsuite/23_containers/list/cons/7.h: Same.
	* testsuite/23_containers/list/cons/8.h: Same.
	* testsuite/23_containers/list/cons/9.h: Same.
	* testsuite/23_containers/list/cons/clear_allocator.h: Same.
	* testsuite/23_containers/list/modifiers/insert/25288.cc: Include test
	header.
	* testsuite/23_containers/list/modifiers/1.cc: Same.
	* testsuite/23_containers/list/modifiers/2.cc: Same.
	* testsuite/23_containers/list/modifiers/3.cc: Same.
	* testsuite/23_containers/list/modifiers/swap/1.cc: Same.
	* testsuite/23_containers/list/modifiers/swap/2.cc: Same.
	* testsuite/23_containers/list/modifiers/swap/3.cc: Same.
	* testsuite/23_containers/list/operations/1.cc: Same.
	* testsuite/23_containers/list/operations/2.cc: Same.
	* testsuite/23_containers/list/operations/3.cc: Same.
	* testsuite/23_containers/list/operations/4.cc: Same.
	* testsuite/23_containers/list/operations/5.cc: Same.
	* testsuite/23_containers/list/capacity/1.cc: Same.
	* testsuite/23_containers/list/init-list.cc: Same.
	* testsuite/23_containers/list/cons/1.cc: Same.
	* testsuite/23_containers/list/cons/2.cc: Same.
	* testsuite/23_containers/list/cons/3.cc: Same.
	* testsuite/23_containers/list/cons/4.cc: Same.
	* testsuite/23_containers/list/cons/5.cc: Same.
	* testsuite/23_containers/list/cons/6.cc: Same.
	* testsuite/23_containers/list/cons/7.cc: Same.
	* testsuite/23_containers/list/cons/8.cc: Same.
	* testsuite/23_containers/list/cons/9.cc: Same.
	* testsuite/23_containers/list/cons/clear_allocator.cc: Same.
	* testsuite/23_containers/list/check_construct_destroy.cc: Same.
	* testsuite/23_containers/list/moveable.cc: Same.

From-SVN: r148644
2009-06-18 01:40:44 +00:00
H.J. Lu 6bec4135eb i386.c (ix86_special_builtin_type): Remove UINT64_FTYPE_PINT.
2009-06-17  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (ix86_special_builtin_type): Remove
	UINT64_FTYPE_PINT.  Add UINT64_FTYPE_PUNSIGNED.
	(bdesc_special_args): Updated.
	(ix86_init_mmx_sse_builtins): Likewise.
	(ix86_expand_special_args_builtin): Likewise.

From-SVN: r148643
2009-06-17 18:06:55 -07:00
Richard Henderson 958d6d5880 tree-pretty-print.c (maybe_dump_asm_name): New.
* tree-pretty-print.c (maybe_dump_asm_name): New.
        (dump_decl_name): Use it.
        (PRINT_FUNCTION_NAME): Merge into... 
        (dump_function_name): ... here.  Use maybe_dump_asm_name.

From-SVN: r148642
2009-06-17 17:30:48 -07:00
Cary Coutant 01a0acb767 Quick fix to last ChangeLog entry.
From-SVN: r148641
2009-06-17 17:20:31 -07:00
GCC Administrator cdfcf5f9c0 Daily bump.
From-SVN: r148640
2009-06-18 00:16:57 +00:00
Cary Coutant ed5ef2e408 dbxout.c (dbxout_source_line): Add is_stmt parameter.
* dbxout.c (dbxout_source_line): Add is_stmt parameter.
	Change caller.
	* debug.c (struct gcc_debug_hooks): Change placeholder for
	source_line hook.
	(debug_nothing_int_charstar_int): Replaced by...
	(debug_nothing_int_charstar_int_bool): ...this.
	* debug.h (struct gcc_debug_hooks): Add is_stmt parameter to
	source_line prototype.
	(debug_nothing_int_charstar_int): Replaced by...
	(debug_nothing_int_charstar_int_bool): ...this.
	* defaults.h (SUPPORTS_DISCRIMINATOR): New constant.
	* dwarf2out.c (dwarf2out_source_line): Add is_stmt parameter.
	Output is_stmt operand when necessary.
	* final.c (last_is_stmt): New variable.
	(final_start_function): Initialize last_is_stmt.
	(final_scan_insn): Pass is_stmt to source_line debug hook.
	(notice_source_line): Add is_stmt parameter.
	* sdbout.c (sdbout_source_line): Add is_stmt parameter.
	* vmsdbgout.c (vmsdbgout_source_line): Add is_stmt parameter.
	Change callers.
	* xcoffout.c (xcoffout_source_line): Add is_stmt parameter.
	* xcoffout.h (xcoffout_source_line): Add is_stmt parameter.

From-SVN: r148635
2009-06-17 16:54:40 -07:00
Ian Lance Taylor b0f43ca013 expr.c (struct move_by_pieces_d): Rename from move_by_pieces.
* expr.c (struct move_by_pieces_d): Rename from move_by_pieces.
	Change all uses.
	(struct store_by_pieces_d): Rename from store_by_pieces.  Change
	call uses.

From-SVN: r148633
2009-06-17 22:48:45 +00:00
Adam Nemet 23314e77ec tree.h (STRIP_NOPS, [...]): Use tree_strip_nop_conversions...
* tree.h (STRIP_NOPS, STRIP_SIGN_NOPS,
	STRIP_USELESS_TYPE_CONVERSION): Use tree_strip_nop_conversions,
	tree_strip_sign_nop_conversions and
	tree_ssa_strip_useless_type_conversions rather than stripping
	the operations here.
	(tree_strip_nop_conversions, tree_strip_sign_nop_conversions):
	Declare them.
	* gimple.h (tree_ssa_strip_useless_type_conversions): Declare it.
	* tree-ssa.c (tree_ssa_strip_useless_type_conversions): New function.
	* tree.c (tree_nop_conversion, tree_sign_nop_conversion,
	tree_strip_nop_conversions, tree_strip_sign_nop_conversions): New
	functions.

testsuite/
	* gcc.c-torture/execute/bitfld-5.c: New test.

From-SVN: r148631
2009-06-17 22:11:47 +00:00
Michael Eager 799dbb0f77 Create new constraint "d" for PowerPC FPRs with 64-bit values.
Replace uses of "f" constraint with "d" as needed.

From-SVN: r148630
2009-06-17 21:51:28 +00:00
Ian Lance Taylor 1469de3ce4 profile.c (total_num_never_executed): Don't define.
* profile.c (total_num_never_executed): Don't define.
	(compute_branch_probabilities): Don't count or print
	num_never_executed.
	(init_branch_prob): Don't set total_num_never_executed.
	(end_branch_prob): Don't print total_num_never_executed.

From-SVN: r148628
2009-06-17 20:23:57 +00:00
Ian Lance Taylor 7d8847a4d9 * include/cpplib.h (progname): Don't declare.
From-SVN: r148627
2009-06-17 20:22:02 +00:00
Tom Tromey 6ba49852d8 hook.in: Do not fail when there is no current objfile.
* python/hook.in: Do not fail when there is no current objfile.
	Use os.path.normpath.

From-SVN: r148626
2009-06-17 20:06:27 +00:00
David Daney 2cb0a60da1 jump.c (cleanup_barriers): Handle case of no insns before a barrier.
2009-06-17  David Daney  <ddaney@caviumnetworks.com>

	* jump.c (cleanup_barriers): Handle case of no insns before a
	barrier.

2009-06-17  David Daney  <ddaney@caviumnetworks.com>

	* gcc.dg/builtin-unreachable-3.c: New test.

From-SVN: r148624
2009-06-17 19:27:35 +00:00
David Daney f9c3538320 builtin-unreachable.c: New test.
2009-06-17  David Daney  <ddaney@caviumnetworks.com>

	* gcc.target/i386/builtin-unreachable.c: New test.

From-SVN: r148622
2009-06-17 19:14:56 +00:00
David Edelsohn 8288224021 dfp.md (nabsdd2_fpr): Correct mode.
* config/rs6000/dfp.md (nabsdd2_fpr): Correct mode.
        (nabstd2_fpr): Same.

From-SVN: r148621
2009-06-17 14:18:34 -04:00
Steve Ellcey a1a65f8928 expr.c (expand_assignment): Change complex type check.
2009-06-17  Steve Ellcey  <sje@cup.hp.com>

	* expr.c (expand_assignment): Change complex type check.

From-SVN: r148614
2009-06-17 15:37:20 +00:00
Basile Starynkevitch 07ae5620f9 plugins.texi (Building GCC plugins): Added new section.
2009-06-17  Basile Starynkevitch  <basile@starynkevitch.net>

	* gcc/doc/plugins.texi (Building GCC plugins): Added new section.

From-SVN: r148612
2009-06-17 13:36:47 +00:00
Ian Lance Taylor 5eb4df45ce c-pch.c (get_ident): Don't set size of templ array.
./:	* c-pch.c (get_ident): Don't set size of templ array.
	(pch_init): Don't set size of partial_pch array.

	* c-typeck.c (digest_init): If -Wc++-compat, warn about using a
	string constant to intialize an array whose size is the length of
	the string.
testsuite/:
	* gcc.dg/Wcxx-compat-14.c: New testcase.

From-SVN: r148611
2009-06-17 13:21:23 +00:00
Aldy Hernandez 6958c7802c * gcc.dg/func-ptr-conv-1.c: Update column info.
From-SVN: r148609
2009-06-17 12:59:39 +00:00
Ian Lance Taylor 2f4d1994d0 * decl.c (build_struct): Rewrite loop over constructor elements.
From-SVN: r148608
2009-06-17 12:53:01 +00:00
Richard Guenther 4bc3052992 re PR middle-end/40404 (Comparison involving unsigned int:17 bitfield seems wrong)
2009-06-17  Richard Guenther  <rguenther@suse.de>

	PR middle-end/40404
	* gcc.c-torture/execute/pr40404.c: New testcase.

From-SVN: r148606
2009-06-17 12:30:54 +00:00
Richard Guenther 4d61856d0a re PR c++/40389 (optimizer bug (possibly))
2009-06-17  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/40389
	* tree-ssa-structalias.c (handle_rhs_call): Restrict NRV case
	to addressable types.
	* gimple.c (walk_stmt_load_store_addr_ops): Likewise.

From-SVN: r148597
2009-06-17 10:29:22 +00:00
Richard Guenther 3cb8677cc0 re PR middle-end/40460 (Enormous memory usage during compilation with -O2 or -O3 optimizations.)
2009-06-17  Richard Guenther  <rguenther@suse.de>

	PR middle-end/40460
	* tree-chrec.h (build_polynomial_chrec): If we cannot determine
	if there is no evolution of left in the loop bail out.
	* tree-chrec.c (chrec_fold_multiply_poly_poly): CSE one
	chrec_fold_multiply.

	* g++.dg/torture/pr40460.C: New testcase.

From-SVN: r148593
2009-06-17 10:26:24 +00:00
Robert Dewar d81b4c614b Relax constraints on Machine_Attribute argument types:
* sem_prag.adb (Check_Arg_Is_Static_Expression): Allow for
        missing type.
        (Analyze_Attribute, case Machine_Attribute): Allow any type for
        arg 3.
        * gcc-interface/decl.c (prepend_attributes): Accept static
        expressions of any type as attribute arguments, not only string
        literals.
        * gnat_rm.texi (pragma Machine_Attribute section): Adjust to
        reflect the relaxation of the restriction on the Info argument type.


Co-Authored-By: Olivier Hainque <hainque@adacore.com>

From-SVN: r148589
2009-06-17 08:58:35 +00:00
J"orn Rennecke a4d99c865e re PR target/39254 (gcc.c-torture/execute/va-arg-trap-1.c ICEs on powerpc-apple-darwin9)
PR target/39254
        * config/rs6000/rs6000.c (rs6000_emit_move): Don't emit a USE
        for the symbol ref of a constant that is the source of a move
        - nor for any other not-obvious-label-ref constants.

Co-Authored-By: Janis Johnson <janis187@us.ibm.com>

From-SVN: r148568
2009-06-17 05:27:29 +01:00
Olatunji Ruwase 8dd1bca076 [multiple changes]
2009-06-16  Olatunji Ruwase  <tjruwase@google.com>

	* plugin.c(position_pass): Skip newly inserted pass during list
	traversal to avoid repeated insertion.

2009-06-05  Olatunji Ruwase  <tjruwase@google.com>

	* gcc.dg/plugin/one_time_plugin.c: New test.
	* gcc.dg/plugin/one_time-test-1.c: New test.
	* gcc.dg/plugin/plugin.exp: Added one_time_plugin.c test.

From-SVN: r148566
2009-06-16 22:18:55 -04:00
GCC Administrator 54c4ebb7a5 Daily bump.
From-SVN: r148565
2009-06-17 00:16:46 +00:00
Ian Lance Taylor 8019538ff4 vec.h (VEC_stack_alloc): Define different version if GATHER_STATISTICS is defined...
* vec.h (VEC_stack_alloc): Define different version if
	GATHER_STATISTICS is defined, to accept and ignore MEM_STAT.
	(DEF_VEC_ALLOC_FUNC_P_STACK): Remove MEM_STAT_DECL.
	(DEF_VEC_ALLOC_FUNC_O_STACK): Likewise.
	(DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.

From-SVN: r148562
2009-06-17 00:10:23 +00:00
Jonathan Wakely 9fdcbf4031 exception_ptr.h (exception_ptr::swap(exception_ptr&&)): Remove.
2009-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* libsupc++/exception_ptr.h (exception_ptr::swap(exception_ptr&&)):
	Remove.
	(exception_ptr::operator=(exception_ptr&&)): Cast source to
	rvalue-reference so that move constructor is called.
	* testsuite/18_support/exception_ptr/move.cc: New.

From-SVN: r148555
2009-06-16 22:24:41 +01:00
H.J. Lu 7c45393e40 config.gcc (extra_headers): Add ia32intrin.h for x86.
2009-06-16  H.J. Lu  <hongjiu.lu@intel.com>

	* config.gcc (extra_headers): Add ia32intrin.h for x86.

	* config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_BSRSI,
	IX86_BUILTIN_BSRDI.  IX86_BUILTIN_RDPMC, IX86_BUILTIN_RDTSC.
	IX86_BUILTIN_RDTSCP.  IX86_BUILTIN_ROLQI, IX86_BUILTIN_ROLHI,
	IX86_BUILTIN_RORQI and IX86_BUILTIN_RORHI.
	(ix86_special_builtin_type): Add UINT64_FTYPE_VOID,
	UINT64_FTYPE_PINT, INT_FTYPE_INT, UINT64_FTYPE_INT,
	INT64_FTYPE_INT64, UINT16_FTYPE_UINT16_INT and
	UINT8_FTYPE_UINT8_INT
	(bdesc_special_args): Add __builtin_ia32_rdtsc and
	__builtin_ia32_rdtscp.
	(bdesc_args): Add __builtin_ia32_bsrsi, __builtin_ia32_bsrdi,
	__builtin_ia32_rolqi, __builtin_ia32_rolhi, __builtin_ia32_rorqi
	and __builtin_ia32_rorhi,
	(ix86_init_mmx_sse_builtins): Handle UINT64_FTYPE_VOID,
	UINT64_FTYPE_PINT, INT_FTYPE_INT, UINT64_FTYPE_INT,
	INT64_FTYPE_INT64, UINT16_FTYPE_UINT16_INT and
	UINT8_FTYPE_UINT8_INT.
	(ix86_expand_args_builtin): Likewise.
	(ix86_expand_special_args_builtin): Likewise.

	* config/i386/i386.md (UNSPECV_RDTSCP): New.
	(UNSPECV_RDTSC): Likewise.
	(UNSPECV_RDPMC): Likewise.
	(*bsr): Removed to ...
	(bsr): This
	(*bsr_rex64): Removed to ...
	(bsr_rex64): This.
	(rdpmc): New.
	(*rdpmc): Likewise.
	(*rdpmc_rex64): Likewise.
	(rdtsc): Likewise.
	(*rdtsc): Likewise.
	(*rdtsc_rex64): Likewise.
	(rdtscp): Likewise.
	(*rdtscp): Likewise.
	(*rdtscp_rex64): Likewise.

	* config/i386/ia32intrin.h: New.

	* config/i386/x86intrin.h: Include <ia32intrin.h>.

From-SVN: r148554
2009-06-16 14:17:31 -07:00
Jonathan Wakely cd3b0fafaa thread (~thread(), [...]): Call terminate if joinable.
2009-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/thread (~thread(), operator=(thread&&)): Call terminate
	if joinable.

From-SVN: r148552
2009-06-16 21:34:43 +01:00
Ian Lance Taylor 504b33d80c ira-build.c (copy_info_to_removed_store_destinations): Initialize parent_a.
* ira-build.c (copy_info_to_removed_store_destinations):
	Initialize parent_a.

From-SVN: r148551
2009-06-16 20:25:30 +00:00
Ian Lance Taylor f955183040 * c-decl.c (grokdeclarator): Change size_varies to bool.
From-SVN: r148550
2009-06-16 20:20:21 +00:00
Ian Lance Taylor c32e217521 sel-sched.c: Make forward declarations of move_op_hooks and fur_hooks explicitly extern.
* sel-sched.c: Make forward declarations of move_op_hooks and
	fur_hooks explicitly extern.

From-SVN: r148549
2009-06-16 19:09:35 +00:00
Ian Lance Taylor 415a06c203 df-problems.c (df_byte_lr_alloc): Don't set problem_data to itself.
* df-problems.c (df_byte_lr_alloc): Don't set problem_data to
	itself.
	* vec.c (vec_gc_o_reserve_1): Don't set alloc to itself.

From-SVN: r148548
2009-06-16 19:01:18 +00:00
Ian Lance Taylor 675f99c97f resource.c (mark_referenced_resources): Change include_delayed_effects parameter to bool.
* resource.c (mark_referenced_resources): Change
	include_delayed_effects parameter to bool.  Change all callers.
	(mark_end_of_function_resources): Likewise.
	* reorg.c (insn_references_resource_p): Likewise.
	(insn_sets_resource_p): Likewise.
	* resource.h (mark_referenced_resources): Update declaration.
	(mark_end_of_function_resources): Update declaration.

From-SVN: r148547
2009-06-16 18:55:20 +00:00
David Edelsohn a322799deb aix.h (LIBSTDCXX_STATIC): Remove -lstdc++.
* config/rs6000/aix.h (LIBSTDCXX_STATIC): Remove -lstdc++.
cp/
        * g++-spec.c (LIBSTDCXX_STATIC): Default to NULL.
        (lang_specific_driver): Always allocate extra argument.
        Add LIBSTDCXX_STATIC to arglist if defined and linking
        statically.

From-SVN: r148546
2009-06-16 14:51:54 -04:00
David Edelsohn c58c92f5a6 install.texi (*-*-aix): Update explanation of XLC bootstrap.
* doc/install.texi (*-*-aix): Update explanation of XLC bootstrap.
        GCC can bootstrap on AIX with GNU Binutils 2.20.

From-SVN: r148545
2009-06-16 14:46:47 -04:00