Jason Merrill [Sat, 10 Nov 2012 17:27:22 +0000 (12:27 -0500)]
* many: Replace uses of __GXX_EXPERIMENTAL_CXX0X__ with __cplusplus.
From-SVN: r193392
Eric Botcazou [Sat, 10 Nov 2012 15:32:32 +0000 (15:32 +0000)]
expr.c (store_field): Remove TYPE parameter.
* expr.c (store_field): Remove TYPE parameter. Remove block of code
dealing with BLKmode in registers. Reimplement this support using
pseudo-registers and bit-field techniques.
(store_constructor_field): Remove TYPE parameter and adjust calls to
store_field.
(expand_assignment): Adjust calls to store_field. Add comment.
(store_expr): Add comment.
(store_constructor): Adjust calls to store_constructor_field.
(expand_expr_real_2): Adjust call to store_field.
From-SVN: r193391
David Edelsohn [Sat, 10 Nov 2012 14:34:42 +0000 (14:34 +0000)]
unused1.C: Skip on AIX.
* g++.dg/other/unused1.C: Skip on AIX.
* g++.dg/other/anon5.C: Allow Undefined to be capitalized. Ignore
extra message on AIX.
From-SVN: r193390
David Edelsohn [Sat, 10 Nov 2012 14:26:54 +0000 (14:26 +0000)]
scal-to-vec2.c: Ignore non-standard ABI message.
* c-c++-common/scal-to-vec2.c: Ignore non-standard ABI message.
* c-c++-common/vector-compare-1.c: Same.
* c-c++-common/vector-compare-2.c: Same.
From-SVN: r193389
Uros Bizjak [Sat, 10 Nov 2012 11:28:12 +0000 (12:28 +0100)]
re PR rtl-optimization/55247 (internal compiler error: Max. number of generated reload insns per insn is achieved (90))
PR target/55247
* config/i386/i386.md (*movti_internal_rex64): Add "!" to riF->o
alternative.
testsuite/ChangeLog:
PR target/55247
* gcc.target/i386/pr55247.c: New test.
From-SVN: r193388
Andrew Pinski [Sat, 10 Nov 2012 03:23:22 +0000 (03:23 +0000)]
20121108-1.c: New test.
2012-11-09 Andrew Pinski <apinski@cavium.com>
* gcc.c-torture/execute/
20121108-1.c: New test.
From-SVN: r193386
GCC Administrator [Sat, 10 Nov 2012 00:18:05 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r193385
Ed Smith-Rowland [Sat, 10 Nov 2012 00:08:49 +0000 (00:08 +0000)]
Implement a flag -fext-numeric-literals that allows control of whether GNU...
Implement a flag -fext-numeric-literals that allows control of whether GNU
numeric suffix extensions are parsed or passed to C++ as user-defined literals.
From-SVN: r193382
Eric Botcazou [Fri, 9 Nov 2012 21:52:29 +0000 (21:52 +0000)]
* doc/install.texi (sparc64-x-solaris2): Mention MPC as well.
From-SVN: r193377
Eric Botcazou [Fri, 9 Nov 2012 21:42:02 +0000 (21:42 +0000)]
re PR other/52438 (Some files still GPLv2)
PR other/52438
* s-taspri-lynxos.ads: Delete.
* s-osinte-kfreebsd-gnu.ads: Change license to GPL V3+.
* s-tpopsp-rtems.adb: Likewise.
* s-osinte-rtems.adb: Likewise.
From-SVN: r193375
Siddhesh Poyarekar [Fri, 9 Nov 2012 19:55:53 +0000 (19:55 +0000)]
Warray-bounds-3.c (bar): Keep array access within bounds for ABDAY, DAY, ABMON, MON, AM_PM.
* gcc.dg/Warray-bounds-3.c (bar): Keep array access within
bounds for ABDAY, DAY, ABMON, MON, AM_PM.
* gcc.dg/vect/pr22506.c (foo): Reduce loop iterations to within
array bounds.
* gcc.dg/vect/pr34005.c (XdmcpUnwrap): Likewise.
From-SVN: r193373
Aldy Hernandez [Fri, 9 Nov 2012 18:52:36 +0000 (18:52 +0000)]
+ * g++.dg/tm/pr47530-2.C: Adjust for uninstrumented code path.
+ * g++.dg/tm/pr47530-2.C: Adjust for uninstrumented code path.
+ * g++.dg/tm/pr47530.C: Same.
From-SVN: r193372
Richard Henderson [Fri, 9 Nov 2012 17:20:12 +0000 (09:20 -0800)]
Use hook_bool_void_true for TARGET_LRA_P
From-SVN: r193370
Torvald Riegel [Fri, 9 Nov 2012 17:04:40 +0000 (17:04 +0000)]
Add HTM fastpath and use Intel RTM for it on x86.
* beginend.cc (htm_fastpath): New.
(gtm_thread::begin_transaction, _ITM_commitTransaction,
_ITM_commitTransactionEH): Add HTM fastpath handling.
* config/linux/rwlock.h (gtm_rwlock.is_write_locked): New.
* config/posix/rwlock.h (gtm_rwlock.is_write_locked): New.
* config/x86/target.h (htm_available, htm_init, htm_begin_success,
htm_begin, htm_commit, htm_abort, htm_abort_should_retry): New.
* configure.tgt: Add -mrtm to XCFLAGS.
* method-serial.cc (htm_mg, o_htm_mg, htm_dispatch, dispatch_htm): New.
(gtm_thread::serialirr_mode): Add HTM fastpath handling.
* libitm_i.h (htm_fastpath, dispatch_htm): Declare.
* retry.cc (parse_default_method): Add HTM method parsing.
(gtm_thread::number_of_threads_changed): Use HTM by default if
available.
From-SVN: r193369
Jason Merrill [Fri, 9 Nov 2012 16:14:48 +0000 (11:14 -0500)]
re PR c++/54859 (constexpr in template alias rejected as non-constant)
PR c++/54859
* pt.c (check_instantiated_arg): Don't complain about dependent args.
From-SVN: r193368
Jason Merrill [Fri, 9 Nov 2012 16:14:37 +0000 (11:14 -0500)]
Add C++ attribute abi_tag and -Wabi-tag option.
gcc/
* attribs.c (lookup_attribute_spec): Handle getting a TREE_LIST.
gcc/c-family/
* c.opt (Wabi-tag): New.
gcc/cp/
* tree.c (cxx_attribute_table): Add abi_tag attribute.
(check_abi_tag_redeclaration, handle_abi_tag_attribute): New.
* class.c (find_abi_tags_r, check_abi_tags): New.
(check_bases, check_field_decl): Call check_abi_tags.
* decl.c (redeclaration_error_message): Call
check_abi_tag_redeclaration.
* mangle.c (tree_string_cmp, write_abi_tags): New.
(write_unqualified_name): Call write_abi_tags.
include/
* demangle.h (enum demangle_component_type): Add
DEMANGLE_COMPONENT_TAGGED_NAME.
libiberty/
* cp-demangle.c (d_dump): Handle DEMANGLE_COMPONENT_TAGGED_NAME.
(d_make_comp, d_find_pack, d_print_comp): Likewise.
(d_abi_tags): New.
(d_name): Call it.
From-SVN: r193367
Jason Merrill [Fri, 9 Nov 2012 16:14:25 +0000 (11:14 -0500)]
remove redundant definition of IN_CHARGE_NAME
From-SVN: r193366
Vladimir Makarov [Fri, 9 Nov 2012 15:33:19 +0000 (15:33 +0000)]
re PR rtl-optimization/55154 (ICE: in curr_insn_transform, at lra-constraints.c:2702 with custom flags)
2012-11-09 Vladimir Makarov <vmakarov@redhat.com>
PR tree-optimization/55154
* lra-int.h (LRA_LOSER_COST_FACTOR, LRA_MAX_REJECT): New macros.
* lra.c (setup_operand_alternative): Use them.
* lra-constraints.c (LOSER_COST_FACTOR, MAX_OVERALL_COST_BOUND):
Remove.
(process_alt_operands): Use LRA_LOSER_COST_FACTOR and
LRA_MAX_REJECT. Accumulate reject instead of setting for
non-const.
(curr_insn_transform): Initialize best_losers and best_overall by
INT_MAX.
2012-11-09 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/55154
* gcc.target/i386/pr55154.c: New test.
From-SVN: r193364
Andi Kleen [Fri, 9 Nov 2012 15:24:25 +0000 (15:24 +0000)]
Handle target specific memory models in C frontend
get_atomic_generic_size would error out for
__atomic_store(...,__ATOMIC_HLE_RELEASE)
Just mask it out. All the memory orders are checked completely
in builtins.c anyways.
I'm not sure what that check is for, it could be removed in theory.
Passed bootstrap and test suite on x86-64
gcc/c-family/:
2012-11-09 Andi Kleen <ak@linux.intel.com>
PR 55139
* c-common.c (get_atomic_generic_size): Mask with
MEMMODEL_MASK
From-SVN: r193363
Christian Bruel [Fri, 9 Nov 2012 14:32:55 +0000 (15:32 +0100)]
sh.c (sh_can_use_simple_return_p): Enable with -freorder-blocks-and-partition.
* config/sh/sh.c (sh_can_use_simple_return_p): Enable with
-freorder-blocks-and-partition.
From-SVN: r193362
Vladimir Makarov [Fri, 9 Nov 2012 14:28:40 +0000 (14:28 +0000)]
re PR rtl-optimization/55151 (ICE: in assign_by_spills, at lra-assigns.c:1217 with -fPIC)
2012-11-09 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/55151
* gcc.dg/pr55151.c: Move ...
* gcc.target/i386/pr55151.c: ... here.
From-SVN: r193361
Kenneth Zadeck [Fri, 9 Nov 2012 13:18:49 +0000 (13:18 +0000)]
rtl.h (CONST_SCALAR_INT_P): New macro.
2012-11-09 Kenneth Zadeck <zadeck@naturalbridge.com>
* rtl.h (CONST_SCALAR_INT_P): New macro.
* cfgexpand.c (expand_debug_locations): Changed to use
CONST_SCALAR_INT_P macro.
* combine.c (try_combine, subst, make_extraction,
gen_lowpart_for_combine): Ditto.
* cselib.c (entry_and_rtx_equal_p, rtx_equal_for_cselib_1): Ditto.
* dwarf2out.c (loc_descriptor): Ditto.
* emit-rtl.c (gen_lowpart_common): Ditto.
* ira-costs.c (record_reg_classes, record_address_regs): Ditto.
* ira-lives.c (single_reg_class): Ditto.
* recog.c (simplify_while_replacing, asm_operand_ok,
constrain_operands): Ditto.
* reload.c (find_reloads): Ditto.
* simplify-rtx.c (simplify_unary_operation_1,
simplify_const_unary_operation, simplify_binary_operation_1,
simplify_const_binary_operation, simplify_relational_operation_1,
simplify_subreg): Ditto.
From-SVN: r193360
Steven Bosscher [Fri, 9 Nov 2012 12:31:32 +0000 (12:31 +0000)]
re PR middle-end/54385 (ICE in pre_and_rev_post_order_compute, at cfganal.c:873)
PR middle-end/54385
* postreload.c (reload_cse_simplify): Return a bool indicating
whether the CFG was changed.
(reload_cse_regs_1): Traverse the CFG instead of the insns chain.
Cleanup the CFG if edges may have been removed.
(reload_cse_regs): Update.
From-SVN: r193359
Andrey Belevantsev [Fri, 9 Nov 2012 12:28:21 +0000 (16:28 +0400)]
re PR rtl-optimization/54472 (ICE (spill_failure): unable to find a register to spill in class 'AREG' with -O -fschedule-insns -fselective-scheduling)
PR rtl-optimization/54472
* sel-sched-ir.c (has_dependence_note_reg_set): Handle implicit sets.
(has_dependence_note_reg_clobber,
has_dependence_note_reg_use): Likewise.
* gcc.dg/pr54472.c: New test.
From-SVN: r193358
Eric Botcazou [Fri, 9 Nov 2012 11:07:30 +0000 (11:07 +0000)]
trans.c (gnat_to_gnu): Deal with a missing library unit instead of calling gnat_to_gnu on Emtpy.
* gcc-interface/trans.c (gnat_to_gnu) <N_Subprogram_Body_Stub>: Deal
with a missing library unit instead of calling gnat_to_gnu on Emtpy.
Remove last bits of support for SCIL nodes. Add cases for nodes that
should only be present when annotating types. Add default abort.
From-SVN: r193357
Eric Botcazou [Fri, 9 Nov 2012 09:10:04 +0000 (09:10 +0000)]
i386.c (release_scratch_register_on_entry): Also adjust sp_offset manually.
* config/i386/i386.c (release_scratch_register_on_entry): Also adjust
sp_offset manually.
From-SVN: r193352
Christian Bruel [Fri, 9 Nov 2012 06:32:28 +0000 (07:32 +0100)]
tree-ssa-tail-merge.c (replace_block_by): Update bb2 profile count.
2012-11-08 Christian Bruel <christian.bruel@st.com>
* tree-ssa-tail-merge.c (replace_block_by): Update bb2 profile count.
Do not reset dead bb1->frequency.
From-SVN: r193350
GCC Administrator [Fri, 9 Nov 2012 00:18:20 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r193348
Ian Lance Taylor [Fri, 9 Nov 2012 00:05:05 +0000 (00:05 +0000)]
go-test.exp (go-gc-tests): Handle runoutput test type with arguments.
* go.test/go-test.exp (go-gc-tests): Handle runoutput test type
with arguments. Handle errorcheckoutput and rundir test types.
From-SVN: r193344
Steven Bosscher [Thu, 8 Nov 2012 21:47:50 +0000 (21:47 +0000)]
re PR tree-optimization/55191 (ICE in compute_antic at tree-ssa-pre.c:2511)
gcc/
PR tree-optimization/55191
* cfganal.c (connect_infinite_loops_to_exit): Call dfs_deadend here.
(flow_dfs_compute_reverse_execute): Don't call it here.
testsuite/
PR tree-optimization/55191
* gcc.dg/pr55191.c: New test.
From-SVN: r193341
Jakub Jelinek [Thu, 8 Nov 2012 20:20:10 +0000 (21:20 +0100)]
re PR debug/53145 (gcc.dg/pch/save-temps-1.c)
PR debug/53145
* dwarf2out.c (gen_compile_unit_die): Don't call gen_producer_string
here, instead add "" if producer_string is NULL.
(dwarf2out_finish): Call gen_producer_string here, unconditionally
decrease refcount of the old indirect string and set val_str to
find_AT_string result.
From-SVN: r193340
François Dumont [Thu, 8 Nov 2012 20:16:04 +0000 (20:16 +0000)]
re PR libstdc++/54075 ([4.7.1] unordered_map insert still slower than 4.6.2)
2012-11-08 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/54075
* include/bits/hashtable.h (_Hashtable<>::rehash): Reset hash
policy state if no rehash.
* testsuite/23_containers/unordered_set/modifiers/reserve.cc
(test02): New.
From-SVN: r193339
Jakub Jelinek [Thu, 8 Nov 2012 20:15:06 +0000 (21:15 +0100)]
re PR debug/54499 (GCC produces wrong debugging information, failure while assembling generated .s file)
PR debug/54499
* cgraphunit.c (assemble_thunk): Don't call source_line debug hook
here, instead call insn_locations_{init,finalize} and initialize
prologue_location.
* g++.dg/debug/pr54499.C: New test.
From-SVN: r193338
Dmitry Gorbachev [Thu, 8 Nov 2012 20:13:13 +0000 (20:13 +0000)]
re PR driver/54789 (Error in GCC driver when defining GCC_COMPARE_DEBUG)
PR driver/54789
* gcc.c (process_command): Use save_switch for synthesized
-fcompare-debug=* option; mark the switch as known.
From-SVN: r193337
Jakub Jelinek [Thu, 8 Nov 2012 20:09:14 +0000 (21:09 +0100)]
re PR target/54308 (build regression in 190498 on ppc64/linux: legitimate_indirect_address_p undefined)
PR target/54308
* config/rs6000/rs6000.c (legitimate_indirect_address_p): Remove
inline keyword.
From-SVN: r193336
Bernd Schmidt [Thu, 8 Nov 2012 17:10:26 +0000 (17:10 +0000)]
re PR rtl-optimization/54850 (FAIL: gcc.c-torture/execute/
20041113-1.c execution, -Os)
PR rtl-optimization/54850
* sched-deps.c (find_inc): Add all dependencies from the inc_insn
to the mem_insn.
From-SVN: r193332
Jan Hubicka [Thu, 8 Nov 2012 16:46:18 +0000 (17:46 +0100)]
re PR fortran/48636 (Enable more inlining with -O2 and higher)
PR middle-end/48636
* ipa-inline.c (big_speedup_p): New function.
(want_inline_small_function_p): Use it.
(edge_badness): Dump it.
* params.def (inline-min-speedup): New parameter.
* doc/invoke.texi (inline-min-speedup): Document.
From-SVN: r193331
Martin Jambor [Thu, 8 Nov 2012 16:41:06 +0000 (17:41 +0100)]
ipa-prop.c (determine_known_aggregate_parts): Skip writes to different declarations when tracking writes to a declaration.
2012-11-08 Martin Jambor <mjambor@suse.cz>
* ipa-prop.c (determine_known_aggregate_parts): Skip writes to
different declarations when tracking writes to a declaration.
* gfortran.dg/ipcp-array-1.f90: New test.
From-SVN: r193330
Tobias Schlüter [Thu, 8 Nov 2012 15:46:07 +0000 (16:46 +0100)]
re PR fortran/51727 (Changing module files)
PR fortran/51727
* module.c (sorted_pointer_info): New.
(gfc_get_sorted_pointer_info): New.
(free_sorted_pointer_info_tree): New.
(compare_sorted_pointer_info): New.
(find_symbols_to_write): New.
(write_symbol1_recursion): New.
(write_symbol1): Collect symbols that need writing, output in order.
(write_generic): Traverse tree in order.
From-SVN: r193329
Paolo Carlini [Thu, 8 Nov 2012 13:40:53 +0000 (13:40 +0000)]
55028-debug.cc: Don't pass -D_GLIBCXX_DEBUG by hand (check-debug does).
2012-11-08 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
Don't pass -D_GLIBCXX_DEBUG by hand (check-debug does).
From-SVN: r193327
Florian Weimer [Thu, 8 Nov 2012 09:54:04 +0000 (10:54 +0100)]
cxa_vec.C: Fix typo in comment.
* g++.old-deja/g++.abi/cxa_vec.C: Fix typo in comment.
* testsuite/18_support/cxa_vec.cc: Fix typo in comment.
From-SVN: r193326
Jonathan Wakely [Thu, 8 Nov 2012 09:15:43 +0000 (09:15 +0000)]
iterator_tracker.h (operator++): Fix returning dangling reference.
* include/profile/iterator_tracker.h (operator++): Fix returning
dangling reference.
(operator--): Likewise.
From-SVN: r193323
David S. Miller [Thu, 8 Nov 2012 03:26:49 +0000 (03:26 +0000)]
Add extensive commentary to sparc's "U" constraint.
* config/sparc/constraints.md ("U"): Document, in detail,
which this constraint is necessary.
From-SVN: r193322
GCC Administrator [Thu, 8 Nov 2012 00:17:51 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r193321
Jack Howarth [Wed, 7 Nov 2012 23:12:27 +0000 (23:12 +0000)]
Use -Wl,-undefined,dynamic_lookup on darwin
* testsuite/libgomp.c++/pr24455.C: Use
-Wl,-undefined,dynamic_lookup on darwin.
From-SVN: r193318
Vladimir Makarov [Wed, 7 Nov 2012 22:43:30 +0000 (22:43 +0000)]
re PR rtl-optimization/55151 (ICE: in assign_by_spills, at lra-assigns.c:1217 with -fPIC)
2012-11-07 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/55151
* gcc.dg/pr55151.c: Use ia32 instead of x86_64.
From-SVN: r193317
Uros Bizjak [Wed, 7 Nov 2012 22:41:39 +0000 (23:41 +0100)]
cunroll-1.c: Scan cunrolli dump.
* gcc.dg/tree-ssa/cunroll-1.c: Scan cunrolli dump.
From-SVN: r193316
Uros Bizjak [Wed, 7 Nov 2012 22:34:48 +0000 (23:34 +0100)]
re PR middle-end/55235 (FAIL: gcc.target/i386/pr44948-2a.c)
PR middle-end/55235
* expr.c (store_expr): Do not call emit_block_move for
non-BLKmode values.
From-SVN: r193314
Eric Botcazou [Wed, 7 Nov 2012 22:26:02 +0000 (22:26 +0000)]
re PR middle-end/55219 (memory explosion on nested conditional expressions)
PR middle-end/55219
* fold-const.c (fold_binary_op_with_conditional_arg): Do not fold if
the argument is itself a conditional expression.
From-SVN: r193312
Vladimir Makarov [Wed, 7 Nov 2012 22:20:15 +0000 (22:20 +0000)]
re PR rtl-optimization/55151 (ICE: in assign_by_spills, at lra-assigns.c:1217 with -fPIC)
2012-11-07 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/55151
* gcc.dg/pr55151.c: Compile it only for x86_64.
From-SVN: r193311
Vladimir Makarov [Wed, 7 Nov 2012 22:11:08 +0000 (22:11 +0000)]
re PR rtl-optimization/55122 (ICE: maximum number of LRA constraint passes is achieved (15))
2012-11-07 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/55122
* lra-constraints.c (match_reload): Sync values for dead input
pseudos.
2012-11-07 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/55122
* gcc.dg/pr55122.c: New test.
From-SVN: r193310
David Edelsohn [Wed, 7 Nov 2012 21:03:08 +0000 (21:03 +0000)]
pr46728-[
1234578].c: Tighten regex to ignore word powerpc.
* gcc.target/powerpc/pr46728-[
1234578].c: Tighten regex to ignore
word powerpc.
* gcc.target/powerpc/vsx-mass-1.c: Escape [ and ] in regex.
* gcc.target/powerpc/loop_align.c: Skip on AIX.
* gcc.target/powerpc/ppc-pow.c: Allow dot symbols in branch.
* gcc.target/powerpc/tfmode_off.c: Skip on AIX.
From-SVN: r193309
Richard Henderson [Wed, 7 Nov 2012 20:20:32 +0000 (12:20 -0800)]
* trans-mem.c (pass_ipa_tm): Don't use TODO_update_ssa.
From-SVN: r193308
Peter Bergner [Wed, 7 Nov 2012 19:49:51 +0000 (13:49 -0600)]
invoke.texi (-mcpu=power8): Document.
* doc/invoke.texi (-mcpu=power8): Document.
* config.in (HAVE_AS_POWER8): New.
* config.gcc: Add cpu_type power8.
* configure.ac: (HAVE_AS_POWER8): Check for assembler support for
the POWER8 instructions.
* configure: Regenerate.
* config/rs6000/rs6000.h: (ASM_CPU_POWER8_SPEC): Define.
(ASM_CPU_SPEC): Pass %(asm_cpu_power8) for -mcpu=power8.
(EXTRA_SPECS): Add asm_cpu_power8 spec string.
* config/rs6000/rs6000-cpus.def (processor_target_table): Alias
POWER8 to POWER7.
* config/rs6000/rs6000-tables.opt: Regenerate.
* config/rs6000/driver-rs6000.c (ASM_CPU_SPEC): For -mcpu=power8,
pass %(asm_cpu_power8)/-mpwr8.
* config/rs6000/aix53.h: Likewise.
* config/rs6000/aix61.h: Likewise.
From-SVN: r193307
Uros Bizjak [Wed, 7 Nov 2012 19:35:25 +0000 (20:35 +0100)]
re PR target/55224 (FAIL: gcc.target/i386/tailcall-1.c scan-assembler jmp)
PR target/55224
* config/i386/i386.c (ix86_function_ok_for_sibcall): Put back exception
to make a sibcall if one of the functions has void return type.
From-SVN: r193306
Uros Bizjak [Wed, 7 Nov 2012 19:30:48 +0000 (20:30 +0100)]
re PR target/55224 (FAIL: gcc.target/i386/tailcall-1.c scan-assembler jmp)
PR target/55224
* config/i386/i386.c (ix86_function_ok_for_sibcall): Put back exception
to make a sibcall if one of the functions has void return type.
From-SVN: r193305
Manuel López-Ibáñez [Wed, 7 Nov 2012 18:27:14 +0000 (18:27 +0000)]
re PR c/53063 (encode group options in the .opt files)
gcc/
2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c/53063
* doc/invoke.texi (Wformat): Update.
c-family/
2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c/53063
* c.opt (Wformat): Make it Alias Wformat=1.
(Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
Wformat-security,Wformat-y2k,Wformat-zero-length): Use
LangEnabledBy.
(Wformat=): RejectNegative. Use LangEnabledBy.
(Wnonnull): Use LangEnabledBy.
* c-opts.c (c_common_handle_option): Do not handle Wformat here.
* c-format.c (set_Wformat): Delete.
(decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
(maybe_read_dollar_number): Likewise.
(avoid_dollar_number): Likewise.
(finish_dollar_format_checking): Likewise.
(check_format_info): Likewise.
(check_format_info_main): Likewise.
(check_format_types): Likewise.
(format_type_warning): Likewise.
* c-common.c (int): Likewise.
(check_function_sentinel): Likewise.
* c-common.h (warn_format,set_Wformat): Do not declare here.
testsuite/
2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c/53063
* gcc.dg/warn-nsstring.c: Use -Wformat explicitly.
From-SVN: r193304
Manuel López-Ibáñez [Wed, 7 Nov 2012 18:11:01 +0000 (18:11 +0000)]
optc-gen.awk: Factor code out to...
2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
* optc-gen.awk: Factor code out to...
* opt-functions.awk (lang_enabled_by): ... this new function.
From-SVN: r193303
Manuel López-Ibáñez [Wed, 7 Nov 2012 17:54:11 +0000 (17:54 +0000)]
re PR c/53063 (encode group options in the .opt files)
c-family/
2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c/53063
* c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
Use LangEnabledBy.
(Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
common.opt.
(Wvariadic-macros): Init(1).
* c-opts.c (c_common_handle_option): Do not handle them
explicitly.
(c_common_post_options): Likewise.
(sanitize_cpp_opts): warn_unused_macros is now
cpp_warn_unused_macros.
(push_command_line_include): Likewise.
* c-common.c (warn_unknown_pragmas): Do not define.
* c-common.h (warn_unknown_pragmas): Do not declare.
gcc/
2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c/53063
* common.opt (Wswitch,Wswitch-default,Wswitch-enum): Move to c.opt.
fortran/
2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c/53063
* options.c (set_Wall): Do not set warn_switch here.
From-SVN: r193302
Manuel López-Ibáñez [Wed, 7 Nov 2012 16:58:03 +0000 (16:58 +0000)]
re PR c/51294 (spurious warning from -Wconversion in C and C++ in conditional expressions)
2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c/51294
c-family/
* c-common.c (conversion_warning): Handle conditional expressions.
testsuite/
* c-c++-common/pr51294.c: New.
From-SVN: r193301
Yufeng Zhang [Wed, 7 Nov 2012 16:13:27 +0000 (16:13 +0000)]
aarch64.c (aarch64_expand_prologue): add the missing argument 'Pmode' to the 'plus_constant' call.
gcc/ChangeLog
2012-11-07 Yufeng Zhang <yufeng.zhang@arm.com>
* config/aarch64/aarch64.c (aarch64_expand_prologue): add the missing
argument 'Pmode' to the 'plus_constant' call.
From-SVN: r193299
Martin Jambor [Wed, 7 Nov 2012 15:55:54 +0000 (16:55 +0100)]
re PR tree-optimization/53787 (Possible IPA-SRA / IPA-CP improvement)
2012-11-07 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/53787
* ipa-cp.c (ipcp_value_source): New field offset.
(ipcp_agg_lattice): New type.
(ipcp_param_lattices): Likewise, move virt_call from ipcp_lattice here.
(ipcp_agg_lattice_pool): New variable.
(ipa_get_parm_lattices): New function.
(ipa_get_lattice): Turned into ipa_get_scalar_lat, use the above.
Adjusted all callers.
(print_lattice): New function.
(print_all_lattices): Use the above, also print aggregate lattices.
(set_agg_lats_to_bottom): New function.
(set_agg_lats_contain_variable): Likewise.
(set_all_contains_variable): Likewise.
(initialize_node_lattices): Also handle aggregate lattices, set
virt_call in ipcp_param_lattices.
(add_value_source): Handle offsets.
(add_value_to_lattice): Likewise.
(add_scalar_value_to_lattice): New function.
(propagate_vals_accross_pass_through): Use add_scalar_value_to_lattice.
(propagate_vals_accross_ancestor): Likewise.
(propagate_accross_jump_function): Renamed to
propagate_scalar_accross_jump_function, use
add_scalar_value_to_lattice.
(set_check_aggs_by_ref): New function.
(merge_agg_lats_step): Likewise.
(set_chain_of_aglats_contains_variable): Likewise.
(merge_aggregate_lattices): Likewise.
(propagate_constants_accross_call): Also handle aggregate lattices.
(hint_time_bonus): New function.
(context_independent_aggregate_values): Likewise.
(gather_context_independent_values): Also handle agggregate values.
(agg_jmp_p_vec_for_t_vec): New function.
(estimate_local_effects): Also handle agggregate values.
(add_all_node_vals_to_toposort): Likewise.
(ipcp_propagate_stage): Use struct ipcp_param_lattices.
(get_clone_agg_value): New function.
(cgraph_edge_brings_value_p): Also handle agggregate values.
(create_specialized_node): Likewise.
(find_more_values_for_callers_subset): Rename to
find_more_scalar_values_for_callers_subset. Modify dump.
(copy_plats_to_inter): New function.
(intersect_with_plats): Likewise.
(agg_replacements_to_vector): Likewise.
(intersect_with_agg_replacements): Likewise.
(find_aggregate_values_for_callers_subset): Likewise.
(known_aggs_to_agg_replacement_list): Likewise.
(cgraph_edge_brings_all_scalars_for_node): Likewise.
(cgraph_edge_brings_all_agg_vals_for_node): Likewise.
(perhaps_add_new_callers): Old functionality moved to
cgraph_edge_brings_all_scalars_for_node, call it and
cgraph_edge_brings_all_agg_vals_for_node.
(ipcp_val_in_agg_replacements_p): New function.
(decide_about_value): New function.
(decide_whether_version_node): A lot of functionality moved to
decide_about_value. Also handle agggregate values.
(ipcp_driver): Also allocate ipcp_agg_lattice_pool.
(pass_ipa_cp): Fill in new entries.
* ipa-prop.c (ipa_node_agg_replacements): New variable.
(free_parms_ainfo): New function.
(ipa_analyze_node): Use free_parms_ainfo to free stuff.
(ipa_find_agg_cst_for_param): Do not rely on offset ordering.
(ipa_set_node_agg_value_chain): New function.
(ipa_node_removal_hook): Also handle ipa_node_agg_replacements.
(ipa_node_duplication_hook): Likewise.
(ipa_free_all_structures_after_ipa_cp): Also free ipcp_agg_lattice_pool.
(ipa_free_all_structures_after_iinln): Likewise.
(ipa_dump_agg_replacement_values): New function.
(write_agg_replacement_chain): Likewise.
(read_agg_replacement_chain): Likewise.
(ipa_prop_write_all_agg_replacement): Likewise.
(read_replacements_section): Likewise.
(ipa_prop_read_all_agg_replacement): Likewise.
(adjust_agg_replacement_values): Likewise.
(ipcp_transform_function): Likewise.
* ipa-prop.h: Also define heap vector of ipa_agg_jf_item_t and of
ipa_agg_jump_function_t.
(ipa_node_params): Make lattices an array of ipcp_param_lattices.
(ipa_agg_replacement_value): New type and its vector.
(ipa_set_node_agg_value_chain) Declare.
(ipa_node_agg_replacements): Likewise.
(ipa_get_agg_replacements_for_node): New function.
(ipcp_agg_lattice_pool): Declare.
(ipa_dump_agg_replacement_values): Likewise.
(ipa_prop_write_all_agg_replacement): Likewise.
(ipa_prop_read_all_agg_replacement): Likewise.
(ipcp_transform_function): Likewise.
* ipa-inline-analysis.c (estimate_ipcp_clone_size_and_time): Pass around
known aggregates and hints.
* ipa-inline.h: include ipa-prop.h.
(estimate_ipcp_clone_size_and_time): Adjust declaration.
* lto-streamer.h (lto_section_type): New item
LTO_section_ipcp_transform.
* lto-section-in.c (lto_section_name): New element ipcp_trans.
* params.def (PARAM_IPA_CP_LOOP_HINT_BONUS): New parameter.
* Makefile.in (IPA_INLINE_H): New. Use everywhee instead of
ipa-inline.h.
* testsuite/gcc.dg/ipa/ipa-5.c: Adjust.
* testsuite/gcc.dg/ipa/ipcp-agg-1.c: New test.
* testsuite/gcc.dg/ipa/ipcp-agg-2.c: Likewise.
* testsuite/gcc.dg/ipa/ipcp-agg-3.c: Likewise.
* testsuite/gcc.dg/ipa/ipcp-agg-4.c: Likewise.
* testsuite/gcc.dg/ipa/ipcp-agg-5.c: Likewise.
* testsuite/gcc.dg/ipa/ipcp-agg-6.c: Likewise.
* testsuite/gfortran.dg/pr48636.f90: Add -fno-ipa-cp.
* testsuite/gfortran.dg/pr48636-2.f90: New test.
* testsuite/gfortran.dg/pr53787.f90: Likewise.
From-SVN: r193298
David Edelsohn [Wed, 7 Nov 2012 14:16:04 +0000 (14:16 +0000)]
* testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
From-SVN: r193296
Paolo Carlini [Wed, 7 Nov 2012 13:20:33 +0000 (13:20 +0000)]
array (_GLIBCXX_THROW_OR_ABORT): Move...
2012-11-07 Paolo Carlini <paolo.carlini@oracle.com>
* include/debug/array (_GLIBCXX_THROW_OR_ABORT): Move...
* include/bits/c++config: ... here.
* include/bits/shared_ptr_base.h (__throw_bad_weak_ptr): Use it.
* include/ext/pb_ds/exception.hpp: Likewise.
* include/ext/throw_allocator.h (__throw_forced_error): Likewise.
* include/ext/concurrence.h (__throw_concurrence_lock_error,
__throw_concurrence_unlock_error, __throw_concurrence_broadcast_error,
__throw_concurrence_wait_error): Likewise.
* include/tr1/shared_ptr.h (__throw_bad_weak_ptr): Likewise.
* include/tr1/functional (function<_Res(_ArgTypes...)>::operator()
(_ArgTypes...)): Likewise.
* libsupc++/eh_aux_runtime.cc (__cxxabiv1::__cxa_bad_cast,
__cxxabiv1::__cxa_bad_typeid): Likewise.
* libsupc++/vec.cc (compute_size): Likewise.
* libsupc++/new_op.cc (operator new (std::size_t)): Likewise.
* src/c++11/functexcept.cc: Likewise.
* testsuite/util/io/illegal_input_error.hpp
(__throw_illegal_input_error): Likewise.
* libsupc++/eh_personality.cc: Avoid warning with -fno-exceptions.
* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line
numbers.
* testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
Likewise.
* testsuite/23_containers/array/tuple_interface/
tuple_element_debug_neg.cc: Likewise.
* testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
Likewise.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
From-SVN: r193295
Uros Bizjak [Wed, 7 Nov 2012 12:15:59 +0000 (13:15 +0100)]
i386.c (enum upper_128bits_state): Remove.
* config/i386/i386.c (enum upper_128bits_state): Remove.
(check_avx256_store): Use bool pointer argument.
(ix86_avx_u128_mode_needed): Use note_stores also for CALL insns.
* config/i386/predicates.md (vzeroupper_operation): Use match_test.
From-SVN: r193294
Paolo Carlini [Wed, 7 Nov 2012 11:15:40 +0000 (11:15 +0000)]
re PR c++/55226 (ICE regression in regard to anonymous unions and constexpr)
/cp
2012-11-07 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/55226
Revert:
2012-10-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/54922
* semantics.c (cx_check_missing_mem_inits): Handle anonymous union
members.
/testsuite
2012-11-07 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/55226
Revert:
2012-10-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/54922
* g++.dg/cpp0x/constexpr-union4.C: New.
From-SVN: r193292
Yufeng Zhang [Wed, 7 Nov 2012 11:01:46 +0000 (11:01 +0000)]
aarch64.c (aarch64_expand_prologue): For the load-pair with writeback instruction...
gcc/ChangeLog
2012-11-07 Yufeng Zhang <yufeng.zhang@arm.com>
* config/aarch64/aarch64.c (aarch64_expand_prologue): For the
load-pair with writeback instruction, replace
aarch64_set_frame_expr with add_reg_note (REG_CFA_ADJUST_CFA);
add new local variable 'cfa_reg' and use it.
gcc/testsuite/ChangeLog
2012-11-07 Yufeng Zhang <yufeng.zhang@arm.com>
* gcc.target/aarch64/dwarf-cfa-reg.c: New test.
From-SVN: r193291
Kaz Kojima [Wed, 7 Nov 2012 10:50:22 +0000 (10:50 +0000)]
pr49220.c: New test.
* gcc.c-torture/compile/pr49220.c: New test.
From-SVN: r193290
Kaz Kojima [Wed, 7 Nov 2012 10:48:12 +0000 (10:48 +0000)]
re PR middle-end/49220 (ICE in create_pre_exit, at mode-switching.c:401)
PR middle-end/49220
* mode-switching.c (create_pre_exit): Set short_block if there
are no copy insns.
From-SVN: r193289
Florian Weimer [Wed, 7 Nov 2012 09:45:57 +0000 (10:45 +0100)]
init.c (build_new_1): Do not check for arithmetic overflow if inner array size is 1.
* init.c (build_new_1): Do not check for arithmetic overflow if
inner array size is 1.
* g++.dg/init/new40.C: New.
From-SVN: r193287
Martin Jambor [Wed, 7 Nov 2012 09:28:50 +0000 (10:28 +0100)]
lto-cgraph.c: Include tree-pass.h.
2012-11-07 Martin Jambor <mjambor@suse.cz>
* lto-cgraph.c: Include tree-pass.h.
(lto_output_node): Stream node->ipa_transforms_to_apply.
(input_node): Likewise.
* tree-pass.h (passes_by_id): Declare.
(passes_by_id_size): Likewise.
* Makefile.in (lto-cgraph.o): Add TREE_PASS_H to dependencies.
From-SVN: r193286
Jan Hubicka [Wed, 7 Nov 2012 09:22:50 +0000 (10:22 +0100)]
ipa-inline-analysis.c (true_predicate, [...]): Fix formatting.
* ipa-inline-analysis.c (true_predicate, single_cond_predicate,
reset_inline_edge_summary): Fix
formatting.
(account_size_time): Bump up the limit on number of size/time entries to
256.
(estimate_function_body_sizes): Work in reverse postorder.
From-SVN: r193285
Jonathan Wakely [Wed, 7 Nov 2012 09:17:42 +0000 (09:17 +0000)]
stl_vector.h (vector(size_type)): Add missing allocator parameter.
* include/bits/stl_vector.h (vector(size_type)): Add missing allocator
parameter.
* include/bits/stl_bvector.h: Likewise.
* include/debug/vector (vector(size_type)): Likewise.
* include/profile/vector (vector(size_type)): Likewise. Pass allocator
to base constructor.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Adjust dg-error line numbers.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
Likewise.
From-SVN: r193284
David S. Miller [Wed, 7 Nov 2012 08:42:09 +0000 (08:42 +0000)]
Revert sparc "U" constraint removal.
PR bootstrap/55211
Revert:
* config/sparc/constraints.md ("U"): Delete.
* config/sparc/sparc.md: Use 'r' constraint instead of 'U'.
* config/sparc/sync.md: Likewise.
And revert parts of:
* doc/md.texi: Sync sparc constraint documentation with reality.
From-SVN: r193283
Jakub Jelinek [Wed, 7 Nov 2012 07:52:16 +0000 (08:52 +0100)]
i386.c (ix86_avx_u128_mode_after): Don't look for reg in CALL operand.
* config/i386/i386.c (ix86_avx_u128_mode_after): Don't
look for reg in CALL operand.
From-SVN: r193282
Jakub Jelinek [Wed, 7 Nov 2012 07:50:01 +0000 (08:50 +0100)]
re PR debug/54693 (VTA guality issues with loops)
PR debug/54693
* tree-flow.h (propagate_threaded_block_debug_into): New prototype.
* tree-ssa-threadedge.c (propagate_threaded_block_debug_into): No
longer static.
* tree-ssa-loop-ch.c (copy_loop_headers): Use it.
* gcc.dg/guality/pr54693-2.c: New test.
From-SVN: r193281
Eric Botcazou [Wed, 7 Nov 2012 04:58:23 +0000 (04:58 +0000)]
Makefile.in: Revert most changes.
* gcc-interface/Makefile.in: Revert most changes.
* gcc-interface/Make-lang.in (gnatlib): Remove ada/s-oscons.ads.
libada/
* libada/Makefile.in: Revert most changes.
From-SVN: r193280
Sterling Augustine [Wed, 7 Nov 2012 01:18:28 +0000 (01:18 +0000)]
dwarf2out.c (output_comdat_type_unit): Check for OBJECT_FORMAT_ELF.
2012-11-06 Sterling Augustine <saugustine@google.com>
* dwarf2out.c (output_comdat_type_unit): Check for OBJECT_FORMAT_ELF.
Co-Authored-By: Cary Coutant <ccoutant@google.com>
From-SVN: r193279
Paolo Carlini [Wed, 7 Nov 2012 00:42:19 +0000 (00:42 +0000)]
re PR libstdc++/51850 (debug mode for std::array and tr1::array)
2012-11-06 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/51850
* include/debug/array: New, debug-mode implementation.
* include/profile/array: New.
* include/std/array: Adjust.
* include/std/tuple: Just include <array>.
* include/Makefile.am: Add.
* include/Makefile.in: Regenerate.
* testsuite/23_containers/array/debug/front1_neg.cc: New.
* testsuite/23_containers/array/debug/
square_brackets_operator1_neg.cc: Likewise.
* testsuite/23_containers/array/debug/front2_neg.cc: Likewise.
* testsuite/23_containers/array/debug/
square_brackets_operator2_neg.cc: Likewise.
* testsuite/23_containers/array/debug/back1_neg.cc: Likewise.
* testsuite/23_containers/array/debug/back2_neg.cc: Likewise.
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Tweak
to run only in normal-mode.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
Likewise.
* testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: New.
* testsuite/23_containers/array/tuple_interface/
tuple_element_debug_neg.cc: Likewise.
From-SVN: r193278
Lawrence Crowl [Wed, 7 Nov 2012 00:36:04 +0000 (00:36 +0000)]
Add a contrib script for comparing the performance of two sets of
compiler runs.
Usage documentation is in the script.
The script produces output of the form:
$ compare_two_ftime_report_sets "Log0/*perf" "Log3/*perf"
Arithmetic sample for timevar log files
"Log0/*perf"
and selecting lines containing "TOTAL" with desired confidence 95 is
trial count is 4, mean is 443.022 (95% confidence in 440.234 to 445.811),
std.deviation is 1.75264, std.error is 0.876322
Arithmetic sample for timevar log files
"Log3/*perf"
and selecting lines containing "TOTAL" with desired confidence 95 is
trial count is 4, mean is 441.302 (95% confidence in 436.671 to 445.934),
std.deviation is 2.91098, std.error is 1.45549
The first sample appears to be 0.39% larger,
with 60% confidence of being larger.
To reach 95% confidence, you need roughly 14 trials,
assuming the standard deviation is stable, which is iffy.
Tested on x86_64 builds.
Index: contrib/ChangeLog
2012-11-05 Lawrence Crowl <crowl@google.com>
* compare_two_ftime_report_sets: New.
From-SVN: r193277
Andrew Pinski [Wed, 7 Nov 2012 00:18:31 +0000 (00:18 +0000)]
vect-fmaxv-fminv-compile.c: Add -fno-vect-cost-model.
2012-11-06 Andrew Pinski <apinski@cavium.com>
* gcc.target/aarch64/vect-fmaxv-fminv-compile.c: Add -fno-vect-cost-model.
From-SVN: r193276
GCC Administrator [Wed, 7 Nov 2012 00:18:29 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r193275
Aldy Hernandez [Tue, 6 Nov 2012 23:55:39 +0000 (23:55 +0000)]
tm: Add uninstrumented code path
Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r193271
Aldy Hernandez [Tue, 6 Nov 2012 23:55:29 +0000 (23:55 +0000)]
* cfghooks.c (copy_bbs): Handle a null loop_father.
From-SVN: r193270
Aldy Hernandez [Tue, 6 Nov 2012 23:55:20 +0000 (23:55 +0000)]
Handle null current_function_decl in cgraph_debug_gimple_stmt
* cfghooks.c (cgraph_debug_gimple_stmt): Handle a null
current_function_decl.
From-SVN: r193269
Richard Henderson [Tue, 6 Nov 2012 23:55:11 +0000 (15:55 -0800)]
Prevent "illegal" block sharing within transactions.
* tree-ssa-tail-merge.c (find_duplicate): Do not consider
is_tm_ending_fndecl calls as mergable.
From-SVN: r193268
Sterling Augustine [Tue, 6 Nov 2012 23:15:25 +0000 (23:15 +0000)]
common.opt (gno-split-dwarf, [...]): New switches.
gcc/ChangeLog
2012-11-06 Sterling Augustine <saugustine@google.com>
Cary Coutant <ccoutant@google.com>
* common.opt (gno-split-dwarf, gsplit-dwarf): New switches.
* doc/invoke.texi (Debugging Options): Document them.
* gcc.c (replace_extension_spec_func): New function.
(ASM_FINAL_SPEC): Adjust.
(static_spec_functions): Add new field for replace-extension.
(check_live_switch): Adjust comment. Add case for 'g'.
* opts.c (finish_options): Set x_debug_generate_pub_sections based on
x_dwarf_split_debug_info.
(common_handle_option): Add case for OPT_gsplit_dwarf.
* dwarf2out.h (addr_table_entry_struct): Add forward declaration.
(dw_val_struct): Add val_entry pointer.
* dwarf2out.c: (debug_skeleton_info_section,
debug_skeleton_abbrev_section, debug_addr_section,
debug_skeleton_line_section, debug_str_offsets_section): New globals.
(NOT_INDEXED, NO_INDEX_ASSIGNED): New defines.
(indirect_string_node): New field index.
(ate_kind): New enum with fields ate_kind_rtc, ate_kind_rtx_dtprel,
ate_kind_label.
(addr_table_entry): New structure and type.
(dw_loc_list_struct): Add field begin_entry.
(new_loc_desc): Initialize val_entry.
(size_of_loc_descr, output_loc_operands, output_loc_operands_raw):
Add cases for DW_OP_GNU_addr_index and DW_OP_const_index.
(build_cfa_loc): Initialize val_entry.
(AT_index, add_addr_table_entry, remove_addr_table_entry,
add_AT_lbl_id): New functions.
(add_AT_addr, add_AT_range_list): New parameter force_direct.
(output_die_abbrevs): New function.
(add_ranges_by_labels): New parameter force_direct.
(output_line_info): New parameter prologue_only.
(dtprel_bool): New enum with dtprel_false and dtprel_true.
(dw_addr_op, new_addr_loc_descr): New functions.
(DEBUG_DWO_INFO_SECTION, DEBUG_DWO_ABBREV_SECTION,
DEBUG_ADDR_SECTION, DEBUG_NORM_MACINFO_SECTION,
DEBUG_DWO_MACINFO_SECTION, DEBUG_MACINFO_SECTION,
DEBUG_NORM_MACRO_SECTION, DEBUG_DWO_MACRO_SECTION,
DEBUG_MACRO_SECTION, DEBUG_DWO_LINE_SECTION,
DEBUG_DWO_LOC_SECTION, DEBUG_NORM_STR_OFFSETS_SECTION,
DEBUG_DWO_STR_OFFSETS_SECTION, DEBUG_STR_OFFSETS_SECTION,
DEBUG_DWO_STR_SECTION, DEBUG_NORM_STR_SECTION, DEBUG_STR_SECTION,
DEBUG_MACRO_SECTION_FLAGS, DEBUG_SKELETON_LINE_SECTION_LABEL,
DEBUG_SKELETON_INFO_SECTION_LABEL, DEBUG_ADDR_SECTION_LABEL
DEBUG_SKELETON_ABBREV_SECTION_LABEL): New macros.
(DEBUG_STR_SECTION_FLAGS): Adjust.
(TEXT_SECTION_LABEL, COLD_TEXT_SECTION_LABEL,
DEBUG_LINE_SECTION_LABEL, DEBUG_INFO_SECTION_LABEL,
DEBUG_ABBREV_SECTION_LABEL, DEBUG_ADDR_SECTION_LABEL,
DEBUG_LOC_SECTION_LABEL, DEBUG_RANGES_SECTION_LABEL,
DEBUG_MACINFO_SECTION_LABEL, DEBUG_MACRO_SECTION_LABEL): Adjust
indentation.
(debug_skeleton_abbrev_section_label, debug_addr_section_label,
debug_skeleton_line_section_label, debug_skeleton_info_section_label):
New global variables.
(add_AT_flag, add_AT_int, add_AT_unsigned, add_AT_double, add_AT_vec,
add_AT_data8): Initialize val_entry.
(add_AT_low_high_pc): New parameter force_direct. Handle
dwarf_split_debug_info.
(set_indirect_string, find_AT_string_form): New functions.
(AT_string_form): Adjust to call find_AT_string_from.
(add_AT_die_ref, add_AT_fde_ref, add_AT_loc, add_AT_list):
Initialize val_entry.
(addr_index_table): New global variable.
(addr_table_entry_do_hash, addr_table_entry_eq, add_addr_table_entry,
init_addr_table_entry, remove_addr_table_entry, index_addr_table_entry,
remove_loc_list_addr_table_entries): New functions.
(add_AT_addr, add_AT_lbl_id, add_AT_range_list): New parameter
force_direct. Handle dwarf_split_debug_info.
(add_AT_file, add_AT_vms_delta, add_AT_lineptr, add_AT_macptr,
add_AT_offset): Initialize val_entry.
(UNRELOCATED_OFFSET, RELOCATED_OFFSET): New defines.
(size_of_die): Handle dwarf_split_debug_info.
(size_of_aranges, value_format): Call AT_class. Check AT_index.
(output_die_abbrevs): New function.
(output_abbrev_section): Call output_die_abbrevs.
(new_loc_list): Initialize begin_entry.
(output_loc_list): Handle dwarf_split_debug_info.
(output_range_list_offset, output_loc_list_offset,
output_attr_index_or_value, ): New functions.
(output_die): Fix call to dw2_asm_output_data. Call
output_attr_index_or_value and output_range_list_offset.
Adjust logic around dw_val_class_str.
(add_top_lebel_skeleton_die_attrs, get_skeleton_type_unit,
output_skeleton_debug_sections): New functions.
(output_comdat_type_unit, output_pubname, output_aranges): Handle
dwarf_split_debug_info.
(add_ranges_by_labels): New parameter force_direct.
(mem_loc_descriptor, loc_descr): Call new_addr_loc_descr.
(loc_list_from_tree, add_const_value_attribtue): Use dtprel_bools in
place of generic integer.
(dwarf2out_vms_debug_main_pointer, gen_entry_point_die, gen_label_die,
gen_call_site_die, gen_subprogram_die, gen_variable_die,
add_high_low_attributes): Adjust calls to add_AT_lbl_id.
(output_macinfo_op): Adjust indirect_string_logic.
(save_macinfo_strings): New function.
(output_macinfo): Adjust.
(dwarf2out_init): Handle dwarf_split_debug_info.
(index_string, output_index_string_offset, output_index_string): New
functions.
(output_indirect_string): Adjust.
(output_indirect_strings, output_addr_table_entry, output_addr_table):
New functions.
(resolve_addr_in_expr, hash_loc_operands): Handle DW_OP_GNU_addr_index
and DW_OP_GNU_const_index. Handle dwarf_split_debug_info. Call
remove_loc_list_addr_table_entries and remove_addr_table_entry.
(index_location_lists): New function.
(dwarf2out_finish): Handle dwarf_split_debug_info. New variable
main_comp_unit_die. Adjust calls to add_AT_low_high_pc,
add_ranges_by_labels, add_AT_addr, and add_AT_lineptr. Call
save_macinfo_strings and output_indirect_strings.
include/ChangeLog
2012-10-29 Sterling Augustine <saugustine@google.com>
Cary Coutant <ccoutant@google.com>
* dwarf2.h (dwarf_location_list_entry_type): New enum with fields
DW_LLE_GNU_end_of_list_entry, DW_LLE_GNU_base_address_selection_entry,
DW_LLE_GNU_start_end_entry and DW_LLE_GNU_start_length_entry.
Co-Authored-By: Cary Coutant <ccoutant@google.com>
From-SVN: r193267
Ian Lance Taylor [Tue, 6 Nov 2012 23:04:28 +0000 (23:04 +0000)]
generic-morestack.c (__generic_morestack): Align the returned stack pointer to a 32 byte boundary.
* generic-morestack.c (__generic_morestack): Align the returned
stack pointer to a 32 byte boundary.
* config/i386/morestack.S (__morestack_non_split) [32-bit]: Don't
increment the return address until we have decided that we don't
have a varargs function.
(__morestack) [32-bit]: Align stack correctly when calling C
functions.
(__morestack) [64-bit]: Likewise.
From-SVN: r193264
Jonathan Wakely [Tue, 6 Nov 2012 22:53:16 +0000 (22:53 +0000)]
55123.cc: Remove duplicate include.
* testsuite/20_util/shared_ptr/cons/55123.cc: Remove duplicate
include.
From-SVN: r193263
Gerald Pfeifer [Tue, 6 Nov 2012 22:14:47 +0000 (22:14 +0000)]
i386.c (make_dispatcher_decl): Guard with ASM_OUTPUT_TYPE_DIRECTIVE and HAVE_GNU_INDIRECT_FUNCTION.
* config/i386/i386.c (make_dispatcher_decl): Guard with
ASM_OUTPUT_TYPE_DIRECTIVE and HAVE_GNU_INDIRECT_FUNCTION.
From-SVN: r193261
Andrew Pinski [Tue, 6 Nov 2012 22:06:19 +0000 (22:06 +0000)]
aarch64_guard1.C: Add -fno-section-anchors.
2012-11-06 Andrew Pinski <apinski@cavium.com>
* g++.dg/abi/aarch64_guard1.C: Add -fno-section-anchors.
From-SVN: r193260
Jan Hubicka [Tue, 6 Nov 2012 21:08:49 +0000 (22:08 +0100)]
ipa-inline-analysis.c (estimate_function_body_sizes, [...]): Cap time calculations.
* ipa-inline-analysis.c (estimate_function_body_sizes,
inline_update_overall_summary): Cap time calculations.
From-SVN: r193259
Ian Lance Taylor [Tue, 6 Nov 2012 19:48:12 +0000 (19:48 +0000)]
Update index.go from master testsuite.
From-SVN: r193258
Uros Bizjak [Tue, 6 Nov 2012 19:04:47 +0000 (20:04 +0100)]
i386.c (ix86_init_machine_status): Do not explicitly clear tls_descriptor_call_expanded_p again.
* config/i386/i386.c (ix86_init_machine_status): Do not
explicitly clear tls_descriptor_call_expanded_p again.
From-SVN: r193257
Uros Bizjak [Tue, 6 Nov 2012 18:53:21 +0000 (19:53 +0100)]
* config/i386/sse.md
(<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>): Mark operand 0
as read and written by the instruction.
From-SVN: r193256
Ian Lance Taylor [Tue, 6 Nov 2012 18:46:38 +0000 (18:46 +0000)]
compiler, runtime: Size of int is now 64 bits on x86_64.
From-SVN: r193255
Ian Lance Taylor [Tue, 6 Nov 2012 18:28:21 +0000 (18:28 +0000)]
compiler, libgo: Fixes to prepare for 64-bit int.
From-SVN: r193254
Ian Lance Taylor [Tue, 6 Nov 2012 18:12:45 +0000 (18:12 +0000)]
compiler, runtime: Memcmp routine returns intgo.
From-SVN: r193253
Uros Bizjak [Tue, 6 Nov 2012 18:00:46 +0000 (19:00 +0100)]
ChangeLog: Add missing PR number.
* ChangeLog: Add missing PR number.
* testsuite/ChangeLog: Ditto.
From-SVN: r193252
Alexandre Oliva [Tue, 6 Nov 2012 17:58:52 +0000 (17:58 +0000)]
re PR debug/54693 (VTA guality issues with loops)
PR debug/54693
* tree-ssa-threadedge.c (propagate_threaded_block_debug_into):
Use a stack vector before allocating a pointer set.
From-SVN: r193251