aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2012-11-17re PR tree-optimization/55236 (gcc.c-torture/execute/pr22493-1.c FAILs with ↵Jakub Jelinek4-0/+51
-fPIC) PR tree-optimization/55236 * fold-const.c (make_range_step) <case NEGATE_EXPR>: For -fwrapv and signed ARG0_TYPE, force low and high to be non-NULL. * gcc.dg/pr55236.c: New test. From-SVN: r193591
2012-11-17re PR testsuite/55188 (FAIL: gcc.dg/pr19105.c scan-tree-dump-times reassoc1 ↵Jakub Jelinek2-1/+5
"Optimizing range tests v_[0-9]*.D. -.2, 2. and -.3, 4.[\n\r]* into" 1) PR testsuite/55188 * gcc.dg/pr19105.c: Accept also optimizing -[2, 2] and -[3, 3] and -[4, 4] range tests together. From-SVN: r193590
2012-11-17Add -static-libasan option to the GCC driverH.J. Lu4-3/+31
* common.opt (static-libasan): New option. * gcc.c (LIBASAN_SPEC): New macro. (LINK_COMMAND_SPEC): Replace -lasan with LIBASAN_SPEC. * doc/invoke.texi: Document -static-libasan. From-SVN: r193589
2012-11-17re PR rtl-optimization/55342 ([LRA,x86] Non-optimal code for simple loop ↵Vladimir Makarov2-23/+24
with LRA) 2012-11-17 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/55342 * lra-assigns.c (spill_for): Try to allocate other reload pseudos before and after spilling. From-SVN: r193588
2012-11-17semantics.c (finish_id_expression): Tidy diagnostic message.Gabriel Dos Reis2-1/+5
* semantics.c (finish_id_expression): Tidy diagnostic message. From-SVN: r193587
2012-11-17asan-dg.exp (asan_symbolize): Prune BFD: prefixed error messages from ↵Jakub Jelinek2-1/+10
addr2line_output. * lib/asan-dg.exp (asan_symbolize): Prune BFD: prefixed error messages from addr2line_output. Increment idx if asking for more than one address in one object. From-SVN: r193586
2012-11-17re PR fortran/55341 (address-sanitizer and Fortran)Jakub Jelinek4-14/+26
PR fortran/55341 * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Convert last argument to memcpy to size_type_node type. * trans-stmt.c (gfc_conv_elemental_dependencies): Likewise. * trasn-array.c (duplicate_allocatable): Likewise. From-SVN: r193585
2012-11-16extend.texi: Various copy-edits to comply with GCC coding standards for ↵Sandra Loosemore2-79/+90
spelling... 2012-11-16 Sandra Loosemore <sandra@codesourcery.com> gcc/ * doc/extend.texi: Various copy-edits to comply with GCC coding standards for spelling, terminology, and markup, including use of American spelling, correct use of terms like "back end" and "run time", use correct name for GCC, use "@:" markup. From-SVN: r193583
2012-11-17Daily bump.GCC Administrator1-1/+1
From-SVN: r193580
2012-11-16re PR tree-optimization/55329 (ICE: internal compiler error: in operator[], ↵Jakub Jelinek4-11/+100
at vec.h:487 with -O -fno-guess-branch-probability -fnon-call-exceptions --param=early-inlining-insns=111) PR tree-optimization/55329 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Never clear bits in needed_eh_cleanup while iterating over the bitmap. Look through all forwarder blocks at once. * g++.dg/opt/pr55329.C: New test. From-SVN: r193577
2012-11-16Fix commit of testcase which got truncated somehow.Ian Bolton1-0/+4
From-SVN: r193571
2012-11-16* params.def (max-peeled-insns, max-completely-peeled-insns): Reduce to 100.Jan Hubicka2-2/+6
From-SVN: r193570
2012-11-16cpplib.h (struct cpp_options): Add canonical_system_headers.Simon Baldwin6-0/+31
* include/cpplib.h (struct cpp_options): Add canonical_system_headers. * files.c (find_file_in_dir): Call maybe_shorter_path() only if canonical_system_headers is set. * init.c (cpp_create_reader): Initialize canonical_system_headers. * configure.ac: Add new --enable-canonical-system-headers. * configure: Regenerate. * config.in: Regenerate. * doc/cppopts.texi: Document -f[no-]canonical-system-headers. * doc/install.texi: Document --enable-canonical-system-headers. * c.opt: Add f[no-]canonical-system-headers. * c-opts.c (c_common_handle_option): Handle OPT_fcanonical_system_headers. From-SVN: r193569
2012-11-16re PR fortran/55297 ([OOP] type-bound operator clashes with abstract interface)Janus Weil4-1/+37
2012-11-16 Janus Weil <janus@gcc.gnu.org> PR fortran/55297 * resolve.c (resolve_typebound_intrinsic_op): Only add typebound operators to the operator list in the namespace of the derived type. 2012-11-16 Janus Weil <janus@gcc.gnu.org> PR fortran/55297 * gfortran.dg/typebound_operator_18.f90: New. From-SVN: r193568
2012-11-16re PR rtl-optimization/55330 (ICE: Maximum number of LRA constraint passes ↵Vladimir Makarov4-1/+105
is achieved (15) on gfortran.dg/actual_array_constructor_1.f90) 2012-11-16 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/55330 * lra-constraints.c (MAX_INHERITANCE_PASSES): New macro. (lra_inheritance, lra_undo_inheritance): Use it to limit number of the passes. 2012-11-16 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/55330 * gfortran.dg/pr55330.f90: New test. From-SVN: r193567
2012-11-16compiler: don't remove floating point conversion of typed constantIan Lance Taylor1-0/+40
From-SVN: r193565
2012-11-16Make-lang.in (gccgo$(exeext)): Add + at start of command.Ian Lance Taylor2-2/+7
* Make-lang.in (gccgo$(exeext)): Add + at start of command. (go1$(exeext)): Likewise. From-SVN: r193564
2012-11-16gcc-dg.exp (cleanup-saved-temps): Add .mii to suffixes.Uros Bizjak7-3/+15
* lib/gcc-dg.exp (cleanup-saved-temps): Add .mii to suffixes. * gcc.dg/hoist-register-pressure-1.c: Cleanup hoist rtl dump. * gcc.dg/hoist-register-pressure-2.c: Ditto. * gcc.dg/hoist-register-pressure-3.c: Ditto. * gcc.dg/tree-prof/peel-1.c: Cleanup loop2_unroll rtl dump. * gcc.dg/tree-prof/unroll-1.c: Ditto. From-SVN: r193563
2012-11-16PR c++/54875 - Error with alias template that resolves to an enumDodji Seketeli4-1/+24
Consider this short example: 1 template<typename T> 2 using AddConst = T const; 3 4 enum FwdEnum : int; 5 6 int main() { 7 AddConst<FwdEnum> *ptr = nullptr; 8 } At line 7, when we build the type for AddConst<FwdEnum> in lookup_template_class_1, the resulting type is the enum FwdEnum. This confuses lookup_template_class_1 near the if below, wrongly making it taking the branch and thus calling tsubst_enum while it shouldn't: if (TREE_CODE (t) == ENUMERAL_TYPE && !is_dependent_type) /* Now that the type has been registered on the instantiations list, we set up the enumerators. Because the enumeration constants may involve the enumeration type itself, we make sure to register the type first, and then create the constants. That way, doing tsubst_expr for the enumeration constants won't result in recursive calls here; we'll find the instantiation and exit above. */ tsubst_enum (template_type, t, arglist); Before the alias template feature, the only reason why TREE_CODE (t) == ENUMERAL_TYPE would be true is when lookup_template_class_1 is called for an enum that is a member of a class template. But that condition can be also true for an alias template instantiation. So I guess that condition should be changed to TREE_CODE (template_type) == ENUMERAL_TYPE, to specifically detect the member enum of a class template case. Note that for the alias template instantiation case above, template_type points to a TEMPLATE_TYPE_PARM which name is AddConst. This is what the patchlet below does. Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk. gcc/cp/ * pt.c (lookup_template_class_1): Look at the type of the potential member enum of class template to determine if we are actually substituting into a member enum of class template. gcc/testsuite/ * g++.dg/cpp0x/alias-decl-27.C: New test. From-SVN: r193562
2012-11-16t-linux: New file; define MULTIARCH_DIRNAME.Matthias Klose3-0/+9
2012-11-16 Matthias Klose <doko@ubuntu.com> * config/pa/t-linux: New file; define MULTIARCH_DIRNAME. * config.gcc <hppa*64*-*-linux*, hppa*-*-linux*> (tmake_file): Include pa/t-linux. From-SVN: r193560
2012-11-16* lib/target-supports.expUros Bizjak1-2/+10
(check_effective_target_has_w_floating_suffix): Use options for c++ only. (check_effective_target_has_q_floating_suffix): Ditto. From-SVN: r193559
2012-11-16re PR c++/55337 (ICE tree check: expected sizeof_expr, have alignof_expr in ↵Jakub Jelinek4-4/+27
cp_tree_equal, at cp/tree.c:2608) PR c++/55337 * tree.c (cp_tree_equal) <case ALIGNOF_EXPR>: Use SIZEOF_EXPR_TYPE_P only on SIZEOF_EXPR. * g++.dg/template/alignof2.C: New test. From-SVN: r193558
2012-11-16* ChangeLog: Add ChangeLog entry for my last commit.Uros Bizjak1-0/+5
From-SVN: r193556
2012-11-16mv1.C (dg-options): Add -march=x86-64.Uros Bizjak3-2/+3
* g++.dg/mv1.C (dg-options): Add -march=x86-64. * g++.dg/mv6.C (dg-options): Ditto. From-SVN: r193555
2012-11-16re PR tree-optimization/54073 (SciMark Monte Carlo test performance has ↵Jakub Jelinek3-2/+16
seriously decreased in recent GCC releases) PR target/54073 * config/i386/i386.md (mov<mode>cc): Use comparison_operator instead of ordered_comparison_operator resp. ix86_fp_comparison_operator predicates. * config/i386/i386.c (ix86_expand_fp_movcc): Reject TImode or for -m32 DImode comparisons. From-SVN: r193554
2012-11-16re PR tree-optimization/54717 (Runtime regression: polyhedron test "rnflow" ↵Jan Hubicka2-2/+9
degraded) PR tree-optimization/54717 * tree-ssa-pre.c (do_partial_partial_insertion): Consider also edges with ANTIC_IN. From-SVN: r193553
2012-11-16* lib/target_suports.expUros Bizjak4-8/+34
(check_effective_target_has_w_floating_suffix): New procedure. (check_effective_target_has_q_floating_suffix): Ditto. * g++.dg/cpp0x/gnu_fext-numeric-literals.C: Add dg-error directive for unsupported non-standard suffix on floating constant. * g++.dg/cpp0x/std_fext-numeric-literals.C: Ditto. From-SVN: r193551
2012-11-16i386-protos.h (ix86_emit_mode_set): Add third argument.Uros Bizjak4-16/+45
* config/i386/i386-protos.h (ix86_emit_mode_set): Add third argument. * config/i386/i386.h (EMIT_MODE_SET): Update. * config/i386/i386.c (ix86_avx_emit_vzeroupper): New function. (ix86_emit_mode_set) <AVX_U128>: Call ix86_avx_emit_vzeroupper. From-SVN: r193550
2012-11-16AMD bdver3 enablementGanesh Gopalasubramanian1-0/+746
From-SVN: r193549
2012-11-16AMD bdver3 enablementGanesh Gopalasubramanian15-44/+203
From-SVN: r193548
2012-11-15Fix gcc.c-torture/compile/pr53410-2.c on sparc.David S. Miller2-1/+4
* expmed.c (expand_shift_1): Don't strip non-integral SUBREGs. From-SVN: r193547
2012-11-16Daily bump.GCC Administrator1-1/+1
From-SVN: r193546
2012-11-15Add support for sparc fused compare-and-branch.David S. Miller15-62/+521
gcc/ 2012-11-15 David S. Miller <davem@davemloft.net> * configure.ac: Add check for assembler SPARC4 instruction support. * configure: Rebuild. * config.in: Add HAVE_AS_SPARC4 section. * config/sparc/sparc.opt (mcbcond): New option. * doc/invoke.texi: Document it. * config/sparc/constraints.md: New constraint 'A' for 5-bit signed immediates. * doc/md.texi: Document it. * config/sparc/sparc.c (dump_target_flag_bits): Handle MASK_CBCOND. (sparc_option_override): Likewise. (emit_cbcond_insn): New function. (emit_conditional_branch_insn): Call it. (emit_cbcond_nop): New function. (output_ubranch): Use cbcond, remove label arg. (output_cbcond): New function. * config/sparc/sparc-protos.h (output_ubranch): Update. (output_cbcond): Declare it. (emit_cbcond_nop): Likewise. * config/sparc/sparc.md (type attribute): New types 'cbcond' and uncond_cbcond. (emit_cbcond_nop): New attribute. (length attribute): Handle cbcond and uncond_cbcond. (in_call_delay attribute): Reject cbcond and uncond_cbcond. (in_branch_delay attribute): Likewise. (in_uncond_branch_delay attribute): Likewise. (in_annul_branch_delay attribute): Likewise. (*cbcond_sp32, *cbcond_sp64): New insn patterns. (jump): Rewrite into an expander. (*jump_ubranch, *jump_cbcond): New patterns. * config/sparc/niagara4.md: Match 'cbcond' in 'n4_cti'. * config/sparc/sparc.h (AS_NIAGARA4_FLAG): New macro, use it when target default is niagara4. (SPARC_SIMM5_P): Define. * config/sparc/sol2.h (AS_SPARC64_FLAG): Adjust. (AS_SPARC32_FLAG): Define. (ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC): Use AS_NIAGARA4_FLAG as needed. From-SVN: r193543
2012-11-15expr.c (expand_cond_expr_using_cmove): Use promoted mode for temp.Steve Ellcey2-6/+12
2012-11-15 Steve Ellcey <sellcey@mips.com> * expr.c (expand_cond_expr_using_cmove): Use promoted mode for temp. From-SVN: r193539
2012-11-15re PR tree-optimization/54619 (GCC aborts during compilation with '-O2 -mips16')Tom de Vries2-3/+35
2012-11-15 Tom de Vries <tom@codesourcery.com> PR tree-optimization/54619 * tree-ssa-loop-ivopts.c (get_use_type): New function. (get_computation_at): Use get_use_type. (get_computation_cost_at): Declare and set mem_mode. Use mem_mode. From-SVN: r193537
2012-11-15re PR c++/54903 (Auto + static in-class constant initialization not working)Jason Merrill3-10/+31
PR c++/54903 * decl2.c (mark_used): Don't complain about auto in templates. From-SVN: r193535
2012-11-15asan.c (report_error_func): Set DECL_IGNORED_P, don't touch DECL_ASSEMBLER_NAME.Jakub Jelinek2-4/+14
* asan.c (report_error_func): Set DECL_IGNORED_P, don't touch DECL_ASSEMBLER_NAME. (asan_init_func): Likewise. (asan_finish_file): Use void * instead of __asan_global * as type of __asan_{,un}register_globals. Set DECL_IGNORED_P on the decls. From-SVN: r193532
2012-11-15Makefile.in (if_multiarch): Don't use a GNU make 3.81 feature.Matthias Klose2-4/+10
2012-11-15 Matthias Klose <doko@ubuntu.com> * Makefile.in (if_multiarch): Don't use a GNU make 3.81 feature. From-SVN: r193529
2012-11-14testsJason Merrill2-3/+3
From-SVN: r193527
2012-11-14re PR c++/37276 (Trouble with some (C99?) math builtins and namespace std)Jason Merrill2-2/+5
PR c++/37276 * decl.c (decls_match): Remove #ifdef around earlier fix. From-SVN: r193526
2012-11-14class.c (finish_struct_1): Check virtual functions for missing ABI tags.Jason Merrill4-1/+18
* class.c (finish_struct_1): Check virtual functions for missing ABI tags. From-SVN: r193525
2012-11-14re PR c++/55275 (abi_tag attribute doesn't work on explicit specializations ↵Jason Merrill5-4/+48
of class templates) PR c++/55275 * pt.c (maybe_process_partial_specialization): Update DECL_SOURCE_LOCATION for new specializations. From-SVN: r193524
2012-11-15re PR bootstrap/55051 (profiledbootstrap failed)Jan Hubicka2-1/+6
PR bootstrap/55051 * gcov-io.c (gcov_read_summary): Fix array bound check. From-SVN: r193522
2012-11-15Daily bump.GCC Administrator1-1/+1
From-SVN: r193519
2012-11-14re PR debug/55328 (ICE: in output_addr_table_entry, at dwarf2out.c:21780 ↵Sterling Augustine2-0/+9
with -gsplit-dwarf) 2012-11-14 Sterling Augustine <saugustine@google.com> PR debug/55328 * dwarf2out.c (index_address_table_entry): Check a node's refcount. From-SVN: r193515
2012-11-14builtins.c (define_builtin): Accept ECF flags and use set_call_expr_flags.Jan Hubicka2-26/+27
* builtins.c (define_builtin): Accept ECF flags and use set_call_expr_flags. (initialize_builtins): Update. From-SVN: r193513
2012-11-14re PR bootstrap/55051 (profiledbootstrap failed)Jan Hubicka2-3/+10
PR bootstrap/55051 * ipa-inline.c (edge_badness): Improve dumping; fix overflow. From-SVN: r193512
2012-11-14asan-dg.exp: New file.Jakub Jelinek6-1/+279
* lib/asan-dg.exp: New file. * gcc.dg/asan/asan.exp: New file. * g++.dg/dg.exp: Prune also asan tests. * g++.dg/asan/asan.exp: New file. * c-c++-common/asan/memcmp-1.c: New test. From-SVN: r193511
2012-11-14t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.Matthias Klose4-1/+11
2012-11-14 Matthias Klose <doko@ubuntu.com> * config/sparc/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES. * config/sparc/t-linux: New file; define MULTIARCH_DIRNAME. * config.gcc <sparc-*-linux*> (tmake_file): Include sparc/t-linux for 32bit non-biarch configurations. From-SVN: r193510
2012-11-14invoke.texi: Document -print-multiarch.Matthias Klose18-30/+316
2012-11-14 Matthias Klose <doko@ubuntu.com> * doc/invoke.texi: Document -print-multiarch. * doc/install.texi: Document --enable-multiarch. * doc/fragments.texi: Document MULTILIB_OSDIRNAMES, MULTIARCH_DIRNAME. * configure.ac: Add --enable-multiarch option. * configure: Regenerate. * Makefile.in (s-mlib): Pass MULTIARCH_DIRNAME to genmultilib. enable_multiarch, with_float: New macros. if_multiarch: New macro, define in terms of enable_multiarch. * genmultilib: Add new argument for the multiarch name. * gcc.c (multiarch_dir): Define. (for_each_path): Search for multiarch suffixes. (driver_handle_option): Handle multiarch option. (do_spec_1): Pass -imultiarch if defined. (main): Print multiarch. (set_multilib_dir): Separate multilib and multiarch names from multilib_select. (print_multilib_info): Ignore multiarch names in multilib_select. * incpath.c (add_standard_paths): Search the multiarch include dirs. * cppdefault.h (default_include): Document multiarch in multilib member. * cppdefault.c: [LOCAL_INCLUDE_DIR, STANDARD_INCLUDE_DIR] Add an include directory for multiarch directories. * common.opt: New options --print-multiarch and -imultilib. * config.gcc <i[34567]86-*-linux* | x86_64-*-linux*> (tmake_file): Include i386/t-linux. <i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu> (tmake_file): Include i386/t-kfreebsd. <i[34567]86-*-gnu*> (tmake_file): Include i386/t-gnu. * config/i386/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES, define MULTIARCH_DIRNAME. * config/i386/t-gnu: New file. * config/i386/t-kfreebsd: Likewise. * config/i386/t-linux: Likewise. From-SVN: r193508