Arnaud Charlet [Fri, 6 Jan 2012 14:48:05 +0000 (15:48 +0100)]
[multiple changes]
2012-01-06 Robert Dewar <dewar@adacore.com>
* a-wichha.ads, a-wichun.ads, a-zchhan.ads, a-zchuni.ads,
s-utf_32.ads: Add pragma Pure
* s-utf_32.adb: Suppress warnings on non-static constants (now
that this is Pure).
2012-01-06 Bob Duff <duff@adacore.com>
* s-rpc.ads (Read, Write): Add overriding indicators.
2012-01-06 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Add documentation for conventions
Ada_Pass_By_Copy and Ada_Pass_By_Reference.
2012-01-06 Gary Dismukes <dismukes@adacore.com>
* a-tienio.adb (Put): Add exception message on
raise statements. Remove unneeded blocks and object declarations.
2012-01-06 Robert Dewar <dewar@adacore.com>
* sem_prag.adb: Minor reformatting.
2012-01-06 Ed Schonberg <schonberg@adacore.com>
* sinfo.ads, sinfo.adb (Has_Prefixed_Call): New flag to indicate
that a selected component within a generic unit has been resolved
as a prefixed call with local references.
* sem_ch3.adb (Is_Visible_Component): In an instance body a selected
component is always visible.
* sem_ch4.adb (Analyze_Selected_Component): If the node is a
prefixed call in an instance, do not look for visible components
of the type.
* sem_ch12.adb (Reset_Entity): If a selected component has resolved
to a prefixed call, mark the node accordingly when prefix and
selector are local references.
From-SVN: r182954
Arnaud Charlet [Fri, 6 Jan 2012 14:11:33 +0000 (14:11 +0000)]
c-decl.c (ext_block): Moved up.
* c-decl.c (ext_block): Moved up.
(collect_all_refs, for_each_global_decl): Take ext_block into account.
From-SVN: r182953
Tristan Gingold [Fri, 6 Jan 2012 13:43:03 +0000 (13:43 +0000)]
t-ia64 (LIB1ASMFUNCS): Move backward compatibility thunks...
2012-01-06 Tristan Gingold <gingold@adacore.com>
* config/ia64/t-ia64 (LIB1ASMFUNCS): Move backward
compatibility thunks...
(CUSTOM_CRTSTUFF, crtbegin.o, crtend.o)
(crtbeginS.o, crtendS.o): ... and these to ...
* config/ia64/t-ia64-elf: ... this new file.
* config.host (ia64*-*-elf*, ia64*-*-freebsd*, ia64*-*-linux*)
(ia64*-*-hpux*): Add ia64/t-ia64-elf in tmake_file.
From-SVN: r182952
Tobias Burnus [Fri, 6 Jan 2012 13:38:49 +0000 (14:38 +0100)]
2012-01-06 Tobias Burnus <burnus@net-b.de>
* trans-openmp.c (gfc_omp_clause_dtor,
* gfc_trans_omp_array_reduction):
Update call to gfc_trans_dealloc_allocated.
* trans.c (gfc_allocate_using_malloc): Fix spacing.
(gfc_allocate_allocatable): For gfc_allocate_using_lib, jump to
label_finish when an error occurs.
(gfc_deallocate_with_status): Call caf_deregister for -fcoarray=lib.
* trans.h (gfc_allocate_allocatable,
* gfc_deallocate_with_status):
Update prototype.
(gfor_fndecl_caf_deregister): New tree symbol.
* trans-expr.c (gfc_conv_procedure_call): Update
gfc_deallocate_with_status and gfc_trans_dealloc_allocated calls.
* trans-array.c (gfc_array_allocate,
* gfc_trans_dealloc_allocated,
structure_alloc_comps, gfc_trans_deferred_array): Ditto.
(gfc_array_deallocate): Handle coarrays with -fcoarray=lib.
* trans-array.h (gfc_array_deallocate, gfc_array_allocate,
gfc_trans_dealloc_allocated): Update prototypes.
* trans-stmt.c (gfc_trans_sync): Fix indentation.
(gfc_trans_allocate): Fix errmsg padding and label handling.
(gfc_trans_deallocate): Ditto and handle -fcoarray=lib.
* expr.c (gfc_is_coarray): Fix algorithm for BT_CLASS.
* libgfortran.h (GFC_STAT_STOPPED_IMAGE): Use large value
to avoid other stats accidentally matching this one.
* trans-decl.c (gfor_fndecl_caf_deregister): New global var.
(gfc_build_builtin_function_decls): Fix prototype decl of caf_register
and add decl for caf_deregister.
(gfc_trans_deferred_vars): Handle CAF vars with -fcoarrays=lib.
* trans-intrinsic.c (conv_intrinsic_move_alloc): Update call to
gfc_deallocate_with_status.
2012-01-06 Tobias Burnus <burnus@net-b.de>
* caf/single.c (_gfortran_caf_register,
* _gfortran_caf_deregister):
Fix token handling.
* caf/mpi.c (_gfortran_caf_register, _gfortran_caf_deregister):
* Ditto.
* caf/libcaf.h (STAT_STOPPED_IMAGE): Sync with libgfortran.h.
(_gfortran_caf_register, _gfortran_caf_deregister): Update prototype.
2012-01-06 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/deallocate_stat_2.f90: New.
* coarray/allocate_errgmsg.f90: New.
* gfortran.dg/coarray_lib_alloc_1.f90: New.
* gfortran.dg/coarray_lib_alloc_2.f90: New.
* coarray/subobject_1.f90: Fix for num_images > 1.
* gfortran.dg/deallocate_stat.f90: Update due to changed
stat= handling.
From-SVN: r182951
Andrew Stubbs [Fri, 6 Jan 2012 11:35:32 +0000 (11:35 +0000)]
headmerge-2.c: Adjust scan pattern.
2012-01-06 Andrew Stubbs <ams@codesourcery.com>
* gcc.target/arm/headmerge-2.c: Adjust scan pattern.
From-SVN: r182950
Eric Botcazou [Fri, 6 Jan 2012 10:50:00 +0000 (10:50 +0000)]
* ada/acats/overflow.lst: Add
cb20004.
From-SVN: r182947
Jonathan Wakely [Fri, 6 Jan 2012 01:26:06 +0000 (01:26 +0000)]
re PR libstdc++/51504 (Data race hunting instructions in manual do not work)
PR libstdc++/51504
* doc/xml/manual/debug.xml: Suggest using symbol interposition
to override symbols using annotation macros.
From-SVN: r182943
GCC Administrator [Fri, 6 Jan 2012 00:19:07 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r182942
Han Shen [Fri, 6 Jan 2012 00:14:32 +0000 (00:14 +0000)]
Translate built-in include paths for sysroot.
gcc/
* Makefile.in (gcc_gxx_include_dir_add_sysroot): New.
(PREPROCESSOR_DEFINES): Define GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT.
* cppdefault.c (cpp_include_defaults): Replace hard coded "0" with
GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT for "add_sysroot" field.
* configure.ac (AC_SUBST): Add gcc_gxx_include_dir_add_sysroot to
control whether sysroot should be prepended to gxx include dir.
* configure: Regenerate.
From-SVN: r182938
Torvald Riegel [Thu, 5 Jan 2012 23:48:30 +0000 (23:48 +0000)]
Mark transaction begin as returns-twice.
PR rtl-optimization/51771
gcc/
* builtin-attrs.def (ATTR_RETURNS_TWICE, ATTR_TM_NOTHROW_RT_LIST):
New.
* gtm-builtins.def (BUILT_IN_TM_START): Add returns-twice attrib.
From-SVN: r182937
Dodji Seketeli [Thu, 5 Jan 2012 23:00:14 +0000 (23:00 +0000)]
PR c++/51541 - ICE with invalid identifier in alias-declaration
gcc/cp/
PR c++/51541
* parser.c (cp_parser_alias_declaration): Get out early upon
errors in the identifier or the attributes.
gcc/testsuite/
PR c++/51541
* g++.dg/cpp0x/alias-decl-18.C: New test.
From-SVN: r182935
Eric Botcazou [Thu, 5 Jan 2012 22:21:29 +0000 (22:21 +0000)]
re PR tree-optimization/51315 (unaligned memory accesses generated with -ftree-sra)
PR tree-optimization/51315
* tree-sra.c (tree_non_aligned_mem_for_access_p): New predicate.
(build_accesses_from_assign): Use it instead of tree_non_aligned_mem_p.
From-SVN: r182932
Uros Bizjak [Thu, 5 Jan 2012 21:50:20 +0000 (22:50 +0100)]
re PR target/51681 (ICE in gcc.dg/torture/vshuf-v2si.c on ia64)
PR target/51681
* config/ia64/ia64.c (expand_vec_perm_shrp): Use correct operands
for shrp pattern. Correctly handle and fixup shift variable.
Return false when shift > nelt for BYTES_BIG_ENDIAN target.
From-SVN: r182931
Richard Henderson [Thu, 5 Jan 2012 21:36:35 +0000 (13:36 -0800)]
libitm: PowerPC support.
* configure.tgt: Support powerpc-linux and powerpc-darwin.
* config/linux/powerpc/futex_bits.h: New file.
* config/powerpc/cacheline.h: New file.
* config/powerpc/sjlj.S: New file.
* config/powerpc/target.h: New file.
* config/generic/asmcfi.h (cfi_offset): New.
(cfi_restore, cfi_undefined): New.
From-SVN: r182930
Paul Thomas [Thu, 5 Jan 2012 21:15:52 +0000 (21:15 +0000)]
PR fortran/PR48946
2012-01-05 Paul Thomas <pault@gcc.gnu.org>
PR fortran/PR48946
* resolve.c (resolve_typebound_static): If the typebound
procedure is 'deferred' try to find the correct specific
procedure in the derived type operator space itself.
2012-01-05 Paul Thomas <pault@gcc.gnu.org>
PR fortran/PR48946
* gfortran.dg/typebound_operator_9.f03: This is now a copy of
the old typebound_operator_8.f03.
* gfortran.dg/typebound_operator_8.f03: New version of
typebound_operator_7.f03 with 'u' a derived type instead of a
class object.
From-SVN: r182929
François Dumont [Thu, 5 Jan 2012 20:59:17 +0000 (20:59 +0000)]
hashtable_policy.h (_Hashtable_base<>::_M_eq()): protected rather than private, use it...
2012-01-05 François Dumont <fdumont@gcc.gnu.org>
* include/bits/hashtable_policy.h (_Hashtable_base<>::_M_eq()):
protected rather than private, use it...
* include/bits/hashtable.h (_Hashtable<>::key_eq()): ... here.
* testsuite/23_containers/unordered_set/observers.cc: New.
* testsuite/23_containers/unordered_multiset/observers.cc: New.
* testsuite/23_containers/unordered_map/observers.cc: New.
* testsuite/23_containers/unordered_multimap/observers.cc: New.
From-SVN: r182928
François Dumont [Thu, 5 Jan 2012 20:50:51 +0000 (20:50 +0000)]
Restore 2012 entries that hasn't been saved.
From-SVN: r182926
François Dumont [Thu, 5 Jan 2012 20:49:15 +0000 (20:49 +0000)]
Roll ChangeLog file, move 2012 entries in the new ChangeLog.
From-SVN: r182925
Jakub Jelinek [Thu, 5 Jan 2012 20:47:16 +0000 (21:47 +0100)]
re PR debug/51762 (ICE in maybe_record_trace_start, at dwarf2cfi.c:2231)
PR debug/51762
* calls.c (emit_call_1): For noreturn calls force a REG_ARGS_SIZE
note when !ACCUMULATE_OUTGOING_ARGS.
* gcc.dg/pr51762.c: New test.
From-SVN: r182924
Eric Botcazou [Thu, 5 Jan 2012 20:43:43 +0000 (20:43 +0000)]
tree-vrp.c (extract_range_from_binary_expr_1): Remove duplicated condition.
* tree-vrp.c (extract_range_from_binary_expr_1): Remove duplicated
condition.
(extract_range_from_unary_expr_1): Avoid useless computations.
From-SVN: r182923
Jakub Jelinek [Thu, 5 Jan 2012 20:20:57 +0000 (21:20 +0100)]
re PR rtl-optimization/51767 (ICE with degenerated asm goto)
PR rtl-optimization/51767
* cfgrtl.c (force_nonfallthru_and_redirect): Force addition
of jump_block and add an extra edge for degenerated asm gotos.
* gcc.c-torture/compile/pr51767.c: New test.
From-SVN: r182922
Jakub Jelinek [Thu, 5 Jan 2012 20:18:15 +0000 (21:18 +0100)]
re PR middle-end/51768 (ICE with invalid asm goto)
PR middle-end/51768
* stmt.c (check_unique_operand_names): Don't ICE during error
reporting if i is from labels chain.
* c-c++-common/pr51768.c: New test.
From-SVN: r182921
Jakub Jelinek [Thu, 5 Jan 2012 19:54:16 +0000 (20:54 +0100)]
re PR middle-end/44777 (ICE: SIGSEGV with -fprofile-use in gcc.c-torture/execute/comp-goto-2.c)
PR middle-end/44777
* profile.c (branch_prob): Split bbs that have exit edge
and need a fake entry edge too.
* gcc.dg/tree-prof/pr44777.c: New test.
From-SVN: r182920
Jan Hubicka [Thu, 5 Jan 2012 19:25:14 +0000 (20:25 +0100)]
re PR rtl-optimization/49710 (segfault)
PR middle-end/49710
* cfgloopmanip.c (remove_path): Walk loop hiearchy upwards when
unlooping loops.
From-SVN: r182919
Richard Guenther [Thu, 5 Jan 2012 15:43:54 +0000 (15:43 +0000)]
re PR lto/50490 (ICE when compiling libglib2.0 with LTO, tree code 'optimization_node' is not supported in LTO streams)
2012-01-05 Richard Guenther <rguenther@suse.de>
PR lto/50490
* tree-streamer-out.c (write_ts_optimization): New function.
(streamer_write_tree_body): Call it.
* tree-streamer-in.c (lto_input_ts_optimization): New function.
(streamer_read_tree_body): Call it.
* lto-streamer-out.c (lto_is_streamable): Handle OPTIMIZATION_NODE.
From-SVN: r182917
Richard Guenther [Thu, 5 Jan 2012 15:28:30 +0000 (15:28 +0000)]
pr49309.C: Skip for -flto.
2012-01-05 Richard Guenther <rguenther@suse.de>
* g++.dg/torture/pr49309.C: Skip for -flto.
From-SVN: r182915
Jakub Jelinek [Thu, 5 Jan 2012 15:10:26 +0000 (16:10 +0100)]
re PR middle-end/51761 (ICE in verify_gimple_stmt, at tree-cfg.c:4241)
PR middle-end/51761
* gimple.h (struct gimplify_ctx): Add in_cleanup_point_expr
field.
* gimplify.c (gimplify_cleanup_point_expr): Save and set
in_cleanup_point_expr before gimplify_stmt call and restore it
afterwards.
(gimplify_target_expr): Don't add {CLOBBER} cleanup if
in_cleanup_point_expr is false.
* gcc.c-torture/compile/pr51761.c: New test.
From-SVN: r182914
Richard Guenther [Thu, 5 Jan 2012 15:08:42 +0000 (15:08 +0000)]
re PR middle-end/51764 (mudflap does not work with LTO)
2012-01-05 Richard Guenther <rguenther@suse.de>
PR middle-end/51764
* common.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move
to c.opt.
* toplev.c (process_options): Reject combining mudflap and LTO.
* tree-nomudflap.c (nogo): Use sorry instead of internal_error.
c-family/
* c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
from common.opt.
From-SVN: r182913
Aldy Hernandez [Thu, 5 Jan 2012 14:16:39 +0000 (14:16 +0000)]
Add Patrick Marlier to ChangeLog entry.
From-SVN: r182912
Aldy Hernandez [Thu, 5 Jan 2012 14:14:29 +0000 (14:14 +0000)]
re PR libitm/51171 (XFAIL: libitm.c/reentrant.c execution test)
PR other/51171
* testsuite/libitm.c/reentrant.c: Remove xfail.
(thread): Pass x to pure().
From-SVN: r182911
Richard Guenther [Thu, 5 Jan 2012 13:41:34 +0000 (13:41 +0000)]
re PR tree-optimization/51760 (ICE in set_lattice_value, at tree-ssa-ccp.c:456)
2012-01-05 Richard Guenther <rguenther@suse.de>
PR tree-optimization/51760
* tree-ssa-ccp.c (likely_value): Drop UNDEFINED to CONSTANT,
not VARYING.
(bit_value_unop): Handle UNDEFINED operands.
(bit_value_binop): Likewise.
* gcc.dg/torture/pr51760.c: New testcase.
From-SVN: r182909
Aldy Hernandez [Thu, 5 Jan 2012 13:36:32 +0000 (13:36 +0000)]
re PR middle-end/51472 (ICE: verify_gimple failed: invalid rhs for gimple memory store with -fgnu-tm --param tm-max-aggregate-size=32)
PR middle-end/51472
* trans-mem.c (expand_assign_tm): Handle TM_MEMMOVE loads correctly.
testsuite/
PR middle-end/51472
* gcc.dg/tm/memopt-6.c: Adjust regexp.
From-SVN: r182908
Richard Guenther [Thu, 5 Jan 2012 13:28:34 +0000 (13:28 +0000)]
re PR lto/41576 (LTO complains about mismatches in common sections)
2012-01-05 Richard Guenther <rguenther@suse.de>
PR lto/41576
* gfortran.dg/lto/pr41576_0.f90: New testcase.
* gfortran.dg/lto/pr41576_1.f90: Likewise.
From-SVN: r182907
Georg-Johann Lay [Thu, 5 Jan 2012 11:00:23 +0000 (11:00 +0000)]
avr.c (avr_replace_prefix): Remove.
* config/avr/avr.c (avr_replace_prefix): Remove.
(avr_asm_named_section): Use ACONCAT instead of avr_replace_prefix.
(avr_asm_function_rodata_section): Ditto.
(avr_asm_select_section): Ditto.
From-SVN: r182904
Marcus Shawcroft [Thu, 5 Jan 2012 09:45:09 +0000 (09:45 +0000)]
reload.c (find_reloads): Adjust LABEL_NUSES on REG_LABEL_OPERAND insertion.
* reload.c (find_reloads): Adjust LABEL_NUSES on REG_LABEL_OPERAND
insertion.
From-SVN: r182903
Jakub Jelinek [Thu, 5 Jan 2012 09:32:52 +0000 (10:32 +0100)]
re PR bootstrap/51648 (Profiledbootstrap failure on x86_64-linux)
PR bootstrap/51648
* tree-cfg.c (need_fake_edge_p): Return true also for noreturn
calls that have any non-fake successor edges.
From-SVN: r182902
Richard Henderson [Thu, 5 Jan 2012 02:25:04 +0000 (18:25 -0800)]
re PR libitm/51072 (Build with --disable-bootstrap fails in libitm)
PR bootstrap/51072
* configure.ac: Fix regexp for same.
* configure: Rebuild.
From-SVN: r182900
Richard Henderson [Thu, 5 Jan 2012 01:35:25 +0000 (17:35 -0800)]
re PR libitm/51072 (Build with --disable-bootstrap fails in libitm)
PR bootstrap/51072
* configure.ac: Disable libitm if c++ is not enabled.
* configure: Rebuild.
From-SVN: r182899
Jakub Jelinek [Thu, 5 Jan 2012 00:29:13 +0000 (01:29 +0100)]
re PR debug/51746 (Segfault in cselib_preserved_value_p)
PR debug/51746
* var-tracking.c (add_stores): For COND_EXEC allow oval to be NULL.
From-SVN: r182897
GCC Administrator [Thu, 5 Jan 2012 00:18:55 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r182895
Eric Botcazou [Wed, 4 Jan 2012 21:34:27 +0000 (21:34 +0000)]
re PR tree-optimization/51624 (Assert_Failure atree.adb:808 during stage 3)
PR tree-optimization/51624
* tree-sra.c (build_ref_for_model): When replicating a chain of
COMPONENT_REFs, stop as soon as the offset would become negative.
From-SVN: r182889
Jakub Jelinek [Wed, 4 Jan 2012 19:58:03 +0000 (20:58 +0100)]
re PR debug/51695 (NOTE_INSN_VAR_LOCATION notes are sometimes too large)
PR debug/51695
* dwarf2out.c (output_loc_list): For now drop >= 64KB expressions
in .debug_loc on the floor.
* gcc.dg/pr51695.c: New test.
From-SVN: r182886
Andrew Pinski [Wed, 4 Jan 2012 19:54:22 +0000 (19:54 +0000)]
invoke.texi (-march=@var{arch}): Add octeon+ and octeon2.
2012-01-04 Andrew Pinski <apinski@cavium.com>
* doc/invoke.texi (-march=@var{arch}): Add octeon+ and octeon2.
From-SVN: r182885
Andrew Pinski [Wed, 4 Jan 2012 18:40:21 +0000 (18:40 +0000)]
mips.md (size): Add SI and DI.
2012-01-04 Andrew Pinski <apinski@cavium.com>
Adam Nemet <anemet@caviumnetworks.com>
* config/mips/mips.md (size): Add SI and DI.
(SIZE): New mode attribute.
(U): New code attribute.
* config/mips/mips-dsp.md (mips_lbux): Use gen_mips_lbux_extsi.
(mips_lbux_<mode>): Delete.
(mips_l<SHORT:size><u>x_ext<GPR:mode>_<P:mode>): New pattern.
(mips_lhx): Use gen_mips_lhx_extsi.
(mips_lhx_<mode>): Delete.
(mips_lwx): Delete.
(mips_l<size>x): New expand.
(mips_lwx_<mode>): Delete.
(mips_l<GPR:size>x_<P:mode>): New pattern.
(*mips_lw<u>x_<P:mode>_ext): Likewise.
* config/mips/mips-ftypes.def: Add DI f(POINTER, SI) function type.
* config/mips/mips.c (mips_lx_address_p): New function.
(mips_rtx_costs <case MEM>): Call mips_lx_address_p.
(dsp64): New availability predicate.
(mips_builtins): Add an entry for __builtin_mips_ldx.
* config/mips/mips.h (ISA_HAS_LBX): New define.
(ISA_HAS_LBUX): Likewise.
(ISA_HAS_LHX): Likewise.
(ISA_HAS_LHUX): Likewise.
(ISA_HAS_LWX): Likewise.
(ISA_HAS_LWUX): Likewise.
(ISA_HAS_LDX): Likewise.
* doc/extend.texi (__builtin_mips_ldx): Document.
2012-01-04 Andrew Pinski <apinski@cavium.com>
* gcc.target/mips/mips64-dsp-ldx1.c: New test.
* gcc.target/mips/octeon2-lx-1.c: New test.
* gcc.target/mips/mips64-dsp-ldx.c: New test.
* gcc.target/mips/octeon2-lx-2.c: New test.
* gcc.target/mips/octeon2-lx-3.c: New test.
Co-Authored-By: Adam Nemet <anemet@caviumnetworks.com>
From-SVN: r182884
Aldy Hernandez [Wed, 4 Jan 2012 17:01:50 +0000 (17:01 +0000)]
Add PR reference.
+ PR other/51163
+ PR other/51164
From-SVN: r182882
Patrick Marlier [Wed, 4 Jan 2012 16:58:22 +0000 (16:58 +0000)]
+ * gcc.dg/tm/alias-1.c: Adjust regexp.
+ * gcc.dg/tm/alias-1.c: Adjust regexp.
+ * gcc.dg/tm/alias-2.c: Adjust regexp.
From-SVN: r182881
Paolo Carlini [Wed, 4 Jan 2012 16:39:53 +0000 (16:39 +0000)]
re PR c++/51064 (False Positive for -Wparentheses)
/cp
2012-01-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51064
* pt.c (tsubst_copy_and_build): Maybe set TREE_NO_WARNING on
the tree returned by build_x_binary_op.
/testsuite
2012-01-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51064
* g++.dg/warn/Wparentheses-26.C: New.
From-SVN: r182880
Tristan Gingold [Wed, 4 Jan 2012 15:45:29 +0000 (15:45 +0000)]
xm-vms.h (HOST_LONG_FORMAT, [...]): Define when long pointers are used.
2012-01-04 Tristan Gingold <gingold@adacore.com>
* config/vms/xm-vms.h (HOST_LONG_FORMAT, HOST_PTR_PRINTF): Define
when long pointers are used.
* config.build (*-*-*vms*): Handle all OpenVMS targets.
(alpha64-dec-*vms*, alpha*-dec-*vms*)
(ia64-hp-*vms*): Remove.
* config/vms/xm-vms64.h: Delete.
From-SVN: r182879
Aldy Hernandez [Wed, 4 Jan 2012 14:58:56 +0000 (14:58 +0000)]
opts.c (finish_options): Remove duplicate sorry.
* opts.c (finish_options): Remove duplicate sorry.
From-SVN: r182878
Aldy Hernandez [Wed, 4 Jan 2012 14:53:30 +0000 (14:53 +0000)]
re PR middle-end/51212 (ICE: verify_flow_info failed: BB 3 can not throw but has an EH edge with -fgnu-tm -fnon-call-exceptions and transaction_callable)
PR middle-end/51212
* opts.c (finish_options): Sorry out when using transactional
memory and non-call exceptions.
* doc/invoke.texi (C Dialect Options): Document it.
From-SVN: r182877
Aldy Hernandez [Wed, 4 Jan 2012 14:32:54 +0000 (14:32 +0000)]
re PR middle-end/51696 ([trans-mem] unsafe indirect function call in struct not properly displayed)
PR middle-end/51696
* trans-mem.c (diagnose_tm_1): Display indirect calls with no name
correctly.
From-SVN: r182876
Mikael Morin [Wed, 4 Jan 2012 14:20:17 +0000 (14:20 +0000)]
re PR fortran/50981 ([OOP] Wrong-code for scalarizing ELEMENTAL call with absent OPTIONAL argument)
PR fortran/50981
* trans-array.h (gfc_walk_elemental_function_args): New argument.
* trans-intrinsic.c (gfc_walk_intrinsic_function): Update call.
* trans-stmt.c (gfc_trans_call): Ditto.
* trans-array.c (gfc_walk_function_expr): Ditto.
(gfc_walk_elemental_function_args): Get the dummy argument list
if possible. Check that the dummy and the actual argument are both
optional, and set can_be_null_ref accordingly.
* gfortran.dg/elemental_optional_args_2.f90: New test.
From-SVN: r182875
Mikael Morin [Wed, 4 Jan 2012 14:04:24 +0000 (14:04 +0000)]
re PR fortran/50981 ([OOP] Wrong-code for scalarizing ELEMENTAL call with absent OPTIONAL argument)
PR fortran/50981
* trans.h (struct gfc_ss_info): New field data::scalar::can_be_null_ref
* trans-array.c: If the reference can be NULL, save the reference
instead of the value.
* trans-expr.c (gfc_conv_expr): If we have saved a reference,
dereference it.
From-SVN: r182874
Mikael Morin [Wed, 4 Jan 2012 13:43:35 +0000 (13:43 +0000)]
trans-expr.c (gfc_conv_expr): Move address taking...
* trans-expr.c (gfc_conv_expr): Move address taking...
(gfc_conv_expr_reference): ... here.
From-SVN: r182873
Richard Guenther [Wed, 4 Jan 2012 13:25:28 +0000 (13:25 +0000)]
re PR middle-end/51750 (FAIL: 25_algorithms/heap/moveable*.cc execution test)
2012-01-04 Richard Guenther <rguenther@suse.de>
PR middle-end/51750
* tree.c (size_low_cst): New function.
* tree.h (size_low_cst): Declare.
* fold-const.c (fold_comparison): Use it to extract the low
part of the POINTER_PLUS_EXPR offset.
From-SVN: r182872
Georg-Johann Lay [Wed, 4 Jan 2012 12:39:26 +0000 (12:39 +0000)]
Fix clearing ZERO_REG
Fix clearing ZERO_REG
* config/avr/avr.md (cc): Add alternative "ldi".
(movqi_insn): Use it in cc attribute.
* config/avr/avr.c (notice_update_cc): Handle CC_LDI.
(output_reload_in_const): Use CLR to move 0 to ZERO_REG.
(output_reload_insisf): Use ZERO_REG to pre-clear register.
From-SVN: r182871
Thomas Koenig [Wed, 4 Jan 2012 11:51:37 +0000 (11:51 +0000)]
re PR fortran/49693 (Spurious "unused-variable" warnings for COMMON block module variables.)
2012-01-04 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/49693
* trans-common.c (create_common): Update copyright years. Mark
variables as used to avoid warnings about unused variables in
common blocks.
2012-01-04 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/49693
* gfortran.dg/common_17.f90: New test.
From-SVN: r182869
Andreas Krebbel [Wed, 4 Jan 2012 11:41:06 +0000 (11:41 +0000)]
re PR bootstrap/51734 (Bootstrap fails in libada)
config/
2012-01-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
PR bootstrap/51734
* picflag.m4: Remove s390 case statement.
gcc/
2012-01-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* configure: Regenerate.
libada/
2012-01-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* configure: Regenerate.
libgcc/
2012-01-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* configure: Regenerate.
* config/s390/t-crtstuff: Remove -fPIC.
libiberty/
2012-01-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* configure: Regenerate.
From-SVN: r182868
Richard Guenther [Wed, 4 Jan 2012 09:47:12 +0000 (09:47 +0000)]
re PR tree-optimization/49651 (nested lambdas and -O3 produced incorrect integer variable increments)
2012-01-04 Richard Guenther <rguenther@suse.de>
PR tree-optimization/49651
* tree-ssa-structalias.c (type_can_have_subvars): New function.
(var_can_have_subvars): Use it.
(get_constraint_for_1): Only consider subfields if there
can be any.
* gcc.dg/tree-ssa/pta-ptrarith-1.c: Adjust.
* gcc.dg/tree-ssa/pta-ptrarith-2.c: Likewise.
From-SVN: r182865
GCC Administrator [Wed, 4 Jan 2012 00:19:13 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r182864
Jonathan Wakely [Tue, 3 Jan 2012 21:39:46 +0000 (21:39 +0000)]
re PR bootstrap/51006 (bootstrap fails on NetBSD 5.1)
2012-01-02 Jonathan Wakely <jwakely.gcc@gmail.com>
PR bootstrap/51006
* enable-execute-stack-mprotect.c (getpagesize): Do not define
for NetBSD.
From-SVN: r182860
Jakub Jelinek [Tue, 3 Jan 2012 20:57:29 +0000 (21:57 +0100)]
re PR bootstrap/51725 (segfault in stage 3 when compiling gcc/opts.c for sparc64-linux)
PR bootstrap/51725
* cselib.c (new_elt_loc_list): When moving locs from one
cselib_val to its new canonical_cselib_val and the
cselib_val was in first_containing_mem chain, but
the canonical_cselib_val was not, add the latter into the
chain.
(cselib_invalidate_mem): Compare canonical_cselib_val of
addr_list chain elt with v.
From-SVN: r182858
François Dumont [Tue, 3 Jan 2012 20:33:20 +0000 (20:33 +0000)]
hashtable_policy.h (_Ebo_helper<>): Rename to the more specific _Hashtable_ebo_helper.
2012-01-03 François Dumont <fdumont@gcc.gnu.org>
* include/bits/hashtable_policy.h (_Ebo_helper<>): Rename to the more
specific _Hashtable_ebo_helper. Hide this implementation detail thanks
to private inheritance.
From-SVN: r182857
Paolo Carlini [Tue, 3 Jan 2012 20:25:16 +0000 (20:25 +0000)]
re PR c++/51738 (C++11 initializer list does not work correctly with operator[])
/gcc/cp
2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51738
* parser.c (cp_parser_postfix_open_square_expression): Handle
postfix-expression [ braced-init-list ].
/gcc/testsuite
2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51738
* g++.dg/cpp0x/initlist-postfix-open-square.C: New.
/libstdc++-v3
2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51738
* testsuite/23_containers/map/element_access/39901.cc: New.
From-SVN: r182856
Andrew Pinski [Tue, 3 Jan 2012 20:21:50 +0000 (20:21 +0000)]
scanasm.exp (dg-function-on-line): Always use a special format for all mips targets.
2012-01-03 Andrew Pinski <apinski@cavium.com>
* lib/scanasm.exp (dg-function-on-line): Always use a special format
for all mips targets. Also allow an optional .cfi_startproc.
From-SVN: r182855
Uros Bizjak [Tue, 3 Jan 2012 18:28:55 +0000 (19:28 +0100)]
typebound_operator_8.f03: Use dg-add-options ieee.
* gfortran.dg/typebound_operator_8.f03: Use dg-add-options ieee.
From-SVN: r182854
Paolo Carlini [Tue, 3 Jan 2012 15:29:42 +0000 (15:29 +0000)]
re PR c++/29273 (error on dynamic_cast<T>(array))
/cp
2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/29273
* rtti.c (build_dynamic_cast_1): In case of T a pointer type,
call decay_conversion on v.
/testsuite
2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/29273
* g++.dg/rtti/dyncast5.C: New.
From-SVN: r182851
Jakub Jelinek [Tue, 3 Jan 2012 15:13:31 +0000 (16:13 +0100)]
Fix up last commit.
From-SVN: r182849
Jakub Jelinek [Tue, 3 Jan 2012 13:45:41 +0000 (14:45 +0100)]
re PR pch/51722 (Options "-g3" or "-ggdb3" or "-g3 -gdwarf-2" and other "-g..level3" - internal compiler error)
PR pch/51722
* dwarf2out.c (dwarf2out_start_source_file, dwarf2out_define,
dwarf2out_undef): Allocate e.info using ggc_strdup instead
of xstrdup.
(output_macinfo_op): Don't ggc_strdup fd->filename.
(optimize_macinfo_range): Allocate grp_name using XALLOCAVEC,
then ggc_strdup it. Don't free inc->info or cur->info.
(output_macinfo): Don't free ref->info or file->info.
From-SVN: r182845
Ira Rosen [Tue, 3 Jan 2012 13:24:04 +0000 (13:24 +0000)]
re PR tree-optimization/51269 (Vectorization profitability threshold is not actually used)
PR tree-optimization/51269
* tree-vect-loop-manip.c (set_prologue_iterations): Make
first_niters a pointer.
(slpeel_tree_peel_loop_to_edge): Likewise.
(vect_do_peeling_for_loop_bound): Update call to
slpeel_tree_peel_loop_to_edge.
(vect_gen_niters_for_prolog_loop): Don't compute
wide_prolog_niters here. Remove it from the parameters list.
(vect_do_peeling_for_alignment): Update calls and compute
wide_prolog_niters.
From-SVN: r182844
Richard Guenther [Tue, 3 Jan 2012 12:07:18 +0000 (12:07 +0000)]
re PR tree-optimization/51070 (ICE verify_gimple failed)
2012-01-03 Richard Guenther <rguenther@suse.de>
PR tree-optimization/51070
* tree-loop-distribution.c (stmt_has_scalar_dependences_outside_loop):
Properly handle calls.
* gcc.dg/torture/pr51070-2.c: New testcase.
From-SVN: r182839
Richard Guenther [Tue, 3 Jan 2012 11:54:53 +0000 (11:54 +0000)]
re PR tree-optimization/51692 (ICE on several valgrind tests)
2012-01-03 Richard Guenther <rguenther@suse.de>
PR tree-optimization/51692
* tree-ssa-dce.c (eliminate_unnecessary_stmts): Do not remove
the LHS of allocation stmts.
* gcc.dg/torture/pr51692.c: New testcase.
From-SVN: r182838
Olivier Hainque [Tue, 3 Jan 2012 11:44:34 +0000 (11:44 +0000)]
system.h: Prior to #define, #undef fopen and freopen unconditionally.
gcc/
* system.h: Prior to #define, #undef fopen and freopen unconditionally.
libcpp/
* system.h: Likewise.
From-SVN: r182837
Olivier Hainque [Tue, 3 Jan 2012 11:36:25 +0000 (11:36 +0000)]
collect2.c (main): In AIX specific computations for vector insertions...
* collect2.c (main): In AIX specific computations for vector
insertions, use CONST_CAST2 to cast from char ** to const char **.
From-SVN: r182836
Richard Guenther [Tue, 3 Jan 2012 11:30:27 +0000 (11:30 +0000)]
re PR debug/51650 (LTO ICE in dwarf2out_finish, at dwarf2out.c:22501 while building libxul)
2012-01-03 Richard Guenther <rguenther@suse.de>
PR debug/51650
* dwarf2out.c (dwarf2out_finish): Always create a DIE for
the context of a limbo DIE when it does not already exist.
* g++.dg/lto/pr51650-3_0.C: New testcase.
From-SVN: r182835
Paolo Carlini [Tue, 3 Jan 2012 09:33:33 +0000 (09:33 +0000)]
re PR c++/15867 (-Wredundant-decls and explicit template specialization)
/cp
2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/15867
* decl.c (duplicate_decls): With -Wredundant-decls don't warn for
declaration followed by specialization.
/testsuite
2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/15867
* g++.dg/warn/Wredundant-decls-spec.C: New.
From-SVN: r182833
Jakub Jelinek [Tue, 3 Jan 2012 09:09:41 +0000 (10:09 +0100)]
re PR tree-optimization/51719 (ICE: verify_gimple failed: LHS in noreturn call with -fpartial-inlining -fprofile-use and exceptions)
PR tree-optimization/51719
* value-prof.c (gimple_ic): When indirect call isn't noreturn,
but direct call is, clear direct call's lhs and don't add fallthrough
edge from dcall_bb to join_bb and PHIs.
* g++.dg/tree-prof/pr51719.C: New test.
From-SVN: r182832
Andreas Krebbel [Tue, 3 Jan 2012 09:03:35 +0000 (09:03 +0000)]
s390.md ("*cmp<mode>_ccs"): Fix comment mentioning the instructions emitted by the pattern.
2012-01-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.md ("*cmp<mode>_ccs"): Fix comment mentioning
the instructions emitted by the pattern.
("*TDC_insn_<mode>"): Add comment.
From-SVN: r182831
Richard Guenther [Tue, 3 Jan 2012 08:59:21 +0000 (08:59 +0000)]
re PR c/51730 (autoconf 2.60 through 2.67 stdbool.h check fails with GCC 4.7)
2012-01-03 Richard Guenther <rguenther@suse.de>
PR middle-end/51730
* fold-const.c (fold_comparison): Properly canonicalize
tree offset and HOST_WIDE_INT bit position.
* gcc.dg/fold-compare-6.c: New testcase.
From-SVN: r182830
Uros Bizjak [Tue, 3 Jan 2012 08:10:27 +0000 (09:10 +0100)]
ia64.c (expand_vec_perm_broadcast): Use correct operands for extzv pattern.
* config/ia64/ia64.c (expand_vec_perm_broadcast): Use correct
operands for extzv pattern.
From-SVN: r182829
Jakub Jelinek [Tue, 3 Jan 2012 07:49:48 +0000 (08:49 +0100)]
re PR c++/51669 (ICE verify-gimple with openmp)
PR c++/51669
* semantics.c (finish_omp_clauses): Call fold_build_cleanup_point_expr
on OMP_CLAUSE_{IF,FINAL,NUM_THREADS,SCHEDULE_CHUNK}_EXPR.
* g++.dg/gomp/pr51669.C: New test.
From-SVN: r182828
Hans-Peter Nilsson [Tue, 3 Jan 2012 04:49:22 +0000 (04:49 +0000)]
gfortran.h (struct gfc_expr): Add missing "struct" qualifier for member base_expr.
* gfortran.h (struct gfc_expr): Add missing "struct"
qualifier for member base_expr.
From-SVN: r182826
GCC Administrator [Tue, 3 Jan 2012 00:18:43 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r182825
Balaji V. Iyer [Mon, 2 Jan 2012 22:52:53 +0000 (14:52 -0800)]
Added myself under Write after Approval Maintainer.
From-SVN: r182821
Jakub Jelinek [Mon, 2 Jan 2012 22:18:21 +0000 (23:18 +0100)]
re PR driver/48306 (presence of gcc subdir with . in PATH causes breakdown)
* make-relative-prefix.c (make_relative_prefix_1): Avoid
stack overflow if PATH contains just a single entry and
HOST_EXECUTABLE_SUFFIX needs to be used.
PR driver/48306
* make-relative-prefix.c: Include sys/stat.h.
(make_relative_prefix_1): If access succeeds, check also stat
if nstore is a regular file.
From-SVN: r182820
Jakub Jelinek [Mon, 2 Jan 2012 22:17:02 +0000 (23:17 +0100)]
re PR bootstrap/51725 (segfault in stage 3 when compiling gcc/opts.c for sparc64-linux)
PR bootstrap/51725
* cselib.c (add_mem_for_addr): Call canonical_cselib_val
on mem_elt first.
From-SVN: r182819
Jason Merrill [Mon, 2 Jan 2012 17:53:28 +0000 (12:53 -0500)]
DR 1359 PR c++/51675
DR 1359
PR c++/51675
* method.c (walk_field_subobs): Don't check for uninitialized
fields in a union.
(synthesized_method_walk): Check here.
From-SVN: r182810
Jason Merrill [Mon, 2 Jan 2012 17:53:16 +0000 (12:53 -0500)]
DR 325 PR c++/51666
DR 325
PR c++/51666
* parser.c (cp_parser_cache_defarg): Split out...
(cp_parser_parameter_declaration): ...from here.
(cp_parser_save_nsdmi): Use it.
(cp_parser_cache_group): Remove CPP_COMMA support.
From-SVN: r182809
Dodji Seketeli [Mon, 2 Jan 2012 17:00:13 +0000 (17:00 +0000)]
PR c++/51462 - ICE in cx_check_missing_mem_inits
gcc/cp/
PR c++/51462
* semantics.c (cx_check_missing_mem_inits): Don't assert in case
of error.
gcc/testsuite/
PR c++/51462
* g++.dg/cpp0x/constexpr-99.C: New test.
From-SVN: r182806
Paolo Carlini [Mon, 2 Jan 2012 16:15:49 +0000 (16:15 +0000)]
re PR c++/20140 (template function complains about "char-array initialized from wide string")
/cp
2012-01-02 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/20140
* typeck2.c (digest_init_r): Use copy_init when initializing
an array of chars.
/testsuite
2012-01-02 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/20140
* g++.dg/template/init9.C: New.
From-SVN: r182805
Sandra Loosemore [Mon, 2 Jan 2012 15:46:39 +0000 (10:46 -0500)]
invoke.texi (-flto and related options): Copy-edit.
2012-01-02 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* doc/invoke.texi (-flto and related options): Copy-edit.
From-SVN: r182804
Richard Sandiford [Mon, 2 Jan 2012 14:01:29 +0000 (14:01 +0000)]
mips.md (loadgp_newabi_<mode>): Add missing earlyclobber.
gcc/
* config/mips/mips.md (loadgp_newabi_<mode>): Add missing
earlyclobber.
From-SVN: r182803
Jakub Jelinek [Mon, 2 Jan 2012 13:59:32 +0000 (14:59 +0100)]
sse.md (*avx2_gatherdi<mode>_3, [...]): New patterns.
* config/i386/sse.md (*avx2_gatherdi<mode>_3, *avx2_gatherdi<mode>_4):
New patterns.
From-SVN: r182802
Richard Sandiford [Mon, 2 Jan 2012 13:56:36 +0000 (13:56 +0000)]
expr.h (move_by_pieces_ninsns): Declare.
gcc/
* expr.h (move_by_pieces_ninsns): Declare.
* expr.c (move_by_pieces_ninsns): Make external.
* config/mips/mips-protos.h (mips_move_by_pieces_p): Declare.
(mips_store_by_pieces_p): Likewise.
* config/mips/mips.h (MOVE_BY_PIECES_P): Call mips_move_by_pieces_p.
(STORE_BY_PIECES_P): Likewise mips_store_by_pieces_p.
* config/mips/mips.c (mips_move_by_pieces_p): New function.
(mips_store_by_pieces_p): Likewise.
gcc/testsuite/
* gcc.dg/memcpy-4.c: Add nomips16 attribute for MIPS targets.
Increase copy to 5 bytes. Look for at least two "mem/s/u"s,
rather than a specific number.
From-SVN: r182801
Jakub Jelinek [Mon, 2 Jan 2012 13:34:52 +0000 (14:34 +0100)]
passes.c (register_one_dump_file): Free full_name.
* passes.c (register_one_dump_file): Free full_name.
* reload1.c (reload): Don't allocate reg_max_ref_width
here.
(calculate_elim_costs_all_insns): Free offsets_at and
offsets_known_at at the end and clear the pointers.
From-SVN: r182800
Georg-Johann Lay [Mon, 2 Jan 2012 13:09:42 +0000 (13:09 +0000)]
avr.opt (-mbranch-cost): Fix double definition of this option introduced in r180739.
* config/avr/avr.opt (-mbranch-cost): Fix double definition of
this option introduced in r180739.
From-SVN: r182798
Georg-Johann Lay [Mon, 2 Jan 2012 12:51:57 +0000 (12:51 +0000)]
re PR target/51345 ([avr] Devices with 8-bit SP need their own multilib(s))
contrib/
PR target/51345
* gcc_update (files_and_dependencies): Add
gcc/config/avr/t-multilib, gcc/config/avr/multilib.h.
libgcc/
PR target/51345
* config/avr/lib1funcs.S: Remove FIXME comments.
(SPEED_DIV): Depend on __AVR_HAVE_8BIT_SP__.
gcc/
PR target/51345
* config.gcc (tm_file target=avr]): Add avr/avr-multilib.h
(tmake_file target=avr): Add avr/t-multilib.
* config/avr/avr-c.c (avr_cpu_cpp_builtins): Use AVR_HAVE_8BIT_SP
to built-in define __AVR_HAVE_8BIT_SP__, __AVR_HAVE_16BIT_SP__.
* config/avr/genmultilib.awk: New file.
* config/avr/t-multilib: New auto-generated file.
* config/avr/multilib.h: New auto-generated file.
* config/avr/t-avr (AVR_MCUS): New variable.
(genopt.sh): Use it.
(s-mlib): Depend on t-multilib.
(t-multilib, multilib.h): New dependencies.
(s-avr-mlib): New rule to build t-multilib, multilib.h from AVR_MCUS.
(MULTILIB_OPTIONS): Remove.
(MULTILIB_MATCHES): Remove.
(MULTILIB_DIRNAMES): Remove.
(MULTILIB_EXCEPTIONS): Remove:
* config/avr/genopt.sh: Don't use hard coded file name;
pass AVR_MCUS from t-avr instead.
From-SVN: r182797
Paul Thomas [Mon, 2 Jan 2012 12:46:08 +0000 (12:46 +0000)]
re PR fortran/51529 ([OOP] gfortran.dg/class_to_type_1.f03 is miscompiled: Uninitialized variable used)
2012-01-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/51529
* trans-array.c (gfc_array_allocate): Null allocated memory of
newly allocted class arrays.
PR fortran/46262
PR fortran/46328
PR fortran/51052
* interface.c(build_compcall_for_operator): Add a type to the
expression.
* trans-expr.c (conv_base_obj_fcn_val): New function.
(gfc_conv_procedure_call): Use base_expr to detect non-variable
base objects and, ensuring that there is a temporary variable,
build up the typebound call using conv_base_obj_fcn_val.
(gfc_trans_class_assign): Pick out class procedure pointer
assignments and do the assignment with no further prcessing.
(gfc_trans_class_array_init_assign, gfc_trans_class_init_assign
gfc_trans_class_assign): Move to top of file.
* gfortran.h : Add 'base_expr' field to gfc_expr.
* resolve.c (get_declared_from_expr): Add 'types' argument to
switch checking of derived types on or off.
(resolve_typebound_generic_call): Set the new argument.
(resolve_typebound_function, resolve_typebound_subroutine):
Set 'types' argument for get_declared_from_expr appropriately.
Identify base expression, if not a variable, in the argument
list of class valued calls. Assign it to the 'base_expr' field
of the final expression. Strip away all references after the
last class reference.
2012-01-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/46262
PR fortran/46328
PR fortran/51052
* gfortran.dg/typebound_operator_7.f03: New.
* gfortran.dg/typebound_operator_8.f03: New.
From-SVN: r182796
Georg-Johann Lay [Mon, 2 Jan 2012 12:33:44 +0000 (12:33 +0000)]
avr.c (avr_out_ashrpsi3): Fix "case 31" to "case 23".
* config/avr/avr.c (avr_out_ashrpsi3): Fix "case 31" to "case 23".
From-SVN: r182795
Georg-Johann Lay [Mon, 2 Jan 2012 12:30:56 +0000 (12:30 +0000)]
Implement light-weight DImode support.
gcc/
Implement light-weight DImode support.
* config/avr/avr-dimode.md: New file.
* config/avr/avr.md: Include it.
(adjust_len): Add plus64, compare64.
(HIDI): Remove code iterator.
(code_stdname): New code attribute.
(rotx, rotsmode): Remove DI.
(rotl<mode>3, *rotw<mode>, *rotb<mode>): Use HISI instead of HIDI
as code iterator.
* config/avr/avr-protos.h (avr_have_dimode): New.
(avr_out_plus64, avr_out_compare64): New.
* config/avr/avr.c (avr_out_compare): Handle DImode.
(avr_have_dimode): New variable definition and initialization.
(avr_out_compare64, avr_out_plus64): New functions.
(avr_out_plus_1): Use simplify_unary_operation to negate xval.
(adjust_insn_length): Handle ADJUST_LEN_COMPARE64, ADJUST_LEN_PLUS64.
(avr_compare_pattern): Skip DImode comparisons.
libgcc/
Implement light-weight DImode support.
* config/avr/t-avr (LIB1ASMFUNCS): Add _adddi3, _adddi3_s8,
_subdi3, _cmpdi2, _cmpdi2_s8, _rotldi3.
* config/avr/lib1funcs.S (__adddi3, __adddi3_s8, __subdi3,
__cmpdi2, __cmpdi2_s8, __rotldi3): New functions.
From-SVN: r182794