- 27 Apr, 2014 3 commits
-
-
gcc/ * cselib.c (find_slot_memmode): Delete. (cselib_hasher): Change compare_type to a struct. (cselib_hasher::equal): Update accordingly. Don't expect wrapped constants. (preserve_constants_and_equivs): Adjust for new compare_type. (cselib_find_slot): Likewise. Take the mode of the rtx as argument. (wrap_constant): Delete. (cselib_lookup_mem, cselib_lookup_1): Update calls to cselib_find_slot. From-SVN: r209843
Richard Sandiford committed -
2014-03-27 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/59604 PR fortran/58003 * gfortran.h (gfc_convert_mpz_to_signed): Add prototype. * arith.c (gfc_int2int): Convert number to signed if arithmetic overflow is not checked. * simplify.c (convert_mpz_to_unsigned): Only trigger assert for size if range checking is in force. (convert_mpz_to_signed): Make non-static, rename to (gfc_convert_mpz_to_signed). (simplify_dshift): Use gfc_convert_mpz_to_signed. (gfc_simplify_ibclr): Likewise. (gfc_simplify_ibits): Likewise. (gfc_simplify_ibset): Likewise. (simplify_shift): Likewise. (gfc_simplify_ishiftc): Likewise. (gfc_simplify_maskr): Likewise. (gfc_simplify_maskl): Likewise. 2014-03-27 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/59604 PR fortran/58003 * gfortran.dg/no_range_check_3.f90: New test. From-SVN: r209836
Thomas Koenig committed -
From-SVN: r209835
GCC Administrator committed
-
- 26 Apr, 2014 8 commits
-
-
From-SVN: r209830
Eric Botcazou committed -
re PR libfortran/52539 (I/O: Wrong result for UTF-8/UCS-4 list-directed and namelist read and nml write) 2014-04-26 Jerry DeLisle <jvdelisle@gcc.gnu> PR libfortran/52539 * gfortran.dg/namelist_utf8.f90: New test. From-SVN: r209829
Jerry DeLisle committed -
re PR libfortran/52539 (I/O: Wrong result for UTF-8/UCS-4 list-directed and namelist read and nml write) 2014-04-26 Jerry DeLisle <jvdelisle@gcc.gnu> PR libfortran/52539 * io/list_read.c: Add uchar typedef. (push_char4): New function to save kind=4 character. (next_char_utf8): New function to read a single UTF-8 encoded character value. (read_chracter): Update to use the new functions for reading UTF-8 strings. (list_formatted_read_scalar): Update to handle list directed reads of UTF-8 strings. (nml_read_obj): Likewise update for UTF-8 strings in namelists. * io/write.c (nml_write_obj): Add kind=4 character support for namelist writes. From-SVN: r209828
Jerry DeLisle committed -
Parallel profiledbootstrap is supported on all maintained releases. So just remove a misleading outdated sentence, that states the opposite, from doc/install.texi. 2014-04-26 Markus Trippelsdorf <markus@trippelsdorf.de> * doc/install.texi (Building with profile feedback): Remove outdated sentence. From-SVN: r209826
Markus Trippelsdorf committed -
2014-04-26 Tom de Vries <tom@codesourcery.com> * config/i386/i386.md (define_expand "ldexpxf3"): Fix out-of-bounds array accesses. From-SVN: r209824
Tom de Vries committed -
* gcc.dg/tree-ssa/alias-30.c (dg-options): Dump only fre1 details. * gcc.dg/vect/pr60505.c: Cleanup vect tree dump. * g++.dg/ipa/devirt-27.C (dg-options): Remove -fdump-ipa-devirt. From-SVN: r209823
Uros Bizjak committed -
* go-gcc.cc: Include "cgraph.h" and "gimplify.h". (Gcc_backend::return_statement): Push and pop function. (Gcc_backend::label): Likewise. (Gcc_backend::function_defer_statement): Likewise. (Gcc_backend::switch_statement): Add function parameter. (Gcc_backend::block): Don't permit function to be NULL. (Gcc_backend::temporary_variable): Change go_assert to gcc_assert. (Gcc_backend::gc_root_variable): New function. (Gcc_backend::write_global_definitions): New function. From-SVN: r209819
Chris Manghane committed -
From-SVN: r209818
GCC Administrator committed
-
- 25 Apr, 2014 29 commits
-
-
(1) If a function contains a local typedef of an anonymous structure, GCC will generate a typedef DIE in the function, where the typedef DIE points to a structure_type DIE at the top level. That structure_type DIE, if it's a non-POD, can contain ctor and dtor definitions. This causes an assertion in should_move_die_to_comdat to fail, as we have up to now assumed that this could never happen. (2) With --std=c++11, a template parameter can refer to a local type defined within a function. Because that local type doesn't qualify for its own type unit, we copy it as an "unworthy" type into the type unit that refers to it, but we copy too much, leading to a comdat type unit that contains a DIE with subprogram definitions rather than declarations. These DIEs may have DW_AT_low_pc/high_pc or DW_AT_ranges attributes, and consequently can refer to range list entries that don't get emitted because they're not marked when the compile unit is scanned, eventually causing an undefined symbol at link time. (3) When a class template instantiation is moved into a separate type unit, it can bring along a lot of other referenced types into the type unit, especially if the template is derived from another (large) type that does not have an actually have a type definition in a type unit of its own. When there are many instantiations of the same template, we get a lot of duplication, and in the worst case (a template with several parameters, instantiated multiple times along each dimension), GCC can end up taking a long time and exhausting available memory. This combinatorial explosion is being caused by copy_decls_walk, where it finds a type DIE that is referenced by the type unit, but is not itself a type unit, and copies a declaration for that type into the type unit in order to resolve the reference within the type unit. In the process, copy_decls_walk also copies all of the children of that DIE. In the case of a base class with member function templates, every one of the instantiated member functions is copied into every type unit that references the base class. gcc/ PR debug/60929 * dwarf2out.c (should_move_die_to_comdat): A type definition can contain a subprogram definition, but don't move it to a comdat unit. (clone_as_declaration): Copy DW_AT_abstract_origin attribute. (generate_skeleton_bottom_up): Remove DW_AT_object_pointer attribute from original DIE. (clone_tree_hash): Rename to... (clone_tree_partial): ...this; change callers. Copy DW_TAG_subprogram DIEs as declarations. (copy_decls_walk): Don't copy children of a declaration into a type unit. gcc/testsuite/ PR debug/60929 * g++.dg/debug/dwarf2/dwarf4-nested.C: New test case. * g++.dg/debug/dwarf2/dwarf4-typedef.C: Add -fdebug-types-section flag. From-SVN: r209812
Cary Coutant committed -
PR target/60969 * config/i386/i386.md (*movsf_internal): Set MODE to SI for alternative 12. From-SVN: r209811
H.J. Lu committed -
2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org> PR libstdc++/60710 * include/experimental/optional (operator!=): Implement in terms of operator==. * testsuite/experimental/optional/relops/1.cc: Remove operator!=. * testsuite/experimental/optional/relops/2.cc: Likewise. * testsuite/experimental/optional/relops/3.cc: Likewise. * testsuite/experimental/optional/relops/4.cc: Likewise. * testsuite/experimental/optional/relops/5.cc: Likewise. * testsuite/experimental/optional/relops/6.cc: Likewise. From-SVN: r209810
Lars Gullik Bjønnes committed -
gcc/ * config/arm/predicates.md (call_insn_operand): Add long_call check. * config/arm/arm.md (sibcall, sibcall_value): Force the address to reg for long_call. * config/arm/arm.c (arm_function_ok_for_sibcall): Remove long_call restriction. gcc/testsuite * gcc.target/arm/tail-long-call.c: New test. From-SVN: r209808
Jiong Wang committed -
re PR libstdc++/60958 (Initialization of arrays in tr1/regex ill-formed or with undefined behaviour) PR libstdc++/60958 * include/tr1/regex (regex_traits::isctype): Comment out broken code. * testsuite/util/testsuite_regex.h (regex_match_debug): Improve comment. From-SVN: r209807
Jonathan Wakely committed -
* config/arm/arm.c (arm_cortex_a8_tune): Initialise T16-related fields. From-SVN: r209806
Kyrylo Tkachov committed -
re PR tree-optimization/60930 (Wrong folding of - ((unsigned long long) a * (unsigned long long) (unsigned int)-1)) [gcc] 2014-04-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR tree-optimization/60930 * gimple-ssa-strength-reduction.c (create_mul_imm_cand): Reject creating a multiply candidate by folding two constant multiplicands when the result overflows. [gcc/testsuite] 2014-04-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR tree-optimization/60930 * gcc.dg/torture/pr60930.c: New test. From-SVN: r209805
Bill Schmidt committed -
re PR tree-optimization/60960 (Wrong result when a vector variable is divided by a literal constant) PR tree-optimization/60960 * tree-vect-generic.c (expand_vector_operation): Only call expand_vector_divmod if type's mode satisfies VECTOR_MODE_P. * gcc.c-torture/execute/pr60960.c: New test. From-SVN: r209802
Jakub Jelinek committed -
From-SVN: r209801
Marek Polacek committed -
2014-04-25 Tom de Vries <tom@codesourcery.com> * expr.c (clobber_reg_mode): New function. * expr.h (clobber_reg): New function. From-SVN: r209800
Tom de Vries committed -
2014-04-25 Tom de Vries <tom@codesourcery.com> * rtlanal.c (find_all_hard_reg_sets): Note INSN_CALL_FUNCTION_USAGE clobbers. From-SVN: r209799
Tom de Vries committed -
2014-04-25 Radovan Obradovic <robradovic@mips.com> Tom de Vries <tom@codesourcery.com> * rtlanal.c (find_all_hard_reg_sets): Add bool implicit parameter and handle. * rtl.h (find_all_hard_reg_sets): Add bool parameter. * haifa-sched.c (recompute_todo_spec, check_clobbered_conditions): Add new argument to find_all_hard_reg_sets call. Co-Authored-By: Tom de Vries <tom@codesourcery.com> From-SVN: r209798
Radovan Obradovic committed -
* config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p): Use HOST_WIDE_INT_C for mask literal. (aarch_rev16_shleft_mask_imm_p): Likewise. From-SVN: r209797
Kyrylo Tkachov committed -
PR c/18079 c/ * c-decl.c (diagnose_mismatched_decls): Warn for mismatched always_inline/noinline and hot/cold attributes. c-family/ * c-common.c (handle_noinline_attribute): Warn if the attribute conflicts with always_inline attribute. (handle_always_inline_attribute): Warn if the attribute conflicts with noinline attribute. testsuite/ * gcc.dg/pr18079.c: New test. * gcc.dg/pr18079-2.c: New test. From-SVN: r209796
Marek Polacek committed -
* c-c++-common/gomp/pr60823-2.c: Require effective target vect_simd_clones. From-SVN: r209795
Uros Bizjak committed -
PR c/60114 c/ * c-parser.c (c_parser_initelt): Pass input_location to process_init_element. (c_parser_initval): Pass loc to process_init_element. * c-tree.h (process_init_element): Adjust declaration. * c-typeck.c (push_init_level): Pass input_location to process_init_element. (pop_init_level): Likewise. (set_designator): Likewise. (output_init_element): Add location_t parameter. Pass loc to digest_init. (output_pending_init_elements): Pass input_location to output_init_element. (process_init_element): Add location_t parameter. Pass loc to output_init_element. testsuite/ * gcc.dg/pr60114.c: New test. From-SVN: r209794
Marek Polacek committed -
PR target/60941 * config/sparc/sparc.md (ashlsi3_extend): Delete. From-SVN: r209790
Eric Botcazou committed -
2014-04-25 Marc Glisse <marc.glisse@inria.fr> PR preprocessor/56540 * config/i386/i386-c.c (ix86_target_macros): Define __SIZEOF_FLOAT80__ and __SIZEOF_FLOAT128__. From-SVN: r209789
Marc Glisse committed -
PR c/60156 * c-common.c (check_main_parameter_types): Warn about variadic main. * c-c++-common/pr60156.c: New test. From-SVN: r209787
Marek Polacek committed -
2014-04-25 Marc Glisse <marc.glisse@inria.fr> * testsuite/util/testsuite_abi.cc (check_version): Update for CXXABI_1.3.9. From-SVN: r209786
Marc Glisse committed -
* configure.ac (tga_func): Remove. (LIB_TLS_SPEC): Remove. * configure: Regenerate. * config.in: Regenerate. * config/sol2.h (LIB_SPEC): Don't use LIB_TLS_SPEC. From-SVN: r209785
Rainer Orth committed -
2014-04-25 Marc Glisse <marc.glisse@inria.fr> PR target/43538 * mt-gnu: Don't reset CXXFLAGS_FOR_TARGET. From-SVN: r209784
Marc Glisse committed -
* config/i386/crtfastmath.c [!__x86_64__ && __sun__ && __svr4__] (sigill_caught, sigill_hdlr): Remove. From-SVN: r209783
Rainer Orth committed -
2014-04-25 Richard Biener <rguenther@suse.de> PR ipa/60912 * tree-ssa-structalias.c (ipa_pta_execute): Compute direct call stmt use/clobber sets during stmt walk instead of walking the possibly incomplete set of caller edges. * g++.dg/opt/pr60912.C: New testcase. From-SVN: r209780
Richard Biener committed -
2014-04-25 Richard Biener <rguenther@suse.de> PR ipa/60911 * passes.c (apply_ipa_transforms): Inline into only caller ... (execute_one_pass): ... here. Properly bring in function bodies for nodes we want to apply IPA transforms to. * gcc.dg/lto/pr60911_0.c: New testcase. From-SVN: r209779
Richard Biener committed -
PR go/60931 runtime: Fix garbage collector issue with non 4kB system page size The go garbage collector tracks memory in terms of 4kB pages. Most of the code checks getpagesize() at runtime and does the right thing. On a 64kB ppc64 box I see SEGVs in long running processes which has been diagnosed as a bug in scavengelist. scavengelist does a madvise(MADV_DONTNEED) without rounding the arguments to the system page size. A strace of one of the failures shows the problem: madvise(0xc211030000, 4096, MADV_DONTNEED) = 0 The kernel rounds the length up to 64kB and we mark 60kB of valid data as no longer needed. Round start up to a system page and end down before calling madvise. From-SVN: r209777
Ian Lance Taylor committed -
From-SVN: r209774
Mike Stump committed -
2014-04-24 Cong Hou <congh@google.com> PR tree-optimization/60896 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Pick up all statements in PATTERN_DEF_SEQ in recognized widen-mult pattern. (vect_mark_pattern_stmts): Set the def type of all statements in PATTERN_DEF_SEQ as vect_internal_def. 2014-04-24 Cong Hou <congh@google.com> PR tree-optimization/60896 * g++.dg/vect/pr60896.cc: New test. From-SVN: r209773
Cong Hou committed -
From-SVN: r209772
GCC Administrator committed
-