Commit Graph

86576 Commits

Author SHA1 Message Date
Tom Tromey
a8c86f3f81 Makefile.in (build/gensupport.o): Depend on insn-modes.h.
* Makefile.in (build/gensupport.o): Depend on insn-modes.h.
	(build/genattr.o): Likewise.
	(build/genattrtab.o): Likewise.
	(build/gencodes.o): Likewise.
	(build/genconfig.o): Likewise.
	(build/genconstants.o): Likewise.
	(build/genemit.o): Likewise.
	(build/genextract.o): Likewise.
	(build/genflags.o): Likewise.

From-SVN: r133527
2008-03-25 18:53:41 +00:00
Eric Botcazou
3a9634be2d revert: re PR ada/35186 (implicit assumption about alignment of DImode)
Revert
        2008-03-05  Eric Botcazou  <ebotcazou@adacore.com>
        PR ada/35186
        * decl.c (maybe_pad_type): Avoid padding an integral type when
        bumping its alignment is sufficient.

From-SVN: r133526
2008-03-25 17:58:54 +00:00
Bob Wilson
f4d3e7fd81 xtensa.c (xtensa_va_start): Use build_int_cst instead of size_int for integer types.
* config/xtensa/xtensa.c (xtensa_va_start): Use build_int_cst
	instead of size_int for integer types.
	(xtensa_gimplify_va_arg_expr): Likewise.  Convert index to sizetype
	to match type of MINUS_EXPR.

From-SVN: r133525
2008-03-25 17:56:31 +00:00
Tom Tromey
55d059d348 configure: Rebuilt.
* configure: Rebuilt.
	* configure.ac (BUILD_DEPMODE): Extract CCDEPMODE from temporary
	Makefile.

From-SVN: r133524
2008-03-25 17:29:02 +00:00
Tom Tromey
2fe3178b69 x-solaris (host-solaris.o): Update.
gcc
	* config/x-solaris (host-solaris.o): Update.
	* config/x-linux (host-linux.o): Update.
	* config/x-hpux (host-hpux.o): Update.
	* config/x-darwin (host-darwin.o): Update.
	* config/v850/t-v850e (v850-c.o): Update.
	* config/v850/t-v850 (v850-c.o): Update.
	* config/t-vxworks (vxworks.o): Update.
	* config/t-sol2 (sol2-c.o, sol2.o): Update.
	* config/t-darwin (darwin.o, darwin-c.o, darwin-driver.o):
	Update.
	* config/spu/t-spu-elf (spu-c.o): Update.
	(spu.o): Remove.
	* config/sh/t-symbian (sh-c.o): Update.
	(symbian.o): Update.
	* config/sh/t-sh (sh-c.o): Update.
	* config/score/t-score-elf (score7.o, score3.o): Update.
	* config/rs6000/x-rs6000 (driver-rs6000.o): Update.
	* config/rs6000/x-darwin64 (host-ppc64-darwin.o): Update.
	* config/rs6000/x-darwin (host-ppc-darwin.o): Update.
	* config/rs6000/t-rs6000 (rs6000-c.o): Update.
	(rs6000.o): Remove.
	* config/m68k/t-uclinux (generated_files): Add sysroot-suffix.h.
	* config/m32c/t-m32c (m32c-pragma.o): Update.
	* config/ia64/t-ia64 (ia64-c.o): Update.
	* config/i386/x-mingw32 (host-mingw32.o): Update.
	* config/i386/x-i386 (driver-i386.o): Update.
	* config/i386/x-darwin (host-i386-darwin.o): Update.
	* config/i386/x-cygwin (host-cygwin.o): Update.
	* config/i386/t-nwld (nwld.o): Update.
	* config/i386/t-netware (netware.o): Update.
	* config/i386/t-interix (winnt.o): Update.
	* config/i386/t-cygwin (cygwin1.o, cygwin2.o): Update.
	* config/i386/t-cygming (winnt.o, winnt-cxx.o, winnt-stubs.o,
	msformat-c.o): Update.
	* config/bfin/t-bfin-linux (generated_files): Add
	linux-sysroot-suffix.h.
	* config/arm/t-wince-pe (pe.o): Update.
	* config/arm/t-strongarm-pe (pe.o): Update.
	* config/arm/t-pe (pe.o): Update.
	* config/arm/t-arm (arm-c.o): Update.
	* doc/install.texi (Prerequisites): Require make 3.80.
	* Makefile.in: Remove .o targets.
	(CCDEPMODE, DEPDIR, depcomp, BUILD_DEPMODE): New variables.
	(OBSTACK_H, FIBHEAP_H, PARTITION_H, MD5_H, BCONFIG_H): Remove.
	(simple_generated_h, simple_generated_c): Move earlier.
	(generated_files): New variable.
	(TARGET_H, MACHMODE_H, HOOKS_H, HOSTHOOKS_DEF_H, LANGHOOKS_DEF_H,
	TARGET_DEF_H, RTL_BASE_H, RTL_H, PARAMS_H, BUILTINS_DEF, TREE_H,
	BASIC_BLOCK_H, GCOV_IO_H, COVERAGE_H, DEMANGLE_H, RECOG_H,
	ALIAS_H, EMIT_RTL_H, FLAGS_H, FUNCTION_H, EXPR_H, OPTABS_H,
	REGS_H, RA_H, RESOURCE_H, SCHED_INT_H, INTEGRATE_H, CFGLAYOUT_H,
	CFGLOOP_H, IPA_UTILS_H, IPA_REFERENCE_H, IPA_TYPE_ESCAPE_H,
	CGRAPH_H, DF_H, RESOURCE_H, DDG_H, GCC_H, GGC_H, TIMEVAR_H,
	INSN_ATTR_H, C_COMMON_H, C_PRAGMA_H, C_TREE_H, SYSTEM_H,
	PREDICT_H, DECNUM_H, MKDEPS_H, SYMTAB_H, TREE_DUMP_H,
	TREE_GIMPLE_H, TREE_FLOW_H, TREE_SSA_LIVE_H, PRETTY_PRINT_H,
	DIAGNOSTIC_H, C_PRETTY_PRINT_H, SCEV_H, LAMBDA_H, TREE_DATA_REF_H,
	VARRAY_H, TREE_INLINE_H, REAL_H, DBGCNT_H, EBIMAP_H): Remove.
	(.c.o): Remove.
	(COMPILE.base, COMPILE): New variables.
	(%.o): New pattern rule.
	(ALL_HOST_OBJS): New variable.
	(xgcc$(exeext), cpp$(exeext)): Remove extra version.o.
	(dummy-checksum.o, cc1-checksum.o): Remove.
	(DRIVER_SHLIB): New variable.
	(DRIVER_DEFINES): Use it.
	(gencondmd.c): Move out of build/.
	(s-conditions): Update.
	(BUILDCOMPILE.base, BUILDCOMPILE): New variables.
	(ALL_BUILD_OBJS): Likewise.
	(build/%.o): Use BUILDCOMPILE.
	(build/ggc-none.o, build/ggc-none.o, build/min-insn-modes.o,
	build/print-rtl.o, build/read-rtl.o, build/rtl.o, build/vec.o,
	build/gencondmd.o, build/genattrtab.o, build/genautomata.o,
	build/gencheck.o, build/gencodes.o, build/genconditions.o,
	build/genconfig.o, build/genconstants.o, build/genemit.o,
	build/genextract.o, build/genflags.o, build/genmddeps.o,
	build/genopinit.o, build/genoutput.o, build/genpeep.o,
	build/genpreds.o, build/genrecog.o, build/gcov-iov.o,
	build/gen-protos.o, build/scan.o, build/fix-header.o,
	build/scan-decls.o): Simplify.
	(collect2.o, c-opts.o, gcc.o, gccspec.o, gcc-options.o,
	cppdefault.o, protoize.o, unprotoize.o, intl.o, version.o,
	prefix.o, toplev.o): Reduce to variable setting.
	(libbackend.o): Use COMPILE.  Remove most dependencies.  Move
	later.
	($(out_object_file), gcc-options.o): New targets.
	($(ALL_HOST_OBJS)): New target.
	Include dependency files.
	* configure: Rebuilt.
	* configure.ac: Call ZW_CREATE_DEPDIR,
	ZW_PROG_COMPILER_DEPENDENCIES.
	* doc/sourcebuild.texi (Front End Directory): Document new
	variable.
gcc/java
	* Make-lang.in: Removed most explicit .o targets.
	(java/jvspec.o): Reduce to variable setting.  Moved to java/.
	($(GCJ)$(exeext)): Update.
	(JAVA_OBJS): New variable.
	(JCFDUMP_OBJS): Reformat.
	(java_OBJS): New variable.
	(java/jvspec.o-warn): Update.
	(java/parse.o-warn): Remove.
	(JAVA_TREE_H): Remove.
	(java/jcf-io.o): Reduce to variable setting.
	(ALL_CPPFLAGS): Likewise.
gcc/objc
	* Make-lang.in (objc_OBJS): New variable.
	(cc1obj-checksum.o, objc/objc-lang.o, objc/objc-act.o): Remove.
gcc/objcp
	* Make-lang.in (objcp_OBJS): New variable.
	(cc1objplus-checksum.o, objcp/objcp-lang.o, objcp/objcp-decl.o,
	objcp/objcp-act.o): Remove.
gcc/cp
	* Make-lang.in: Remove .o targets.
	(cp/g++spec.o): Moved to cp/.  Reduce to variable setting.
	(GXX_OBJS): Update.
	(c++_OBJS): New variable.
	(CXX_TREE_H, CXX_PRETTY_PRINT_H): Remove.
gcc/fortran
	* Make-lang.in: Remove .o targets.
	(fortran_OBJS): New variable.
	(fortran/gfortranspec.o): Move to fortran/.  Reduce to variable
	setting.
	(GFORTRAN_D_OBJS): Update.
	(GFORTRAN_TRANS_DEPS): Remove.

From-SVN: r133523
2008-03-25 16:56:50 +00:00
Douglas Gregor
5ade1ed2c0 typeck.c (composite_pointer_type_r): Add SFINAE support.
2008-03-25  Douglas Gregor  <doug.gregor@gmail.com>

       * typeck.c (composite_pointer_type_r): Add SFINAE support.
       (composite_pointer_type): Ditto.
       (common_type): Fix call to composite_pointer_type.
       (cxx_sizeof_nowarn): New; used to be a macro.
       (cxx_sizeof_expr): Add SFINAE support.
       (cxx_alignof_expr): Ditto.
       (decay_conversion): Fix calls for SFINAE support.
       (rationalize_conditional_expr): Add SFINAE support.
       (build_class_member_access_expr): Ditto.
       (finish_class_member_access_expr): Ditto.
       (build_x_indirect_ref): Ditto.
       (build_indirect_ref): Original version renamed to
       cp_build_indirect_ref; new version provides a bridge from
       c-common.
       (cp_build_indirect_ref): Was build_indirect_ref; added SFINAE
       support.
       (get_member_function_from_ptrfunc): Fix calls for SFINAE support.
       (build_function_call): Original version renamed to
       cp_build_function_call; new version provides a bridge from
       c-common.
       (cp_build_function_call): Was build_function_call; added SFINAE
       support.
       (convert_arguments): Add SFINAE support.
       (build_x_binary_op): Ditto.
       (build_binary_op): Original version renamed to cp_build_binary_op;
       new version provides a bridge from c-common.
       (cp_build_binary_op): Was build_binary_op; added SFINAE support.
       (pointer_diff): Fix calls for SFINAE.
       (build_x_unary_op): Add SFINAE support.
       (condition_conversion): Fix calls for SFINAE.
       (build_unary_op): Original version renamed to cp_build_unary_op;
       new version provides a bridge from c-common.
       (cp_build_unary_op): Was build_unary_op; added SFINAE support.
       (unary_complex_lvalue): Fix calls for SFINAE.
       (build_x_conditional_expr): Add SFINAE support.
       (build_x_compound_expr_from_list): Fix calls for SFINAE.
       (build_x_compound_expr): Add SFINAE support.
       (convert_ptrmem): Fix calls for SFINAE.
       (build_static_cast_1): Add SFINAE support.
       (build_static_cast): Ditto.
       (build_reinterpret_cast_1): Ditto.
       (build_reinterpret_cast): Ditto.
       (build_const_cast_1): Ditto.
       (build_const_cast): Ditto.
       (build_c_cast): Ditto.
       (build_modify_expr): Original version renamed to
       cp_build_modify_expr; new version provides a bridge from c-common.
       (cp_build_modify_expr): Was build_modify_expr; added SFINAE
       support.
       (build_x_modify_expr): Add SFINAE support.
       (build_ptrmemfunc): Fix calls for SFINAE.
       (convert_for_assignment): Add SFINAE support.
       (convert_for_initialization): Ditto.
       (check_return_expr): Fix calls for SFINAE.
       (lvalue_or_else): Add SFINAE support.
       * init.c (perform_member_init): Fix calls for SFINAE.
       (emit_mem_initializers): Ditto.
       (expand_virtual_init): Ditto.
       (expand_cleanup_for_base): Ditto.
       (build_aggr_init): Add SFINAE support.
       (expand_default_init): Ditto.
       (expand_aggr_init_1): Fix calls for SFINAE.
       (build_offset_ref): Ditto.
       (build_new_1): Add SFINAE support.
       (build_new): Ditto.
       (build_vec_delete_1): Fix calls for SFINAE.
       (get_temp_regvar): Ditto.
       (build_vec_init): Add SFINAE support.
       (build_dtor_call): Fix calls for SFINAE.
       (build_delete): Ditto.
       (push_base_cleanups): Ditto.
       (build_vec_delete_1): Ditto.
       * class.c (build_base_path): Fix calls for SFINAE.
       (build_simple_base_path): Ditto.
       (convert_to_base_statically): Ditto.
       (build_vfn_ref): Ditto.
       (resolve_address_of_overloaded_function): Ditto.
       * decl.c (check_initializer): Fix calls for SFINAE.
       (register_dtor_fn): Ditto.
       (compute_array_index_type): Ditto.
       (finish_enum): Ditto.
       (start_preparsed_function): Ditto.
       (cxx_maybe_build_cleanup): Ditto.
       * call.c (convert_like): Add COMPLAIN argument.
       (convert_like_with_context): Ditto.
       (build_this): Fix calls for SFINAE.
       (build_user_type_conversion): Ditto.
       (resolve_args): Ditto.
       (build_new_function_call): Add SFINAE support.
       (build_operator_new_call): Fix calls for SFINAE.
       (build_object_call): Add SFINAE support.
       (build_conditional_expr): Ditto.
       (build_new_op): Ditto.
       (build_op_delete_call): Fix calls for SFINAE.
       (build_temp): Ditto.
       (convert_like_real): Add SFINAE support.
       (build_x_va_arg): Fix calls for SFINAE.
       (convert_default_arg): Ditto.
       (build_over_call): Add SFINAE support.
       (build_java_interface_fn_ref): Fix calls for SFINAE.
       (build_special_member_call): Add SFINAE support.
       (build_new_method_call): Ditto.
       (perform_implicit_conversion): Ditto.
       (perform_direct_initialization_if_possible): Ditto.
       (initialize_reference): Fix calls for SFINAE.
       * method.c (do_build_assign_ref): Fix calls for SFINAE.
       * rtti.c (build_headof): Fix calls for SFINAE.
       (get_tinfo_decl_dynamic): Ditto.
       (get_typeid): Ditto.
       (build_dynamic_cast_1): Add SFINAE support.
       (build_dynamic_cast): Ditto.
       (tinfo_base_init): Fix calls for SFINAE.
       * except.c (do_get_exception_ptr): Fix calls for SFINAE.
       (do_end_catch): Ditto.
       (initialize_handler_parm): Ditto.
       (expand_start_catch_block): Ditto.
       (do_allocate_exception): Ditto.
       (do_free_exception): Ditto.
       (build_throw): Ditto.
       * cvt.c (build_up_reference): Fix calls for SFINAE.
       (convert_to_reference): Ditto.
       (ocp_convert): Ditto.
       (convert_to_void): Add SFINAE support.
       * tree.c (build_dummy_object): Fix calls for SFINAE.
       (stabilize_expr): Ditto.
       * cp-tree.h (build_conditional_expr): Add tsubst_flags_t
       parameter.
       (build_new_method_call): Ditto.
       (build_special_member_call): Ditto.
       (build_new_op): Ditto.
       (perform_implicit_conversion): Ditto.
       (perform_direct_initialization_if_possible): Ditto.
       (convert_to_void): Ditto.
       (build_aggr_init): Ditto.
       (build_new): Ditto.
       (build_vec_init): Ditto.
       (build_dynamic_cast): Ditto.
       (finish_call_expr): Ditto
       (cxx_sizeof_or_alignof_expr): Add COMPLAIN parameter.
       (cxx_sizeof_nowarn): Remove macro; add function declaration.
       (build_class_member_access_expr): Add tsubst_flags_t parameter.
       (finish_class_member_access_expr): Ditto.
       (build_x_indirect_ref): Ditto.
       (cp_build_indirect_ref): New.
       (cp_build_function_call): Add tsubst_flags_t parameter.
       (build_x_unary_op): Ditto.
       (cp_build_unary_op): New.
       (build_x_conditional_expr): Add tsubst_flags_t parameter.
       (build_x_compound_expr): Ditto.
       (build_compound_expr): Ditto.
       (build_static_cast): Ditto.
       (build_reinterpret_cast): Ditto.
       (build_const_cast): Ditto.
       (build_c_cast): Ditto.
       (build_x_modify_expr): Ditto.
       (cp_build_modify_expr): New.
       (convert_for_initialization): Add tsubst_flags_t parameter.
       (cp_build_binary_op): Remove macro; add function declaration.
       (invalid_nonstatic_memfn_p): Add tsubst_flags_t parameter.
       (lvalue_or_else): Ditto.
       (build_functional_cast): Ditto.
       * typeck2.c (digest_init): Fix calls for SFINAE.
       (process_init_constructor_array): Ditto.
       (process_init_constructor_record): Ditto.
       (build_x_arrow): Ditto.
       (build_m_component_ref): Ditto.
       (build_functional_cast): Add SFINAE support.
       * pt.c (tsubst_copy_and_build): Add (more) SFINAE support.
       * semantics.c (simplify_loop_decl_cond): Fix calls for SFINAE.
       (finish_expr_stmt): Ditto.
       (finish_for_expr): Ditto.
       (finish_asm_stmt): Ditto.
       (finish_non_static_data_member): Ditto.
       (finish_qualified_id_expr): Ditto.
       (finish_call_expr): Add SFINAE support.
       (finish_increment_expr): Fix calls for SFINAE.
       (finish_unary_op_expr): Ditto.
       (simplify_aggr_init_expr): Ditto.
       (finish_omp_clauses): Ditto.
       (finish_omp_for): Ditto.
       (finish_omp_barrier): Ditto.
       (finish_omo_flush): Ditto.
       * decl2.c (grok_array_decl): Fix calls or SFINAE.
       (build_anon_union_vars): Ditto.
       (get_guard_cond): Ditto.
       (set_guard): Ditto.
       (one_static_initialization_or_destruction): Ditto.
       (do_static_initialization_or_destruction): Ditto.
       (generate_ctor_or_dtor_function): Ditto.
       (build_offset_ref_call_from_tree): Ditto.
       * parser.c (cp_parser_postfix_expression): Fix calls for SFINAE.
       (cp_parser_postfix_dot_deref_expression): Ditto.
       (cp_parser_unary_expression): Ditto.
       (cp_parser_new_expression): Ditto.
       (cp_parser_cast_expression): Ditto.
       (cp_parser_binary_expression): Ditto.
       (cp_parser_question_colon_clause): Ditto.
       (cp_parser_assignment_expression): Ditto.
       (cp_parser_expression): Ditto.
       (cp_parser_builtin_offsetof): Ditto.
       (cp_parser_template_argument): Ditto.
       (cp_parser_functional_cast): Ditto.

2008-03-25  Douglas Gregor  <doug.gregor@gmail.com>

       * c-common.c (c_sizeof_or_alignof_type): If we're not allowed to
       complain when we hit an error, return ERROR_MARK_NODE.

2008-03-25  Douglas Gregor  <doug.gregor@gmail.com>

       * g++.dg/template/sfinae4.C: New.
       * g++.dg/template/sfinae5.C: New.
       * g++.dg/template/sfinae6.C: New.
       * g++.dg/template/sfinae6_neg.C: New.
       * g++.dg/template/sfinae7.C: New.
       * g++.dg/template/sfinae8.C: New.
       * g++.dg/template/sfinae9.C: New.
       * g++.dg/template/sfinae10.C: New.
       * g++.dg/template/sfinae11.C: New.
       * g++.dg/template/sfinae12.C: New.
       * g++.dg/template/sfinae13.C: New.
       * g++.dg/template/sfinae14C: New.

From-SVN: r133519
2008-03-25 13:53:58 +00:00
Naveen.H.S
de6adfa2f4 constraints.md (Pso, Psz): New constraints.
* config/sh/constraints.md (Pso, Psz): New constraints.
	* config/sh/sh.c (print_operand): Add %V and %W operand codes.
	* config/sh/sh.md (*andsi3_bclr, *iorsi3_bset): New insns.

	* gcc.target/sh/sh2a-bclr.c: New test.
	* gcc.target/sh/sh2a-bset.c: New test.

From-SVN: r133518
2008-03-25 13:44:00 +00:00
Naveen.H.S
f326a6cbc0 sh.c (sh_expand_t_scc): Emit movrt for SH2A if possible.
* config/sh/sh.c (sh_expand_t_scc): Emit movrt for SH2A if
	possible.
	* config/sh/sh.md (xorsi3_movrt, movrt): New insns.

	* gcc.target/sh/sh2a-movrt.c: New test.

From-SVN: r133517
2008-03-25 13:41:23 +00:00
Naveen.H.S
b4b0018b30 sh.md (prefetch): Add condition for SH2A target.
* config/sh/sh.md (prefetch): Add condition for SH2A target.
	(prefetch_sh2a): New.	

	* gcc.target/sh/sh2a-prefetch.c: New test.

From-SVN: r133516
2008-03-25 13:38:45 +00:00
Jayant R Sonar
e990551a82 constraints.md (I28): New constraint.
* config/sh/constraints.md (I28): New constraint.
	* config/sh/sh.c (broken_move): Add support for movi20s.
	* config/sh/sh.md (movsi_ie): Add the alternative for
	movi20s.

	* gcc.target/sh/sh2a-movi20s.c: New test.


Co-Authored-By: Naveen.H.S <naveen.hs@kpitcummins.com>

From-SVN: r133514
2008-03-25 13:36:11 +00:00
Anil Paranjape
561642fa67 sh.c (SH_ATTRIBUTES): Define.
* config/sh/sh.c (SH_ATTRIBUTES): Define.
	(SYMBOL_FLAG_FUNCVEC_FUNCTION): Define.
	(print_operand): Handle resbank in %@ operand code.
	(sh_encode_section_info): New.
	(push_regs): Add conditions for resbank.
	(sh_expand_epilogue): Likewise.
	(sh_insert_attributes): Likewise.
	(sh_attribute_table): Likewise.
	(sh_handle_resbank_handler_attribute): New.
	(sh2a_handle_function_vector_handler_attribute): New.
	(sh2a_is_function_vector_call): New.
	(sh2a_get_function_vector_number): New.
	(sh2a_function_vector_p): New.
	(sh_cfun_resbank_handler_p): New.
	* config/sh/sh.md (calli): Emit jsr/n if possible.
	(calli_tbr_rel): New.
	(calli_pcrel): Emit jsr/n if possible.
	(return_i): Emit rts/n if possible.
	(call_valuei_tbr_rel): New.
	(call_valuei_pcrel): Add condition for SH2A target.
	(call_value): Likewise.
	* config/sh/sh-protos.h (sh_cfun_resbank_handler_p): Declare.
	(sh2a_get_function_vector_number): Likewise.
	(sh2a_is_function_vector_call): Likewise.
	* doc/extend.texi: Document TBR relative addressing of SH2A.
	(resbank): Add description for SH2A.

	* gcc.target/sh/sh2a-resbank.c: New test.
	* gcc.target/sh/sh2a-tbr-jump.c: New test.
	* gcc.target/sh/sh2a-jsrn.c: New test.
	* gcc.target/sh/sh2a-rtsn.c: New test.


Co-Authored-By: Jayant R Sonar <jayant.sonar@kpitcummins.com>
Co-Authored-By: Naveen.H.S <naveen.hs@kpitcummins.com>

From-SVN: r133513
2008-03-25 13:32:13 +00:00
Arnaud Charlet
53b308f61e exp_ch6.adb, [...]: Update copyright notice.
* exp_ch6.adb, exp_disp.adb: Update copyright notice.
	Fix wrong formatting (lines too long)

From-SVN: r133505
2008-03-25 10:34:30 +01:00
Uros Bizjak
07ead779be sse-17.c: Include sse2-check.h.
* gcc.target/i386/sse-17.c: Include sse2-check.h.
	(main): Change to void and rename to sse2_test.
	* gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp: Set
	dg-do-what-default to "compile" if SSE2 hardware is not available.
	* gcc.dg/vect/costmodel/i386/x86_64-costmodel-vect.exp: Ditto.
	* gcc.dg/vect/costmodel/x86_64/costmodel-vect-reduc-1char.c: Remove
	xfail vect_no_int_max from "vectorization not profitable" check.

From-SVN: r133504
2008-03-25 09:02:14 +01:00
Ian Lance Taylor
598848e4d6 sha1.h: New file, from gnulib.
include/:
	* sha1.h: New file, from gnulib.
libiberty/:
	* sha1.c: New file, from gnulib.
	* Makefile.in: Rebuild dependencies.
	(CFILES): Add sha1.c.
	(REQUIRED_OFILES): Add sha1.o.

From-SVN: r133503
2008-03-25 00:54:53 +00:00
Ian Lance Taylor
8e291ddfb2 Fix this patch:
* md5.h: Add extern "C" when compiled with C++.

From-SVN: r133502
2008-03-25 00:19:55 +00:00
GCC Administrator
538de5e6f0 Daily bump.
From-SVN: r133500
2008-03-25 00:18:16 +00:00
Ian Lance Taylor
9bb28c1b58 * md5.h: Add extern "C" when compiled with C++.
From-SVN: r133495
2008-03-24 23:41:20 +00:00
Andrew Pinski
7837ac3cc7 re PR rtl-optimization/26222 (build failuring in libjava)
2008-03-24  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR middle-end/26222
        * gcc.dg/torture/pr26222.c: New testcase.

From-SVN: r133493
2008-03-24 16:05:31 -07:00
Paul Thomas
c1203a704d re PR fortran/34813 (ICE on incorrect nested type constructor (fold-const.c (fold_convert):2629))
2008-03-24  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/34813
	* resolve.c (resolve_structure_cons): It is an error to assign
	NULL to anything other than a pointer or allocatable component.

	PR fortran/33295
	* resolve.c (resolve_symbol): If the symbol is a derived type,
	resolve the derived type.  If the symbol is a derived type
	function, ensure that the derived type is visible in the same
	namespace as the function.

2008-03-24  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/34813
	* gfortran.dg/null_3.f90 : New test

	PR fortran/33295
	* gfortran.dg/module_function_type_1.f90 : New test

From-SVN: r133488
2008-03-24 19:11:24 +00:00
Tom Tromey
50c91950d4 lex.c (handle_pragma_interface): Don't copy the filename.
* lex.c (handle_pragma_interface): Don't copy the filename.
	(handle_pragma_implementation): Copy filename using xstrdup.

From-SVN: r133487
2008-03-24 18:53:34 +00:00
Ralf Wildenhues
8fc789c82e 9drpc.adb, [...]: Fix comment typos.
2008-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* 9drpc.adb, a-caldel-vms.adb, a-caldel.adb,
	a-calend-vms.adb, a-calend.adb, a-calend.ads,
	a-calfor.adb, a-chahan.ads, a-chtgke.adb,
	a-cihama.ads, a-ciorse.adb, a-clrefi.ads,
	a-cohama.ads, a-comlin.ads, a-coorse.adb,
	a-crbtgk.adb, a-direct.adb, a-except-2005.adb,
	a-except-2005.ads, a-except.adb, a-except.ads,
	a-exexda.adb, a-exexpr-gcc.adb, a-exexpr.adb,
	a-exextr.adb, a-filico.ads, a-finali.ads,
	a-intnam-aix.ads, a-intnam-solaris.ads, a-ngcefu.adb,
	a-ngelfu.adb, a-numaux-darwin.adb, a-numeri.ads,
	a-sequio.ads, a-strbou.ads, a-strfix.adb,
	checks.adb, exp_ch3.adb, exp_ch4.adb,
	exp_ch4.ads, exp_ch5.adb, exp_ch6.adb,
	exp_ch6.ads, exp_ch7.adb, exp_ch7.ads,
	exp_ch9.adb, exp_ch9.ads, exp_dbug.adb,
	exp_dbug.ads, exp_disp.adb, exp_dist.adb,
	exp_dist.ads, exp_fixd.adb, exp_fixd.ads: Fix comment typos.

From-SVN: r133483
2008-03-24 17:48:07 +00:00
Doug Evans
01b119402f make-relative-prefix.c (make_relative_prefix_1): Handle NULL return from strdup.
* make-relative-prefix.c (make_relative_prefix_1): Handle NULL
	return from strdup.

From-SVN: r133482
2008-03-24 17:11:21 +00:00
Richard Guenther
1b24a790e0 re PR c/22371 (C front-end produces mis-match types in MODIFY_EXPR)
2008-03-24  Richard Guenther  <rguenther@suse.de>

	PR c/22371
	* gimplify.c (gimplify_modify_expr): For frontend type-correct
	pointer assignments change conversions according to middle-end rules.
	(gimplify_modify_expr_rhs): Deal with NULL TARGET_EXPR_INITIAL.
	* configure.ac: Include type checking in yes.
	* configure: Regenerate.

From-SVN: r133479
2008-03-24 15:08:52 +00:00
Manuel López-Ibáñez
52249a2e3f diagnostic.c (diagnostic_count_diagnostic): Delete.
2008-03-24  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	* diagnostic.c (diagnostic_count_diagnostic): Delete.
	(diagnostic_report_diagnostic): Update. Handle ICEs here.

From-SVN: r133478
2008-03-24 14:19:55 +00:00
Nathan Sidwell
37ca4602e6 * gthr-vxworks.h (UNUSED): Define.
From-SVN: r133477
2008-03-24 11:18:22 +00:00
Robert Dewar
15f6d6e767 2008-03-24 Robert Dewar <dewar@adacore.com>
* s-tpopsp-posix.adb, s-tpopsp-solaris.adb, s-tpopsp-posix-foreign.adb,
	s-tpopsp-lynxos.adb, s-tpopde-vms.ads, s-tpopde-vms.adb,
	s-tpopsp-vxworks.adb, s-casi16.adb, s-caun16.adb, s-inmaop.ads,
	s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-tpinop.adb,
	s-tpinop.ads, s-tporft.adb, a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb,
	a-crbtgk.ads, a-crbtgk.adb, a-ciorse.adb, a-cihama.ads, a-cihama.adb,
	a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads,
	a-cgcaso.adb, a-cgaaso.adb, a-ciormu.adb, a-cihase.adb, a-swuwha.ads,
	a-rbtgso.ads, a-cgaaso.ads, a-cgaaso.ads, a-ciorma.adb, a-chtgke.ads,
	a-chtgke.adb, a-llfzti.ads, a-ztenau.adb, a-ztenau.ads, a-stzhas.ads,
	a-szbzha.ads, a-szbzha.adb, a-crdlli.ads, a-crdlli.ads, a-crdlli.adb,
	i-forbla-darwin.adb, i-forbla.ads, s-regexp.adb, a-nllrar.ads,
	a-nlrear.ads, a-nucoar.ads, a-nurear.ads, i-forlap.ads, s-gearop.adb,
	s-gearop.ads, s-gecobl.adb, s-gecobl.ads, s-gecola.adb, s-gecola.ads,
	s-gerebl.adb, s-gerela.ads, a-swuwha.adb, i-forbla-unimplemented.ads,
	double spaced if it fits on one line and otherwise single spaced.

From-SVN: r133476
2008-03-24 11:57:32 +01:00
GCC Administrator
572f995812 Daily bump.
From-SVN: r133474
2008-03-24 00:17:32 +00:00
Ralf Wildenhues
b2e74434bc re PR ada/15479 (Ada manual problems)
gcc/ada/
2008-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	PR documentation/15479
	* Make-lang.in (doc/gnat_ugn.texi) Renamed from ...
	(doc/gnat_ugn_unw.texi): ... this, and adjusted.
	(doc/gnat_ugn.info): Renamed from ...
	(doc/gnat_ugn_unw.info): ... this.
	(doc/gnat_ugn.dvi): Renamed from ...
	(doc/gnat_ugn_unw.dvi): ... this.
	(doc/gnat_ugn.pdf): Renamed from ...
	(doc/gnat_ugn_unw.pdf): ... this.
	(ADA_INFOFILES, ADA_PDFFILES, ada.install-info, ada.dvi):
	Adjusted.
	* gnat_ugn.texi (FILE): Hard-code gnat_ugn; set filename
	unconditionally to gnat_ugn.info.  Fix cross references to the
	GNAT Reference Manual.  Convert links to the GCC, GDB, Emacs,
	and GNU make manuals to be proper texinfo links.
	* gnat_rm.texi: Fix cross references to the GNAT User's Guide.

From-SVN: r133470
2008-03-23 23:19:25 +00:00
Thomas Koenig
3478bba466 re PR libfortran/32972 (performance of pack/unpack)
2007-03-23  Thomas Koenig  <tkoenig@gcc.gnu.org

	PR libfortran/32972
	* Makefile.am:  Add new variable, i_unpack_c, containing
	unpack_i1.c, unpack_i2.c, unpack_i4.c, unpack_i8.c,
	unpack_i16.c, unpack_r4.c, unpack_r8.c, unpack_r10.c,
	unpack_r16.c, unpack_c4.c, unpack_c8.c, unpack_c10.c
	and unpack_c16.c
	Add i_unpack_c to gfor_built_src.
	Add rule to generate i_unpack_c from m4/unpack.m4.
	* Makefile.in:  Regenerated.
	* libgfortran.h: Add prototypes for unpack0_i1, unpack0_i2,
	unpack0_i4, unpack0_i8, unpack0_i16, unpack0_r4, unpack0_r8,
	unpack0_r10, unpack0_r16, unpack0_c4, unpack0_c8, unpack0_c10,
	unpack0_c16, unpack1_i1, unpack1_i2, unpack1_i4, unpack1_i8,
	unpack1_i16, unpack1_r4, unpack1_r8, unpack1_r10, unpack1_r16,
	unpack1_c4, unpack1_c8, unpack1_c10 and unpack1_c16.
	* intrinsics/pack_generic.c (unpack1):  Add calls to specific
	unpack1 functions.
	(unpack0):  Add calls to specific unpack0 functions.
	* m4/unpack.m4:  New file.
	* generated/unpack_i1.c:  New file.
	* generated/unpack_i2.c:  New file.
	* generated/unpack_i4.c:  New file.
	* generated/unpack_i8.c:  New file.
	* generated/unpack_i16.c:  New file.
	* generated/unpack_r4.c:  New file.
	* generated/unpack_r8.c:  New file.
	* generated/unpack_r10.c:  New file.
	* generated/unpack_r16.c:  New file.
	* generated/unpack_c4.c:  New file.
	* generated/unpack_c8.c:  New file.
	* generated/unpack_c10.c:  New file.
	* generated/unpack_c16.c:  New file.

2007-03-23  Thomas Koenig  <tkoenig@gcc.gnu.org

	PR libfortran/32972
	* gfortran.dg/intrinsic_unpack_1.f90:  New test case.
	* gfortran.dg/intrinsic_unpack_2.f90:  New test case.
	* gfortran.dg/intrinsic_unpack_3.f90:  New test case.

From-SVN: r133469
2008-03-23 22:19:19 +00:00
H.J. Lu
2ff8644d33 i386.h (STATIC_CHAIN_REGNUM): Use R10_REG and CX_REG.
2008-03-23  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.h (STATIC_CHAIN_REGNUM): Use R10_REG and
	CX_REG.

From-SVN: r133468
2008-03-23 14:49:41 -07:00
Thomas Koenig
b45890a445 MAINTAINERS: Update e-mail address.
2008-03-23  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* MAINTAINERS:  Update e-mail address.

From-SVN: r133467
2008-03-23 21:22:35 +00:00
Paolo Carlini
7d9492256a faq.xml: Fix various links.
2008-03-23  Paolo Carlini  <pcarlini@suse.de>

	* doc/xml/faq.xml: Fix various links.
	* doc/xml/api.xml: Likewise.
	* doc/xml/manual/parallel_mode.xml: Likewise.
	* doc/html/faq.html: Regenerate.
	* doc/html/api.html: Likewise.
	* doc/html/manual/bk01pt12ch31s03.html: Likewise.

From-SVN: r133463
2008-03-23 19:19:05 +00:00
Zuxy Meng
1c42f5c6ad extend.texi (Function Attributes): Add missing comma in the example of the "alloc_size" attribute.
* doc/extend.texi (Function Attributes): Add missing comma in the
	example of the "alloc_size" attribute.

From-SVN: r133462
2008-03-23 16:38:05 +00:00
Uros Bizjak
808e68bbc8 Revert:
2008-03-05  H.J. Lu  <hongjiu.lu@intel.com>

        * config/i386/i386-modes.def: Use 4 byte alignment on DI for
        32bit host.

        2008-03-19  Uros Bizjak  <ubizjak@gmail.com>

        PR target/35496
        * stor-layout.c (update_alignment_for_field): Set minimum alignment
        of the underlying type of a MS bitfield layout to the natural
        alignment of the type.

        2008-03-22  Uros Bizjak  <ubizjak@gmail.com>

        * config/i386/i386.c (assign_386_stack_local): Align DImode slots
        to their natural alignment to avoid store forwarding stalls.

From-SVN: r133461
2008-03-23 13:07:34 +01:00
Tobias Schlüter
4705677421 trans.h: Use fold_build in build1_v, build2_v and build3_v macros.
2008-03-23  Tobias Schlueter  <tobi@gcc.gnu.org>

* trans.h: Use fold_build in build1_v, build2_v and build3_v
macros.
* trans-openmp.c (gfc_trans_omp_critical, gfc_trans_omp_single):
Don't use build2_v macro.

From-SVN: r133460
2008-03-23 10:28:03 +01:00
GCC Administrator
ff32afdbbf Daily bump.
From-SVN: r133458
2008-03-23 00:17:39 +00:00
Jerry DeLisle
35077d5aed re PR fortran/35632 (stream io broken on FreeBSD due to ftruncate changes.)
2008-03-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/35632
	* io/transfer.c (data_transfer_init):  Fix whitespace.
	(next_record_w): Truncate the file only if the stream
	position is short of the file end.

From-SVN: r133454
2008-03-22 22:03:13 +00:00
Richard Guenther
1b738915e8 tree-cfg.c (verify_expr): Recurse again for invariant addresses.
2008-03-22  Richard Guenther  <rguenther@suse.de>

	* tree-cfg.c (verify_expr): Recurse again for invariant addresses.
	For PHI nodes verify the address is invariant.
	* tree-ssa-ccp.c (ccp_decl_initial_min_invariant): Remove.
	(get_symbol_constant_value): Use is_gimple_min_invariant.
	(maybe_fold_stmt_indirect): Likewise.

From-SVN: r133453
2008-03-22 19:50:48 +00:00
Richard Sandiford
18b526e806 re PR rtl-optimization/33927 (replace_read in dse.c could handle cases where GET_MODE_CLASS (read_mode) != GET_MODE_CLASS (store_mode) (and the size is the same))
gcc/
	PR rtl-optimization/33927
	* Makefile.in (dse.o): Depend on $(TM_P_H).
	* expr.h (extract_low_bits): Declare.
	* expmed.c (extract_low_bits): New function.
	* rtlhooks.c (gen_lowpart_general): Generalize SUBREG handling.
	* dse.c: Include tm_p.h.
	(find_shift_sequence): Remove the read_reg argument and return the
	read value.  Emit the instructions instead of returning them.
	Iterate on new_mode rather than calculating it each time.
	Check MODES_TIEABLE_P.  Use simplify_gen_subreg to convert the
	source to NEW_MODE and extract_low_bits to convert the shifted
	value to READ_MODE.
	(replace_read): Allow the load and store to have different mode
	classes.  Use extract_low_bits when SHIFT == 0.  Create the shift
	or extraction instructions before trying the replacement.  Update
	dump-file code accordingly, avoiding use of REGNO (store_info->rhs).

gcc/testsuite/
	* gcc.target/mips/dse-1.c: Add checks for zeros.

From-SVN: r133452
2008-03-22 19:37:53 +00:00
Uros Bizjak
48e55066d5 i386.c (assign_386_stack_local): Align DImode slots to their natural alignment to avoid store forwarding stalls.
* config/i386/i386.c (assign_386_stack_local): Align DImode slots
        to their natural alignment to avoid store forwarding stalls.

From-SVN: r133451
2008-03-22 20:34:09 +01:00
GCC Administrator
a6b2268416 Daily bump.
From-SVN: r133444
2008-03-22 00:17:15 +00:00
Ian Lance Taylor
464509751a * filenames.h: Add extern "C" when compiled with C++.
From-SVN: r133440
2008-03-21 23:35:07 +00:00
Andrew Pinski
e8afc0cb11 re PR target/27946 (double to long long and back to double stores to the stack)
2008-03-21  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR target/27946
        * config/rs6000/rs6000.md (floatdidf2): Discouraging fprs and
        encouraging but not allowing gprs for input;
        change the input constraint to !f#r.
        (fix_truncdfdi2): Discouraging fprs and encouraging but not allowing
        gprs for output;
        change the output constraint to !f#r.


2008-03-21  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR target/27946
        * gcc.target/powerpc/ppc64-double-1.c: New testcase.

From-SVN: r133439
2008-03-21 15:18:23 -07:00
Andrew Pinski
94e9831662 re PR target/27946 (double to long long and back to double stores to the stack)
2008-03-21  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR target/27947
        * config/rs6000/rs6000.md (floatdidf2): Discouraging fprs and
        encouraging but not allowing gprs for input;
        change the input constraint to !f#r.
        (fix_truncdfdi2): Discouraging fprs and encouraging but not allowing
        gprs for output;
        change the output constraint to !f#r.


2008-03-21  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR target/27947
        * gcc.target/powerpc/ppc64-double-1.c: New testcase.

From-SVN: r133438
2008-03-21 15:16:49 -07:00
Jerry DeLisle
042a12f4e8 pack_generic.c: Fix typo.
2008-03-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	* intrinsics/pack_generic.c:  Fix typo.

From-SVN: r133437
2008-03-21 21:00:17 +00:00
Andreas Tobler
f03f16b2b3 re PR bootstrap/35660 (Bootstrap failure on i686-apple-darwin9 at revision 133434.)
2008-03-21  Andreas Tobler  <a.tobler@schweiz.org>

	PR bootstrap/35660
	* objc-act.c (objc_generate_cxx_ctor_or_dtor): Rename IS_AGGR_TYPE to
	MAYBE_CLASS_TYPE_P.
	(objc_generate_cxx_cdtors): Likewise.
	(add_instance_variable): Likewise.

From-SVN: r133436
2008-03-21 21:49:25 +01:00
Uros Bizjak
7fb1431bfa re PR target/13958 (Conversion from unsigned to double is painfully slow on P4)
PR target/13958
        * config/i386/i386.md ("*floatunssi<mode2>_1"): New pattern with
        corresponding post-reload splitters.
        ("floatunssi<mode>2"): Expand to unsigned_float x87 insn pattern
        when x87 FP math is selected.
        * config/i386/i386-protos.h (ix86_expand_convert_uns_sixf_sse):
        New function prototype.
        * config/i386/i386.c (ix86_expand_convert_uns_sixf_sse): New
        unreachable function to ease macroization of insn patterns.

From-SVN: r133435
2008-03-21 21:43:12 +01:00
Paolo Carlini
9e1e64ec2b cp-tree.h (IS_AGGR_TYPE): Rename to MAYBE_CLASS_TYPE_P.
2008-03-21  Paolo Carlini  <pcarlini@suse.de>

	* cp-tree.h (IS_AGGR_TYPE): Rename to MAYBE_CLASS_TYPE_P.
	(SET_IS_AGGR_TYPE): Rename to SET_CLASS_TYPE_P.
	(IS_AGGR_TYPE_CODE): Rename to RECORD_OR_UNION_CODE_P.
	(PROMOTES_TO_AGGR_TYPE): Remove.
	(CLASS_TYPE_P, TYPE_NON_AGGREGATE_CLASS): Adjust.
	* typeck.c (unary_complex_lvalue, build_modify_expr,
	convert_for_initialization): Adjust.
	* init.c (is_aggr_type): Remove.
	(is_class_type): Add.
	(build_offset_ref, build_new_1, build_vec_delete_1, build_vec_init,
	build_delete): Adjust.
	* lex.c (make_aggr_type): Remove.
	(make_class_type): Add.
	(cxx_make_type): Adjust.
	* class.c (finish_struct_1, fixed_type_or_null, is_empty_class):
	Adjust.
	* decl.c (build_typename_type, make_typename_type,
	make_unbound_class_template, cxx_init_decl_processing,
	check_tag_decl, groktypename, start_decl_1, layout_var_decl,
	check_initializer, cp_finish_decl, build_ptrmemfunc_type, grokparms,
	grok_op_properties, xref_tag, check_function_type): Adjust.
	* call.c (check_dtor_name, standard_conversion, implicit_conversion,
	add_builtin_candidate, add_builtin_candidates,
	build_user_type_conversion_1, convert_like_real, build_cxx_call,
	is_subseq, compare_ics): Adjust.
	* method.c (use_thunk): Adjust.
	* rtti.c (build_dynamic_cast_1, create_pseudo_type_info,
	create_tinfo_types): Adjust.
	* cvt.c (cp_convert_to_pointer, convert_to_pointer_force,
	build_up_reference, convert_to_reference, convert_from_reference,
	ocp_convert, build_expr_type_conversion): Adjust.
	* tree.c (bind_template_template_parm, error_type): Adjust.
	* dump.c (cp_dump_tree): Adjust.
	* search.c (lookup_member): Adjust.
	* friend.c (make_friend_class, do_friend): Adjust.
	* typeck2.c (store_init_value, process_init_constructor_array,
	process_init_constructor_record, build_x_arrow, build_m_component_ref,
	build_functional_cast): Adjust.
	* pt.c (finish_member_template_decl, process_template_parm,
	lookup_template_class, tsubst_function_type, tsubst,
	tsubst_copy_and_build, get_template_base, bt_instantiate_type_proc):
	Adjust.
	* semantics.c (begin_class_definition, finish_base_specifier,
	finish_typeof, cxx_omp_predetermined_sharing, finish_decltype_type):
	Adjust.
	* name-lookup.c (constructor_name_p, push_overloaded_decl,
	do_class_using_decl, lookup_qualified_name,
	maybe_process_template_type_declaration): Adjust.
	* decl2.c (grok_array_decl, check_member_template,
	constrain_class_visibility): Adjust.
	* parser.c (cp_parser_class_name): Adjust.

From-SVN: r133434
2008-03-21 18:56:51 +00:00
Janne Blomqvist
fc34570cc1 gfortran.map: Move erfc_scaled symbols to new symbol node GFORTRAN_1.1...
2008-03-21  Janne Blomqvist  <jb@gcc.gnu.org>

        * gfortran.map: Move erfc_scaled symbols to new symbol node
        GFORTRAN_1.1, thereby fixing ABI bug introduced in r132846.

From-SVN: r133432
2008-03-21 19:36:00 +02:00
Ian Lance Taylor
5afab7ad84 configure.ac: Add support for --enable-gold.
* configure.ac: Add support for --enable-gold.
	* Makefile.def: Add gold as a directory like ld.
	* configure, Makefile.in: Regenerate.

From-SVN: r133429
2008-03-21 15:40:16 +00:00