aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2015-03-18re PR rtl-optimization/65078 (4.9 and 5.0 generate more spill-fill in ↵Jakub Jelinek9-0/+272
comparison with 4.8.2) PR target/65078 * config/i386/sse.md (movsi/movdi -> vec_extract_*_0 splitter): New. * gcc.target/i386/pr65078-1.c: New test. * gcc.target/i386/pr65078-2.c: New test. * gcc.target/i386/pr65078-3.c: New test. * gcc.target/i386/pr65078-4.c: New test. * gcc.target/i386/pr65078-5.c: New test. * gcc.target/i386/pr65078-6.c: New test. From-SVN: r221485
2015-03-18re PR c++/65340 ([C++14]ICE in mark_used, at decl2.c:5040)Paolo Carlini5-2/+39
2015-03-18 Paolo Carlini <paolo.carlini@oracle.com> PR c++/65340 * call.c (build_over_call): Pass the tsubst_flags_t argument to mark_used. * decl2.c (mark_used): Inline the require_deduced_type call and guard the error call. 2015-03-18 Paolo Carlini <paolo.carlini@oracle.com> PR c++/65340 * g++.dg/cpp1y/pr65340.C: New. From-SVN: r221483
2015-03-18re PR fortran/64432 (SYSTEM_CLOCK(COUNT_RATE=rate) wrong result for ↵Jerry DeLisle2-6/+11
integer(4)::rate) 2015-03-17 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/64432 * gfortran.dg/system_clock_3.f08: Adjust test. From-SVN: r221482
2015-03-18Daily bump.GCC Administrator1-1/+1
From-SVN: r221481
2015-03-17re PR c++/65061 (Issue with using declaration and member class template)Jason Merrill3-0/+22
PR c++/65061 * parser.c (cp_parser_template_name): Call strip_using_decl. From-SVN: r221478
2015-03-17re PR target/65296 ([avr] fix various issues with specs file generation)Georg-Johann Lay10-350/+416
PR target/65296 * config/avr/avr.opt (-nodevicelib): New option. * doc/invoke.texi (AVR Options): Document it. * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC) [avr1]: Don't link libgcc.a, libc.a, libm.a. * config/avr/specs.h: Same. * config/avr/gen-avr-mmcu-specs.c (print_mcu): Don't print specs which don't (directly) depend on the device. Print more help. (*avrlibc_devicelib) [-nodevicelib]: Don't link libdev.a. (*cpp): Don't define __AVR_DEV_LIB_NAME__. * config/avr/driver-avr.c: Remove -nodevicelib from option list in case of an error. (avr_devicespecs_file): Use suffix "%s" instead of absolute path for specs file name. * config/avr/avr-arch.h (avr_mcu_t) [.library_name]: Remove. * config/avr/avr-mcus.def: Adjust initializers and comments. From-SVN: r221475
2015-03-17re PR fortran/59198 (ICE on cyclically dependent polymorphic types)Paul Thomas5-2/+152
2014-03-17 Paul Thomas <pault@gcc.gnu.org> PR fortran/59198 * trans-types.c (gfc_get_derived_type): If an abstract derived type with procedure pointer components has no other type of component, return the backend_decl. Otherwise build the components if any of the non-procedure pointer components have no backend_decl. 2014-03-17 Paul Thomas <pault@gcc.gnu.org> PR fortran/59198 * gfortran.dg/proc_ptr_comp_44.f90 : New test * gfortran.dg/proc_ptr_comp_45.f90 : New test From-SVN: r221474
2015-03-17re PR fortran/64432 (SYSTEM_CLOCK(COUNT_RATE=rate) wrong result for ↵Jerry DeLisle2-0/+27
integer(4)::rate) 2015-03-16 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/64432 * gfortran.dg/system_clock_3.f08: New test. From-SVN: r221473
2015-03-17re PR fortran/64432 (SYSTEM_CLOCK(COUNT_RATE=rate) wrong result for ↵Jerry DeLisle2-36/+101
integer(4)::rate) 2015-03-16 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/64432 *trans-intrinisic.c (conv_intrinsic_system_clock): Check the smallest kind passed in user arguments and hardcode tesults for KIND=1 or KIND=2 to indicate no clock available. From-SVN: r221471
2015-03-17re PR c++/64626 (C++14 single quote should not always be a digit separator)Edward Smith-Rowland4-3/+45
libcpp/ 2015-03-16 Edward Smith-Rowland <3dw4rd@verizon.net> PR c++/64626 * lex.c (lex_number): If a number ends with digit-seps (') skip back and let lex_string take them. gcc/testsuite/ 2015-03-16 Edward Smith-Rowland <3dw4rd@verizon.net> PR c++/64626 g++.dg/cpp1y/pr64626-1.C: New. g++.dg/cpp1y/pr64626-2.C: New. g++.dg/cpp1y/digit-sep-neg.C: Adjust errors and warnings. From-SVN: r221470
2015-03-17Daily bump.GCC Administrator1-1/+1
From-SVN: r221469
2015-03-16tree-sra.c (ipa_sra_preliminary_function_checks): Use DECL_ONE_ONLY to check ↵Jan Hubicka3-1/+32
if decl is one only. * tree-sra.c (ipa_sra_preliminary_function_checks): Use DECL_ONE_ONLY to check if decl is one only. * ipa-split.c (consider_split): Limit splitt of one only functions. From-SVN: r221466
2015-03-16re PR tree-optimization/65427 (ICE in emit_move_insn with wide vector types)Jakub Jelinek4-0/+105
PR tree-optimization/65427 * tree-vect-generic.c (do_cond, expand_vector_scalar_condition): New functions. (expand_vector_operations_1): Handle BLKmode vector COND_EXPR. * gcc.c-torture/execute/pr65427.c: New test. From-SVN: r221464
2015-03-16DR 1688 PR c++/65327Marek Polacek5-3/+35
DR 1688 PR c++/65327 * decl.c (grokdeclarator): Allow volatile and constexpr together. * g++.dg/cpp0x/constexpr-object1.C: Change dg-error to dg-bogus. * g++.dg/cpp0x/pr65327.C: New test. From-SVN: r221463
2015-03-16cgraph.h (add_new_static_var): Remove declaration.Marek Polacek3-24/+5
* cgraph.h (add_new_static_var): Remove declaration. * varpool.c (add_new_static_var): Remove function. From-SVN: r221462
2015-03-16omp-low.c (expand_omp_target): Use auto_vec<tree, 11> instead of vec<tree> * ↵Jakub Jelinek2-29/+29
with vec_alloc and release for args. * omp-low.c (expand_omp_target): Use auto_vec<tree, 11> instead of vec<tree> * with vec_alloc and release for args. Adjust all users. From-SVN: r221460
2015-03-16re PR middle-end/65431 (Invalid read of size 8 at 0x105DBBF8: ↵Jakub Jelinek2-3/+12
delete_omp_context(unsigned long) (omp-low.c:1586)) PR middle-end/65431 * omp-low.c (delete_omp_context): Only splay_tree_delete reduction_map in GIMPLE_OMP_TARGET is_gimple_omp_offloaded is_gimple_omp_oacc contexts. Don't look at ctx->outer. From-SVN: r221459
2015-03-16re PR sanitizer/64820 (Libsanitizer fails with ↵Max Ostapenko4-10/+63
((AddrIsAlignedByGranularity(addr + size))) != (0)" (0x0, 0x0) if ssp is enabled.) 2015-03-16 Max Ostapenko <m.ostapenko@partner.samsung.com> PR sanitizer/64820 gcc/ * cfgexpand.c (align_base): New function. (alloc_stack_frame_space): Call it. (expand_stack_vars): Align prev_frame to be sure data->asan_vec elements aligned properly. gcc/testsuite/ * c-c++-common/asan/pr64820.c: New test. From-SVN: r221457
2015-03-16resolve.c: Prevent segfault on illegal input.Andre Vehreschild4-0/+30
gcc/fortran/ChangeLog: 2015-03-16 Andre Vehreschild <vehre@gmx.de> * resolve.c: Prevent segfault on illegal input. gcc/testsuite/ChangeLog: 2015-03-16 Andre Vehreschild <vehre@gmx.de> * gfortran.dg/pointer_2.f90: New test. From-SVN: r221455
2015-03-16re PR middle-end/65409 (ICE in store_field)Eric Botcazou4-5/+35
PR middle-end/65409 * expr.c (store_field): Do not do a direct block copy if the source is a PARALLEL with BLKmode. From-SVN: r221453
2015-03-16Add PR64895 xfails in i386/fuse-caller-save*.cTom de Vries4-8/+20
2015-03-16 Tom de Vries <tom@codesourcery.com> * gcc.target/i386/fuse-caller-save-rec.c: Add PR64895 xfail on scans. * gcc.target/i386/fuse-caller-save-xmm.c: Same. * gcc.target/i386/fuse-caller-save.c: Same. From-SVN: r221452
2015-03-16utils2.c (gnat_invariant_expr): Return null if the type of the expression ↵Eric Botcazou6-0/+54
ends up being composite. * gcc-interface/utils2.c (gnat_invariant_expr): Return null if the type of the expression ends up being composite. From-SVN: r221449
2015-03-16Revert 'Use actual_call_used_reg_set to find conflicting regs'Tom de Vries2-5/+11
2015-03-16 Tom de Vries <tom@codesourcery.com> PR middle-end/65414 Revert: 2015-03-12 Tom de Vries <tom@codesourcery.com> PR rtl-optimization/64895 * lra-lives.c (check_pseudos_live_through_calls): Use actual_call_used_reg_set instead of call_used_reg_set, if available. From-SVN: r221448
2015-03-16decl.c (is_from_limited_with_of_main): New predicate.Eric Botcazou3-12/+37
* gcc-interface/decl.c (is_from_limited_with_of_main): New predicate. (gnat_to_gnu_entity) <E_Subprogram_Type>: Invoke it on return and parameter types to detect circularities in ASIS mode. * gcc-interface/trans.c (Attribute_to_gnu): Mention AI05-0151. From-SVN: r221447
2015-03-16decl.c (gnat_to_gnu_entity): Do not short-circuit the regular handling.Eric Botcazou2-2/+9
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Abstract_State>: Do not short-circuit the regular handling. From-SVN: r221446
2015-03-16re PR regression/63150 (FAIL: gcc.target/powerpc/pr53199.c ↵Alan Modra4-41/+83
scan-assembler-times *) PR target/63150 gcc/ * config/rs6000/rs6000.md (bswapdi2): Remove one scratch reg. Modify Z->r bswapdi splitter to use dest in place of scratch. In r->Z and Z->r bswapdi splitter rename word_high, word_low to word1, word2 and rearrange logic to suit. (bswapdi2_64bit): Remove early clobber on Z->r alternative. (bswapdi2_ldbrx): Likewise. Remove '??' on r->r. (bswapdi2_32bit): Remove early clobber on Z->r alternative. Add one '?' on r->r. Modify Z->r splitter to avoid need for early clobber. gcc/testsuite/ * gcc.target/powerpc/pr53199.c: Add extra functions. Revert 2014-12-05 change. From-SVN: r221445
2015-03-16Daily bump.GCC Administrator1-1/+1
From-SVN: r221444
2015-03-15pr65270-1.c: Add -fno-common to dg-options on hppa*-*-hpux*.John David Anglin3-0/+8
* gcc.dg/torture/pr65270-1.c: Add -fno-common to dg-options on hppa*-*-hpux*. * gcc.dg/torture/pr65270-2.c: Likewise. From-SVN: r221441
2015-03-15Daily bump.GCC Administrator1-1/+1
From-SVN: r221439
2015-03-14re PR fortran/61138 (Wrong code with pointer-bounds remapping)Mikael Morin4-0/+45
PR fortran/61138 fortran/ * trans-expr.c (gfc_trans_pointer_assignment): Clear DESCRIPTOR_ONLY field before reusing LSE. testsuite/ gfortran.dg/pointer_remapping_9.f90: New. From-SVN: r221436
2015-03-14re PR target/65369 (nettle test failure on powerpc64le-linux-gnu when built ↵Jakub Jelinek4-3/+56
with -O3) PR tree-optimization/65369 * tree-vect-stmts.c (vectorizable_load) <case dr_explicit_realign>: Set bump to vs * TYPE_SIZE_UNIT (elem_type) - 1 instead of (vs - 1) * TYPE_SIZE_UNIT (elem_type). * gcc.c-torture/execute/pr65369.c: New test. From-SVN: r221435
2015-03-14re PR tree-optimization/65418 (vim miscompilation)Jakub Jelinek5-7/+53
PR tree-optimization/65418 * tree-ssa-reassoc.c (extract_bit_test_mask): If there are casts in the first PLUS_EXPR operand, ensure tbias and *totallowp are in the inner type. * gcc.c-torture/execute/pr65418-1.c: New test. * gcc.c-torture/execute/pr65418-2.c: New test. From-SVN: r221434
2015-03-14re PR rtl-optimization/65401 (make_field_assignment broken for big-endian)Jakub Jelinek4-12/+98
PR rtl-optimization/65401 * combine.c (rtx_equal_for_field_assignment_p): Add widen_x argument. If true, adjust_address_nv of x with big-endian correction for the mode widening to GET_MODE (y). (make_field_assignment): Don't do MEM mode widening here. Use MEM_P instead of GET_CODE == MEM. * gcc.c-torture/execute/pr65401.c: New test. From-SVN: r221433
2015-03-14Daily bump.GCC Administrator1-1/+1
From-SVN: r221432
2015-03-13compiler: Permit label on fallthrough statement.Ian Lance Taylor1-0/+11
Test case: https://go-review.googlesource.com/7523 . From-SVN: r221428
2015-03-13jit-recording.c (dump::write): Also check vasprintf return value.Uros Bizjak2-12/+21
* jit-recording.c (dump::write): Also check vasprintf return value. (recording::context::add_error_va): Ditto. (recording::string::from_printf): Ditto. From-SVN: r221426
2015-03-13jit docs: Add "Packaging notes" sectionDavid Malcolm3-6/+123
gcc/jit/ChangeLog: * docs/internals/index.rst (Packaging notes): New section. * docs/_build/texinfo/libgccjit.texi: Regenerate. From-SVN: r221425
2015-03-13Fix typo.Arnaud Charlet1-1/+1
From-SVN: r221423
2015-03-13[multiple changes]Arnaud Charlet15-98/+563
2015-03-13 Robert Dewar <dewar@adacore.com> * exp_unst.adb (Note_Uplevel_Reference): Eliminate duplicate references. (Actual_Ref): New function. (AREC_String): Minor reformatting. (Unnest_Subprogram): Use Actual_Ref. * frontend.adb (Frontend): Turn off Unnest_Subprogram_Mode before call to Instantiate_Bodies. 2015-03-13 Ed Schonberg <schonberg@adacore.com> * freeze.adb (Freeze_Profile): If the return type of a function being frozen is an untagged limited view and the function is abstract, mark the type as frozen because there is no later point at which the profile of the subprogram will be elaborated. 2015-03-13 Robert Dewar <dewar@adacore.com> * einfo.adb, einfo.ads, atree.adb, atree.ads, atree.h: Add seventh component to entities. Add new fields Field36-41 and Node36-41. 2015-03-13 Claire Dross <dross@adacore.com> * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Rewrite after review. 2015-03-13 Robert Dewar <dewar@adacore.com> * exp_util.adb (Is_Volatile_Reference): Compile time known value is never considered to be a volatile reference. 2015-03-13 Robert Dewar <dewar@adacore.com> * sem_ch3.adb (Analyze_Object_Contract): Suppress "constant cannot be volatile" for internally generated object (such as FIRST and LAST constants). 2015-03-13 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Validate_Access_Subprogram_Instance): If a convention is specified for the formal parameter, verify that the actual has the same convention. * sem_prag.adb (Set_Convention_From_Pragma): Allow convention pragma to be set on a generic formal type. * sem_util.adb (Set_Convention): Ignore within an instance, as it has already been verified in the generic unit. From-SVN: r221422
2015-03-13varpool.c (varpool_node::get_create): Don't set 'offloadable' flag for the ↵Ilya Verbin2-1/+6
external decls. gcc/ * varpool.c (varpool_node::get_create): Don't set 'offloadable' flag for the external decls. libgomp/ * testsuite/libgomp.fortran/declare-target-1.f90: New test. * testsuite/libgomp.fortran/declare-target-2.f90: New file. From-SVN: r221421
2015-03-13[multiple changes]Arnaud Charlet12-42/+176
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
2015-03-13[multiple changes]Arnaud Charlet4-14/+30
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
2015-03-13exp_util.ads, [...] (Force_Evaluation): Add Related_Id and Is_Low/High_Bound ↵Robert Dewar4-82/+54
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
2015-03-13[ARM] PR target/64600 Fix another ICE with -mtune=xscale: properly ↵Kyrylo Tkachov4-8/+35
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
2015-03-13graph.c (print_graph_cfg): Make function names visible and append ↵Thomas Preud'homme2-3/+10
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
2015-03-13re PR ipa/44563 (GCC uses a lot of RAM when compiling a large numbers of ↵Richard Biener4-8/+30
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
2015-03-13re PR ipa/44563 (GCC uses a lot of RAM when compiling a large numbers of ↵Richard Biener7-44/+138
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
2015-03-13ChangeLog: Fix whitespace.Uros Bizjak2-36/+34
* ChangeLog: Fix whitespace. * testsuite/ChangeLog: Ditto. From-SVN: r221407
2015-03-13ipa-icf.c (sem_function::equals_wpa): Match CXX_CONSTRUCTOR_P and ↵Jan Hubicka5-125/+135
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
2015-03-13Daily bump.GCC Administrator1-1/+1
From-SVN: r221405