Ian Lance Taylor
f9f9698753
compiler, runtime: Implement struct and array comparisons.
...
From-SVN: r182971
2012-01-06 21:47:49 +00:00
Jason Merrill
4b6aaa996e
re PR c++/6057 (expression mangling doesn't work for operator new)
...
PR c++/6057
PR c++/48051
PR c++/50855
PR c++/51322
gcc/cp/
* mangle.c (write_expression): Support NEW_EXPR, DELETE_EXPR,
THROW_EXPR, CONSTRUCTOR, OVERLOAD. Fix PREINCREMENT_EXPR and
PREDECREMENT_EXPR.
(write_template_arg): Fix mangling of class-scope functions and
argument packs.
(mangle_decl): Update suggested -fabi-version argument.
* operators.def: Add DOTSTAR_EXPR, REINTERPRET_CAST_EXPR,
DYNAMIC_CAST_EXPR; correct CONST_CAST_EXPR, STATIC_CAST_EXPR.
* tree.c (dependent_name): No longer static.
* cp-tree.h: Declare it.
* pt.c (unify): Defer handling of unconverted functions.
include/
* demangle.h (enum demangle_component_type): Add
DEMANGLE_COMPONENT_INITIALIZER_LIST, DEMANGLE_COMPONENT_NULLARY.
libiberty/
* cp-demangle.c (d_dump): Handle DEMANGLE_COMPONENT_NULLARY and
DEMANGLE_COMPONENT_INITIALIZER_LIST.
(d_make_comp): Likewise. Allow null right arg for
DEMANGLE_COMPONENT_TRINARY_ARG2.
(cplus_demangle_operators): Adjust new/delete; add .*, :: and throw.
(d_template_args, d_template_arg): Handle 'J' for argument packs.
(d_exprlist): Add terminator parm.
(d_expression, d_print_comp): Handle initializer lists, nullary
expressions, prefix/suffix operators, and new.
(d_print_subexpr): Avoid parens around DEMANGLE_COMPONENT_QUAL_NAME
and DEMANGLE_COMPONENT_INITIALIZER_LIST.
* testsuite/demangle-expected: Add tests.
From-SVN: r182970
2012-01-06 16:39:43 -05:00
Jason Merrill
49f2da1a16
cp-demangle.c (cplus_demangle_type): decltype, pack expansion and vector are substitutable.
...
* cp-demangle.c (cplus_demangle_type): decltype, pack expansion
and vector are substitutable.
(cplus_demangle_operators): Sort.
From-SVN: r182969
2012-01-06 16:39:34 -05:00
Jason Merrill
1be3db365d
mangle.c (mangle_decl): Don't generate mangling aliases for maybe-in-charge [cd]tors.
...
* mangle.c (mangle_decl): Don't generate mangling aliases
for maybe-in-charge [cd]tors.
From-SVN: r182968
2012-01-06 16:39:27 -05:00
Jason Merrill
11a36a2754
* error.c (dump_expr): Print type of CONSTRUCTOR.
...
From-SVN: r182967
2012-01-06 16:39:19 -05:00
Jason Merrill
458961279a
correct comment
...
From-SVN: r182965
2012-01-06 16:39:07 -05:00
Alexandre Oliva
7483eef82a
re PR debug/51746 (Segfault in cselib_preserved_value_p)
...
PR debug/51746
* cselib.c (cselib_hash_rtx): Hash incoming VALUEs too.
From-SVN: r182963
2012-01-06 20:20:55 +00:00
Jakub Jelinek
09228fefca
re PR lto/51774 (FAIL: gcc.dg/lto/trans-mem-* c_lto_trans-mem-1_0.o-c_lto_trans-mem-1_1.o link, -flto -fgnu-tm)
...
PR lto/51774
* lto-lang.c (handle_returns_twice_attribute): New function.
(lto_attribute_table): Add returns_twice attribute.
From-SVN: r182959
2012-01-06 17:48:52 +01:00
Arnaud Charlet
4913e24c20
[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
2012-01-06 15:48:05 +01:00
Arnaud Charlet
86d71fcabf
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
2012-01-06 15:11:33 +01:00
Tristan Gingold
1ab3568bd5
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
2012-01-06 13:43:03 +00:00
Tobias Burnus
5d81ddd07f
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
2012-01-06 14:38:49 +01:00
Andrew Stubbs
af0aec67b8
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
2012-01-06 11:35:32 +00:00
Eric Botcazou
b71b28290b
* ada/acats/overflow.lst: Add cb20004.
...
From-SVN: r182947
2012-01-06 10:50:00 +00:00
Jonathan Wakely
6e576613f7
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
2012-01-06 01:26:06 +00:00
GCC Administrator
ea0463d9d4
Daily bump.
...
From-SVN: r182942
2012-01-06 00:19:07 +00:00
Han Shen
17719d0974
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
2012-01-06 00:14:32 +00:00
Torvald Riegel
b0c99997cc
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
2012-01-05 23:48:30 +00:00
Dodji Seketeli
45a29025db
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
2012-01-06 00:00:14 +01:00
Eric Botcazou
c3e686a350
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
2012-01-05 22:21:29 +00:00
Uros Bizjak
2d130b315d
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
2012-01-05 22:50:20 +01:00
Richard Henderson
a32e5e9357
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
2012-01-05 13:36:35 -08:00
Paul Thomas
003e0ad601
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
2012-01-05 21:15:52 +00:00
François Dumont
f7d6ad0a5c
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
2012-01-05 20:59:17 +00:00
François Dumont
866622072a
Restore 2012 entries that hasn't been saved.
...
From-SVN: r182926
2012-01-05 20:50:51 +00:00
François Dumont
632c71230e
Roll ChangeLog file, move 2012 entries in the new ChangeLog.
...
From-SVN: r182925
2012-01-05 20:49:15 +00:00
Jakub Jelinek
f8f75b16c2
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
2012-01-05 21:47:16 +01:00
Eric Botcazou
629c2cca17
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
2012-01-05 20:43:43 +00:00
Jakub Jelinek
a3e6a37b65
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
2012-01-05 21:20:57 +01:00
Jakub Jelinek
36363ebb88
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
2012-01-05 21:18:15 +01:00
Jakub Jelinek
1e69d24e61
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
2012-01-05 20:54:16 +01:00
Jan Hubicka
56494762be
re PR rtl-optimization/49710 (segfault)
...
PR middle-end/49710
* cfgloopmanip.c (remove_path): Walk loop hiearchy upwards when
unlooping loops.
From-SVN: r182919
2012-01-05 19:25:14 +00:00
Richard Guenther
10d12a3eeb
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
2012-01-05 15:43:54 +00:00
Richard Guenther
c4207e25d3
pr49309.C: Skip for -flto.
...
2012-01-05 Richard Guenther <rguenther@suse.de>
* g++.dg/torture/pr49309.C: Skip for -flto.
From-SVN: r182915
2012-01-05 15:28:30 +00:00
Jakub Jelinek
32be32afef
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
2012-01-05 16:10:26 +01:00
Richard Guenther
5720c0dc9c
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
2012-01-05 15:08:42 +00:00
Aldy Hernandez
be223aafde
Add Patrick Marlier to ChangeLog entry.
...
From-SVN: r182912
2012-01-05 14:16:39 +00:00
Aldy Hernandez
1f53a8e6ab
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
2012-01-05 14:14:29 +00:00
Richard Guenther
6ad024b4c0
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
2012-01-05 13:41:34 +00:00
Aldy Hernandez
713b8dfb75
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
2012-01-05 13:36:32 +00:00
Richard Guenther
76f5732818
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
2012-01-05 13:28:34 +00:00
Georg-Johann Lay
543a341c1b
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
2012-01-05 11:00:23 +00:00
Marcus Shawcroft
6bfd2688d6
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
2012-01-05 09:45:09 +00:00
Jakub Jelinek
bfeb0869d6
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
2012-01-05 10:32:52 +01:00
Richard Henderson
9696698a51
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
2012-01-04 18:25:04 -08:00
Richard Henderson
99776ebd5b
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
2012-01-04 17:35:25 -08:00
Jakub Jelinek
cbd651333d
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
2012-01-05 01:29:13 +01:00
GCC Administrator
9b9d0043b9
Daily bump.
...
From-SVN: r182895
2012-01-05 00:18:55 +00:00
Eric Botcazou
8594273a73
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
2012-01-04 21:34:27 +00:00
Jakub Jelinek
5dc28f42b4
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
2012-01-04 20:58:03 +01:00