Arnaud Charlet [Fri, 13 Mar 2015 13:28:15 +0000 (14:28 +0100)]
[multiple changes]
2015-03-13 Claire Dross <dross@adacore.com>
* inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Do not inline
subprograms with unconstrained record parameters containing
Itype declarations.
* sinfo.ads Document GNATprove assumption that type should match
in the AST.
* sem_ch6.adb (Analyze_Subprogram_Body_Contract):
Do not check for Refined_Depends and Refined_Globals contracts
as they are optional.
2015-03-13 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Instantiate_Type): For a floating-point type,
capture dimension info if any, because the generated subtype
declaration does not come from source and will not process dimensions.
* sem_dim,adb (Analyze_Dimension_Extension_Or_Record_Aggregate):
Do not analyze expressions with an initialization procedure
because aggregates will have been checked at the point of record
declaration.
2015-03-13 Robert Dewar <dewar@adacore.com>
* aspects.ads, aspects.adb: Add entries for aspect Unimplemented.
* einfo.ads, einfo.adb (Is_Unimplemented): New flag.
* sem_ch13.adb: Add dummy entry for aspect Unimplemented.
* snames.ads-tmpl: Add entry for Name_Unimplemented.
From-SVN: r221420
Arnaud Charlet [Fri, 13 Mar 2015 13:22:52 +0000 (14:22 +0100)]
[multiple changes]
2015-03-13 Gary Dismukes <dismukes@adacore.com>
* style.adb (Missing_Overriding): Apply the
Comes_From_Source test to the Original_Node of the subprogram
node, to handle the case of a null procedure declaration that
has been rewritten as an empty procedure body.
2015-03-13 Robert Dewar <dewar@adacore.com>
* exp_util.ads: Minor fix to comment.
* sem_ch3.adb (Constrain_Index): Correct pasto from previous
change.
From-SVN: r221419
Robert Dewar [Fri, 13 Mar 2015 13:18:39 +0000 (13:18 +0000)]
exp_util.ads, [...] (Force_Evaluation): Add Related_Id and Is_Low/High_Bound params.
2015-03-13 Robert Dewar <dewar@adacore.com>
* exp_util.ads, exp_util.adb (Force_Evaluation): Add Related_Id and
Is_Low/High_Bound params.
* sem_ch3.adb (Constrain_Index): Use new Force_Evaluation calling
sequence to simplify generation of FIRST/LAST temps for bounds.
From-SVN: r221418
Jonathan Wakely [Fri, 13 Mar 2015 12:47:21 +0000 (12:47 +0000)]
* include/experimental/system_error: Fix include guard.
From-SVN: r221417
Sebastian Huber [Fri, 13 Mar 2015 10:57:07 +0000 (10:57 +0000)]
libgomp: Add RTEMS support
libgomp/ChangeLog
* configure.tgt (*-*-rtems*): Use local-exec TLS model.
* configure.ac (*-*-rtems*): Assume Pthread is supported.
(pthread.h): Check for this header file.
* configure: Regenerate.
From-SVN: r221415
Jonathan Wakely [Fri, 13 Mar 2015 10:49:08 +0000 (10:49 +0000)]
acinclude.m4: Make --enable-libstdcxx-time=auto work for dragonfly.
* acinclude.m4: Make --enable-libstdcxx-time=auto work for dragonfly.
* configure: Regenerate.
From-SVN: r221414
Kyrylo Tkachov [Fri, 13 Mar 2015 10:48:44 +0000 (10:48 +0000)]
[ARM] PR target/64600 Fix another ICE with -mtune=xscale: properly sign-extend mask during constant splitting
PR target/64600
* config/arm/arm.c (arm_gen_constant, AND case): Use
ARM_SIGN_EXTEND when constructing AND mask.
PR target/64600
* gcc.target/arm/pr64600_1.c: New test.
From-SVN: r221413
Thomas Preud'homme [Fri, 13 Mar 2015 09:45:48 +0000 (09:45 +0000)]
graph.c (print_graph_cfg): Make function names visible and append parenthesis to it.
2015-03-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/
* graph.c (print_graph_cfg): Make function names visible and append
parenthesis to it. Also make groups of basic blocks belonging to the
same function visible.
From-SVN: r221412
Richard Biener [Fri, 13 Mar 2015 08:52:51 +0000 (08:52 +0000)]
re PR ipa/44563 (GCC uses a lot of RAM when compiling a large numbers of functions)
2015-03-12 Richard Biener <rguenther@suse.de>
PR middle-end/44563
* tree-inline.c (gimple_expand_calls_inline): Walk BB backwards
to avoid quadratic behavior with inline expansion splitting blocks.
* tree-cfgcleanup.c (cleanup_tree_cfg_bb): Do not merge block
with the successor if the predecessor will be merged with it.
* tree-cfg.c (gimple_can_merge_blocks_p): We can't merge the
entry block with its successor.
From-SVN: r221410
Richard Biener [Fri, 13 Mar 2015 08:47:14 +0000 (08:47 +0000)]
re PR ipa/44563 (GCC uses a lot of RAM when compiling a large numbers of functions)
2015-03-10 Richard Biener <rguenther@suse.de>
PR middle-end/44563
* tree-cfgcleanup.c (split_bb_on_noreturn_calls): Remove.
(cleanup_tree_cfg_1): Do not call it.
(execute_cleanup_cfg_post_optimizing): Fixup the CFG here.
(fixup_noreturn_call): Mark the stmt as control altering.
* tree-cfg.c (execute_fixup_cfg): Do not dump the function
here.
(pass_data_fixup_cfg): Produce a dump file.
* tree-ssa-dom.c: Include tree-cfgcleanup.h.
(need_noreturn_fixup): New global.
(pass_dominator::execute): Fixup queued noreturn calls.
(optimize_stmt): Queue calls that became noreturn for fixup.
* tree-ssa-forwprop.c (pass_forwprop::execute): Likewise.
* tree-ssa-pre.c: Include tree-cfgcleanup.h.
(el_to_fixup): New global.
(eliminate_dom_walker::before_dom_childre): Queue calls that
became noreturn for fixup.
(eliminate): Fixup queued noreturn calls.
* tree-ssa-propagate.c: Include tree-cfgcleanup.h.
(substitute_and_fold_dom_walker): New member stmts_to_fixup.
(substitute_and_fold_dom_walker::before_dom_children): Queue
alls that became noreturn for fixup.
(substitute_and_fold): Fixup queued noreturn calls.
From-SVN: r221409
Uros Bizjak [Fri, 13 Mar 2015 07:33:51 +0000 (08:33 +0100)]
ChangeLog: Fix whitespace.
* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.
From-SVN: r221407
Jan Hubicka [Fri, 13 Mar 2015 06:30:04 +0000 (07:30 +0100)]
ipa-icf.c (sem_function::equals_wpa): Match CXX_CONSTRUCTOR_P and CXX_DESTURCTOR_P.
* ipa-icf.c (sem_function::equals_wpa): Match CXX_CONSTRUCTOR_P
and CXX_DESTURCTOR_P. For consutrctors match ODR type of class they
are building; for methods check ODR type of class they belong to if
they may lead to a polymorphic call.
(sem_function::compare_polymorphic_p): Be bit smarter about testing
when function may lead to a polymorphic call.
(sem_function::compare_type_list): Remove.
(sem_variable::equals): Update use of compatible_types_p.
(sem_variable::parse_tree_refs): Remove.
(sem_item_optimizer::filter_removed_items): Do not filter out CXX
cdtor.
* ipa-icf-gimple.c (func_checker::compare_decl): Do polymorphic
matching here.
(func_checker::compatible_polymorphic_types_p): Break out from ...
(unc_checker::compatible_types_p): ... here.
* ipa-icf-gimple.h (func_checker::compatible_polymorphic_types_p):
Declare.
(unc_checker::compatible_types_p): Update.
* ipa-icf.h (compare_type_list, parse_tree_refs, compare_sections):
Remove.
From-SVN: r221406
GCC Administrator [Fri, 13 Mar 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r221405
Paolo Carlini [Thu, 12 Mar 2015 23:55:49 +0000 (23:55 +0000)]
re PR c++/65323 (duplicate -Wzero-as-null-pointer-constant warnings)
2015-03-12 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/65323
* decl.c (check_default_argument): Don't call
maybe_warn_zero_as_null_pointer_constant.
From-SVN: r221402
Ian Lance Taylor [Thu, 12 Mar 2015 17:05:22 +0000 (17:05 +0000)]
go/build: cgo works on linux/arm64.
From-SVN: r221398
Ian Lance Taylor [Thu, 12 Mar 2015 16:44:36 +0000 (16:44 +0000)]
Makefile.am (GOLINK): Add GOCFLAGS.
* Makefile.am (GOLINK): Add GOCFLAGS.
* Makefile.in: Rebuild.
From-SVN: r221397
Ian Lance Taylor [Thu, 12 Mar 2015 16:41:28 +0000 (16:41 +0000)]
re PR go/65404 (cgo tool on powerpc-linux-gnu maybe incomplete)
PR go/65404
go/build: cgo works on linux/pcc.
From-SVN: r221396
Renlin Li [Thu, 12 Mar 2015 15:00:28 +0000 (15:00 +0000)]
[PATCH]Remove xfail for wrapped target
libstdc++-v3/
2015-03-12 Renlin Li <renlin.li@arm.com>
* testsuite/27_io/ios_base/sync_with_stdio/1.cc: Remove xfail for
wrapped target.
From-SVN: r221393
Olivier Hainque [Thu, 12 Mar 2015 14:34:25 +0000 (14:34 +0000)]
Add missing bit to ChangeLog entry for the latest update
in gcc/ada/gcc-interface/trans.c.
From-SVN: r221392
Olivier Hainque [Thu, 12 Mar 2015 14:24:48 +0000 (14:24 +0000)]
trans.c (Attribute_to_gnu): On targets where a function symbol designates a function descriptor...
2015-03-12 Olivier Hainque <hainque@adacore.com>
* gcc-interface/trans.c (Attribute_to_gnu) <Code_Address case>:
On targets where a function symbol designates a function descriptor,
fetch the function code address from the descriptor.
From-SVN: r221391
Kyrylo Tkachov [Thu, 12 Mar 2015 13:41:50 +0000 (13:41 +0000)]
Fix ChangeLog entries from previous commit
From-SVN: r221388
Kyrylo Tkachov [Thu, 12 Mar 2015 13:40:50 +0000 (13:40 +0000)]
[simplify-rtx] PR 65235: Calculate element size correctly when simplifying (vec_select (vec_concat (const_int) (...)) [...])
PR rtl-optimization 65235
* simplify-rtx.c (simplify_binary_operation_1, VEC_SELECT case):
When first element of vec_concat is const_int, calculate its size
using second element.
PR rtl-optimization 65235
* gcc.target/aarch64/pr65235_1.c: New test.
From-SVN: r221387
Richard Biener [Thu, 12 Mar 2015 13:02:42 +0000 (13:02 +0000)]
re PR ipa/65270 (issues with merging memory accesses from different code paths)
2015-03-12 Richard Biener <rguenther@suse.de>
PR middle-end/65270
* fold-const.c (operand_equal_p): Fix ordering of resetting
OEP_ADDRESS_OF and checking for it in the [TARGET_]MEM_REF case.
From-SVN: r221386
Dominik Vogt [Thu, 12 Mar 2015 11:13:40 +0000 (11:13 +0000)]
S/390: Hotpatching fixes.
2015-03-02 Dominik Vogt <vogt@linux.vnet.ibm.com>
* config/s390/s390.c (s390_reorg): Move code to output nops after label
to s390_reorg ().
(s390_asm_output_function_label): Likewise.
* config/s390/s390.c (s390_asm_output_function_label):
Fix function label alignment with -mhtopatch.
* config/s390/s390.md ("unspecv"): New values UNSPECV_NOP_2_BYTE,
UNSPECV_NOP_4_BYTE and UNSPECV_NOP_6_BYTE
("nop_2_byte"): New define_insn.
("nop_4_byte"): Likewise.
("nop_6_byte"): Likewise.
* doc/extend.texi (hotpatch): hotpatch attribute doc fixes.
* doc/invoke.texi (-mhotpatch): -mhotpatch doc fixes.
2015-03-02 Dominik Vogt <vogt@linux.vnet.ibm.com>
* gcc.target/s390/hotpatch-21.c: New test for hotpatch alignment.
* gcc.target/s390/hotpatch-22.c: Likewise.
* gcc.target/s390/hotpatch-23.c: Likewise.
* gcc.target/s390/hotpatch-24.c: Likewise.
* gcc.target/s390/hotpatch-2.c: Also check hotpatch alignment.
* gcc.target/s390/hotpatch-1.c: Update expected output.
* gcc.target/s390/hotpatch-2.c: Likewise.
* gcc.target/s390/hotpatch-3.c: Likewise.
* gcc.target/s390/hotpatch-4.c: Likewise.
* gcc.target/s390/hotpatch-5.c: Likewise.
* gcc.target/s390/hotpatch-6.c: Likewise.
* gcc.target/s390/hotpatch-7.c: Likewise.
* gcc.target/s390/hotpatch-8.c: Likewise.
* gcc.target/s390/hotpatch-9.c: Likewise.
* gcc.target/s390/hotpatch-10.c: Likewise.
* gcc.target/s390/hotpatch-11.c: Likewise.
* gcc.target/s390/hotpatch-12.c: Likewise.
* gcc.target/s390/hotpatch-13.c: Likewise.
* gcc.target/s390/hotpatch-14.c: Likewise.
* gcc.target/s390/hotpatch-15.c: Likewise.
* gcc.target/s390/hotpatch-16.c: Likewise.
* gcc.target/s390/hotpatch-17.c: Likewise.
* gcc.target/s390/hotpatch-18.c: Likewise.
* gcc.target/s390/hotpatch-19.c: Likewise.
From-SVN: r221381
Ilya Enkovich [Thu, 12 Mar 2015 09:53:36 +0000 (09:53 +0000)]
re PR target/65103 ([i386] GOTOFF relocation is not propagated into address expression)
gcc/
PR target/65103
* config/i386/i386.c (ix86_address_cost): Fix cost of a PIC
register.
gcc/testsuite/
PR target/65103
* gcc.target/i386/pr65103-1.c: New.
From-SVN: r221380
Ilya Enkovich [Thu, 12 Mar 2015 09:23:06 +0000 (09:23 +0000)]
re PR target/65044 (ICE: SIGSEGV in contains_struct_check with -fsanitize=address -fcheck-pointer-bounds)
gcc/
PR target/65044
* toplev.c (process_options): Restrict Pointer Bounds Checker
usage with Address Sanitizer.
gcc/testsuite/
PR target/65044
* gcc.target/i386/pr65044.c: New.
From-SVN: r221379
Ilya Enkovich [Thu, 12 Mar 2015 08:58:08 +0000 (08:58 +0000)]
re PR other/65384 (Intel MPX does not support x32)
libmpx/
PR other/65384
* configure.ac: Fix x32 test.
* configure: Regenerate.
From-SVN: r221378
Richard Biener [Thu, 12 Mar 2015 08:48:32 +0000 (08:48 +0000)]
tree-cfg.c (gimple_split_block): Remove loop finding stmt to split on.
2015-03-12 Richard Biener <rguenther@suse.de>
* tree-cfg.c (gimple_split_block): Remove loop finding stmt
to split on.
* omp-low.c (expand_omp_taskreg): Split block before removing
the stmt.
(expand_omp_target): Likewise.
* ubsan.c (ubsan_expand_null_ifn): Adjust stmt if we replaced it.
* tree-parloops.c (create_call_for_reduction_1): Pass a proper
stmt to split_block.
From-SVN: r221377
Tom de Vries [Thu, 12 Mar 2015 08:01:24 +0000 (08:01 +0000)]
Revert 'require nonpic target' for fuse-caller-save*.c
2015-03-12 Tom de Vries <tom@codesourcery.com>
PR rtl-optimization/64895
* gcc.target/i386/fuse-caller-save-rec.c: Revert require nonpic target.
* gcc.target/i386/fuse-caller-save-xmm.c: Ditto.
* gcc.target/i386/fuse-caller-save.c: Ditto.
From-SVN: r221374
Tom de Vries [Thu, 12 Mar 2015 07:08:12 +0000 (07:08 +0000)]
Add missing PR number
From-SVN: r221373
Tom de Vries [Thu, 12 Mar 2015 06:59:34 +0000 (06:59 +0000)]
Use actual_call_used_reg_set to find conflicting regs
2015-03-12 Tom de Vries <tom@codesourcery.com>
* lra-lives.c (check_pseudos_live_through_calls): Use
actual_call_used_reg_set instead of call_used_reg_set, if available.
From-SVN: r221372
Jan Hubicka [Thu, 12 Mar 2015 03:48:59 +0000 (04:48 +0100)]
* gcc.dg/ipa/pr63569.c: Fix template.
From-SVN: r221371
Sandra Loosemore [Thu, 12 Mar 2015 01:42:52 +0000 (21:42 -0400)]
pr64146.C: Require fpic support.
2015-03-11 Sandra Loosemore <sandra@codesourcery.com>
gcc/testsuite/
* g++.dg/ipa/pr64146.C: Require fpic support.
From-SVN: r221370
GCC Administrator [Thu, 12 Mar 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r221369
Jan Hubicka [Thu, 12 Mar 2015 00:14:19 +0000 (01:14 +0100)]
cgraph.c (cgraph_node::release_body): Free function_in_decl_state.
* cgraph.c (cgraph_node::release_body): Free function_in_decl_state.
(cgraph_node::remove): Likewise.
(cgraph_node::get_untransformed_body): Likewise.
* varpool.c (varpool_node::remove): Likewise.
(varpool_node::get_constructor): Add sanity check.
* lto.c (read_cgraph_and_symbols): Do not do merging
at ltrans stage.
From-SVN: r221366
Sandra Loosemore [Wed, 11 Mar 2015 23:11:19 +0000 (19:11 -0400)]
invoke.texi (-fgnu89-inline): Remove discussion about old GCC versions.
2015-03-11 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* doc/invoke.texi (-fgnu89-inline): Remove discussion about
old GCC versions.
(-fabi-compat-version): Likewise.
(-ffriend-injection): Likewise.
(-Wdeclaration-after-statement): Likewise.
(-fomit-frame-pointer): Likewise.
(-ftree-coalesce-inlined-vars): Likewise.
(-fvisibility=): Likewise.
* doc/extend.texi (Typeof): Likewise.
(Zero Length): Likewise.
(Escaped Newlines): Likewise.
(Compound Literals): Likewise.
(Function Attributes): Likewise.
(Label Attributes): Likewise.
(Type Attributes): Likewise.
(Function Names): Likewise.
(Other Builtins): Likewise.
(Function Specific Option Pragmas): Likewise.
(C++ Interface): Likewise.
From-SVN: r221364
Thomas Schwinge [Wed, 11 Mar 2015 21:42:56 +0000 (22:42 +0100)]
libgfortran LIBGFOR_MINIMAL enhancements.
Based on GCC trunk r220892, for nvptx-none:
=== gfortran Summary ===
# of expected passes [-31320-]{+32117+}
# of unexpected failures [-7222-]{+6821+}
# of expected failures 78
# of unresolved testcases [-6441-]{+6158+}
# of untested testcases [-432-]{+391+}
# of unsupported tests 639
libgfortran/
* caf/single.c (caf_runtime_error): Revert 2014-11-28 changes.
* runtime/minimal.c (STRERR_MAXSZ): Don't define.
(runtime_error_at, sys_abort): Bring more in line with the
non-LIBGFOR_MINIMAL code.
(runtime_warning_at, internal_error): New functions.
From-SVN: r221363
Thomas Schwinge [Wed, 11 Mar 2015 21:42:50 +0000 (22:42 +0100)]
No libstdc++ for nvptx.
The C++ front end insists to link against libstdc++ -- which we don't build:
$ < build-gcc/gcc/testsuite/g++/g++.log grep -o 'error opening [^[:cntrl:]]*' | sort | uniq -c
2 error opening libasan.a
2 error opening libssp.a
12075 error opening libstdc++.a
Based on GCC trunk r220892:
=== g++ Summary ===
# of expected passes [-63221-]{+68841+}
# of unexpected failures [-11751-]{+8764+}
# of unexpected successes 6
# of expected failures [-246-]{+249+}
# of unresolved testcases [-5950-]{+3353+}
# of unsupported tests [-4160-]{+4143+}
gcc/
* config/nvptx/nvptx.h (LIBSTDCXX): Define to "gcc".
From-SVN: r221362
Janne Blomqvist [Wed, 11 Mar 2015 21:34:22 +0000 (23:34 +0200)]
PR 65200 Handle EPERM in addition to EACCES.
gcc/fortran ChangeLog:
2015-03-11 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/65200
* gfortran.texi: Document behavior when opening files without
explicit ACTION= specifier.
libgfortran ChangeLog:
2015-03-11 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/65200
* io/open.c (new_unit): Use gf_strerror rather than hardcoding
error messages for different errno values.
* io/unix.c (regular_file2): Handle EPERM in addition to EACCES.
gcc/testsuite ChangeLog:
2015-03-11 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/65200
* gfortran.dg/open_errors.f90: Update checks for iomsg string.
* gfortran.dg/open_new_segv.f90: Fix error message pattern.
From-SVN: r221361
Marek Polacek [Wed, 11 Mar 2015 20:36:56 +0000 (20:36 +0000)]
re PR tree-optimization/65388 (Wrong comparison in same_succ_def::equal() tree-ssa-tail-merge.c:590)
PR tree-optimization/65388
* tree-ssa-tail-merge.c (same_succ_def::equal): Fix typo in comparison.
From-SVN: r221359
Jakub Jelinek [Wed, 11 Mar 2015 19:51:55 +0000 (20:51 +0100)]
c-parser.c (c_parse_init): Don't call xstrdup on get_identifier argument.
* c-parser.c (c_parse_init): Don't call xstrdup on get_identifier
argument.
* c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
on record_builtin_type argument.
From-SVN: r221358
Jakub Jelinek [Wed, 11 Mar 2015 19:49:56 +0000 (20:49 +0100)]
no-asan-check-glob.c: Add -ffat-lto-objects to dg-options, fix up dg-skip-if.
* c-c++-common/asan/no-asan-check-glob.c: Add -ffat-lto-objects
to dg-options, fix up dg-skip-if.
From-SVN: r221357
Bernd Edlinger [Wed, 11 Mar 2015 19:20:03 +0000 (19:20 +0000)]
tsan_rtl_report.cc (ScopedReport::AddThread): Cherry pick upstream 224508 and 224755.
2015-03-11 Bernd Edlinger <bernd.edlinger@hotmail.de>
* tsan/tsan_rtl_report.cc (ScopedReport::AddThread): Cherry pick
upstream 224508 and 224755.
From-SVN: r221356
Georg-Johann Lay [Wed, 11 Mar 2015 18:51:09 +0000 (18:51 +0000)]
re PR target/65296 ([avr] fix various issues with specs file generation)
gcc/
PR target/65296
* configure.ac [avr]: Check as for options -mrmw, --mlink-relax.
* configure: Regenerate.
* config.in: Regenerate.
* doc/invoke.texi (AVR Options) [-mrmw]: Document it.
[-mn-flash]: Document it.
[__AVR_ARCH__]: Document avrtiny.
* config/avr/gen-avr-mmcu-specs.c (config.h): Include it.
(*asm_relax): Only define spec if HAVE_AS_AVR_MLINK_RELAX_OPTION.
(*asm_rmw): Only define spec if HAVE_AS_AVR_MRMW_OPTION.
gcc/testsuite/
PR target/65296
* gcc.target/avr/tiny-memx: Use -mmcu instead of -march.
* gcc.target/avr/tiny-caller-save.c: Same.
From-SVN: r221355
Andreas Krebbel [Wed, 11 Mar 2015 18:35:44 +0000 (18:35 +0000)]
S/390: Doc: Add missing cpu values z196, zEC12.
* doc/invoke.texi: Add missing cpu values (z196, zEC12).
From-SVN: r221353
Michael Meissner [Wed, 11 Mar 2015 16:57:41 +0000 (16:57 +0000)]
re PR target/65242 (ICE (in gen_add2_insn, at optabs.c:4761) on powerpc64le-linux-gnu)
[gcc]
2015-03-09 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/65242
* config/rs6000/rs6000.c (rs6000_preferred_reload_class): Do not
allow reloads of PLUS in floating point/VSX registers.
[gcc/testsuite]
2015-03-09 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/65242
* g++.dg/pr65242.C: New test.
From-SVN: r221350
Junmo Park [Wed, 11 Mar 2015 16:53:07 +0000 (16:53 +0000)]
Add missing definition crypto_sha256_fast, crypto_sha256_slow
2015-03-11 Junmo Park <junmoz.park@samsung.com>
* config/arm/cortex-a57.md (cortex_a57_crypto_simple): Add crypto_sha256_fast.
(cortex_a57_crypto_complex): Add crypto_sha256_slow.
From-SVN: r221349
Richard Biener [Wed, 11 Mar 2015 15:09:51 +0000 (15:09 +0000)]
re PR tree-optimization/65310 (vectorizer uses wrong alignment)
2015-03-11 Richard Biener <rguenther@suse.de>
PR tree-optimization/65310
* tree-sra.c (build_ref_for_offset): Also preserve larger
alignment.
From-SVN: r221348
Aldy Hernandez [Wed, 11 Mar 2015 15:01:37 +0000 (15:01 +0000)]
cp-gimplify.c (simple_empty_class_p): New.
* cp-gimplify.c (simple_empty_class_p): New.
* cp-gimplify.c (cp_gimplify_expr): Handle RETURN_EXPR. Abstract
the code for empty class copies into simple_empty_class_p, and
adapt it to handle COMPOUND_EXPRs.
From-SVN: r221347
Marat Zakirov [Wed, 11 Mar 2015 07:39:20 +0000 (07:39 +0000)]
asan.c (instrument_derefs): Disable instrumentation on asan-globals=0.
2015-03-11 Marat Zakirov <m.zakirov@samsung.com>
* asan.c (instrument_derefs): Disable instrumentation on asan-globals=0.
* c-c++-common/asan/no-asan-check-glob.c: New test.
From-SVN: r221345
GCC Administrator [Wed, 11 Mar 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r221342
Paolo Carlini [Tue, 10 Mar 2015 22:20:41 +0000 (22:20 +0000)]
re PR c++/65370 (r213519 causes: error: redeclaration of 'template... may not have default arguments [-fpermissive])
/cp
2015-03-10 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/65370
* decl.c (duplicate_decls): Call check_redeclaration_no_default_args
only if the location of newdecl doesn't match the location of olddecl.
/testsuite
2015-03-10 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/65370
* g++.dg/other/default11.C: New.
* g++.dg/other/default12.C: Likewise.
From-SVN: r221337
Jakub Jelinek [Tue, 10 Mar 2015 21:03:21 +0000 (22:03 +0100)]
re PR target/65368 (_bzhi_u32 intrinsic generates incorrect code when -O1 or above is specified and index is an immediate)
PR target/65368
* config/i386/i386.md (bmi2_bzhi_<mode>3): Removed define_insn,
new define_expand.
(*bmi2_bzhi_<mode>3, *bmi2_bzhi_<mode>3_1): New define_insns.
* gcc.target/i386/bmi2-bzhi-2.c: New test.
From-SVN: r221335
Paul Thomas [Tue, 10 Mar 2015 19:39:05 +0000 (19:39 +0000)]
re PR fortran/65024 ([OOP] unlimited polymorphic pointer structure not built when it should be)
2015-03-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/65024
* trans-expr.c (gfc_conv_component_ref): If the component
backend declaration is missing and the derived type symbol is
available in the reference, call gfc_build_derived_type.
2015-03-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/65024
* gfortran.dg/unlimited_polymorphic_23.f90: New test
From-SVN: r221334
Jakub Jelinek [Tue, 10 Mar 2015 19:10:43 +0000 (20:10 +0100)]
re PR c++/65127 (internal compiler error: tree check: expected tree that contains 'decl minimal' structure, have 'addr_expr' in parsing_nsdmi, at cp/parser.c:18311)
PR c++/65127
* parser.c (parsing_nsdmi): Don't return true if current_class_ptr
is not a PARM_DECL.
* g++.dg/cpp0x/pr65127.C: New test.
From-SVN: r221332
Jan Hubicka [Tue, 10 Mar 2015 18:43:44 +0000 (19:43 +0100)]
* gcc.dg/ipa/PR64550.c: Update template.
From-SVN: r221331
Tim Shen [Tue, 10 Mar 2015 18:41:46 +0000 (18:41 +0000)]
re PR libstdc++/64441 (A match_results returns an incorrect sub_match if the sub_match::matched is false)
PR libstdc++/64441
* include/bits/regex.h (match_results<>::size,
match_results<>::position, match_results<>::str,
match_results<>::operator[], match_results<>::prefix,
match_results<>::suffix, match_results<>::end,
match_results<>::_M_resize, match_results<>::_M_unmatched_sub,
match_results<>::_M_prefix, match_results<>::_M_suffix): Remove
global __unmatched_sub. Add unmatched submatch as part of
match_results.
* include/bits/regex.tcc (__regex_algo_impl<>, regex_replace<>,
regex_iterator<>::operator++): Adjust to use match_results::_M_prefix.
* testsuite/28_regex/match_results/out_of_range_submatches.cc:
New testcases.
From-SVN: r221330
Alessandro Fanfarillo [Tue, 10 Mar 2015 17:58:01 +0000 (11:58 -0600)]
trans.h (caf_sync_memory): New function decl tree.
2015-03-10 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
Tobias Burnus <burnus@net-b.de>
* trans.h (caf_sync_memory): New function decl tree.
* trans-decl.c (gfc_build_builtin_function_decls): Define it.
(create_main_function): Don't call sync_synchronize and leave
it to the CAF library.
* trans-stmt.c (gfc_trans_stop): Ditto.
(gfc_trans_sync): Ditto; add call library call for sync memory.
* gfortran.dg/coarray_sync_memory.f90: New.
* caf/libcaf.h (_gfortran_caf_sync_memory): New prototype.
* caf/single.c (_gfortran_caf_sync_memory): Implement.
(_gfortran_caf_sync_all, _gfortran_caf_sync_image): Add
__asm__ __volatile___ ("":::"memory").
Co-Authored-By: Tobias Burnus <burnus@net-b.de>
From-SVN: r221329
Jason Merrill [Tue, 10 Mar 2015 17:44:48 +0000 (13:44 -0400)]
re PR c++/65333 (error: incomplete type used in nested name specifier)
PR c++/65333
DR 1558
* pt.c (dependent_type_p_r): Check both class and alias template args.
From-SVN: r221328
Jan Hubicka [Tue, 10 Mar 2015 17:21:34 +0000 (18:21 +0100)]
ipa-icf.c (sem_function::equals_wpa): Move here some checks from ...
* ipa-icf.c (sem_function::equals_wpa): Move here some checks
from ...
(sem_function::equals_wpa): ... here.
From-SVN: r221327
Aldy Hernandez [Tue, 10 Mar 2015 16:37:53 +0000 (16:37 +0000)]
re PR bootstrap/25672 (cross build's libgcc picks up CFLAGS)
PR bootstrap/25672
* configure.ac: Do not initialize CFLAGS_FOR_TARGET from CFLAGS if
cross-compiling. Similarly for CXX_FOR_TARGET.
* configure: Regenerate.
From-SVN: r221326
Marek Polacek [Tue, 10 Mar 2015 15:57:45 +0000 (15:57 +0000)]
re PR sanitizer/65367 (indefinite loop occurs with sanitize enabled and certain optimization options)
PR sanitizer/65367
* ubsan.c (ubsan_expand_objsize_ifn): Update GSI instead of GSI_ORIG
when only removing the statement. Handle expanding UBSAN_OBJECT_SIZE
separately.
* c-c++-common/ubsan/pr65367.c: New test.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r221325
Jakub Jelinek [Tue, 10 Mar 2015 13:43:44 +0000 (14:43 +0100)]
re PR target/65286 (When building on powerpc64le-unknown-linux-gnu, --disable-multilib must be used)
PR target/65286
* config/rs6000/t-linux: For powerpc64* target set
MULTILIB_OSDIRNAMES instead of MULTIARCH_DIRNAME.
From-SVN: r221322
Richard Biener [Tue, 10 Mar 2015 12:44:01 +0000 (12:44 +0000)]
re PR ipa/44563 (GCC uses a lot of RAM when compiling a large numbers of functions)
2015-03-09 Richard Biener <rguenther@suse.de>
PR middle-end/44563
* tree-inline.c (copy_cfg_body): Skip block mapped to entry/exit
for redirect_all_calls.
From-SVN: r221321
Marek Polacek [Tue, 10 Mar 2015 12:32:09 +0000 (12:32 +0000)]
* gdbinit.in (pcfun): Define and document.
From-SVN: r221320
Ilya Verbin [Tue, 10 Mar 2015 12:23:27 +0000 (12:23 +0000)]
Fix search path in intelmic-mkoffload for empty COLLECT_GCC.
gcc/
* config/i386/intelmic-mkoffload.c: Include intelmic-offload.h instead
of libgomp-plugin.h.
(find_target_compiler): Support a case when the path to gcc is specified
in the PATH env var, so COLLECT_GCC doesn't contain a path.
(generate_host_descr_file): Use GOMP_DEVICE_INTEL_MIC from
intelmic-offload.h instead of OFFLOAD_TARGET_TYPE_INTEL_MIC from
libgomp-plugin.h.
(main): Use GCC_INSTALL_NAME as target_driver_name.
* config/i386/t-intelmic (CFLAGS-mkoffload.o): Add GCC_INSTALL_NAME
define.
(mkoffload.o): Remove obsolete include path and defines.
(mkoffload$(exeext)): Use $(LINKER) instead of $(COMPILER).
From-SVN: r221319
Richard Biener [Tue, 10 Mar 2015 11:16:33 +0000 (11:16 +0000)]
re PR middle-end/63155 (memory hog)
2015-03-10 Richard Biener <rguenther@suse.de>
PR middle-end/63155
* tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
* tree-ssa-coalesce.c: Include timevar.h.
(attempt_coalesce): Handle graph being NULL.
(coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
Split out abnormal coalescing to ...
(perform_abnormal_coalescing): ... this function.
(coalesce_ssa_name): Perform abnormal coalescing without computing
live/conflict.
(verify_ssa_coalescing_worker): New function.
(verify_ssa_coalescing): Likewise.
From-SVN: r221318
Georg-Johann Lay [Tue, 10 Mar 2015 09:56:07 +0000 (09:56 +0000)]
Typo
From-SVN: r221317
Georg-Johann Lay [Tue, 10 Mar 2015 09:50:41 +0000 (09:50 +0000)]
re PR target/65296 ([avr] fix various issues with specs file generation)
PR target/65296
* config.gcc (extra_options) [avr]: Remove.
(extra_gcc_objs) [avr]: Use driver-avr.o, avr-devices.o.
(tm_file) [avr]: Add avr/specs.h after avr/avr.h.
(tm_defines) [avr-*-rtems*]: Add WITH_RTEMS.
* config/avr/avr.opt (config/avr/avr-arch.h): Remove include.
(-mmcu=): Add Var and MissingArgError properties.
(-march=): Remove.
* config/avr/genmultilib.awk: Use -mmcu= instead of -march=.
* config/avr/t-multilib: Regenerate.
* config/avr/specs.h: New file.
* config/avr/driver-avr.c: New file.
* config/avr/genopt.sh: Remove file.
* config/avr/avr-tables.opt: Remove file.
* config/avr/predicates.md (avr_current_arch): Rename to avr_arch.
* config/avr/avr-c.c: Same.
* avr-arch.h: Same.
(avr_current_device): Remove proto.
* config/avr/avr.h (avr_current_arch): Rename to avr_arch.
(AVR_HAVE_8BIT_SP): Don't depend on avr_current_device.
(EXTRA_SPEC_FUNCTIONS): Define.
(avr_devicespecs_file): New specs function proto.
(DRIVER_SELF_SPECS): Use device-specs-file spec function.
* config/avr/avr.c (avr_current_arch): Rename to avr_arch.
(avr_current_device): Remove definition and usage.\a
(avr_set_core_architecture): New static function.
(avr_option_override): Use it.
* config/avr/avr-devices.c (diagnostic.h, avr-arch.h): Include them.
(mcu_name): New static array.
(comparator, avr_archs_str, avr_mcus_str): New static functions.
(avr_inform_devices, avr_inform_core_architectures): New functions.
* config/avr/gen-avr-mmcu-specs.c (avr-arch.h, specs.h): Include.
(avrlibc.h) [WITH_AVRLIBC]: Include.
(../rtems.h, rtems.h) [WITH_RTEMS]: Include.
(print_mcu): Rewrite from scratch.
* config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC, STARTFILE_SPEC):
Forward to avr-specific specs defined in device-specs file.
* config/avr/t-avr (driver-avr.o): New rule.
(avr-devices.o): Depend on avr-arch.h.
(avr-mcus): No more depend on avr-tables.opt.
(avr-tables.opt): Remove rule.
(install-device-specs): Use INSTALL_DATA, not INSTALL_PROGRAM.
From-SVN: r221316
Ilya Enkovich [Tue, 10 Mar 2015 09:48:51 +0000 (09:48 +0000)]
mpx-dg.exp (mpx_link_flags): Set path to wrappers library.
* lib/mpx-dg.exp (mpx_link_flags): Set path to wrappers library.
* gcc.target/i386/mpx/calloc-1-lbv.c: New.
* gcc.target/i386/mpx/calloc-1-ubv.c: New.
* gcc.target/i386/mpx/calloc-1-nov.c: New.
* gcc.target/i386/mpx/malloc-1-lbv.c: New.
* gcc.target/i386/mpx/malloc-1-nov.c: New.
* gcc.target/i386/mpx/malloc-1-ubv.c: New.
* gcc.target/i386/mpx/realloc-1-lbv.c: New.
* gcc.target/i386/mpx/realloc-1-nov.c: New.
* gcc.target/i386/mpx/realloc-1-ubv.c: New.
* gcc.target/i386/mpx/realloc-2-lbv.c: New.
* gcc.target/i386/mpx/realloc-2-nov.c: New.
* gcc.target/i386/mpx/realloc-2-ubv.c: New.
From-SVN: r221315
Ilya Enkovich [Tue, 10 Mar 2015 09:46:11 +0000 (09:46 +0000)]
c.opt (fchkp-use-wrappers): New.
* c-family/c.opt (fchkp-use-wrappers): New.
* ipa-chkp.c (CHKP_WRAPPER_SYMBOL_PREFIX): New.
(chkp_wrap_function): New.
(chkp_build_instrumented_fndecl): Support wrapped
functions.
* doc/invoke.texi (-fcheck-pointer-bounds): New.
(-fchkp-check-incomplete-type): New.
(-fchkp-first-field-has-own-bounds): New.
(-fchkp-narrow-bounds): New.
(-fchkp-narrow-to-innermost-array): New.
(-fchkp-optimize): New.
(-fchkp-use-fast-string-functions): New.
(-fchkp-use-nochk-string-functions): New.
(-fchkp-use-static-bounds): New.
(-fchkp-use-static-const-bounds): New.
(-fchkp-treat-zero-dynamic-size-as-infinite): New.
(-fchkp-check-read): New.
(-fchkp-check-write): New.
(-fchkp-store-bounds): New.
(-fchkp-instrument-calls): New.
(-fchkp-instrument-marked-only): New.
(-fchkp-use-wrappers): New.
(-static-libmpx): New.
(-static-libmpxwrappers): New.
From-SVN: r221314
Ilya Enkovich [Tue, 10 Mar 2015 09:43:24 +0000 (09:43 +0000)]
linux-common.h (LIBMPX_WRAPPERSSPEC): New.
gcc/
* config/i386/linux-common.h (LIBMPX_WRAPPERSSPEC): New.
(CHKP_SPEC): Add wrappers library.
* c-family/c.opt (static-libmpxwrappers): New.
libmpx/
* Makefile.am (SUBDIRS): Add mpxwrap when used
AS supports MPX.
(MAKEOVERRIDES): New.
* Makefile.in: Regenerate.
* configure.ac: Check AS supports MPX. Add
mpxintr/Makefile to config files.
* configure: Regenerate.
* mpxwrap/Makefile.am: New.
* mpxwrap/Makefile.in: New.
* mpxwrap/libtool-version: New.
* mpxwrap/mpx_wrappers.cc: New.
* mpxwrap/libmpxwrappers.map: New.
From-SVN: r221313
Ilya Enkovich [Tue, 10 Mar 2015 09:39:59 +0000 (09:39 +0000)]
mpx-dg.exp (mpx_link_flags): New.
gcc/testsuites/
* gcc/testsuite/lib/mpx-dg.exp (mpx_link_flags): New.
(mpx_init): New.
(mpx_finish): New.
* gcc.target/i386/mpx/alloca-1-lbv.c: New.
* gcc.target/i386/mpx/alloca-1-nov.c: New.
* gcc.target/i386/mpx/alloca-1-ubv.c: New.
* gcc.target/i386/mpx/arg-addr-1-lbv.c: New.
* gcc.target/i386/mpx/arg-addr-1-nov.c: New.
* gcc.target/i386/mpx/arg-addr-1-ubv.c: New.
* gcc.target/i386/mpx/bitfields-1-lbv.c: New.
* gcc.target/i386/mpx/bitfields-1-nov.c: New.
* gcc.target/i386/mpx/bitfields-1-ubv.c: New.
* gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-1-lbv.c: New.
* gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-1-nov.c: New.
* gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-1-ubv.c: New.
* gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-2.c: New.
* gcc.target/i386/mpx/builtin-bnd-chk-ptr-lbounds-1-lbv.c: New.
* gcc.target/i386/mpx/builtin-bnd-chk-ptr-lbounds-1-nov.c: New.
* gcc.target/i386/mpx/builtin-bnd-chk-ptr-lbounds-2.c: New.
* gcc.target/i386/mpx/builtin-bnd-chk-ptr-ubounds-1-nov.c: New.
* gcc.target/i386/mpx/builtin-bnd-chk-ptr-ubounds-1-ubv.c: New.
* gcc.target/i386/mpx/builtin-bnd-chk-ptr-ubounds-2.c: New.
* gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-1.c: New.
* gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-2-lbv.c: New.
* gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-2-nov.c: New.
* gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-2-ubv.c: New.
* gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-3.c: New.
* gcc.target/i386/mpx/builtin-bnd-get-ptr-lbound-1.c: New.
* gcc.target/i386/mpx/builtin-bnd-get-ptr-lbound-2.c: New.
* gcc.target/i386/mpx/builtin-bnd-get-ptr-ubound-1.c: New.
* gcc.target/i386/mpx/builtin-bnd-get-ptr-ubound-2.c: New.
* gcc.target/i386/mpx/builtin-bnd-init-ptr-bounds-1.c: New.
* gcc.target/i386/mpx/builtin-bnd-init-ptr-bounds-2-nov.c: New.
* gcc.target/i386/mpx/builtin-bnd-init-ptr-bounds-3.c: New.
* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-1.c: New.
* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-2-lbv.c: New.
* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-2-nov.c: New.
* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-2-ubv.c: New.
* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-3-lbv.c: New.
* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-3-nov.c: New.
* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-3-ubv.c: New.
* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-4.c: New.
* gcc.target/i386/mpx/builtin-bnd-null-ptr-bounds-1-bbv.c: New.
* gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-1.c: New.
* gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-2-lbv.c: New.
* gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-2-nov.c: New.
* gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-2-ubv.c: New.
* gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-3.c: New.
* gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-1-lbv.c: New.
* gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-1-nov.c: New.
* gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-1-ubv.c: New.
* gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-2.c: New.
* gcc.target/i386/mpx/fastcall-1-lbv.c: New.
* gcc.target/i386/mpx/fastcall-1-nov.c: New.
* gcc.target/i386/mpx/fastcall-1-ubv.c: New.
* gcc.target/i386/mpx/fastcall-2-lbv.c: New.
* gcc.target/i386/mpx/fastcall-2-nov.c: New.
* gcc.target/i386/mpx/fastcall-2-ubv.c: New.
* gcc.target/i386/mpx/field-addr-1-lbv.c: New.
* gcc.target/i386/mpx/field-addr-1-nov.c: New.
* gcc.target/i386/mpx/field-addr-1-ubv.c: New.
* gcc.target/i386/mpx/field-addr-10-lbv.c: New.
* gcc.target/i386/mpx/field-addr-10-nov.c: New.
* gcc.target/i386/mpx/field-addr-10-ubv.c: New.
* gcc.target/i386/mpx/field-addr-2-lbv.c: New.
* gcc.target/i386/mpx/field-addr-2-nov.c: New.
* gcc.target/i386/mpx/field-addr-2-ubv.c: New.
* gcc.target/i386/mpx/field-addr-3-lbv.c: New.
* gcc.target/i386/mpx/field-addr-3-nov.c: New.
* gcc.target/i386/mpx/field-addr-3-ubv.c: New.
* gcc.target/i386/mpx/field-addr-4-lbv.c: New.
* gcc.target/i386/mpx/field-addr-4-nov.c: New.
* gcc.target/i386/mpx/field-addr-4-ubv.c: New.
* gcc.target/i386/mpx/field-addr-5-lbv.c: New.
* gcc.target/i386/mpx/field-addr-5-nov.c: New.
* gcc.target/i386/mpx/field-addr-5-ubv.c: New.
* gcc.target/i386/mpx/field-addr-6-lbv.c: New.
* gcc.target/i386/mpx/field-addr-6-nov.c: New.
* gcc.target/i386/mpx/field-addr-6-ubv.c: New.
* gcc.target/i386/mpx/field-addr-7-lbv.c: New.
* gcc.target/i386/mpx/field-addr-7-nov.c: New.
* gcc.target/i386/mpx/field-addr-7-ubv.c: New.
* gcc.target/i386/mpx/field-addr-8-lbv.c: New.
* gcc.target/i386/mpx/field-addr-8-nov.c: New.
* gcc.target/i386/mpx/field-addr-8-ubv.c: New.
* gcc.target/i386/mpx/field-addr-9-lbv.c: New.
* gcc.target/i386/mpx/field-addr-9-nov.c: New.
* gcc.target/i386/mpx/field-addr-9-ubv.c: New.
* gcc.target/i386/mpx/frame-address-1-nov.c: New.
* gcc.target/i386/mpx/hard-reg-1-nov.c: New.
* gcc.target/i386/mpx/if-stmt-1-lbv.c: New.
* gcc.target/i386/mpx/if-stmt-1-nov.c: New.
* gcc.target/i386/mpx/if-stmt-1-ubv.c: New.
* gcc.target/i386/mpx/if-stmt-2-lbv.c: New.
* gcc.target/i386/mpx/if-stmt-2-nov.c: New.
* gcc.target/i386/mpx/if-stmt-2-ubv.c: New.
* gcc.target/i386/mpx/label-address-1.c: New.
* gcc.target/i386/mpx/legacy-1-nov.c: New.
* gcc.target/i386/mpx/macro.c: New.
* gcc.target/i386/mpx/mpx-check.h: New.
* gcc.target/i386/mpx/mpx.exp: New.
* gcc.target/i386/mpx/nested-function-1-lbv.c: New.
* gcc.target/i386/mpx/nested-function-1-nov.c: New.
* gcc.target/i386/mpx/nested-function-1-ubv.c: New.
* gcc.target/i386/mpx/pointer-arg-1-lbv.c: New.
* gcc.target/i386/mpx/pointer-arg-1-nov.c: New.
* gcc.target/i386/mpx/pointer-arg-1-ubv.c: New.
* gcc.target/i386/mpx/pointer-arg-2-lbv.c: New.
* gcc.target/i386/mpx/pointer-arg-2-nov.c: New.
* gcc.target/i386/mpx/pointer-arg-2-ubv.c: New.
* gcc.target/i386/mpx/pointer-arg-3-lbv.c: New.
* gcc.target/i386/mpx/pointer-arg-3-nov.c: New.
* gcc.target/i386/mpx/pointer-arg-3-ubv.c: New.
* gcc.target/i386/mpx/pointer-arg-4-lbv.c: New.
* gcc.target/i386/mpx/pointer-arg-4-nov.c: New.
* gcc.target/i386/mpx/pointer-arg-4-ubv.c: New.
* gcc.target/i386/mpx/pointer-arg-5-lbv.c: New.
* gcc.target/i386/mpx/pointer-arg-5-nov.c: New.
* gcc.target/i386/mpx/pointer-arg-5-ubv.c: New.
* gcc.target/i386/mpx/pointer-store-1-lbv.c: New.
* gcc.target/i386/mpx/pointer-store-1-nov.c: New.
* gcc.target/i386/mpx/pointer-store-1-ubv.c: New.
* gcc.target/i386/mpx/reference-1-lbv.c: New.
* gcc.target/i386/mpx/reference-1-nov.c: New.
* gcc.target/i386/mpx/reference-1-ubv.c: New.
* gcc.target/i386/mpx/reference-2-lbv.c: New.
* gcc.target/i386/mpx/reference-2-nov.c: New.
* gcc.target/i386/mpx/reference-2-ubv.c: New.
* gcc.target/i386/mpx/reference-3-lbv.c: New.
* gcc.target/i386/mpx/reference-3-nov.c: New.
* gcc.target/i386/mpx/reference-3-ubv.c: New.
* gcc.target/i386/mpx/reference-4-lbv.c: New.
* gcc.target/i386/mpx/reference-4-nov.c: New.
* gcc.target/i386/mpx/reference-4-ubv.c: New.
* gcc.target/i386/mpx/return-pointer-1-lbv.c: New.
* gcc.target/i386/mpx/return-pointer-1-nov.c: New.
* gcc.target/i386/mpx/return-pointer-1-ubv.c: New.
* gcc.target/i386/mpx/return-struct-1-lbv.c: New.
* gcc.target/i386/mpx/return-struct-1-nov.c: New.
* gcc.target/i386/mpx/return-struct-1-ubv.c: New.
* gcc.target/i386/mpx/return-struct-2-lbv.c: New.
* gcc.target/i386/mpx/return-struct-2-nov.c: New.
* gcc.target/i386/mpx/return-struct-2-ubv.c: New.
* gcc.target/i386/mpx/return-struct-3-lbv.c: New.
* gcc.target/i386/mpx/return-struct-3-nov.c: New.
* gcc.target/i386/mpx/return-struct-3-ubv.c: New.
* gcc.target/i386/mpx/return-struct-4-lbv.c: New.
* gcc.target/i386/mpx/return-struct-4-nov.c: New.
* gcc.target/i386/mpx/return-struct-4-ubv.c: New.
* gcc.target/i386/mpx/return-struct-5-lbv.c: New.
* gcc.target/i386/mpx/return-struct-5-nov.c: New.
* gcc.target/i386/mpx/return-struct-5-ubv.c: New.
* gcc.target/i386/mpx/return-struct-6-lbv.c: New.
* gcc.target/i386/mpx/return-struct-6-nov.c: New.
* gcc.target/i386/mpx/return-struct-6-ubv.c: New.
* gcc.target/i386/mpx/sincos-1-nov.c: New.
* gcc.target/i386/mpx/static-array-1-lbv.c: New.
* gcc.target/i386/mpx/static-array-1-nov.c: New.
* gcc.target/i386/mpx/static-array-1-ubv.c: New.
* gcc.target/i386/mpx/static-init-1-lbv.c: New.
* gcc.target/i386/mpx/static-init-1-nov.c: New.
* gcc.target/i386/mpx/static-init-1-ubv.c: New.
* gcc.target/i386/mpx/static-init-2-lbv.c: New.
* gcc.target/i386/mpx/static-init-2-nov.c: New.
* gcc.target/i386/mpx/static-init-2-ubv.c: New.
* gcc.target/i386/mpx/static-init-3-lbv.c: New.
* gcc.target/i386/mpx/static-init-3-nov.c: New.
* gcc.target/i386/mpx/static-init-3-ubv.c: New.
* gcc.target/i386/mpx/static-init-4-lbv.c: New.
* gcc.target/i386/mpx/static-init-4-nov.c: New.
* gcc.target/i386/mpx/static-init-4-ubv.c: New.
* gcc.target/i386/mpx/static-init-5-lbv.c: New.
* gcc.target/i386/mpx/static-init-5-nov.c: New.
* gcc.target/i386/mpx/static-init-5-ubv.c: New.
* gcc.target/i386/mpx/static-init-6-lbv.c: New.
* gcc.target/i386/mpx/static-init-6-nov.c: New.
* gcc.target/i386/mpx/static-init-6-ubv.c: New.
* gcc.target/i386/mpx/static-string-1-lbv.c: New.
* gcc.target/i386/mpx/static-string-1-nov.c: New.
* gcc.target/i386/mpx/static-string-1-ubv.c: New.
* gcc.target/i386/mpx/struct-arg-1-lbv.c: New.
* gcc.target/i386/mpx/struct-arg-1-nov.c: New.
* gcc.target/i386/mpx/struct-arg-1-ubv.c: New.
* gcc.target/i386/mpx/struct-arg-10-lbv.c: New.
* gcc.target/i386/mpx/struct-arg-10-nov.c: New.
* gcc.target/i386/mpx/struct-arg-10-ubv.c: New.
* gcc.target/i386/mpx/struct-arg-2-lbv.c: New.
* gcc.target/i386/mpx/struct-arg-2-nov.c: New.
* gcc.target/i386/mpx/struct-arg-2-ubv.c: New.
* gcc.target/i386/mpx/struct-arg-3-lbv.c: New.
* gcc.target/i386/mpx/struct-arg-3-nov.c: New.
* gcc.target/i386/mpx/struct-arg-3-ubv.c: New.
* gcc.target/i386/mpx/struct-arg-4-lbv.c: New.
* gcc.target/i386/mpx/struct-arg-4-nov.c: New.
* gcc.target/i386/mpx/struct-arg-4-ubv.c: New.
* gcc.target/i386/mpx/struct-arg-5-lbv.c: New.
* gcc.target/i386/mpx/struct-arg-5-nov.c: New.
* gcc.target/i386/mpx/struct-arg-5-ubv.c: New.
* gcc.target/i386/mpx/struct-arg-6-lbv.c: New.
* gcc.target/i386/mpx/struct-arg-6-nov.c: New.
* gcc.target/i386/mpx/struct-arg-6-ubv.c: New.
* gcc.target/i386/mpx/struct-arg-7-lbv.c: New.
* gcc.target/i386/mpx/struct-arg-7-nov.c: New.
* gcc.target/i386/mpx/struct-arg-7-ubv.c: New.
* gcc.target/i386/mpx/struct-arg-8-lbv.c: New.
* gcc.target/i386/mpx/struct-arg-8-nov.c: New.
* gcc.target/i386/mpx/struct-arg-8-ubv.c: New.
* gcc.target/i386/mpx/struct-arg-9-lbv.c: New.
* gcc.target/i386/mpx/struct-arg-9-nov.c: New.
* gcc.target/i386/mpx/struct-arg-9-ubv.c: New.
* gcc.target/i386/mpx/struct-copy-1-lbv.c: New.
* gcc.target/i386/mpx/struct-copy-1-nov.c: New.
* gcc.target/i386/mpx/struct-copy-1-ubv.c: New.
* gcc.target/i386/mpx/struct-copy-2-lbv.c: New.
* gcc.target/i386/mpx/struct-copy-2-nov.c: New.
* gcc.target/i386/mpx/struct-copy-2-ubv.c: New.
* gcc.target/i386/mpx/thread-local-var-1-lbv.c: New.
* gcc.target/i386/mpx/thread-local-var-1-nov.c: New.
* gcc.target/i386/mpx/thread-local-var-1-ubv.c: New.
* gcc.target/i386/mpx/union-arg-1-lbv.c: New.
* gcc.target/i386/mpx/union-arg-1-nov.c: New.
* gcc.target/i386/mpx/union-arg-1-ubv.c: New.
* gcc.target/i386/mpx/va-arg-pack-1-lbv.c: New.
* gcc.target/i386/mpx/va-arg-pack-1-nov.c: New.
* gcc.target/i386/mpx/va-arg-pack-1-ubv.c: New.
* gcc.target/i386/mpx/va-arg-pack-2-lbv.c: New.
* gcc.target/i386/mpx/va-arg-pack-2-nov.c: New.
* gcc.target/i386/mpx/va-arg-pack-2-ubv.c: New.
* gcc.target/i386/mpx/vararg-1-lbv.c: New.
* gcc.target/i386/mpx/vararg-1-nov.c: New.
* gcc.target/i386/mpx/vararg-1-ubv.c: New.
* gcc.target/i386/mpx/vararg-2-lbv.c: New.
* gcc.target/i386/mpx/vararg-2-nov.c: New.
* gcc.target/i386/mpx/vararg-2-ubv.c: New.
* gcc.target/i386/mpx/vararg-3-lbv.c: New.
* gcc.target/i386/mpx/vararg-3-nov.c: New.
* gcc.target/i386/mpx/vararg-3-ubv.c: New.
* gcc.target/i386/mpx/vararg-4-lbv.c: New.
* gcc.target/i386/mpx/vararg-4-nov.c: New.
* gcc.target/i386/mpx/vararg-4-ubv.c: New.
* gcc.target/i386/mpx/vararg-5-lbv.c: New.
* gcc.target/i386/mpx/vararg-5-nov.c: New.
* gcc.target/i386/mpx/vararg-5-ubv.c: New.
* gcc.target/i386/mpx/vararg-6-lbv.c: New.
* gcc.target/i386/mpx/vararg-6-nov.c: New.
* gcc.target/i386/mpx/vararg-6-ubv.c: New.
* gcc.target/i386/mpx/vararg-7-lbv.c: New.
* gcc.target/i386/mpx/vararg-7-nov.c: New.
* gcc.target/i386/mpx/vararg-7-ubv.c: New.
* gcc.target/i386/mpx/vararg-8-lbv.c: New.
* gcc.target/i386/mpx/vararg-8-nov.c: New.
* gcc.target/i386/mpx/vararg-8-ubv.c: New.
* gcc.target/i386/mpx/vla-1-lbv.c: New.
* gcc.target/i386/mpx/vla-1-nov.c: New.
* gcc.target/i386/mpx/vla-1-ubv.c: New.
* gcc.target/i386/mpx/vla-2-lbv.c: New.
* gcc.target/i386/mpx/vla-2-nov.c: New.
* gcc.target/i386/mpx/vla-2-ubv.c: New.
From-SVN: r221312
Ilya Enkovich [Tue, 10 Mar 2015 09:37:41 +0000 (09:37 +0000)]
Makefile.def: Add libmpx.
* Makefile.def: Add libmpx.
* configure.ac: Add libmpx.
* Makefile.in: Regenerate.
* configure: Regenerate.
gcc/
* config/i386/linux-common.h (LIBMPX_LIBS): New.
(LIBMPX_SPEC): New.
(CHKP_SPEC): New.
* gcc.c (CHKP_SPEC): New.
(LINK_COMMAND_SPEC): Add CHKP_SPEC.
* c-family/c.opt (static-libmpx): New.
libmpx/
Initial commit.
From-SVN: r221311
James Greenhalgh [Tue, 10 Mar 2015 09:29:04 +0000 (09:29 +0000)]
[Patch testsuite] Further reduce the alignment in gcc.dg/vect/pr65310.c
gcc/testsuite/
* gcc.dg/vect/pr65310.c (c): Reduce alignment to 4-bytes.
From-SVN: r221310
Oleg Endo [Tue, 10 Mar 2015 08:53:05 +0000 (08:53 +0000)]
pr54680.c: Add -fno-ipa-icf option.
gcc/testsuite:
* gcc.target/sh/pr54680.c: Add -fno-ipa-icf option.
From-SVN: r221309
Richard Biener [Tue, 10 Mar 2015 08:25:31 +0000 (08:25 +0000)]
re PR ipa/44563 (GCC uses a lot of RAM when compiling a large numbers of functions)
2015-03-10 Richard Biener <rguenther@suse.de>
PR middle-end/44563
* cgraph.h (struct cgraph_edge_hasher): Add hash overload
for compare_type.
* cgraph.c (cgraph_edge_hasher::hash): Inline htab_hash_pointer.
(cgraph_update_edge_in_call_site_hash): Use cgraph_edge_hasher::hash.
(cgraph_add_edge_to_call_site_hash): Likewise.
(cgraph_node::get_edge): Likewise.
(cgraph_edge::set_call_stmt): Likewise.
(cgraph_edge::remove_caller): Likewise.
From-SVN: r221308
Chung-Ju Wu [Tue, 10 Mar 2015 08:16:57 +0000 (08:16 +0000)]
[NDS32] Rename some variables so that we can clearly identify they represent general purpose registers.
gcc/
* config/nds32/nds32.h (callee_saved_regs_size): Rename to ...
(callee_saved_gpr_regs_size): ... this.
(callee_saved_regs_first_regno): Rename to ...
(callee_saved_first_gpr_regno): ... this.
(callee_saved_regs_last_regno) Rename to ...
(callee_saved_last_gpr_regno): ... this.
* config/nds32/nds32.c (nds32_compute_stack_frame): Adjust renamed
variables.
(nds32_initial_elimination_offset): Likewise.
(nds32_expand_prologue): Likewise.
(nds32_expand_epilogue): Likewise.
(nds32_expand_prologue_v3push): Likewise.
(nds32_expand_epilogue_v3pop): Likewise.
* config/nds32/nds32-md-auxiliary.c (nds32_output_stack_push):
Adjust renamed variables.
(nds32_output_stack_pop): Likewise.
From-SVN: r221306
Uros Bizjak [Tue, 10 Mar 2015 07:47:43 +0000 (08:47 +0100)]
ipa-icf-36.c (dg-final): Cleanup icf ipa dump.
* gcc.dg/ipa/ipa-icf-36.c (dg-final): Cleanup icf ipa dump.
* gcc.dg/ipa/ipa-icf-37.c (dg-final): Ditto.
From-SVN: r221304
Thomas Preud'homme [Tue, 10 Mar 2015 07:35:09 +0000 (07:35 +0000)]
dominance.c (nearest_common_dominator_for_set): Fix A_Dominated_by_B code in comment.
2015-03-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
* dominance.c (nearest_common_dominator_for_set): Fix A_Dominated_by_B
code in comment.
From-SVN: r221303
Jakub Jelinek [Tue, 10 Mar 2015 06:38:57 +0000 (07:38 +0100)]
re PR c/65120 (Wlogical-not-parentheses should not warn about double exclamation !!)
PR c/65120
* c-common.c (warn_logical_not_parentheses): Don't warn for
!x == 0 or !x != 0.
* c-typeck.c (parser_build_binary_op): Check for tcc_comparison
before preparing arguments to warn_logical_not_parentheses.
* parser.c (cp_parser_binary_expression): Check for tcc_comparison
before preparing arguments to warn_logical_not_parentheses.
Use maybe_constant_value on rhs.
* c-c++-common/pr49706.c (fn2): Don't expect warning if enumerator
on rhs is 0.
(fn4): New test.
* c-c++-common/pr65120.c: New test.
From-SVN: r221299
Jakub Jelinek [Tue, 10 Mar 2015 06:36:50 +0000 (07:36 +0100)]
re PR rtl-optimization/65321 (ICE on valid code at -O2 and -O3 with -g enabled in decompose, at rtl.h:2007)
PR rtl-optimization/65321
* cfgexpand.c (expand_debug_expr): Ensure shift amount isn't wider
than shift mode.
* var-tracking.c (use_narrower_mode): Likewise.
* gcc.dg/pr65321.c: New test.
From-SVN: r221298
Jan Hubicka [Tue, 10 Mar 2015 04:24:21 +0000 (05:24 +0100)]
re PR tree-optimization/65355 (vectorizer increase alignment of symbols already placed in anchors)
PR tree-optimization/65355
* varasm.c (notice_global_symbol): Do not produce RTL.
* symtab.c (symtab_node::can_increase_alignment_p): Check for section
anchor.
* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Do not
check for section anchors.
* gcc.dg/vect/section-anchors-vect-69.c: Update template.
From-SVN: r221297
GCC Administrator [Tue, 10 Mar 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r221296
Ian Lance Taylor [Tue, 10 Mar 2015 00:14:58 +0000 (00:14 +0000)]
re PR go/65353 (unknown ptrSize for $GOARCH "arm64" on aarch64-linux-gnu)
PR go/65353.
cmd/cgo: Add all gccgo GOARCH values to size maps.
From-SVN: r221293
Ian Lance Taylor [Mon, 9 Mar 2015 23:43:16 +0000 (23:43 +0000)]
re PR go/65349 (go tool crashes, can't compile go code on 32bit linux systems)
PR go/65349
runtime: Don't crash if explicitly freeing small map.
From-SVN: r221292
Ian Lance Taylor [Mon, 9 Mar 2015 23:40:58 +0000 (23:40 +0000)]
re PR go/65349 (go tool crashes, can't compile go code on 32bit linux systems)
PR go/65349
runtime: Don't call malloc from __go_file_line callback.
When crashing, we call runtime_printcreatedby which calls
__go_file_line which used to call the Go malloc. If we are
crashing due to a signal due to heap corruption of some sort,
the GO malloc lock might already be held, leading to a crash
within a crash. Avoid that by assuming that the libbacktrace
strings will stick around, as we already do in go-callers.c.
From-SVN: r221291
Alan Modra [Mon, 9 Mar 2015 23:18:57 +0000 (09:48 +1030)]
re PR target/65286 (When building on powerpc64le-unknown-linux-gnu, --disable-multilib must be used)
PR target/65286
* config.gcc (powerpc*-*-linux*): Arrange for powerpc64le-linux
to be single-arch by default. Set cpu_is_64bit for powerpc64
given --with-cpu=native.
* config/rs6000/t-fprules: Do not set default MULTILIB vars.
* config/rs6000/t-linux (MULTIARCH_DIRNAME): Support powerpc64
and powerpc64le.
* config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
rs6000_isa_flags rather than TARGET_64BIT.
From-SVN: r221288
Yoshinori Sato [Mon, 9 Mar 2015 23:14:19 +0000 (08:14 +0900)]
t-linux (MULTILIB_EXCEPTIONS): Define for m2a cases.
* config/sh/t-linux (MULTILIB_EXCEPTIONS): Define for m2a cases.
Co-Authored-By: Kaz Kojima <kkojima@gcc.gnu.org>
From-SVN: r221287
Jakub Jelinek [Mon, 9 Mar 2015 20:19:34 +0000 (21:19 +0100)]
re PR lto/65361 (LTO: tree check: expected tree that contains ‘decl minimal’ structure, have ‘tree_binfo’ in add_type_duplicate, at ipa-devirt.c:1509)
PR lto/65361
* ipa-devirt.c (add_type_duplicate): Don't use DECL_CONTEXT
on a TREE_BINFO, instead use BINFO_TYPE.
From-SVN: r221286
Jason Merrill [Mon, 9 Mar 2015 19:59:54 +0000 (15:59 -0400)]
re PR c++/65339 (C++ ICE with lambda and no capture list)
PR c++/65339
* call.c: Don't call maybe_resolve_dummy when calling a constructor.
From-SVN: r221285
Jakub Jelinek [Mon, 9 Mar 2015 18:26:52 +0000 (19:26 +0100)]
re PR c/65120 (Wlogical-not-parentheses should not warn about double exclamation !!)
PR c/65120
* c-typeck.c (parser_build_binary_op): Don't warn for
!!x == y or !b == y where b is _Bool.
* parser.c (cp_parser_binary_expression): Don't warn for
!!x == y or !b == y where b is bool.
* c-c++-common/pr49706.c: Adjust tests for not warning
about !!x == y or !b == y where b is boolean, and add
some further tests.
* c-c++-common/pr62199-2.c: Likewise.
From-SVN: r221284
Jakub Jelinek [Mon, 9 Mar 2015 18:25:28 +0000 (19:25 +0100)]
re PR sanitizer/63958 (bootstrap failure in the sanitizer libs on sparc-linux-gnu)
PR sanitizer/63958
Reapply:
2014-10-14 David S. Miller <davem@davemloft.net>
* sanitizer_common/sanitizer_platform_limits_linux.cc (time_t):
Define at __kernel_time_t, as needed for sparc.
(struct __old_kernel_stat): Don't check if __sparc__ is defined.
* libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
(__sanitizer): Define struct___old_kernel_stat_sz,
struct_kernel_stat_sz, and struct_kernel_stat64_sz for sparc.
(__sanitizer_ipc_perm): Adjust for sparc targets.
(__sanitizer_shmid_ds): Likewsie.
(__sanitizer_sigaction): Likewise.
(IOC_SIZE): Likewsie.
From-SVN: r221283
Ramana Radhakrishnan [Mon, 9 Mar 2015 15:19:20 +0000 (15:19 +0000)]
Fix PR number for 65121 in Changelog.
PR target/65121
The commit that fixed this was
https://gcc.gnu.org/ml/gcc-cvs/2015-03/msg00140.html
From-SVN: r221282
Richard Biener [Mon, 9 Mar 2015 13:54:28 +0000 (13:54 +0000)]
re PR ipa/65270 (issues with merging memory accesses from different code paths)
2015-03-09 Richard Biener <rguenther@suse.de>
PR middle-end/65270
* tree-core.h (enum operand_equal_flag): Add OEP_ADDRESS_OF.
* fold-const.c (operand_equal_p): When recursing for ADDR_EXPRs
operand set OEP_ADDRESS_OF. Clear it when recursing to non-bases
of that. When comparing dereferences compare alignment.
When comparing MEM_REFs or TARGET_MEM_REFs compare dependence info.
* gcc.dg/torture/pr65270-1.c: New testcase.
* gcc.dg/torture/pr65270-2.c: Likewise.
From-SVN: r221281
Jonathan Wakely [Mon, 9 Mar 2015 12:47:51 +0000 (12:47 +0000)]
re PR libstdc++/64467 (28_regex/traits/char/isctype.cc and wchar_t/isctype.cc)
PR libstdc++/64467
* testsuite/28_regex/traits/char/isctype.cc: Don't test newline
for newlib targets. Really fix mixed line-endings this time.
From-SVN: r221279
Marek Polacek [Mon, 9 Mar 2015 11:57:33 +0000 (11:57 +0000)]
c-convert.c (convert): Make use of do_ubsan_in_current_function.
* c-convert.c (convert): Make use of do_ubsan_in_current_function.
* c-decl.c (grokdeclarator): Likewise.
* c-typeck.c (build_binary_op): Likewise.
From-SVN: r221278
Jan Hubicka [Mon, 9 Mar 2015 04:53:54 +0000 (05:53 +0100)]
ipa-inline-analysis.c (check_callers): Check node->can_remove_if_no_direct_calls_and_refs_p.
* ipa-inline-analysis.c (check_callers): Check
node->can_remove_if_no_direct_calls_and_refs_p.
(growth_likely_positive): Reorganize to call
can_remove_if_no_direct_calls_p later.
* cgraph.h (will_be_removed_from_program_if_no_direct_calls_p,
will_be_removed_from_program_if_no_direct_calls_p): Add
will_inline parameter.
* cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p,
cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
Handle inliner case correctly.
From-SVN: r221277
Thomas Preud'homme [Mon, 9 Mar 2015 01:31:42 +0000 (01:31 +0000)]
re PR middle-end/63743 (Thumb1: big regression for float operators by r216728)
2015-03-09 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/
PR tree-optimization/63743
* cfgexpand.c (reorder_operands): Also reorder if only second operand
had its definition forwarded by TER.
gcc/testsuite/
PR tree-optimization/63743
* gcc.dg/pr63743.c: New test.
From-SVN: r221276
Jan Hubicka [Mon, 9 Mar 2015 00:29:14 +0000 (01:29 +0100)]
re PR lto/65316 (LTO: Uninitialized memory / ICE with -g -fno-lto-odr-type-merging: in types_same_for_odr, at ipa-devirt.c:465)
PR lto/65316
* ipa-utils.h (types_odr_comparable): Add strict argument.
* ipa-devirt.c: Fix whitespace;
(odr_hasher): Remove.
(odr_name_hasher, odr_vtable_hasher): New hashers.
(can_be_name_hashed_p): New predicate.
(hash_type_name): remove.
(hash_odr_name): New.
(odr_name_hasher::hash): new.
(can_be_vtable_hashed_p): New.
(hash_odr_vtable): New.
(odr_vtable_hasher::hash): New.
(types_same_for_odr): Add strict parameter.
(types_odr_comparable): Likewise.
(odr_name_hasher::equal): New.
(odr_vtable_hasher::equal): New.
(odr_name_hasher::remove): New.
(odr_hash_type): Change to hash_table<odr_name_hasher>.
(odr_vtable_hash_type): New.
(odr_vtable_hash): New.
(odr_subtypes_equivalent_p): Do strict comparsion.
(add_type_duplicate): Merge type names; cleanup; avoid type
duplicates.
(register_odr_type): Initialize vtable hash.
(build_type_inheritance_graph): Likewise
(get_odr_type): Reorg to use two hashes.
(dump_possible_polymorphic_call_targets): Move sanity check after debug
output.
(ipa_devirt): Dump type_inheritance_graph.
(types_same_for_odr): Add strict mode.
* g++.dg/lto/pr65316_0.C: New testcase.
* g++.dg/lto/pr65316_1.C: New testcase.
From-SVN: r221275