platform/upstream/gcc.git
14 years agoalpha.c (common_object_handler): New function.
Eric Botcazou [Tue, 11 Aug 2009 05:00:51 +0000 (05:00 +0000)]
alpha.c (common_object_handler): New function.

* config/alpha/alpha.c (common_object_handler): New function.
(vms_attribute_table): Declare a single attribute "common_object".
(vms_output_aligned_decl_common): New global function.
(SECTION_VMS_OVERLAY): Delete.
(SECTION_VMS_GLOBAL): Likewise.
(SECTION_VMS_INITIALIZE): Likewise.
(vms_asm_named_section): Remove support for above flags.
(vms_section_type_flags): Delete.
(TARGET_SECTION_TYPE_FLAGS): Likewise.
* config/alpha/alpha-protos.h (vms_output_aligned_decl_common): New.
* config/alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Delete.
(ASM_OUTPUT_ALIGNED_DECL_COMMON): New macro.

Co-Authored-By: Douglas B Rupp <rupp@gnat.com>
From-SVN: r150645

14 years agofuture: Move error handling bits outside macro guard.
Benjamin Kosnik [Tue, 11 Aug 2009 04:30:35 +0000 (04:30 +0000)]
future: Move error handling bits outside macro guard.

2009-08-10  Benjamin Kosnik  <bkoz@redhat.com>

* include/std/future: Move error handling bits outside macro guard.
* src/future.cc: Adjust.

* include/precompiled/stdc++.h: Add future.
* doc/xml/manual/using.xml: Same.

From-SVN: r150642

14 years agohashtable.cc: Just definitions.
Benjamin Kosnik [Tue, 11 Aug 2009 01:24:59 +0000 (01:24 +0000)]
hashtable.cc: Just definitions.

2009-08-10  Benjamin Kosnik  <bkoz@redhat.com>

* src/hashtable.cc: Just definitions.
* src/hashtable_c++0x.cc: Compile C++0x versions.
* src/hash.cc: Same.
* src/hash_c++0x.cc: Same.
src/hash_tr1.cc: Compile TR1 versions.
src/hashtable_tr1.cc: Same.

* src/limits_c++0x.cc: Sync build error handling.

* src/Makefile.am (sources): Change hash.cc to hash_tr1.cc,
hashtable.cc to hashtable_tr1.cc.
* src/Makefile.in: Regenerate.

From-SVN: r150641

14 years agofunctional: Doxygen markup.
Benjamin Kosnik [Tue, 11 Aug 2009 00:29:21 +0000 (00:29 +0000)]
functional: Doxygen markup.

2009-08-10  Benjamin Kosnik  <bkoz@redhat.com>

* include/tr1_impl/functional: Doxygen markup.

* doc/html/*: Regenerate.

From-SVN: r150640

14 years agoDaily bump.
GCC Administrator [Tue, 11 Aug 2009 00:16:39 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r150639

14 years agore PR target/41015 (SH: miscompilation for sh4-linux)
SUGIOKA Toshinobu [Mon, 10 Aug 2009 20:57:35 +0000 (05:57 +0900)]
re PR target/41015 (SH: miscompilation for sh4-linux)

PR target/41015
* longlong.h [__sh__] (udiv_qrnnd): Add T register to clobber list.
(sub_ddmmss): Likewise.

From-SVN: r150635

14 years agoImplement DR 757...
Jason Merrill [Mon, 10 Aug 2009 20:47:55 +0000 (16:47 -0400)]
Implement DR 757...

Implement DR 757: It's OK for a decl to use a type without linkage
so long as the decl is defined in the current translation unit.
* decl2.c (no_linkage_decls): New vector.
(mark_used): Add decls that use types with no linkage.
(cp_write_global_declarations): Check that they are defined.
(decl_defined_p, no_linkage_error): New fns.
* cp-tree.h (DECL_NO_LINKAGE_CHECKED): New macro.
(struct lang_decl_base): Add flag.
* decl.c (grokfndecl): Don't check type linkage.
(grokvardecl): If the type has no linkage, just make sure
DECL_LANG_SPECIFIC is set.
* pt.c (check_instantiated_arg): Don't check type linkage.
* name-lookup.c (is_local_extern): New fn.
* name-lookup.h: Declare it.

From-SVN: r150634

14 years agofuture: Fixes for -fno-exceptions.
Benjamin Kosnik [Mon, 10 Aug 2009 18:24:47 +0000 (18:24 +0000)]
future: Fixes for -fno-exceptions.

2009-08-10  Benjamin Kosnik  <bkoz@redhat.com>

* include/std/future: Fixes for -fno-exceptions.
* include/bits/functexcept.h: Same.
* libsupc++/exception_ptr.h: Same.
* src/pool_allocator.cc: Same.
* src/future.cc: Same.
* src/functexcept.cc: Same.
* config/abi/pre/gnu.ver: New exports.
* testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust.
* testsuite/30_threads/packaged_task/cons/copy_neg.cc: Same.
* testsuite/30_threads/unique_future/cons/assign_neg.cc: Same.
* testsuite/30_threads/unique_future/cons/copy_neg.cc: Same.
* testsuite/30_threads/shared_future/cons/assign_neg.cc: Same.
* testsuite/30_threads/promise/cons/assign_neg.cc: Same.
* testsuite/30_threads/promise/cons/copy_neg.cc: Same.

* testsuite/23_containers/deque/operators/1.cc: Separate in two...
* testsuite/23_containers/deque/operators/2.cc: New.

From-SVN: r150633

14 years agore PR bootstrap/41018 (bootstrap broken on FreeBSD powerpc)
Andreas Tobler [Mon, 10 Aug 2009 18:23:57 +0000 (18:23 +0000)]
re PR bootstrap/41018 (bootstrap broken on FreeBSD powerpc)

2009-08-10  Andreas Tobler  <a.tobler@schweiz.org>

PR bootstrap/41018
* config/rs6000/freebsd.h: Define SVR4_ASM_SPEC. Adjust copyright
year.

From-SVN: r150632

14 years agodg.exp: Test also c-c++-common dir.
Manuel López-Ibáñez [Mon, 10 Aug 2009 17:10:50 +0000 (17:10 +0000)]
dg.exp: Test also c-c++-common dir.

2009-08-10  Manuel López-Ibáñez  <manu@gcc.gnu.org>

testsuite/
       * gcc.dg/dg.exp: Test also c-c++-common dir.
       * g++.dg/dg.exp: Likewise.
       * g++.dg/warn/Wconversion-real.C: Delete.
       * gcc.dg/Wconversion-real.c: Move to ...
       * c-c++-common/Wconversion-real.c: ... here.
       * lib/target-supports.exp
       (check_effective_target_c,check_effective_target_c++): New.

From-SVN: r150627

14 years agore PR middle-end/37053 (ICE in reload_cse_simplify_operands, at postreload.c:395)
Ulrich Weigand [Mon, 10 Aug 2009 15:34:09 +0000 (15:34 +0000)]
re PR middle-end/37053 (ICE in reload_cse_simplify_operands, at postreload.c:395)

PR target/37053
* reload1.c (reload_as_needed): Use cancel_changes to completely
undo a failed replacement attempt.

From-SVN: r150626

14 years ago* Moved ChangeLog entry to the correct ChangeLog
Neil Vachharajani [Mon, 10 Aug 2009 14:57:24 +0000 (14:57 +0000)]
* Moved ChangeLog entry to the correct ChangeLog

From-SVN: r150625

14 years agomake.adb: Handle multilib
Laurent GUERBY [Mon, 10 Aug 2009 10:52:37 +0000 (10:52 +0000)]
make.adb: Handle multilib

2009-08-10  Laurent GUERBY  <laurent@guerby.net>

        * make.adb: Handle multilib

From-SVN: r150623

14 years agore PR fortran/37425 (Fortran 2003: GENERIC bindings as operators)
Daniel Kraft [Mon, 10 Aug 2009 10:51:46 +0000 (12:51 +0200)]
re PR fortran/37425 (Fortran 2003: GENERIC bindings as operators)

2009-08-10  Daniel Kraft  <d@domob.eu>

PR fortran/37425
* gfortran.dg/typebound_operator_1.f03: New test.
* gfortran.dg/typebound_operator_2.f03: New test.

2009-08-10  Daniel Kraft  <d@domob.eu>

PR fortran/37425
* gfortran.h (struct gfc_namespace): New fields tb_uop_root and tb_op.
(gfc_find_typebound_user_op): New routine.
(gfc_find_typebound_intrinsic_op): Ditto.
(gfc_check_operator_interface): Now public routine.
* decl.c (gfc_match_generic): Match OPERATOR(X) or ASSIGNMENT(=).
* interface.c (check_operator_interface): Made public, renamed to
`gfc_check_operator_interface' accordingly and hand in the interface
as gfc_symbol rather than gfc_interface so it is useful for type-bound
operators, too.  Return boolean result.
(gfc_check_interfaces): Adapt call to `check_operator_interface'.
* symbol.c (gfc_get_namespace): Initialize new field `tb_op'.
(gfc_free_namespace): Free `tb_uop_root'-based tree.
(find_typebound_proc_uop): New helper function.
(gfc_find_typebound_proc): Use it.
(gfc_find_typebound_user_op): New method.
(gfc_find_typebound_intrinsic_op): Ditto.
* resolve.c (resolve_tb_generic_targets): New helper function.
(resolve_typebound_generic): Use it.
(resolve_typebound_intrinsic_op), (resolve_typebound_user_op): New.
(resolve_typebound_procedures): Resolve operators, too.
(check_uop_procedure): New, code from gfc_resolve_uops.
(gfc_resolve_uops): Moved main code to new `check_uop_procedure'.

From-SVN: r150622

14 years agore PR middle-end/41006 (verify_stmts failed: error: non-trivial conversion at assignment)
Richard Guenther [Mon, 10 Aug 2009 09:22:47 +0000 (09:22 +0000)]
re PR middle-end/41006 (verify_stmts failed: error: non-trivial conversion at assignment)

2009-08-10  Richard Guenther  <rguenther@suse.de>

PR middle-end/41006
* tree-ssa.c (useless_type_conversion_p_1): Fold into ...
(useless_type_conversion_p): ... here.  Require pointer targets
to be compatible.

* gcc.c-torture/compile/pr41006-1.c: New testcase.
* gcc.c-torture/compile/pr41006-2.c: Likewise.

From-SVN: r150621

14 years agore PR fortran/40940 ([F03] CLASS statement)
Janus Weil [Mon, 10 Aug 2009 09:19:24 +0000 (11:19 +0200)]
re PR fortran/40940 ([F03] CLASS statement)

2009-08-10  Janus Weil  <janus@gcc.gnu.org>

PR fortran/40940
* decl.c (gfc_match_type_spec): Match CLASS statement and warn about
missing polymorphism.
* gfortran.h (gfc_typespec): Add field 'is_class'.
* misc.c (gfc_clear_ts): Initialize 'is_class' to zero.
* resolve.c (type_is_extensible): New function to check if a derived
type is extensible.
(resolve_fl_variable_derived): Add error checks for CLASS variables.
(resolve_typebound_procedure): Disallow non-polymorphic passed-object
dummy arguments, turning warning into error.
(resolve_fl_derived): Use 'type_is_extensible'. Disallow non-polymorphic
passed-object dummy arguments for procedure pointer components,
turning warning into error. Add error check for CLASS components.

2009-08-10  Janus Weil  <janus@gcc.gnu.org>

PR fortran/40940
* gfortran.dg/class_1.f03: New.
* gfortran.dg/class_2.f03: New.
* gfortran.dg/proc_ptr_comp_pass_1.f90: Use CLASS instead of TYPE.
* gfortran.dg/proc_ptr_comp_pass_2.f90: Ditto.
* gfortran.dg/proc_ptr_comp_pass_3.f90: Ditto.
* gfortran.dg/typebound_call_10.f03: Ditto.
* gfortran.dg/typebound_call_2.f03: Ditto.
* gfortran.dg/typebound_call_3.f03: Ditto.
* gfortran.dg/typebound_call_4.f03: Ditto.
* gfortran.dg/typebound_generic_3.f03: Ditto.
* gfortran.dg/typebound_generic_4.f03: Ditto.
* gfortran.dg/typebound_proc_1.f08: Ditto.
* gfortran.dg/typebound_proc_5.f03: Ditto.
* gfortran.dg/typebound_proc_6.f03: Ditto.

From-SVN: r150620

14 years ago[multiple changes]
Arnaud Charlet [Mon, 10 Aug 2009 08:33:30 +0000 (10:33 +0200)]
[multiple changes]

2009-08-10  Vincent Celier  <celier@adacore.com>

* prj-env.adb (Create_Config_Pragmas_File.Write_Temp_File): Do not use
the temporary file name in the error message when the temporary file
cannot be created.

2009-08-10  Yannick Moy  <moy@adacore.com>

* gnat_ugn.texi: Fix typo

From-SVN: r150619

14 years ago[multiple changes]
Arnaud Charlet [Mon, 10 Aug 2009 08:25:49 +0000 (10:25 +0200)]
[multiple changes]

2009-08-10  Robert Dewar  <dewar@adacore.com>

* exp_ch7.adb: Add ??? comment for last change

2009-08-10  Vincent Celier  <celier@adacore.com>

* prj-env.adb (Add_To_Buffer): New procedure
(Create_Config_Pragmas_File): Write to temporary file in one shot
(Create_Mapping_File): Ditto
(Set_Ada_Paths): Ditto

From-SVN: r150618

14 years agore PR ada/17566 (Gnatxref formatting)
Vincent Celier [Mon, 10 Aug 2009 08:25:05 +0000 (08:25 +0000)]
re PR ada/17566 (Gnatxref formatting)

2009-08-10  Vincent Celier  <celier@adacore.com>

PR ada/17566
* xref_lib.adb (Print_Xref): Make sure that there is at least one space
between a declaration name and its type.

From-SVN: r150617

14 years agore PR c++/40866 (ICE in create_tmp_var, at gimplify.c:504)
Dodji Seketeli [Mon, 10 Aug 2009 07:16:08 +0000 (07:16 +0000)]
re PR c++/40866 (ICE in create_tmp_var, at gimplify.c:504)

2009-08-10  Dodji Seketeli  <dodji@redhat.com>

gcc/ChangeLog:
PR c++/40866
* tree-inline.c (copy_statement_list): The resulting copy shouldn't
loose the original type of the statement list.

gcc/testsuite/ChangeLog:
PR c++/40866
* g++.dg/expr/stmt-expr-1.C: New test.

From-SVN: r150615

14 years agoalpha.c: Include libfuncs.h
Douglas B Rupp [Mon, 10 Aug 2009 04:50:23 +0000 (04:50 +0000)]
alpha.c: Include libfuncs.h

* config/alpha/alpha.c: Include libfuncs.h
(avms_asm_output_extern): New function.
(alpha_init_libfuncs): Init some decc libfuncs.
* config/alpha/alpha-protos.h (avms_asm_output_external): Declare.
* config/alpha/vms.h (ASM_OUTPUT_EXTERNAL): Define.
(DO_CRTL_NAMES): Define.
(LIB_SPEC): Remove.
* config/alpha/vms64.h: (POINTERS_EXTEND_UNSIGNED): Remove undef.
(LONG_TYPE_SIZE): Define.
(TARGET_OS_CPP_BUILTINS): Define with __LONG_POINTERS=1
(SUBTARGET_SWITCHES): Define malloc64 switch.
(TARGET_DEFAULT): Default MASK_MALLOC64 set.
(MASK_RETURN_ADDR): Define.
doc/invoke.texi (mmalloc64): Document switch.

From-SVN: r150614

14 years agoalpha.c (struct machine_function): New flag for VMS, uses_condition_handler.
Olivier Hainque [Mon, 10 Aug 2009 04:38:02 +0000 (04:38 +0000)]
alpha.c (struct machine_function): New flag for VMS, uses_condition_handler.

* config/alpha/alpha.c (struct machine_function): New flag for VMS,
uses_condition_handler.
(alpha_expand_builtin_establish_vms_condition_handler): New expander.
(alpha_expand_builtin_revert_vms_condition_handler): New expander.
(enum alpha_builtin): New ALPHA_BUILTIN_REVERT_VMS_CONDITION_HANDLER
and ALPHA_BUILTIN_ESTABLISH_VMS_CONDITION_HANDLER values.
(code_for_builtin): New insn codes for the new alpha_builtins.
(alpha_init_builtins): Register the new functions as BUILT_IN_MD.
(alpha_sa_size): Account for uses_condition_handler.
(alpha_expand_prologue): Likewise.
(alpha_start_function): Likewise.
(alpha_expand_epilogue): Likewise.
* config/alpha/alpha-protos.h: Prototype the new alpha.c builtin
establish/revert expanders.
* config/alpha/alpha.h (DWARF_FRAME_REGNUM): Define.
* config/alpha/alpha.md (builtin_establish_vms_condition_handler):
New expander, resorting to the alpha.c associated function.
(builtin_revert_vms_condition_handler): Likewise.
* config/alpha/vms-gcc_shell_handler.c: New file. Implements
__gcc_shell_handler, the static VMS condition handler used as
an indirection wrapper to the current dynamically established
handler.
* config/alpha/vms-unwind.h: Complete rewrite.
* config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms-gcc_shell_handler.c
* config/alpha/vms.h (MD_UNWIND_SUPPORT):

Co-Authored-By: Douglas B Rupp <rupp@gnat.com>
From-SVN: r150612

14 years agoalpha.c (alpha_links): Add 'target' field.
Eric Botcazou [Mon, 10 Aug 2009 04:12:45 +0000 (04:12 +0000)]
alpha.c (alpha_links): Add 'target' field.

* config/alpha/alpha.c (alpha_links): Add 'target' field.
(alpha_need_linkage): Handle aliases.  Return function symbol.
(alpha_use_linkage): Rename 'linkage' argument to 'func'.
Use ultimate alias target for the linkage name.
* config/alpha/alpha.md (movmemdi): Use the symbol returned
by alpha_need_linkage for the function symbol.
(setmemdi): Likewise.

Co-Authored-By: Douglas B Rupp <rupp@gnat.com>
From-SVN: r150611

14 years agoalpha.c (TARGET_ASM_UNALIGNED_*_OP): Define if on VMS.
Douglas B Rupp [Mon, 10 Aug 2009 04:05:54 +0000 (04:05 +0000)]
alpha.c (TARGET_ASM_UNALIGNED_*_OP): Define if on VMS.

* config/alpha/alpha.c (TARGET_ASM_UNALIGNED_*_OP): Define if on VMS.
* config/alpha/vms.h (OBJECT_FORMAT_ELF): Define.
(ASM_WEAKEN_LABEL): Define.
(CRT_CALL_STATIC_FUNCTION): Define.
(STARTFILE_SPEC): Add crtbegin.o crtbeginS.o.
(ENDFILE_SPEC): Define.
(INIT_SECTION_ASM_OP): Define.
* config/alpha/vms-dwarf2eh.asm (__EH_FRAME_BEGIN__): Remove.
* config/alpha/t-vms (EXTRA_PARTS): Add crtbegin.o crtbeginS.o
crtend.o crtendS.o.
(MULTILIB_OSDIRNAMES): Define.
(shlib_version): Define.
(SHLIB_EXT): Define.
(SHLIB_OBJS): Define.
(SHLIB_NAME): Define.
(SHLIB_MULTILIB): Define.
(SHLIB_INSTALL): Define.
(SHLIB_SYMVEC): Define.
(SHLIB_SYMVECX2): Define.
(SHLIB_LINK): Define.

From-SVN: r150610

14 years agoalpha.c (alpha_initialize_trampoline): Initialize VMS trampoline IAW ABI for bounded...
Douglas B Rupp [Mon, 10 Aug 2009 03:56:39 +0000 (03:56 +0000)]
alpha.c (alpha_initialize_trampoline): Initialize VMS trampoline IAW ABI for bounded procedure calls.

* config/alpha/alpha.c (alpha_initialize_trampoline):
Initialize VMS trampoline IAW ABI for bounded procedure calls.
(alpha_start_function): Emit transfer address on nested functions
for VMS trampoline call.
* config/alpha/t-vms (LIB2FUNCS_EXTRA): Remove vms_tramp.asm
since no longer used.
* config/alpha/vms-tramp.asm: Remove.
* config/alpha/vms.h (TRAMPOLINE_TEMPLATE): Leave undefined
since now only data initialized at runtime.

From-SVN: r150609

14 years agovms.h (HANDLE_SYSV_PRAGMA): Define.
Douglas B Rupp [Mon, 10 Aug 2009 03:26:59 +0000 (03:26 +0000)]
vms.h (HANDLE_SYSV_PRAGMA): Define.

* config/alpha/vms.h (HANDLE_SYSV_PRAGMA): Define.
(LINK_GCC_C_SEQUENCE_SPEC): Define.
(MD_EXEC_PREFIX): Remove, no longer used.
(MD_STARTFILE_PREFIX): Likewise.
(INCLUDE_DEFAULTS): Likewise.
* config/alpha/t-vms:
(vms-dwarf2.o, vms-dwarf2eh.o): Use GCC_FOR_TARGET to compile.

From-SVN: r150608

14 years agoDaily bump.
GCC Administrator [Mon, 10 Aug 2009 00:16:46 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r150603

14 years agore PR tree-optimization/41016 (ICE in build_int_cst_wide with -O1)
Richard Guenther [Sun, 9 Aug 2009 20:10:41 +0000 (20:10 +0000)]
re PR tree-optimization/41016 (ICE in build_int_cst_wide with -O1)

2009-08-09  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/41016
* tree-ssa-ifcombine.c (get_name_for_bit_test): Fix tuplification
bug.
(operand_precision): Remove.
(integral_operand_p): Likewise.
(recognize_single_bit_test): Adjust.

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

From-SVN: r150595

14 years agoc-common.c (c_fully_fold_internal): Issue a warning if a binary operation overflows.
Richard Sandiford [Sun, 9 Aug 2009 18:38:04 +0000 (18:38 +0000)]
c-common.c (c_fully_fold_internal): Issue a warning if a binary operation overflows.

gcc/
* c-common.c (c_fully_fold_internal): Issue a warning if a binary
operation overflows.  Likewise non-cast unary arithmetic.
If one arm of a conditional expression is always taken,
inhibit evaluation warnings for the other arm.  Likewise inhibit
evaluation warnings for the second && or || operand if the first
operand is enough to determine the result.
* c-typeck.c (build_conditional_expr): Apply the same inhibition
rules here.
(build_binary_op): Prevent duplicate evaluation warnings.

gcc/testsuite/
* gcc.dg/overflow-warn-8.c: New test.

From-SVN: r150594

15 years agotree-out-of-ssa.c (insert_value_copy_on_edge): If the source and destination have...
Richard Sandiford [Sun, 9 Aug 2009 15:56:27 +0000 (15:56 +0000)]
tree-out-of-ssa.c (insert_value_copy_on_edge): If the source and destination have different modes...

gcc/
* tree-out-of-ssa.c (insert_value_copy_on_edge): If the source
and destination have different modes, Use promote_mode to
determine the signedness of the conversion.  Assert that the
promoted source mode matches the destination mode.  Don't pass
the destination and destination mode to expand_expr if the source
mode is different.  Simplify conversion logic.

From-SVN: r150592

15 years agore PR tree-optimization/41008 (ICE in vect_is_simple_reduction, at tree-vect-loop...
Ira Rosen [Sun, 9 Aug 2009 12:13:19 +0000 (12:13 +0000)]
re PR tree-optimization/41008 (ICE in vect_is_simple_reduction, at tree-vect-loop.c:1708)

PR tree-optimization/41008
* tree-vect-loop.c (vect_is_simple_reduction): Get operands
from condition only in case it's a comparison. Adjust checks.

From-SVN: r150591

15 years agore PR libfortran/40549 (Building libgfortran as a DLL)
Francois-Xavier Coudert [Sun, 9 Aug 2009 11:02:08 +0000 (11:02 +0000)]
re PR libfortran/40549 (Building libgfortran as a DLL)

PR libfortran/40549
* Makefile.in (LTLDFLAGS): Add -no-undefined.
* Makefile.am: Regenerate.
* libgfortran.h: Remove unused block of code.

From-SVN: r150590

15 years agore PR fortran/40955 (STDCALL attributes are not saved in the .MOD files)
Tobias Burnus [Sun, 9 Aug 2009 08:35:36 +0000 (10:35 +0200)]
re PR fortran/40955 (STDCALL attributes are not saved in the .MOD files)

2009-08-05  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40955
        * gfortran.h (ext_attr_id_t): Add typedef for this enum.
        (gfc_add_ext_attribute): Use it.
        * decl.c (gfc_match_gcc_attributes): Ditto.
        * expr.c (gfc_check_pointer_assign): Ditto.
        * symbol.c (gfc_add_ext_attribute): Ditto.
        (gfc_copy_attr): Copy also ext_attr.
        * resolve.c (resolve_fl_derived,resolve_symbol): Ditto.
        * module.c (mio_symbol_attribute): Save ext_attr in the mod
        * file.

2009-08-05  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40955
        * gfortran.dg/module_md5_1.f90: Update MD5 check sum.

From-SVN: r150589

15 years agotree-dfa.c (renumber_gimple_stmt_uids_in_blocks): New function.
Bernd Schmidt [Sun, 9 Aug 2009 07:59:12 +0000 (07:59 +0000)]
tree-dfa.c (renumber_gimple_stmt_uids_in_blocks): New function.

* tree-dfa.c (renumber_gimple_stmt_uids_in_blocks): New function.
* tree-flow.h (renumber_gimple_stmt_uids_in_blocks): Declare it.
* tree-ssa-loop-ivopts.c (comp_cost): Make COST an integer.
(enum iv_position): Add IP_AFTER_USE and IP_BEFORE_USE.
(dump_cand): Handle them.
(struct iv_cand): New members COST_STEP and AINC_USE.
(stmt_after_increment): Likewise.
(stmt_after_inc_pos): Renamed from stmt_after_ip_original_pos.  All
callers changed.  Use gimple_uid comparison instead of scanning.
(add_candidate_1): When looking for identical candidates, take
AINC_USE into account.  Set it for new candidates.
(force_expr_to_var_cost): Cast target_spill_cost to int.
(get_address_cost): New arguments STMT_AFTER_INC and MAY_AUTOINC.
All callers changed.  Check for availability of autoinc addressing
modes, both in general for a given mode, and in the specific use
case.
(get_computation_cost_at): New argument CAN_AUTOINC.  All callers
changed.
(get_computation_cost): Likewise.
(autoinc_possible_for_pair, set_autoinc_for_original_candidates,
add_autoinc_candidates): New static functions.
(add_candidate): Call add_autoinc_candidates for candidates based on
a USE_ADDRESS use.
(find_iv_candidates): Call set_autoinc_for_original_candidates.
(determine_use_iv_cost_address): If we have an autoinc candidate at
the matching use, verify autoinc is possible and subtract the cost
of the candidate's step from the cost.
(determine_iv_cost): Record the cost of the increment in the COST_STEP
member of the candidate.
(tree_ssa_iv_optimize_loop): Swap the calls to determine_iv_costs and
determine_use_iv_costs.  Call renumber_gimple_stmt_uids_in_blocks.

testsuite/
* gcc.target/bfin/loop-autoinc.c: New file.

From-SVN: r150588

15 years agoconfig.build (ia64-hp-*vms*): New target.
Douglas B Rupp [Sun, 9 Aug 2009 07:05:11 +0000 (07:05 +0000)]
config.build (ia64-hp-*vms*): New target.

* config.build (ia64-hp-*vms*): New target.
(alpha64-dec-*vms*,alpha*-dec-*vms*): Fix for config/vms and unify
with ia64-hp-*vms*.
* config.gcc (ia64-hp-*vms*): New target.
(alpha64-dec-*vms*,alpha*-dec-*vms*): Fix for config/vms and unify
with ia64-hp-*vms*.
* config.host (ia64-hp-*vms*): New target.
(alpha64-dec-*vms*,alpha*-dec-*vms*): Fix for config/vms and unify
with ia64-hp-*vms*.
* libgcc/config.host (ia64-hp-*vms*): New target.
(alpha64-dec-*vms*,alpha*-dec-*vms*): Fix for config/vms and unify
with ia64-hp-*vms*.

From-SVN: r150587

15 years agoDaily bump.
GCC Administrator [Sun, 9 Aug 2009 00:17:07 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r150584

15 years agore PR tree-optimization/40991 (ICE: at optimization -02)
Richard Guenther [Sat, 8 Aug 2009 15:32:36 +0000 (15:32 +0000)]
re PR tree-optimization/40991 (ICE: at optimization -02)

2009-08-08  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/40991
* tree-ssa-pre.c (eliminate): Delay purging EH edges.

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

From-SVN: r150580

15 years agoimpdef.a: Tweak timing constants.
Laurent GUERBY [Sat, 8 Aug 2009 11:35:44 +0000 (11:35 +0000)]
impdef.a: Tweak timing constants.

2009-08-08  Laurent GUERBY  <laurent@guerby.net>

        * ada/acats/support/impdef.a: Tweak timing constants. Add
        Long_Minimum_Task_Switch and Long_Switch_To_New_Task.
        * ada/acats/tests/c9/c940005.a: Use new timing constants.
        * ada/acats/tests/c9/c940007.a: Likewise.
        * ada/acats/tests/c9/c94001c.ada: Likewise.
        * ada/acats/tests/c9/c94006a.ada: Likewise.
        * ada/acats/tests/c9/c94008c.ada: Likewise.
        * ada/acats/tests/c9/c951002.a: Likewise.
        * ada/acats/tests/c9/c954a01.a: Likewise.
        * ada/acats/tests/c9/c96001a.ada: Likewise.
        * ada/acats/tests/c9/c97307a.ada: Likewise.

From-SVN: r150579

15 years agocombine.c (gen_lowpart_or_truncate): Exclude CONST_INTs from mode check.
Richard Sandiford [Sat, 8 Aug 2009 08:32:24 +0000 (08:32 +0000)]
combine.c (gen_lowpart_or_truncate): Exclude CONST_INTs from mode check.

gcc/
* combine.c (gen_lowpart_or_truncate): Exclude CONST_INTs from
mode check.  Do truncations in an integer mode.
(force_to_mode): Handle subregs for all mode types.  Only do
arithmetic simplifications on integer modes.

From-SVN: r150578

15 years agoDaily bump.
GCC Administrator [Sat, 8 Aug 2009 00:16:56 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r150577

15 years agore PR tree-optimization/40999 (ICE in extract_component, at tree-complex.c:625)
Richard Guenther [Fri, 7 Aug 2009 17:02:43 +0000 (17:02 +0000)]
re PR tree-optimization/40999 (ICE in extract_component, at tree-complex.c:625)

2009-08-07  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/40999
* tree-ssa-ccp.c (get_symbol_constant_value): Handle CONST_DECLs.
(maybe_fold_reference): Lookup constant initializers.
(fold_gimple_assign): Likewise.

* gfortran.dg/pr40999.f: New testcase.

From-SVN: r150572

15 years agore PR c++/39987 (Rejects default argument that is a template via access failure)
Dodji Seketeli [Fri, 7 Aug 2009 13:13:12 +0000 (15:13 +0200)]
re PR c++/39987 (Rejects default argument that is a template via access failure)

2009-08-07  Dodji Seketeli  <dodji@redhat.com>

PR c++/39987
* gcc/testsuite/g++.dg/overload/defarg4.C: Oops, forgot to add
the testcase.

From-SVN: r150568

15 years agohash.cc (hash<string>::operator()(string), hash<wstring>::operator()(wstring)): Do...
Paolo Carlini [Fri, 7 Aug 2009 10:13:44 +0000 (10:13 +0000)]
hash.cc (hash<string>::operator()(string), hash<wstring>::operator()(wstring)): Do not decorate as throwing nothing.

2009-08-07  Paolo Carlini  <paolo.carlini@oracle.com>

* src/hash.cc (hash<string>::operator()(string),
hash<wstring>::operator()(wstring)): Do not decorate as throwing
nothing.
* include/bits/functional_hash.h (hash<error_code>::
operator()(error_code)): Likewise.

From-SVN: r150566

15 years agoexp_ch7.adb (Wrap_Transient_Expression): Add missing adjustment of SCIL node.
Javier Miranda [Fri, 7 Aug 2009 09:58:18 +0000 (09:58 +0000)]
exp_ch7.adb (Wrap_Transient_Expression): Add missing adjustment of SCIL node.

2009-08-07  Javier Miranda  <miranda@adacore.com>

* exp_ch7.adb (Wrap_Transient_Expression): Add missing adjustment of
SCIL node.

From-SVN: r150565

15 years ago[multiple changes]
Arnaud Charlet [Fri, 7 Aug 2009 09:55:42 +0000 (11:55 +0200)]
[multiple changes]

2009-08-07  Robert Dewar  <dewar@adacore.com>

* sem_warn.adb (Warn_On_Unreferenced_Entity): Fix obvious typo.

2009-08-07  Vincent Celier  <celier@adacore.com>

* gnatcmd.adb (GNATCmd): If -U is not used, one and only one main is
specified on the command line and there are switches in the Compiler
package of the project file, use these compilation switches to invoke
the tool.

2009-08-07  Ben Brosgol  <brosgol@adacore.com>

* gnat_ugn.texi: Wordsmithing edits at beginning of gnatcheck chapter.

2009-08-07  Ed Schonberg  <schonberg@adacore.com>

* sem_ch10.adb (Analyze_Proper_Body): Indicate name of missing subunit
even if not in main unit, to simplify debugging.

2009-08-07  Arnaud Charlet  <charlet@adacore.com>

* gcc-interface/Makefile.in: Fix handling of GCC_FOR_TARGET.
* gcc-interface/Make-lang.in: Update dependencies.

From-SVN: r150564

15 years ago[multiple changes]
Arnaud Charlet [Fri, 7 Aug 2009 09:42:01 +0000 (11:42 +0200)]
[multiple changes]

2009-08-07  Robert Dewar  <dewar@adacore.com>

* types.ads: Minor reformatting
* sem_ch12.ads (Check_Generic_Child_Unit): Add missing documentation.
* frontend.adb, sem_warn.adb, sem_warn.ads: Fix spelling of
Output_Non_Modified_In_Out_Warnings.
* sem_ch13.adb: Remove ??? comment.

2009-08-07  Vincent Celier  <celier@adacore.com>

* mlib-prj.adb (Build_Library): Include binder generate object file
for SAL when library name is only one character.

From-SVN: r150563

15 years ago[multiple changes]
Arnaud Charlet [Fri, 7 Aug 2009 09:29:01 +0000 (11:29 +0200)]
[multiple changes]

2009-08-07  Thomas Quinot  <quinot@adacore.com>

* targparm.adb: Minor reformatting
* sem.adb: Minor reformatting
* exp_ch4.adb (Expand_N_Conditional_Expression): Add comment.

2009-08-07  Emmanuel Briot  <briot@adacore.com>

* prj-conf.adb: Remove duplicate directory separator in the output when
an object directory does not exist.

2009-08-07  Robert Dewar  <dewar@adacore.com>

* exp_util.adb: Minor reformatting

2009-08-07  Vincent Celier  <celier@adacore.com>

* mlib-prj.adb (Build_Library): Fixed bug in name of ALI file (wrong
length used).

2009-08-07  Ed Schonberg  <schonberg@adacore.com>

* exp_ch9.adb (Expand_N_Protected_Type_Declaration): In Ravenscar mode,
detect non-static private components that will violate restriction
No_Implicit_Heap_Allocation.

2009-08-07  Ben Brosgol  <brosgol@adacore.com>

* gnat_ugn.texi: Edited Rule Exemption section of gnatcheck chapter.

From-SVN: r150562

15 years agodwarf2out.c (output_fde): When doing hot/cold partitioning...
Jakub Jelinek [Fri, 7 Aug 2009 09:10:13 +0000 (11:10 +0200)]
dwarf2out.c (output_fde): When doing hot/cold partitioning...

* dwarf2out.c (output_fde): When doing hot/cold partitioning, use
fde->dw_fde_begin as begin label instead of hot/cold label.
Use LLSDAC label instead of LLSDA for second section lsda.
(dwarf2out_do_cfi_startproc): Add SECOND argument.  Use LLSDAC
label instead of LLSDA if it is true.
(dwarf2out_begin_prologue, dwarf2out_switch_text_section): Adjust
callers.
* except.c (add_call_site, dw2_size_of_call_site_table): Add
SECTION argument.  Use it as index into crtl->eh.call_site_record
array.
(dw2_output_call_site_table): Likewise.  Add CS_FORMAT argument,
use it to determine how to print table entries instead of using
#ifdef HAVE_AS_LEB128.  For SECTION > 0 use hot resp. cold
label instead of normal begin label as base.
(sjlj_assign_call_site_values): Adjust add_call_site caller.
(convert_to_eh_region_ranges): When doing hot/cold partitioning,
ensure no EH range spans between sections and that landing pads
are always in the corresponding section.
(sjlj_size_of_call_site_table, sjlj_output_call_site_table): Adjust
for crtl->eh.call_site_record being an array rather than scalar.
(output_one_function_exception_table): New function, copied
from output_function_exception_table.  Adjust
dw2_size_of_call_site_table, dw2_output_call_site_table
callers.  For SECOND section use *C suffixed labels.
(output_function_exception_table): Call
output_one_function_exception_table and, when doing hot/cold
partitioning, also another time for the second section.
* opts.c: Include except.h.
(decode_options): Allow -freorder-blocks-and-partition with
exceptions, unless SJLJ or TARGET_UNWIND_INFO.
* Makefile.in (opts.o): Depend on $(EXCEPT_H).
* function.h (struct rtl_eh): Change call_site_record from
scalar into array of 2 elements.

* g++.dg/tree-prof/partition1.C: New test.

From-SVN: r150560

15 years agotree-ssa.c (useless_type_conversion_p_1): Only for types that require structural...
Richard Guenther [Fri, 7 Aug 2009 08:54:53 +0000 (08:54 +0000)]
tree-ssa.c (useless_type_conversion_p_1): Only for types that require structural equality defer to the langhook.

2009-08-07  Richard Guenther  <rguenther@suse.de>

* tree-ssa.c (useless_type_conversion_p_1): Only for types
that require structural equality defer to the langhook.

From-SVN: r150559

15 years agoipa-prop.h (enum jump_func_type): New value IPA_JF_ANCESTOR, changed comments.
Martin Jambor [Fri, 7 Aug 2009 07:15:41 +0000 (09:15 +0200)]
ipa-prop.h (enum jump_func_type): New value IPA_JF_ANCESTOR, changed comments.

2009-08-07  Martin Jambor  <mjambor@suse.cz>

* ipa-prop.h (enum jump_func_type): New value IPA_JF_ANCESTOR, changed
comments.
(struct ipa_pass_through_data): New type.
(struct ipa_ancestor_jf_data): New type.
(union jump_func_value): Removed field formal_id, added fields
pass_through and ancestor.
(struct ipa_param_call_note): Changed type of formal_id to int from
unsigned.
* ipa-prop.c (ipa_print_node_jump_functions): Print pass through with
operations jump functions and ancestor jump functions.
(compute_complex_pass_through): New function.
(compute_scalar_jump_functions): Call compute_complex_pass_through,
reflect changes in the jump function strucutre.
(update_jump_functions_after_inlining): Ignore complex pass-through
and ancestor jump functions.
* ipa-cp.c (ipcp_lattice_from_jfunc): Added support for ancestor and
polynomial pass-through with operation jump functions.

From-SVN: r150554

15 years agodwarf2out.c (output_fde): When doing hot/cold partitioning...
Jakub Jelinek [Fri, 7 Aug 2009 06:23:42 +0000 (08:23 +0200)]
dwarf2out.c (output_fde): When doing hot/cold partitioning...

* dwarf2out.c (output_fde): When doing hot/cold partitioning, use
fde->dw_fde_begin as begin label instead of hot/cold label.
Use LLSDAC label instead of LLSDA for second section lsda.
(dwarf2out_do_cfi_startproc): Add SECOND argument.  Use LLSDAC
label instead of LLSDA if it is true.
(dwarf2out_begin_prologue, dwarf2out_switch_text_section): Adjust
callers.
* except.c (add_call_site, dw2_size_of_call_site_table): Add
SECTION argument.  Use it as index into crtl->eh.call_site_record
array.
(dw2_output_call_site_table): Likewise.  Add CS_FORMAT argument,
use it to determine how to print table entries instead of using
#ifdef HAVE_AS_LEB128.  For SECTION > 0 use hot resp. cold
label instead of normal begin label as base.
(sjlj_assign_call_site_values): Adjust add_call_site caller.
(convert_to_eh_region_ranges): When doing hot/cold partitioning,
ensure no EH range spans between sections and that landing pads
are always in the corresponding section.
(sjlj_size_of_call_site_table, sjlj_output_call_site_table): Adjust
for crtl->eh.call_site_record being an array rather than scalar.
(output_one_function_exception_table): New function, copied
from output_function_exception_table.  Adjust
dw2_size_of_call_site_table, dw2_output_call_site_table
callers.  For SECOND section use *C suffixed labels.
(output_function_exception_table): Call
output_one_function_exception_table and, when doing hot/cold
partitioning, also another time for the second section.
* opts.c: Include except.h.
(decode_options): Allow -freorder-blocks-and-partition with
exceptions, unless SJLJ or TARGET_UNWIND_INFO.
* Makefile.in (opts.o): Depend on $(EXCEPT_H).
* function.h (struct rtl_eh): Change call_site_record from
scalar into array of 2 elements.

* g++.dg/tree-prof/partition1.C: New test.

From-SVN: r150553

15 years agoipa-prop.c (count_formal_params_1): New function.
Martin Jambor [Fri, 7 Aug 2009 00:51:34 +0000 (02:51 +0200)]
ipa-prop.c (count_formal_params_1): New function.

2009-08-07  Martin Jambor  <mjambor@suse.cz>

* ipa-prop.c (count_formal_params_1): New function.
(ipa_get_vector_of_formal_parms): New function.
(get_vector_of_formal_parm_types): New function.
(ipa_modify_formal_parameters): New function.
(ipa_modify_call_arguments): New function.
(index_in_adjustments_multiple_times_p): New function.
(ipa_combine_adjustments): New function.
(ipa_dump_param_adjustments): New function.

* ipa-prop.h (struct ipa_parm_adjustment): New type.
(ipa_get_vector_of_formal_parms): Declare.
(ipa_modify_formal_parameters): Declare.
(ipa_modify_call_arguments): Declare.
(ipa_combine_adjustments): Declare.
(ipa_dump_param_adjustments): Declare.
(build_ref_for_offset): Declare.

* Makefile.in (tree-sra.o): Add ipa-prop.h to dependencies.

* tree-sra.c: Include ipa-prop.c.
(build_ref_for_offset): Make public.

From-SVN: r150551

15 years agoDaily bump.
GCC Administrator [Fri, 7 Aug 2009 00:17:09 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r150550

15 years ago2009-08-06 Thomas Schwinge <tschwinge@gnu.org>
Thomas Schwinge [Thu, 6 Aug 2009 22:02:34 +0000 (00:02 +0200)]
2009-08-06  Thomas Schwinge  <tschwinge@gnu.org>

* gcc/doc/extend.texi (__builtin_extract_return_address)
(__builtin_frob_return_address): Document.

From-SVN: r150546

15 years agolib1funcs.asm (ARM_DIV_BODY): Add Thumb-2 implementation.
Paul Brook [Thu, 6 Aug 2009 21:05:42 +0000 (21:05 +0000)]
lib1funcs.asm (ARM_DIV_BODY): Add Thumb-2 implementation.

* config/arm/lib1funcs.asm (ARM_DIV_BODY): Add Thumb-2 implementation.
(udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Only use Thumb-1
implementation on ARMv6-M.

From-SVN: r150545

15 years ago* value-prof.c (init_pid_map): Replace xmalloc with XCNEWVEC.
Neil Vachharajani [Thu, 6 Aug 2009 20:45:26 +0000 (20:45 +0000)]
* value-prof.c (init_pid_map): Replace xmalloc with XCNEWVEC.

From-SVN: r150544

15 years ago* MAINTAINERS: Add my name to Write After Approval list.
Neil Vachharajani [Thu, 6 Aug 2009 20:27:41 +0000 (20:27 +0000)]
* MAINTAINERS: Add my name to Write After Approval list.

From-SVN: r150541

15 years agocompatibility.cc: Make C++0x safe, add in explicit casts to bool for stream sentry...
Benjamin Kosnik [Thu, 6 Aug 2009 19:33:33 +0000 (19:33 +0000)]
compatibility.cc: Make C++0x safe, add in explicit casts to bool for stream sentry objects.

2009-08-06  Benjamin Kosnik  <bkoz@redhat.com>

* src/compatibility.cc: Make C++0x safe, add in explicit casts to
        bool for stream sentry objects.
        * include/bits/istream.tcc: Same.
        * include/bits/ostream.tcc: Same.
        * include/bits/basic_string.tcc: Same.
* include/bits/ostream_insert.h: Same.
        * src/istream.cc: Same.

From-SVN: r150539

15 years agoabitest.h: Allow the test function to have a PCS attribute.
Richard Earnshaw [Thu, 6 Aug 2009 18:15:19 +0000 (18:15 +0000)]
abitest.h: Allow the test function to have a PCS attribute.

* gcc.target/arm/abitest.h: Allow the test function to have a PCS
attribute.
* gcc.target/arm/vfp1[567].c: New tests.

From-SVN: r150536

15 years agoconfigure.ac: Add Microblaze target.
Michael Eager [Thu, 6 Aug 2009 17:48:24 +0000 (17:48 +0000)]
configure.ac: Add Microblaze target.

        * configure.ac: Add Microblaze target.
        * configure: Regenerate.

From-SVN: r150535

15 years ago* doc/extend.texi (pcs): Document new attribute for ARM.
Richard Earnshaw [Thu, 6 Aug 2009 16:47:57 +0000 (16:47 +0000)]
* doc/extend.texi (pcs): Document new attribute for ARM.

From-SVN: r150531

15 years agoarm.c (pcs_attribute_args): Comment out unsupported attribute variants.
Richard Earnshaw [Thu, 6 Aug 2009 16:31:02 +0000 (16:31 +0000)]
arm.c (pcs_attribute_args): Comment out unsupported attribute variants.

* arm.c (pcs_attribute_args): Comment out unsupported attribute
variants.

From-SVN: r150530

15 years agore PR c++/40948 (ICE in lower_stmt, at gimple-low.c:408)
Jason Merrill [Thu, 6 Aug 2009 16:25:19 +0000 (12:25 -0400)]
re PR c++/40948 (ICE in lower_stmt, at gimple-low.c:408)

PR c++/40948
* init.c (build_vec_init): Evaluate the initializer before
starting the initialization try block.

From-SVN: r150529

15 years agoarm.c (arm_handle_pcs_attribute): Pass the entire name object to warning ().
Richard Earnshaw [Thu, 6 Aug 2009 16:19:14 +0000 (16:19 +0000)]
arm.c (arm_handle_pcs_attribute): Pass the entire name object to warning ().

* arm.c (arm_handle_pcs_attribute): Pass the entire name object to
warning ().

From-SVN: r150528

15 years ago* arm.c (arm_handle_pcs_attribute): Use %qE in warning.
Richard Earnshaw [Thu, 6 Aug 2009 15:14:56 +0000 (15:14 +0000)]
* arm.c (arm_handle_pcs_attribute): Use %qE in warning.

From-SVN: r150527

15 years agoFix merge botch -- this changelog should have been merged.
Richard Earnshaw [Thu, 6 Aug 2009 14:30:22 +0000 (14:30 +0000)]
Fix merge botch -- this changelog should have been merged.

From-SVN: r150526

15 years agoMerge ARM/hard_vfp_branch to trunk
Richard Earnshaw [Thu, 6 Aug 2009 14:27:45 +0000 (14:27 +0000)]
Merge ARM/hard_vfp_branch to trunk

From-SVN: r150525

15 years agore PR middle-end/32964 (union cause inefficient code inside loops)
Martin Jambor [Thu, 6 Aug 2009 11:55:30 +0000 (13:55 +0200)]
re PR middle-end/32964 (union cause inefficient code inside loops)

2009-08-06  Martin Jambor  <mjambor@suse.cz>

PR middle-end/32964
* testsuite/gcc.dg/tree-ssa/pr32964.c: New test.

From-SVN: r150523

15 years agore PR target/40957 (standard_sse_constant_opcode crash on x86 64)
Uros Bizjak [Thu, 6 Aug 2009 11:43:38 +0000 (13:43 +0200)]
re PR target/40957 (standard_sse_constant_opcode crash on x86 64)

PR target/40957
* config/i386/i386.c (standard_sse_mode_p): Remove.
(standard_sse_constant_p): Return 2 for integer mode
vector_all_ones_operand when SSE2 is enabled.
(standard_sse_constant_opcode)<case 2>: Always return [v]pcmpeqd.
(ix86_expand_vector_move): Do not check for negative values from
standard_sse_constant_p.

testsuite/ChangeLog:

PR target/40957
* gcc.target/i386/pr40957: New test.

Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>
From-SVN: r150520

15 years agotree-ssa.c (useless_type_conversion_p_1): Make function and array type comparisons...
Richard Guenther [Thu, 6 Aug 2009 11:31:20 +0000 (11:31 +0000)]
tree-ssa.c (useless_type_conversion_p_1): Make function and array type comparisons frontend independent.

2009-08-06  Richard Guenther  <rguenther@suse.de>

* tree-ssa.c (useless_type_conversion_p_1): Make function and
array type comparisons frontend independent.
* Makefile.in (tree-ssa.o): Add $(TARGET_H) dependency.
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Always fill
out array reference lower bound and element size operands.
(ao_ref_init_from_vn_reference): Properly compute the offset
for ARRAY_RANGE_REF.
(vn_reference_fold_indirect): Fill out array reference lower
bound and element size operands.
* tree-ssa-pre.c (phi_translate_1): Fail if we have to translate
a non gimple valued reference operand which can happen for
array reference lower bound or element size.
(create_component_ref_by_pieces_1): Properly generate the
element size operand for array references.

From-SVN: r150519

15 years agore PR middle-end/40964 (ICE in insert_vi_for_tree)
Richard Biener [Thu, 6 Aug 2009 11:29:45 +0000 (11:29 +0000)]
re PR middle-end/40964 (ICE in insert_vi_for_tree)

2009-08-06  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/40964
* tree.c (iterative_hash_host_wide_int): Export.
* tree.h (iterative_hash_host_wide_int): Declare.
* tree-ssa-structalias.c (heapvar_map): New struct.
(heapvar_map_eq): New function.
(heapvar_map_hash): Likewise.
(heapvar_lookup): Adjust.
(heapvar_insert): Likewise.
(make_constraint_from_heapvar): Allow multiple heap variables
per decl at different offsets.
(init_alias_heapvars): Adjust.

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

From-SVN: r150518

15 years agore PR middle-end/40964 (ICE in insert_vi_for_tree)
Richard Biener [Thu, 6 Aug 2009 11:29:13 +0000 (11:29 +0000)]
re PR middle-end/40964 (ICE in insert_vi_for_tree)

2009-08-06  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/40964
* tree.c (iterative_hash_host_wide_int): Export.
* tree.h (iterative_hash_host_wide_int): Declare.
* tree-ssa-structalias.c (heapvar_map): New struct.
(heapvar_map_eq): New function.
(heapvar_map_hash): Likewise.
(heapvar_lookup): Adjust.
(heapvar_insert): Likewise.
(make_constraint_from_heapvar): Allow multiple heap variables
per decl at different offsets.
(init_alias_heapvars): Adjust.

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

From-SVN: r150517

15 years ago* es.po: Update.
Joseph Myers [Thu, 6 Aug 2009 11:00:59 +0000 (12:00 +0100)]
* es.po: Update.

From-SVN: r150515

15 years agomips.h (TARGET_SYNC_AFTER_SC): New macro.
David Daney [Thu, 6 Aug 2009 05:27:40 +0000 (05:27 +0000)]
mips.h (TARGET_SYNC_AFTER_SC): New macro.

2009-08-04  David Daney  <ddaney@caviumnetworks.com>

* config/mips/mips.h (TARGET_SYNC_AFTER_SC): New macro.
* mips_output_sync_loop (mips_output_sync_loop): Only emit
trailing sync if TARGET_SYNC_AFTER_SC.

From-SVN: r150513

15 years agosync.md (sync_compare_and_swap<mode>, [...]): Rewrite calls to mips_output_sync_loop.
David Daney [Thu, 6 Aug 2009 05:24:25 +0000 (05:24 +0000)]
sync.md (sync_compare_and_swap<mode>, [...]): Rewrite calls to mips_output_sync_loop.

2009-08-05  David Daney  <ddaney@caviumnetworks.com>

* gcc/config/mips/sync.md (sync_compare_and_swap<mode>,
compare_and_swap_12, sync_add<mode>, sync_<optab>_12,
sync_old_<optab>_12, sync_new_<optab>_12, sync_nand_12,
sync_old_nand_12, sync_new_nand_12, sync_sub<mode>,
sync_old_add<mode>, sync_old_sub<mode>, sync_new_add<mode>,
sync_new_sub<mode>, sync_<optab><mode>, sync_old_<optab><mode>,
sync_new_<optab><mode>, sync_nand<mode>, sync_old_nand<mode>,
sync_new_nand<mode>, sync_lock_test_and_set<mode>,
test_and_set_12): Rewrite calls to mips_output_sync_loop.
* gcc/config/mips/mips-protos.h (mips_output_sync_loop): Make
the prototype declaration match the definition.
* gcc/config/mips/mips.c (mips_output_sync_loop):  Emit sync
instructions explicitly.  Add barrier_before and operands
parameters.
* gcc/config/mips/mips.h (MIPS_COMPARE_AND_SWAP,
MIPS_COMPARE_AND_SWAP_12, MIPS_SYNC_OP, MIPS_SYNC_OP_12,
MIPS_SYNC_OLD_OP_12, MIPS_SYNC_NEW_OP_12, MIPS_SYNC_OLD_OP,
MIPS_SYNC_NEW_OP, MIPS_SYNC_NAND, MIPS_SYNC_OLD_NAND,
MIPS_SYNC_NEW_NAND, MIPS_SYNC_EXCHANGE,
MIPS_SYNC_EXCHANGE_12): Remove sync instructions.

From-SVN: r150512

15 years agoDaily bump.
GCC Administrator [Thu, 6 Aug 2009 00:16:44 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r150508

15 years agore PR fortran/40969 (Revision 150465 failed gfortran.dg/c_by_val_1.f)
Tobias Burnus [Wed, 5 Aug 2009 20:47:19 +0000 (22:47 +0200)]
re PR fortran/40969 (Revision 150465 failed gfortran.dg/c_by_val_1.f)

2009-08-05  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40969
        Revert:
        2009-08-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40949
        * trans-types.c (gfc_get_function_type): Fix typelist of
        functions without argument.

From-SVN: r150500

15 years agotree-ssa-alias.c: Fix intervals to use [) syntax.
Andrew Pinski [Wed, 5 Aug 2009 17:20:33 +0000 (10:20 -0700)]
tree-ssa-alias.c: Fix intervals to use [) syntax.

2009-08-05  Andrew Pinski  <pinskia@gmail.com>

        * tree-ssa-alias.c: Fix intervals to use [) syntax.

From-SVN: r150496

15 years agofortran.exp: Add flags in case of shared only build.
Andreas Tobler [Wed, 5 Aug 2009 16:11:54 +0000 (16:11 +0000)]
fortran.exp: Add flags in case of shared only build.

2009-08-05  Andreas Tobler  <a.tobler@schweiz.org>

* testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
only build.

From-SVN: r150495

15 years agore PR fortran/40847 (segfault & bogus warning)
Paul Thomas [Wed, 5 Aug 2009 16:10:19 +0000 (16:10 +0000)]
re PR fortran/40847 (segfault & bogus warning)

2009-08-05  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/40847
* iresolve.c (gfc_resolve_transfer): Correct error in 'mold'
character length for case where length expresson is NULL.

2009-08-05  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/40847
* gfortran.dg/transfer_resolve_1.f90 : New test.

From-SVN: r150493

15 years ago* gcc.target/i386/pr40906-3.c: Run only on *-*-linux* targets.
Uros Bizjak [Wed, 5 Aug 2009 14:49:51 +0000 (16:49 +0200)]
* gcc.target/i386/pr40906-3.c: Run only on *-*-linux* targets.

From-SVN: r150488

15 years agore PR target/40906 (Wrong code generated for push of long double)
Uros Bizjak [Wed, 5 Aug 2009 14:41:54 +0000 (16:41 +0200)]
re PR target/40906 (Wrong code generated for push of long double)

PR target/40906
* config/i386/i386.c (ix86_split_long_move): Fix push of multi-part
source operand.

testsuite/ChangeLog:

PR target/40906
* gcc.target/i386/pr40906-1.c: New test.
* gcc.target/i386/pr40906-2.c: Ditto.
* gcc.target/i386/pr40906-3.c: Ditto.

Co-Authored-By: Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
From-SVN: r150486

15 years agore PR rtl-optimization/40924 (miscompiles with -O3 (seemingly related to attribute...
Jakub Jelinek [Wed, 5 Aug 2009 12:36:34 +0000 (14:36 +0200)]
re PR rtl-optimization/40924 (miscompiles with -O3 (seemingly related to attribute may_alias))

PR rtl-optimization/40924
* dse.c (canon_address): Before calling cselib_expand_value_rtx
make sure canon_rtx (mem_address) isn't simpler than
canon_rtx (expanded_mem_address).

* g++.dg/torture/pr40924.C: New test.

From-SVN: r150483

15 years agobuild alias set for drs in SCoP instead of in pbb.
Li Feng [Wed, 5 Aug 2009 07:37:36 +0000 (07:37 +0000)]
build alias set for drs in SCoP instead of in pbb.

2009-08-05  Li Feng  <nemokingdom@gmail.com>

    * graphite-sese-to-poly.c (build_pbb_drs): Remove build alias set
    for each poly_bb_p.
    (build_scop_drs): Build alias set for each SCoP.

From-SVN: r150478

15 years agoinvoke.texi (MIPS Options): Document new 1004K -march options.
Sandra Loosemore [Wed, 5 Aug 2009 00:46:07 +0000 (20:46 -0400)]
invoke.texi (MIPS Options): Document new 1004K -march options.

2009-08-04  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* doc/invoke.texi (MIPS Options): Document new 1004K -march options.
* config/mips/mips.c (mips_cpu_info_table): Add 1004K cores.
* config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Add pattern for 1004K.
(MIPS_ARCH_FLOAT_SPEC): Likewise.
(BASE_DRIVER_SELF_SPECS): Likewise.

From-SVN: r150475

15 years agoDaily bump.
GCC Administrator [Wed, 5 Aug 2009 00:16:44 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r150474

15 years agore PR c++/36069 (Strange "warning: suggest parentheses around assignment used as...
Manuel López-Ibáñez [Tue, 4 Aug 2009 23:51:07 +0000 (23:51 +0000)]
re PR c++/36069 (Strange "warning: suggest parentheses around assignment used as truth value" with volatile/non volatile bools)

2009-08-05  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c++/36069
cp/
* typeck.c (convert_for_assignment): Do not warn for any boolean
variant. Use explicit location.
testsuite/
* g++.dg/warn/pr36069.C: New.

From-SVN: r150471

15 years agotree-ssa-alias.c: Fix some comment typos.
Andrew Pinski [Tue, 4 Aug 2009 22:45:33 +0000 (15:45 -0700)]
tree-ssa-alias.c: Fix some comment typos.

2009-08-04  Andrew Pinski  <pinskia@gmail.com>

        * tree-ssa-alias.c: Fix some comment typos.

From-SVN: r150470

15 years agolinux-atomic.asm (ATOMIC_BOOL_COMPARE_AND_SWAP, [...]): Define.
Kaz Kojima [Tue, 4 Aug 2009 21:33:50 +0000 (21:33 +0000)]
linux-atomic.asm (ATOMIC_BOOL_COMPARE_AND_SWAP, [...]): Define.

* config/sh/linux-atomic.asm (ATOMIC_BOOL_COMPARE_AND_SWAP,
ATOMIC_OP_AND_FETCH, ATOMIC_COMBOP_AND_FETCH): Define.

From-SVN: r150469

15 years agore PR c++/39987 (Rejects default argument that is a template via access failure)
Dodji Seketeli [Tue, 4 Aug 2009 19:49:48 +0000 (19:49 +0000)]
re PR c++/39987 (Rejects default argument that is a template via access failure)

2009-08-04  Dodji Seketeli  <dodji@redhat.com>

gcc/cp/ChangeLog:
PR c++/39987
* pt.c (tsubst_default_argument): Let access checks of the
default argument happen in the context of the current function.

gcc/testsuite/ChangeLog:
PR c++/39987
* g++.dg/overload/defarg4.C: New test.

From-SVN: r150467

15 years agore PR fortran/40949 (FAIL: gfortran.dg/proc_ptr_7.f90)
Tobias Burnus [Tue, 4 Aug 2009 17:35:59 +0000 (19:35 +0200)]
re PR fortran/40949 (FAIL: gfortran.dg/proc_ptr_7.f90)

2009-08-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40949
        * trans-types.c (gfc_get_function_type): Fix typelist of
        functions without argument.

From-SVN: r150465

15 years agomutex.h (gomp_mutex_unlock): Add comment about needed memory barrier semantics.
David Daney [Tue, 4 Aug 2009 17:25:42 +0000 (17:25 +0000)]
mutex.h (gomp_mutex_unlock): Add comment about needed memory barrier semantics.

2009-08-04  David Daney  <ddaney@caviumnetworks.com>

* config/linux/mutex.h (gomp_mutex_unlock): Add comment about
needed memory barrier semantics.
* config/linux/mips/mutex.h: New file.

From-SVN: r150463

15 years agore PR c++/16696 (Strange message when operator++ not found)
Manuel López-Ibáñez [Tue, 4 Aug 2009 15:51:12 +0000 (15:51 +0000)]
re PR c++/16696 (Strange message when operator++ not found)

2009-08-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c++/16696
cp/
* call.c (build_new_op): Only try prefix operator if -fpermissive,
otherwise just error.
testsuite/
* g++.dg/parse/pr16696.C: New.
* g++.dg/parse/pr16696-permissive.C: New.

From-SVN: r150461

15 years ago* es.po: Update.
Joseph Myers [Tue, 4 Aug 2009 14:57:16 +0000 (15:57 +0100)]
* es.po: Update.

From-SVN: r150458

15 years agore PR libstdc++/15523 ([DR 408] Can't have vectors of vector::const_iterator)
Paolo Carlini [Tue, 4 Aug 2009 13:01:08 +0000 (13:01 +0000)]
re PR libstdc++/15523 ([DR 408] Can't have vectors of vector::const_iterator)

2009-08-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/15523
* include/debug/safe_iterator.h (_Safe_iterator<>::
_Safe_iterator(const _Safe_iterator&), _Safe_iterator<>::
operator=(const _Safe_iterator&)): Implement resolution of DR 408,
do not error out when the source is a value-initialized iterator.
* testsuite/23_containers/vector/15523.cc: New.
* doc/xml/manual/intro.xml: Add an entry for DR 408.

From-SVN: r150455

15 years agore PR fortran/40875 (ICE with illegal type conversion)
Paul Thomas [Tue, 4 Aug 2009 12:41:08 +0000 (12:41 +0000)]
re PR fortran/40875 (ICE with illegal type conversion)

2009-08-04  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/40875
* decl.c (add_init_expr_to_sym): Character symbols can only be
initialized with character expressions.

2009-08-04  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/40875
* gfortran.dg/initialization_23.f90 : New test.

From-SVN: r150454

15 years agore PR debug/39706 (namespaces represented incorrectly in debug_pubnames)
Dodji Seketeli [Tue, 4 Aug 2009 12:26:01 +0000 (12:26 +0000)]
re PR debug/39706 (namespaces represented incorrectly in debug_pubnames)

2009-08-04  Dodji Seketeli  <dodji@redhat.com>

gcc/cp/ChangeLog:
PR debug/39706
* error.c (lang_decl_name): Print qualified names for decls
in  namespace scope.

gcc/testsuite/ChangeLog:
PR debug/39706
* g++.dg/debug/dwarf2/pubnames-1.C: New test.

From-SVN: r150452

15 years agore PR c++/40948 (ICE in lower_stmt, at gimple-low.c:408)
Jason Merrill [Tue, 4 Aug 2009 02:10:05 +0000 (22:10 -0400)]
re PR c++/40948 (ICE in lower_stmt, at gimple-low.c:408)

PR c++/40948
* init.c (build_vec_init): Look through a TARGET_EXPR around a
CONSTRUCTOR.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r150394

15 years agoDaily bump.
GCC Administrator [Tue, 4 Aug 2009 00:17:05 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r150393

15 years agoistream (operator>>(basic_istream<>&&, _Tp&)): Minor cosmetic changes, inline.
Paolo Carlini [Mon, 3 Aug 2009 21:53:25 +0000 (21:53 +0000)]
istream (operator>>(basic_istream<>&&, _Tp&)): Minor cosmetic changes, inline.

2009-08-03  Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/istream (operator>>(basic_istream<>&&, _Tp&)): Minor
cosmetic changes, inline.
* include/std/ostream (operator<<(basic_ostream<>&&, const _Tp&)):
Likewise.
* include/bits/move.h: Minor cosmetic changes.

From-SVN: r150387