Jason Merrill [Sun, 18 Aug 2013 01:06:49 +0000 (21:06 -0400)]
re PR c++/58083 (ICE with lambda as default parameter of a template function)
PR c++/58083
* name-lookup.c (push_class_level_binding_1): It's OK to push a
lambda type after the enclosing type is complete.
From-SVN: r201822
GCC Administrator [Sun, 18 Aug 2013 00:16:26 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r201821
Gabriel Dos Reis [Sat, 17 Aug 2013 20:31:02 +0000 (20:31 +0000)]
error.c (dump_scope): Add a cxx_pretty_printer parameter.
* error.c (dump_scope): Add a cxx_pretty_printer parameter.
Adjust callers.
(dump_template_argument): Likewise.
(dump_template_argument_list): Likewise.
(dump_template_parameter): Likewise.
(dump_template_bindings): Likewise.
(dump_alias_template_specialization): Likewise.
(dump_type): Likewise.
(dump_typename): Likewise.
(dump_aggr_type): Likewise.
(dump_type_prefix): Likewise.
(dump_type_suffix): Likewise.
(dump_global_iord): Likewise.
(dump_simple_decl): Likewise.
(dump_decl): Likewise.
(dump_template_decl): Likewise.
(dump_function_decl): Likewise.
(dump_parameters): Likewise.
(dump_ref_qualifier): Likewise.
(dump_exception_spec): Likewise.
(dump_function_name): Likewise.
(dump_template_parms): Likewise.
(dump_call_expr_args): Likewise.
(dump_aggr_init_expr_args): Likewise.
(dump_expr_list): Likewise.
(dump_expr_init_vec): Likewise.
(dump_expr): Likewise.
(dump_binary_op): Likewise.
(dump_unary_op): Likewise.
From-SVN: r201818
Jan Hubicka [Sat, 17 Aug 2013 18:14:18 +0000 (20:14 +0200)]
re PR middle-end/58179 (obj_type_ref ICE building libobjc)
PR middle-end/58179
* tree.c (obj_type_ref_class): Do not ICE on non-method calls.
From-SVN: r201817
Ian Lance Taylor [Sat, 17 Aug 2013 18:04:35 +0000 (18:04 +0000)]
compiler: Don't generate value reference in range clause if receiver is a sink.
The panic in test/fixedbugs/bug454.go was caused by the generation of an unnecessary var reference when writing a range value into a sink. If the receiving variable is a sink, there's no need to dereference a possible NULL pointer.
Fixes Issue 24.
From-SVN: r201815
David Edelsohn [Sat, 17 Aug 2013 00:43:38 +0000 (00:43 +0000)]
rs6000.md (rs6000_get_timebase_ppc32): Add length attribute.
* config/rs6000/rs6000.md (rs6000_get_timebase_ppc32): Add length
attribute.
From-SVN: r201812
GCC Administrator [Sat, 17 Aug 2013 00:16:32 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r201811
Maciej W. Rozycki [Fri, 16 Aug 2013 22:23:29 +0000 (22:23 +0000)]
mips16.S (CE_STARTFN, CE_ENDFN): New macros.
* config/mips/mips16.S (CE_STARTFN, CE_ENDFN): New macros.
(RET_FUNCTION): Use them in place of STARTFN and ENDFN.
(CALL_STUB_NO_RET): Likewise.
(CALL_STUB_RET): Likewise.
* config/mips/libgcc-mips16.ver: Remove __mips16_call_stub and
__mips16_ret call/return stub symbols.
* config.host <mips*-*-linux>: For non-R5900 add t-slibgcc-libgcc
to tmake_file.
Co-Authored-By: Catherine Moore <clm@codesourcery.com>
Co-Authored-By: Richard Sandiford <rdsandiford@googlemail.com>
From-SVN: r201805
David Malcolm [Fri, 16 Aug 2013 19:46:12 +0000 (19:46 +0000)]
Support "gcc" namespace in gengtype
gcc/
* gengtype.c (type_for_name): Add special-case support for
locating types within the "gcc::" namespace.
(open_base_files): Emit a "using namespace gcc" directive.
From-SVN: r201800
Michael Meissner [Fri, 16 Aug 2013 15:28:13 +0000 (15:28 +0000)]
re PR target/58160 (Power8 fusion support has a bug that shows up in running spec 2006)
2013-08-14 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/58160
* config/rs6000/predicates.md (fusion_gpr_mem_load): Allow the
memory rtx to contain ZERO_EXTEND and SIGN_EXTEND.
* config/rs6000/rs6000-protos.h (fusion_gpr_load_p): Pass operands
array instead of each individual operand as a separate argument.
(emit_fusion_gpr_load): Likewise.
(expand_fusion_gpr_load): Add new function declaration.
* config/rs6000/rs6000.c (fusion_gpr_load_p): Change the calling
signature to have the operands passed as an array, instead of as
separate arguments. Allow ZERO_EXTEND to be in the memory
address, and also SIGN_EXTEND if -mpower8-fusion-sign. Do not
depend on the register live/dead flags when peepholes are run.
(expand_fusion_gpr_load): New function to be called from the
peephole2 pass, to change the register that addis sets to be the
target register.
(emit_fusion_gpr_load): Change the calling signature to have the
operands passed as an array, instead of as separate arguments.
Allow ZERO_EXTEND to be in the memory address, and also
SIGN_EXTEND if -mpower8-fusion-sign.
* config/rs6000/rs6000.md (UNSPEC_FUSION_GPR): Delete unused
unspec enumeration.
(power8 fusion peephole/peephole2): Rework the fusion peepholes to
adjust the register addis loads up in the peephole2 pass. Do not
depend on the register live/dead state when the peephole pass is
done.
From-SVN: r201792
David Malcolm [Fri, 16 Aug 2013 14:59:02 +0000 (14:59 +0000)]
Fix bad interaction between GTY((user)) and incomplete declarations
gcc/
* gengtype.c (create_user_defined_type): Ensure that the kind
is set to TYPE_USER_STRUCT, fixing a bug seen when an incomplete
declaration is seen before the GTY((user)) marking.
From-SVN: r201791
Bernd Edlinger [Fri, 16 Aug 2013 13:22:36 +0000 (15:22 +0200)]
re PR target/58105 (wrong code generation for multiversioned functions)
PR target/58105
* config/i386/i386.c (make_resolver_func): Set DECL_UNINLINABLE.
From-SVN: r201790
Jan Hubicka [Fri, 16 Aug 2013 12:38:04 +0000 (14:38 +0200)]
gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Add new arugment expected_type.
* gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Add new
arugment expected_type.
(gimple_fold_call): Use it.
* gimple.h (gimple_extract_devirt_binfo_from_cst): Update prototype.
* ipa-cp.c (ipa_get_indirect_edge_target_1): Update.
* ipa-prop.c (ipa_analyze_virtual_call_uses): Use
obj_type_ref_class.
(try_make_edge_direct_virtual_call): Likewise.
* tree.c (obj_type_ref_class): New.
* tree.h (obj_type_ref_class): Use it.
From-SVN: r201789
Gabriel Dos Reis [Fri, 16 Aug 2013 10:42:49 +0000 (10:42 +0000)]
sched-vis.c (rtl_slim_pp_initialized): Remove.
* sched-vis.c (rtl_slim_pp_initialized): Remove.
(rtl_slim_pp): Likewise.
(init_rtl_slim_pretty_print): Likewise.
(dump_value_slim): Don't call it. Use local pretty printer.
(dump_insn_slim): Likewise.
(dump_rtl_slim): Likewise.
(str_pattern_slim): Likewise.
* tree-mudflap.c (mf_varname_tree): Use local pretty printer.
Simplify.
From-SVN: r201785
Tim Shen [Fri, 16 Aug 2013 09:06:31 +0000 (09:06 +0000)]
regex.h (regex_traits<>::transform_primary): Avoid past-the-end dereferences.
2013-08-16 Tim Shen <timshen91@gmail.com>
* include/bits/regex.h (regex_traits<>::transform_primary):
Avoid past-the-end dereferences.
From-SVN: r201783
Jakub Jelinek [Fri, 16 Aug 2013 09:05:52 +0000 (11:05 +0200)]
re PR tree-optimization/58164 (internal compiler error: in make_decl_rtl, at varasm.c:1147)
PR tree-optimization/58164
* gimple.c (walk_stmt_load_store_addr_ops): For visit_addr
walk gimple_goto_dest of GIMPLE_GOTO.
* gcc.c-torture/compile/pr58164.c: New test.
From-SVN: r201782
Jakub Jelinek [Fri, 16 Aug 2013 08:57:29 +0000 (10:57 +0200)]
re PR regression/58165 (internal compiler error: verify_flow_info)
PR tree-optimization/58165
* tree-call-cdce.c (shrink_wrap_one_built_in_call): If
bi_call must be the last stmt in a bb, don't split_block, instead
use fallthru edge from it and give up if there is none.
Release conds vector when returning early.
* g++.dg/opt/pr58165.C: New test.
From-SVN: r201780
GCC Administrator [Fri, 16 Aug 2013 00:16:41 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r201779
GCC Administrator [Thu, 15 Aug 2013 00:16:38 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r201758
Paolo Carlini [Thu, 15 Aug 2013 00:15:12 +0000 (00:15 +0000)]
re PR libstdc++/58163 ([C++11] Pedantic assert on str[str.size()] is wrong in C++11)
2013-08-14 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/58163
* include/bits/basic_string.h (basic_string<>::operator[]): Fix
_GLIBCXX_DEBUG_PEDASSERT check vs C++11.
* include/ext/vstring.h: Likewise.
* testsuite/21_strings/basic_string/element_access/char/58163.cc:
New.
* testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc:
Likewise.
* testsuite/ext/vstring/element_access/char/58163.cc: Likewise.
* testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise.
From-SVN: r201755
Paolo Carlini [Wed, 14 Aug 2013 21:42:54 +0000 (21:42 +0000)]
re PR c++/51912 ([C++11] G++ accepts floating point case labels)
/cp
2013-08-14 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51912
* cp-tree.h (LOOKUP_NO_NON_INTEGRAL): Add.
* decl.c (case_conversion): Use it.
* call.c (standard_conversion): Likewise.
(implicit_conversion): Adjust.
/testsuite
2013-08-14 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51912
* g++.dg/cpp0x/enum28.C: New.
* g++.dg/cpp0x/enum15.C: Adjust.
From-SVN: r201754
Andreas Krebbel [Wed, 14 Aug 2013 21:04:07 +0000 (21:04 +0000)]
revert: configure.tgt: Add -msoft-float to XCFLAGS.
2013-08-14 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
Revert:
2013-08-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* configure.tgt: Add -msoft-float to XCFLAGS.
From-SVN: r201753
Xinliang David Li [Wed, 14 Aug 2013 20:57:52 +0000 (20:57 +0000)]
Remove unused variable and field
From-SVN: r201752
Bill Schmidt [Wed, 14 Aug 2013 20:38:33 +0000 (20:38 +0000)]
re PR target/57949 ([powerpc64] Structure parameter alignment issue with vector extensions)
gcc:
2013-08-14 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/57949
* doc/invoke.texi: Add documentation of mcompat-align-parm
option.
* config/rs6000/rs6000.opt: Add mcompat-align-parm option.
* config/rs6000/rs6000.c (rs6000_function_arg_boundary): For AIX
and Linux, correct BLKmode alignment when 128-bit alignment is
required and compatibility flag is not set.
(rs6000_gimplify_va_arg): For AIX and Linux, honor specified
alignment for zero-size arguments when compatibility flag is not
set.
gcc/testsuite:
2013-08-14 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/57949
* gcc.target/powerpc/pr57949-1.c: New.
* gcc.target/powerpc/pr57949-2.c: New.
From-SVN: r201750
Jakub Jelinek [Wed, 14 Aug 2013 20:34:56 +0000 (22:34 +0200)]
re PR middle-end/58145 (volatileness of write is discarded, perhaps in "lim1" related to loop optimizations)
PR tree-optimization/58145
* tree-sra.c (build_ref_for_offset): If prev_base has
TREE_THIS_VOLATILE or TREE_SIDE_EFFECTS, propagate it to MEM_REF.
* gcc.dg/pr58145-1.c: New test.
* gcc.dg/pr58145-2.c: New test.
From-SVN: r201748
Joern Rennecke [Wed, 14 Aug 2013 20:19:12 +0000 (20:19 +0000)]
global-used-types.c: Request dwarf output.
* gcc.dg/debug/dwarf2/global-used-types.c: Request dwarf output.
* gcc.dg/debug/dwarf2/inline2.c: Likewise.
* gcc.dg/debug/dwarf2/inline3.c: Likewise.
* gcc.dg/debug/dwarf2/pr37726.c: Likewise.
* gcc.dg/debug/dwarf2/pr41445-1.c: Likewise.
* gcc.dg/debug/dwarf2/pr41445-2.c: Likewise.
* gcc.dg/debug/dwarf2/pr41445-3.c: Likewise.
* gcc.dg/debug/dwarf2/pr41445-4.c: Likewise.
* gcc.dg/debug/dwarf2/pr41445-5.c: Likewise.
* gcc.dg/debug/dwarf2/pr41445-6.c: Likewise.
* gcc.dg/debug/dwarf2/pr41543.c: Likewise.
* gcc.dg/debug/dwarf2/pr41695.c: Likewise.
* gcc.dg/debug/dwarf2/pr43237.c: Likewise.
* gcc.dg/debug/dwarf2/pr47939-1.c: Likewise.
* gcc.dg/debug/dwarf2/pr47939-2.c: Likewise.
* gcc.dg/debug/dwarf2/pr47939-3.c: Likewise.
* gcc.dg/debug/dwarf2/pr47939-4.c: Likewise.
* gcc.dg/debug/dwarf2/pr53948.c: Likewise.
* gcc.dg/debug/dwarf2/struct-loc1.c: Likewise.
From-SVN: r201747
Joern Rennecke [Wed, 14 Aug 2013 18:44:51 +0000 (18:44 +0000)]
pr42585.c: Add avr-*-* to list of targets to exclude from scan test.
* gcc.dg/tree-ssa/pr42585.c: Add avr-*-* to list of targets to
exclude from scan test.
From-SVN: r201744
Joern Rennecke [Wed, 14 Aug 2013 18:39:59 +0000 (18:39 +0000)]
re PR testsuite/52641 (Test cases fail for 16-bit int targets)
PR testsuite/52641
* c-c++-common/simulate-thread/bitfields-2.c: Run test only for
target { ! int16 }.
* gcc.dg/tree-ssa/pr54245.c: Do slsr scan only for target { ! int16 }.
* gcc.dg/tree-ssa/slsr-1.c: Adjust multiplicators to scan for for
target { int16 }. Restrict existing tests to target { int32 }
where appropriate.
* gcc.dg/tree-ssa/slsr-2.c, gcc.dg/tree-ssa/slsr-27.c: Likewise.
* gcc.dg/tree-ssa/slsr-28.c, gcc.dg/tree-ssa/slsr-29.c: Likewise.
* gcc.dg/tree-ssa/slsr-3.c, gcc.dg/tree-ssa/ssa-ccp-23.c: Likewise.
* lib/target-supports.exp (check_effective_target_int32): New proc.
From-SVN: r201743
Joern Rennecke [Wed, 14 Aug 2013 18:36:52 +0000 (18:36 +0000)]
re PR testsuite/52641 (Test cases fail for 16-bit int targets)
PR testsuite/52641
* c-c++-common/scal-to-vec1.c: Add !int16 and large_double conditions
to tests that assume int/double are larger than short/float.
From-SVN: r201742
Joern Rennecke [Wed, 14 Aug 2013 18:32:57 +0000 (18:32 +0000)]
strlenopt-10.c [avr-*-*]: Reduce number of expected memcpy by one.
* gcc.dg/strlenopt-10.c [avr-*-*]: Reduce number of expected
memcpy by one.
* gcc.dg/strlenopt-11.c [avr-*-*]: Likewise.
Expect l to be optimized away.
* gcc.dg/strlenopt-13.c [avr-*-*]: Likewise.
From-SVN: r201741
Joern Rennecke [Wed, 14 Aug 2013 18:28:30 +0000 (18:28 +0000)]
* gcc.dg/pr46647.c: xfail for avr-*-*.
From-SVN: r201740
Joern Rennecke [Wed, 14 Aug 2013 18:24:06 +0000 (18:24 +0000)]
pr44214-1.c (v2df): Define size using sizeof (double).
* gcc.dg/pr44214-1.c (v2df): Define size using sizeof (double).
* gcc.dg/pr44214-3.c (v2df): Likewise.
From-SVN: r201739
Joern Rennecke [Wed, 14 Aug 2013 18:21:25 +0000 (18:21 +0000)]
* gcc.dg/c99-stdint-1.c [avr-*-*]: Update line number for dg-bogus.
From-SVN: r201738
Joern Rennecke [Wed, 14 Aug 2013 18:17:28 +0000 (18:17 +0000)]
* gcc.dg/c99-stdint-1.c [avr-*-*]: Update line number for dg-bogus.
From-SVN: r201737
Joern Rennecke [Wed, 14 Aug 2013 18:13:38 +0000 (18:13 +0000)]
re PR testsuite/52641 (Test cases fail for 16-bit int targets)
PR testsuite/52641
* gcc.c-torture/execute/pr56799.x: New file.
From-SVN: r201736
Xinliang David Li [Wed, 14 Aug 2013 18:12:20 +0000 (18:12 +0000)]
Fix unitialized var
From-SVN: r201735
Joern Rennecke [Wed, 14 Aug 2013 18:08:22 +0000 (18:08 +0000)]
dwarf2.exp: Replace -gdwarf-2 with -gdwarf.
* gcc.dg/debug/dwarf2/dwarf2.exp: Replace -gdwarf-2 with -gdwarf.
* gcc.dg/debug/dwarf2/dwarf-die7.c: Likewise.
* gcc.dg/debug/dwarf2/static1.c: Likewise.
* gcc.dg/debug/dwarf2/dwarf-dfp.c: Likewise.
* gcc.dg/debug/dwarf2/fesd-any.c: Likewise.
* gcc.dg/debug/dwarf2/dwarf-uninit.c: Likewise.
* gcc.dg/debug/dwarf2/dwarf-die1.c: Likewise.
* gcc.dg/debug/dwarf2/var1.c: Likewise.
* gcc.dg/debug/dwarf2/pr29609-2.c: Likewise.
* gcc.dg/debug/dwarf2/aranges-fnsec-1.c: Likewise.
* gcc.dg/debug/dwarf2/dwarf-die3.c: Likewise.
* gcc.dg/debug/dwarf2/dwarf-merge.c: Likewise.
* gcc.dg/debug/dwarf2/dwarf-char1.c: Likewise.
* gcc.dg/debug/dwarf2/discriminator.c: Likewise.
* gcc.dg/debug/dwarf2/dwarf-char2.c: Likewise.
* gcc.dg/debug/dwarf2/fesd-baseonly.c: Likewise.
* gcc.dg/debug/dwarf2/pr36690-3.c: Likewise.
* gcc.dg/debug/dwarf2/const-2.c: Likewise.
* gcc.dg/debug/dwarf2/ipa-cp1.c: Likewise.
* gcc.dg/debug/dwarf2/dwarf-char3.c: Likewise.
* gcc.dg/debug/dwarf2/var2.c: Likewise.
* gcc.dg/debug/dwarf2/pr36690-2.c: Likewise.
* gcc.dg/debug/dwarf2/pr31230.c: Likewise.
* gcc.dg/debug/dwarf2/dwarf-float.c: Likewise.
* gcc.dg/debug/dwarf2/short-circuit.c: Likewise.
* gcc.dg/debug/dwarf2/pr36690-1.c: Likewise.
* gcc.dg/debug/dwarf2/fesd-reduced.c: Likewise.
* gcc.dg/debug/dwarf2/pr37616.c: Likewise.
* gcc.dg/debug/dwarf2/dwarf-die2.c: Likewise.
* gcc.dg/debug/dwarf2/inline1.c: Likewise.
* gcc.dg/debug/dwarf2/fesd-sys.c: Likewise.
* gcc.dg/debug/dwarf2/pr29609-1.c: Likewise.
* gcc.dg/debug/dwarf2/asm-line1.c: Likewise.
* gcc.dg/debug/dwarf2/c99-typedef1.c: Likewise.
* gcc.dg/debug/dwarf2/dwarf2-macro.c: Likewise.
* gcc.dg/debug/dwarf2/fesd-none.c: Likewise.
* gcc.dg/debug/dwarf2/pr51410.c: Likewise.
* gcc.dg/debug/dwarf2/dwarf-file1.c: Likewise.
* gcc.dg/debug/dwarf2/dwarf-die6.c: Likewise.
* gcc.dg/debug/dwarf2/const-2b.c: Likewise.
* gcc.dg/debug/dwarf2/dwarf-die5.c: Likewise.
From-SVN: r201734
Xinliang David Li [Wed, 14 Aug 2013 17:41:02 +0000 (17:41 +0000)]
Implement -mno-default, option documentation and code refactoring
From-SVN: r201732
Janis Johnson [Wed, 14 Aug 2013 16:53:27 +0000 (16:53 +0000)]
* gcc.target/arm/pr19599.c: Skip for -mthumb.
From-SVN: r201731
Janis Johnson [Wed, 14 Aug 2013 16:52:40 +0000 (16:52 +0000)]
atomic-comp-swap-release-acquire.c: Move dg-do to be the first test directive.
* gcc.target/arm/atomic-comp-swap-release-acquire.c: Move dg-do
to be the first test directive.
* gcc.target/arm/atomic-op-acq_rel.c: Likewise.
* gcc.target/arm/atomic-op-acquire.c: Likewise.
* gcc.target/arm/atomic-op-char.c: Likewise.
* gcc.target/arm/atomic-op-consume.c: Likewise.
* gcc.target/arm/atomic-op-int.c: Likewise.
* gcc.target/arm/atomic-op-relaxed.c: Likewise.
* gcc.target/arm/atomic-op-release.c: Likewise.
* gcc.target/arm/atomic-op-seq_cst.c: Likewise.
* gcc.target/arm/atomic-op-short.c: Likewise.
From-SVN: r201730
Uros Bizjak [Wed, 14 Aug 2013 14:59:46 +0000 (16:59 +0200)]
compatibility.cc (_ZTIe): Use reinterpret_cast<const cast *> to avoid -Wcast-qual warnings.
* src/c++98/compatibility.cc (_ZTIe): Use
reinterpret_cast<const cast *> to avoid -Wcast-qual warnings.
(_ZTIPe): Ditto.
(ZTIPKe): Ditto.
From-SVN: r201729
Andrey Belevantsev [Wed, 14 Aug 2013 14:31:26 +0000 (18:31 +0400)]
re PR rtl-optimization/57662 (ICE: SIGSEGV in code_motion_process_successors with -fschedule-insns2 -fselective-scheduling2)
PR rtl-optimization/57662
gcc/
* sel-sched.c (code_motion_process_successors): When the current insn
is removed after the recursive traversal, break from the loop.
Add comments and debug printouts.
testsuite/
* gcc.dg/pr57662.c: New test.
From-SVN: r201728
Uros Bizjak [Wed, 14 Aug 2013 14:22:56 +0000 (16:22 +0200)]
compatibility.cc (_ZTIe): Use (const cast *) to avoid -Wcast-qual warnings.
* src/c++98/compatibility.cc (_ZTIe): Use (const cast *)
to avoid -Wcast-qual warnings.
(_ZTIPe): Ditto.
(ZTIPKe): Ditto.
From-SVN: r201727
Uros Bizjak [Wed, 14 Aug 2013 11:27:56 +0000 (13:27 +0200)]
compatibility.cc (_ZTIe): Use const_cast to avoid warning.
* src/c++98/compatibility.cc (_ZTIe): Use const_cast to avoid warning.
(_ZTIPe): Ditto.
(ZTIPKe): Ditto.
From-SVN: r201723
Jakub Jelinek [Wed, 14 Aug 2013 09:09:58 +0000 (11:09 +0200)]
re PR target/58067 (ICE in GFortran recog.c:2158)
PR target/58067
* config/i386/i386.c (ix86_delegitimize_address): For CM_MEDIUM_PIC
and CM_LARGE_PIC ix86_cmodel fall thru into the -m32 code, handle
there also UNSPEC_PLTOFF.
Co-Authored-By: Alexandre Oliva <aoliva@redhat.com>
From-SVN: r201720
Marek Polacek [Wed, 14 Aug 2013 04:44:37 +0000 (04:44 +0000)]
ipa-inline-analysis.c (add_clause): Avoid shifting integer NUM_CONDITIONS bit positions.
* ipa-inline-analysis.c (add_clause): Avoid shifting integer
NUM_CONDITIONS bit positions.
From-SVN: r201719
GCC Administrator [Wed, 14 Aug 2013 00:16:49 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r201717
Cary Coutant [Tue, 13 Aug 2013 23:39:54 +0000 (23:39 +0000)]
dwarf2out.c (CHECKSUM_BLOCK): New macro.
gcc/
* dwarf2out.c (CHECKSUM_BLOCK): New macro.
(attr_checksum): Hash vector contents instead of pointer.
(attr_checksum_ordered): Likewise.
From-SVN: r201712
Maciej W. Rozycki [Tue, 13 Aug 2013 21:39:26 +0000 (21:39 +0000)]
nan-legacy.c: Accept
4294967295 as an alternative to -1.
* gcc.target/mips/nan-legacy.c: Accept
4294967295 as an
alternative to -1.
* gcc.target/mips/nans-legacy.c: Likewise.
From-SVN: r201711
Maciej W. Rozycki [Tue, 13 Aug 2013 21:36:47 +0000 (21:36 +0000)]
fabs-2008.c: Correct scan-assembler pattern escapes.
* gcc.target/mips/fabs-2008.c: Correct scan-assembler pattern
escapes.
* gcc.target/mips/fabs-legacy.c: Likewise.
* gcc.target/mips/fabsf-2008.c: Likewise.
* gcc.target/mips/fabsf-legacy.c: Likewise.
* gcc.target/mips/fneg-2008.c: Likewise.
* gcc.target/mips/fneg-legacy.c: Likewise.
* gcc.target/mips/fnegf-2008.c: Likewise.
* gcc.target/mips/fnegf-legacy.c: Likewise.
* gcc.target/mips/nan-2008.c: Likewise.
* gcc.target/mips/nan-legacy.c: Likewise.
* gcc.target/mips/nanf-2008.c: Likewise.
* gcc.target/mips/nanf-legacy.c: Likewise.
* gcc.target/mips/nans-2008.c: Likewise.
* gcc.target/mips/nans-legacy.c: Likewise.
* gcc.target/mips/nansf-2008.c: Likewise.
* gcc.target/mips/nansf-legacy.c: Likewise.
From-SVN: r201710
Uros Bizjak [Tue, 13 Aug 2013 20:45:27 +0000 (22:45 +0200)]
sse.md (*sse2_maskmovdqu): Emit addr32 prefix when Pmode != word_mode.
* config/i386/sse.md (*sse2_maskmovdqu): Emit addr32 prefix
when Pmode != word_mode. Add length_address attribute.
(sse3_monitor_<mode>): Merge from sse3_monitor and
sse3_monitor64_<mode> insn patterns. Emit addr32 prefix when
Pmode != word_mode. Update insn length attribute.
* config/i386/i386.c (ix86_option_override_internal): Update
ix86_gen_monitor selection for merged sse3_monitor insn.
From-SVN: r201708
Eric Botcazou [Tue, 13 Aug 2013 19:58:24 +0000 (19:58 +0000)]
decl.c (gnat_to_gnu_entity): Do not bother about alias sets of derived types in ASIS mode.
* gcc-interface/decl.c (gnat_to_gnu_entity): Do not bother about alias
sets of derived types in ASIS mode.
From-SVN: r201705
Eric Botcazou [Tue, 13 Aug 2013 19:53:37 +0000 (19:53 +0000)]
decl.c (gnat_to_gnu_entity): Replace True with true.
* gcc-interface/decl.c (gnat_to_gnu_entity): Replace True with true.
(is_cplusplus_method): Likewise, and False with false.
(components_need_strict_alignment): Likewise.
* gcc-interface/misc.c (gnat_init_gcc_fp): Likewise.
* gcc-interface/trans.c (Loop_Statement_to_gnu): Likewise.
(Handled_Sequence_Of_Statements_to_gnu): Likewise.
(add_cleanup): Likewise.
(Sloc_to_locus1): Likewise.
(Sloc_to_locus): Likewise.
(set_expr_location_from_node): Likewise.
* gcc-interface/utils.c (potential_alignment_gap): Likewise.
From-SVN: r201704
Thomas Quinot [Tue, 13 Aug 2013 19:49:21 +0000 (19:49 +0000)]
trans.c (set_end_locus_from_node): Clear column info for the end_locus of a block if...
* gcc-interface/trans.c (set_end_locus_from_node): Clear column info
for the end_locus of a block if it does not come from an End_Label.
From-SVN: r201703
Thomas Quinot [Tue, 13 Aug 2013 19:43:47 +0000 (19:43 +0000)]
trans.c (Handled_Sequence_Of_Statements_to_gnu): If there is no End_Label...
* gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): If
there is no End_Label, attach cleanup actions to the sloc of the HSS
node instead.
(Exception_Handler_to_gnu_zcx): Associate cleanup actions with the sloc
of the handler itself.
(add_cleanup): Clear column information in sloc of cleanup actions.
(Sloc_to_locus1): New static function.
(Sloc_to_locus): Call it.
(set_expr_location_from_node1): New static function.
(set_expr_location_from_node): Call it.
From-SVN: r201702
Julian Brown [Tue, 13 Aug 2013 17:33:09 +0000 (17:33 +0000)]
rs6000.c (rs6000_legitimize_reload_address): Don't perform invalid legitimization on greater-than-word-size modes for...
* config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
perform invalid legitimization on greater-than-word-size modes for
TARGET_E500_DOUBLE.
From-SVN: r201701
Eric Botcazou [Tue, 13 Aug 2013 17:13:47 +0000 (17:13 +0000)]
trans.c (Call_to_gnu): Deal with specific conditional expressions for misaligned actual parameters.
* gcc-interface/trans.c (Call_to_gnu): Deal with specific conditional
expressions for misaligned actual parameters.
From-SVN: r201700
Vladimir Makarov [Tue, 13 Aug 2013 17:10:07 +0000 (17:10 +0000)]
ira.c (setup_class_translate_array): Use aclass instead of cl for classes not fully covered by allocno classes.
2013-08-13 Vladimir Makarov <vmakarov@redhat.com>
* ira.c (setup_class_translate_array): Use aclass instead of cl
for classes not fully covered by allocno classes.
From-SVN: r201699
Jakub Jelinek [Tue, 13 Aug 2013 17:06:13 +0000 (19:06 +0200)]
re PR middle-end/57661 (ICE: SIGSEGV in verify_ssa)
PR tree-optimization/57661
* tree-inline.h (struct copy_body_data): Add blocks_to_copy field.
* tree-inline.c (tree_function_versioning): Initialize it.
(remap_gimple_stmt): Return GIMPLE_NOP for MEM_REF lhs clobber stmts
if id->blocks_to_copy and MEM_REF's SSA_NAME is defined in a block
that is not being copied.
* g++.dg/opt/pr57661.C: New test.
From-SVN: r201698
Jakub Jelinek [Tue, 13 Aug 2013 16:58:46 +0000 (18:58 +0200)]
re PR middle-end/56417 (internal compiler error: verify_gimple failed)
PR sanitizer/56417
* asan.c (instrument_strlen_call): Fix typo in comment.
Use char * type even for the lhs of POINTER_PLUS_EXPR.
* gcc.dg/asan/pr56417.c: New test.
From-SVN: r201696
Eric Botcazou [Tue, 13 Aug 2013 15:52:26 +0000 (15:52 +0000)]
trans.c (can_equal_min_or_max_val_p): Be prepared for values outside of the range of the type.
* gcc-interface/trans.c (can_equal_min_or_max_val_p): Be prepared for
values outside of the range of the type.
From-SVN: r201692
Steve Ellcey [Tue, 13 Aug 2013 15:49:39 +0000 (15:49 +0000)]
mips.md (prefetch): Use lw instead of ld on loongson in 32bit mode.
2013-08-13 Steve Ellcey <sellcey@mips.com>
* config/mips/mips.md (prefetch): Use lw instead of ld on
loongson in 32bit mode.
From-SVN: r201691
Nick Clifton [Tue, 13 Aug 2013 15:42:17 +0000 (15:42 +0000)]
* config.gcc: (avr-linux): Allow for tmake_file not being empty.
From-SVN: r201690
Maciej W. Rozycki [Tue, 13 Aug 2013 14:26:49 +0000 (14:26 +0000)]
* config.host <mips*-*-linux*>: Remove a stray comment.
From-SVN: r201689
Marek Polacek [Tue, 13 Aug 2013 13:23:55 +0000 (13:23 +0000)]
* gcc.dg/pr57980.c: Use vector of two elements, not just one.
From-SVN: r201686
Jan Hubicka [Tue, 13 Aug 2013 12:21:16 +0000 (14:21 +0200)]
cgraph.c (cgraph_turn_edge_to_speculative): Return newly introduced edge; fix typo in sanity check.
* cgraph.c (cgraph_turn_edge_to_speculative): Return newly
introduced edge; fix typo in sanity check.
(cgraph_resolve_speculation): Export; improve diagnostic.
(cgraph_redirect_edge_call_stmt_to_callee): Better diagnostic; cancel
speculation at type mismatch.
* cgraph.h (cgraph_turn_edge_to_speculative): Update.
(cgraph_resolve_speculation): Declare.
(symtab_can_be_discarded): New function.
* value-prof.c (gimple_ic_transform): Remove actual transform code.
* ipa-inline-transform.c (speculation_removed): New global var.
(clone_inlined_nodes): See if speculation can be removed.
(inline_call): If speculations was removed, we growths may not match.
* ipa-inline.c (can_inline_edge_p): Add DISREGARD_LIMITS parameter.
(speculation_useful_p): New function.
(resolve_noninline_speculation): New function.
(inline_small_functions): Resolve useless speculations.
* ipa-inline.h (speculation_useful_p): Declare
* ipa.c (can_replace_by_local_alias): Simplify.
(ipa_profile): Produce speculative calls in non-lto, too;
add simple cost model; produce local aliases.
From-SVN: r201683
Eric Botcazou [Tue, 13 Aug 2013 10:26:40 +0000 (10:26 +0000)]
utils2.c (build_atomic_load): Do a mere view-conversion to the original type before converting to the result type.
* gcc-interface/utils2.c (build_atomic_load): Do a mere view-conversion
to the original type before converting to the result type.
(build_atomic_store): First do a conversion to the original type before
view-converting to the effective type, but deal with a padded type
specially.
From-SVN: r201682
David Malcolm [Tue, 13 Aug 2013 00:45:27 +0000 (00:45 +0000)]
Example of converting global state to per-pass state.
gcc/testsuite
2013-08-13 David Malcolm <dmalcolm@redhat.com>
Example of converting global state to per-pass state.
* gcc.dg/plugin/one_time_plugin.c (one_pass::execute): Convert
global state "static int counter" to...
(one_pass::counter): ...this instance data.
From-SVN: r201681
David Malcolm [Tue, 13 Aug 2013 00:41:39 +0000 (00:41 +0000)]
one_time_plugin.c: (one_pass_gate): Convert to member function...
gcc/testsuite
2013-08-13 David Malcolm <dmalcolm@redhat.com>
* gcc.dg/plugin/one_time_plugin.c: (one_pass_gate): Convert
to member function...
(one_pass::gate): ...this.
(one_pass_exec): Convert to member function...
(one_pass::impl_execute): ...this.
From-SVN: r201680
David Malcolm [Tue, 13 Aug 2013 00:29:39 +0000 (00:29 +0000)]
t-i386 (i386.o): Rename stray PIPELINE_H to PASS_MANAGER_H
2013-08-13 David Malcolm <dmalcolm@redhat.com>
* config/i386/t-i386 (i386.o): Rename stray PIPELINE_H to
PASS_MANAGER_H
From-SVN: r201679
GCC Administrator [Tue, 13 Aug 2013 00:16:31 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r201678
Adam Butcher [Mon, 12 Aug 2013 23:26:18 +0000 (00:26 +0100)]
* pt.c: Grammar fix in comments ("it's" to "its").
From-SVN: r201674
Adam Butcher [Mon, 12 Aug 2013 23:26:09 +0000 (00:26 +0100)]
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r201673
Paolo Carlini [Mon, 12 Aug 2013 22:54:13 +0000 (22:54 +0000)]
re PR c++/57416 (internal compiler error: in gimple_expand_cfg, at cfgexpand.c:4575)
2013-08-12 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57416
* g++.dg/cpp0x/pr57416.C: New.
From-SVN: r201672
Paolo Carlini [Mon, 12 Aug 2013 22:37:20 +0000 (22:37 +0000)]
i386.c (ix86_function_versions): Use error + inform.
2013-08-12 Paolo Carlini <paolo.carlini@oracle.com>
* config/i386/i386.c (ix86_function_versions): Use error + inform.
/cp
2013-08-12 Paolo Carlini <paolo.carlini@oracle.com>
* decl.c (warn_extern_redeclared_static, duplicate_decls,
check_elaborated_type_specifier): Use error + inform.
* friend.c (make_friend_class): Likewise.
* semantics.c (finish_id_expression): Likewise.
/testsuite
2013-08-12 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/cpp0x/constexpr-function2.C: Adjust for error -> inform
changes.
* g++.dg/cpp0x/constexpr-neg1.C: Likewise.
* g++.dg/cpp0x/defaulted2.C: Likewise.
* g++.dg/cpp0x/defaulted31.C: Likewise.
* g++.dg/cpp0x/error6.C: Likewise.
* g++.dg/cpp0x/gen-attrs-32.C: Likewise.
* g++.dg/cpp0x/override2.C: Likewise.
* g++.dg/cpp0x/parse1.C: Likewise.
* g++.dg/cpp0x/scoped_enum.C: Likewise.
* g++.dg/cpp0x/temp_default4.C: Likewise.
* g++.dg/ext/attrib32.C: Likewise.
* g++.dg/ext/gnu-inline-global-reject.C: Likewise.
* g++.dg/ext/mv13.C: Likewise.
* g++.dg/ext/mv7.C: Likewise.
* g++.dg/ext/mv9.C: Likewise.
* g++.dg/ext/pr57362.C: Likewise.
* g++.dg/ext/typeof10.C: Likewise.
* g++.dg/lookup/anon6.C: Likewise.
* g++.dg/lookup/crash6.C: Likewise.
* g++.dg/lookup/name-clash5.C: Likewise.
* g++.dg/lookup/name-clash6.C: Likewise.
* g++.dg/other/anon4.C: Likewise.
* g++.dg/other/error15.C: Likewise.
* g++.dg/other/error8.C: Likewise.
* g++.dg/other/redecl2.C: Likewise.
* g++.dg/parse/crash16.C: Likewise.
* g++.dg/parse/crash21.C: Likewise.
* g++.dg/parse/crash38.C: Likewise.
* g++.dg/parse/redef2.C: Likewise.
* g++.dg/parse/struct-as-enum1.C: Likewise.
* g++.dg/template/crash39.C: Likewise.
* g++.dg/template/redecl3.C: Likewise.
* g++.dg/tls/diag-3.C: Likewise.
* g++.dg/warn/Wredundant-decls-spec.C: Likewise.
* g++.old-deja/g++.benjamin/typedef01.C: Likewise.
* g++.old-deja/g++.benjamin/warn02.C: Likewise.
* g++.old-deja/g++.brendan/crash16.C: Likewise.
* g++.old-deja/g++.brendan/crash18.C: Likewise.
* g++.old-deja/g++.brendan/err-msg4.C: Likewise.
* g++.old-deja/g++.brendan/redecl1.C: Likewise.
* g++.old-deja/g++.brendan/static3.C: Likewise.
* g++.old-deja/g++.bugs/900127_02.C: Likewise.
* g++.old-deja/g++.jason/binding.C: Likewise.
* g++.old-deja/g++.jason/crash4.C: Likewise.
* g++.old-deja/g++.jason/crash7.C: Likewise.
* g++.old-deja/g++.jason/lineno.C: Likewise.
* g++.old-deja/g++.jason/scoping7.C: Likewise.
* g++.old-deja/g++.mike/misc3.C: Likewise.
* g++.old-deja/g++.mike/net44.C: Likewise.
* g++.old-deja/g++.mike/ns3.C: Likewise.
* g++.old-deja/g++.ns/alias4.C: Likewise.
* g++.old-deja/g++.ns/ns11.C: Likewise.
* g++.old-deja/g++.other/crash23.C: Likewise.
* g++.old-deja/g++.other/decl8.C: Likewise.
* g++.old-deja/g++.other/linkage3.C: Likewise.
* g++.old-deja/g++.other/typeck1.C: Likewise.
* g++.old-deja/g++.other/typedef5.C: Likewise.
* g++.old-deja/g++.pt/explicit34.C: Likewise.
* g++.old-deja/g++.pt/friend36.C: Likewise.
* obj-c++.dg/method-8.mm: Likewise.
* obj-c++.dg/tls/diag-3.mm: Likewise.
From-SVN: r201671
Caroline Tice [Mon, 12 Aug 2013 20:25:29 +0000 (13:25 -0700)]
Updating my information in MAINTAINERS.
From-SVN: r201669
Uros Bizjak [Mon, 12 Aug 2013 17:23:43 +0000 (19:23 +0200)]
[multiple changes]
2013-08-12 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (floatunssi<mode>2 expand): Use MODEF mode
iterator instead of X87MODEF.
2013-08-12 Perez Read <netfirewall@gmail.com>
PR target/58132
* config/i386/i386.md (*movabs<mode>_1): Add <ptrsize> PTR before
operand 0 for intel asm alternative.
(*movabs<mode>_2): Ditto for operand 1.
testsuite/ChangeLog:
2013-08-12 Perez Read <netfirewall@gmail.com>
PR target/58132
* gcc.target/i386/movabs-1.c: New test.
From-SVN: r201668
James Greenhalgh [Mon, 12 Aug 2013 15:59:34 +0000 (15:59 +0000)]
[AArch64] Fix name of macros called in the vdup_lane Neon intrinsics
gcc/
* config/aarch64/arm_none.h
(vdup<bhsd>_lane_<su><8,16,32,64>): Fix macro call.
From-SVN: r201666
Nick Clifton [Mon, 12 Aug 2013 14:17:15 +0000 (14:17 +0000)]
* config.gcc (m32r-linux): Allow for tmake_file not being empty.
From-SVN: r201664
Yuri Rumyantsev [Mon, 12 Aug 2013 12:28:47 +0000 (12:28 +0000)]
i386.md (floatunssi<mode>2 expand): Add new expand for QI/HImode operand to produce more effictive code for...
* config/i386/i386.md (floatunssi<mode>2 expand): Add new
expand for QI/HImode operand to produce more effictive code for
unsigned char(short) --> float(double) conversion.
From-SVN: r201663
Alexander Monakov [Mon, 12 Aug 2013 09:40:28 +0000 (13:40 +0400)]
* doc/invoke.texi: Mention that -ftls-model does not force the final model.
From-SVN: r201661
Marek Polacek [Mon, 12 Aug 2013 08:46:41 +0000 (08:46 +0000)]
re PR tree-optimization/57980 (gcc 4.8.1 -foptimize-sibling-calls -O1 ICE in build_int_cst_wide, at tree.c:1210)
PR tree-optimization/57980
Co-Authored-By: Marc Glisse <marc.glisse@inria.fr>
From-SVN: r201660
Jan Hubicka [Mon, 12 Aug 2013 07:16:19 +0000 (07:16 +0000)]
Fix typo.
From-SVN: r201659
Thomas Koenig [Mon, 12 Aug 2013 05:50:03 +0000 (05:50 +0000)]
re PR fortran/56666 (Suppression flag for " DO loop at (1) will be executed zero times")
2013-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/56666
* gfortran.h (gfc_option_t): Add warn_zerotrip.
* invoke.texi (-Wzerotrip): Document option.
* lang.opt (Wzerotrip): Add.
* options.c (gfc_init_options): Initialize warn_zerotrip.
(set_Wall): Add handling of warn_zerotrip.
(gfc_handle_option): Handle OPT_Wzerotrip.
* resolve.c (gfc_resolve_iterator): Honor
gfc_option.warn_zerotrip; update error message to show
how to suppress the warning.
2013-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/56666
* gfortran.dg/do_check_10.f90: New test.
* gfortran.dg/array_constructor_11.f90: Add -Wzerotrip to dg-options.
* gfortran.dg/array_constructor_18.f90: Likewise.
* gfortran.dg/array_constructor_22.f90: Likewise.
* gfortran.dg/coarray_15.f90: Likewise.
* gfortran.dg/do_1.f90: Add -Wall to dg-options.
* gfortran.dg/do_3.F90: Add -Wzerotrip to dg-options.
* gfortran.dg/do_check_5.f90: Add -Wall to gd-options.
From-SVN: r201658
GCC Administrator [Mon, 12 Aug 2013 00:17:00 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r201657
Paolo Carlini [Sun, 11 Aug 2013 22:06:04 +0000 (22:06 +0000)]
re PR c++/53349 (Internal compiler error with constexpr and recursive data type)
2013-08-11 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53349
* g++.dg/cpp0x/constexpr-ice8.C: New.
From-SVN: r201654
GCC Administrator [Sun, 11 Aug 2013 00:16:31 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r201651
Jan Hubicka [Sat, 10 Aug 2013 20:52:06 +0000 (22:52 +0200)]
Workaround binutils PR14342
Workaround binutils PR14342
* tree-profile.c (init_ic_make_global_vars): Add LTO path.
(gimple_init_edge_profiler): Likewise.
(gimple_gen_ic_func_profiler): Likewise.
* Makefile.in: Add _gcov_indirect_call_profiler_v2 symbol.
* libgcov.c (L_gcov_indirect_call_profiler): Restore original API.
(L_gcov_indirect_call_profiler_v2): New.
From-SVN: r201648
Jan Hubicka [Sat, 10 Aug 2013 09:59:56 +0000 (11:59 +0200)]
* cgraph.c (cgraph_create_edge_1): Clear speculative flag.
From-SVN: r201646
Xinliang David Li [Sat, 10 Aug 2013 03:48:01 +0000 (03:48 +0000)]
Implement -mmemcpy-strategy= and -mmemset-strategy= options
From-SVN: r201645
Carlos O'Donell [Sat, 10 Aug 2013 00:54:26 +0000 (00:54 +0000)]
MAINTAINERS (Write After Approval): Update email.
2013-08-09 Carlos O'Donell <carlos@redhat.com>
* MAINTAINERS (Write After Approval): Update email.
From-SVN: r201644
GCC Administrator [Sat, 10 Aug 2013 00:16:57 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r201643
Jan Hubicka [Fri, 9 Aug 2013 23:07:52 +0000 (01:07 +0200)]
* ipa-ref.c (ipa_clear_stmts_in_references): Clear lto_stmt_uid, too.
From-SVN: r201640
Jan Hubicka [Fri, 9 Aug 2013 22:53:00 +0000 (00:53 +0200)]
cgraph.c (cgraph_resolve_speculation): Cut frequency to CGRAPH_FREQ_MAX.
* cgraph.c (cgraph_resolve_speculation): Cut frequency to
CGRAPH_FREQ_MAX.
(dump_cgraph_node): Dump profile-id.
* cgraph.h (cgraph_indirect_call_info): Add common_target_id
and common_target_probability.
* lto-cgraph.c (lto_output_edge): Stream common targets.
(lto_output_node): Stream profile ids.
(input_node): Stream profile ids.
(input_edge): Stream common targets.
* lto-streamer-in.c (fixup_call_stmt_edges_1): Fix formatting.
* ipa.c: Include value-prof.h
(ipa_profile_generate_summary): Turn indirect call statement histograms
into common targets.
(ipa_profile): Turn common targets into speculative edges.
* gcc.dg/tree-prof/crossmodule-indircall-1.c: New testcase.
* gcc.dg/tree-prof/crossmodule-indircall-1a.c: New testcase.
From-SVN: r201639
Ian Lance Taylor [Fri, 9 Aug 2013 20:51:16 +0000 (20:51 +0000)]
net: give C.getaddrinfo a hint that we only want SOCK_STREAM answers
This should be more efficient everywhere, and appears to be
required on Solaris.
Copied from master repository.
From-SVN: r201637
Yufeng Zhang [Fri, 9 Aug 2013 20:48:00 +0000 (20:48 +0000)]
lower-subreg-1.c: Skip aarch64*-*-*.
gcc/testsuite/
* gcc.dg/lower-subreg-1.c: Skip aarch64*-*-*.
From-SVN: r201636
Janus Weil [Fri, 9 Aug 2013 19:26:07 +0000 (21:26 +0200)]
gfortran.h (gfc_get_code): Modified prototype.
2013-08-09 Janus Weil <janus@gcc.gnu.org>
* gfortran.h (gfc_get_code): Modified prototype.
* class.c (finalize_component, finalization_scalarizer,
finalization_get_offset, finalizer_insert_packed_call,
generate_finalization_wrapper, gfc_find_derived_vtab,
gfc_find_intrinsic_vtab): Use 'gfc_get_code'.
* io.c (match_io_iterator, match_io_element, terminate_io, get_io_list,
gfc_match_inquire): Call 'gfc_get_code' with argument.
* match.c (match_simple_forall, gfc_match_forall, gfc_match_goto,
gfc_match_nullify, gfc_match_call, match_simple_where, gfc_match_where):
Ditto.
* parse.c (new_level): Ditto.
(add_statement): Use XCNEW.
* resolve.c (resolve_entries, resolve_allocate_expr,
resolve_select_type, build_assignment, build_init_assign): Call
'gfc_get_code' with argument.
* st.c (gfc_get_code): Add argument 'op'.
* trans-expr.c (gfc_trans_class_array_init_assign): Call 'gfc_get_code'
with argument.
* trans-stmt.c (gfc_trans_allocate): Ditto.
From-SVN: r201635
Jan Hubicka [Fri, 9 Aug 2013 18:23:23 +0000 (20:23 +0200)]
cgraph.h (cgraph_node): Add profile_id.
* cgraph.h (cgraph_node): Add profile_id.
* value-prof.c (cgraph_node_map): Turn into pointer_map.
(init_node_map): Rewrite to handle hashes increas of incremental
IDs.
(del_node_map): Update.
(find_func_by_funcdef_no): Replace by ...
(find_func_by_profile_id): ... this one.
(gimple_ic_transform): Do not remove useful histograms when
speculation is not done; dump info when indirect call removal
can happen at LTO.
* value-prof.h (find_func_by_profile_id, gimple_ic): Declare.
* gcov-io.h (__gcov_indirect_call_profiler): Replace by ...
(__gcov_indirect_call_profiler_v2): .. this one.
* profile.h (init_node_map): Update.
* coverage.c (coverage_compute_profile_id): New function.
* coverage.h (coverage_compute_profile_id): Declare.
* tree-profile.c (init_ic_make_global_vars): Make
__gcov_indirect_call_callee and __gcov_indirect_call_counters global.
(gimple_init_edge_profiler): Update prototype of
__gcov_indirect_call_profiler.
(gimple_gen_ic_func_profiler): Simplify.
(tree_profiling): Use init_node_map
From-SVN: r201634
Janus Weil [Fri, 9 Aug 2013 16:57:58 +0000 (18:57 +0200)]
re PR fortran/58058 (Memory leak with transfer function)
2013-08-09 Janus Weil <janus@gcc.gnu.org>
PR fortran/58058
* trans-intrinsic.c (gfc_conv_intrinsic_transfer): Free the temporary
string, if necessary.
2013-08-09 Janus Weil <janus@gcc.gnu.org>
PR fortran/58058
* gfortran.dg/transfer_intrinsic_6.f90: New.
From-SVN: r201633
Jan Hubicka [Fri, 9 Aug 2013 15:23:19 +0000 (17:23 +0200)]
cgraphbuild.c (cgraph_rebuild_references): Rebuild only non-speculative refs.
* cgraphbuild.c (cgraph_rebuild_references): Rebuild only non-speculative
refs.
* cgraph.c (cgraph_update_edge_in_call_site_hash): New function.
(cgraph_add_edge_to_call_site_hash): Deal with speculative calls.
(cgraph_set_call_stmt): Likewise.
(cgraph_create_edge_1): Fix release checking compilatoin;
clear lto_stmt_uid.
(cgraph_free_edge): Free indirect info.
(cgraph_turn_edge_to_speculative): New function.
(cgraph_speculative_call_info): New function.
(cgraph_make_edge_direct): Return direct edge; handle speculation.
(cgraph_redirect_edge_call_stmt_to_callee): Expand speculative
edges.
(dump_cgraph_node): Dump speculation.
(verify_edge_count_and_frequency): Accept speculative edges.
(verify_edge_corresponds_to_fndecl): Handle partitioned cgraph.
(verify_cgraph_node): Handle speculation.
* cgraph.h (cgraph_edge): Add SPECULATIVE flag.
(cgraph_set_call_stmt): Update prototype.
(cgraph_make_edge_direct): Update prototype.
(cgraph_speculative_call_info): Declare.
* ipa-cp.c (ipcp_discover_new_direct_edges): Be ready for edge
to change; update call of ipa_find_references.
* ipa-ref.c (ipa_record_reference): Fix return value; clear
lto_stmt_uid and speculative flags.
(ipa_dump_references): Dump speculation.
(ipa_clone_references): Clone speculative flag.
(ipa_clone_referring): Likewise.
(ipa_clone_ref): New function.
(ipa_find_reference): Look into lto_stmt_uids
(ipa_clear_stmts_in_references): Do not clear speculative calls.
* ipa-ref.h (ipa_ref): Add lto_stmt_uid and speculative flags.
(ipa_find_reference): Update declaration.
(ipa_clone_ref): Declare.
* lto-cgraph.c (lto_output_edge): Make lto_stmt_uids start from 0;
stream speculative flag.
(lto_output_ref): Stream statements uids and speculation.
(input_ref): Likewise.
(input_edge): Stream speuclation.
* cgraphclones.c (cgraph_clone_edge): Clone speculation.
(cgraph_set_call_stmt_including_clones): Handle speculation.
* ipa-inline.c (heap_edge_removal_hook): New function.
(inline_small_functions): Register it.
* lto-streamer-in.c (fixup_call_stmt_edges_1): Bounds checking;
also initialize refs.
* ipa-prop.c (ipa_make_edge_direct_to_target): Be ready for
edge to change.
(try_make_edge_direct_simple_call): Likewise.
(try_make_edge_direct_simple_call): Likewise.
(update_indirect_edges_after_inlining): Likewise.
(remove_described_reference): Look proper lto_stmt_uid.
(propagate_controlled_uses): Likewise.
(propagate_controlled_uses): Liekwise.
* tree-inline.c (copy_bb): Copy speculative edges.
(redirect_all_calls): New function.
(copy_cfg_body): Do redirection after loop info
is updated.
(delete_unreachable_blocks_update_callgraph): Updadte
speculation.
From-SVN: r201632