aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2009-07-16re PR c/40435 (Revision 148442 caused many regressions on trunk)Aldy Hernandez66-2605/+3546
2009-07-17 Aldy Hernandez <aldyh@redhat.com> Manuel López-Ibáñez <manu@gcc.gnu.org> PR 40435 * tree-complex.c, tree-loop-distribution.c, tree.c, tree.h, builtins.c, fold-const.c, omp-low.c, cgraphunit.c, tree-ssa-ccp.c, tree-ssa-dom.c, gimple-low.c, expr.c, tree-ssa-ifcombine.c, c-decl.c, stor-layout.c, tree-if-conv.c, c-typeck.c, gimplify.c, calls.c, tree-sra.c, tree-mudflap.c, tree-ssa-copy.c, tree-ssa-forwprop.c, c-convert.c, c-omp.c, varasm.c, tree-inline.c, c-common.c, c-common.h, gimple.c, tree-switch-conversion.c, gimple.h, tree-cfg.c, c-parser.c, convert.c: Add location argument to fold_{unary,binary,ternary}, fold_build[123], build_call_expr, build_size_arg, build_fold_addr_expr, build_call_array, non_lvalue, size_diffop, fold_build1_initializer, fold_build2_initializer, fold_build3_initializer, fold_build_call_array, fold_build_call_array_initializer, fold_single_bit_test, omit_one_operand, omit_two_operands, invert_truthvalue, fold_truth_not_expr, build_fold_indirect_ref, fold_indirect_ref, combine_comparisons, fold_builtin_*, fold_call_expr, build_range_check, maybe_fold_offset_to_address, round_up, round_down. objc/ * objc-act.c: Add location argument to all calls to build_fold_addr_expr. testsuite/ * gcc.dg/pr36902.c: Add column info. * g++.dg/gcov/gcov-2.C: Change count for definition. cp/ * typeck.c, init.c, class.c, method.c, rtti.c, except.c, error.c, tree.c, cp-gimplify.c, cxx-pretty-print.c, pt.c, semantics.c, call.c, cvt.c, mangle.c: Add location argument to fold_{unary,binary,ternary}, fold_build[123], build_call_expr, build_size_arg, build_fold_addr_expr, build_call_array, non_lvalue, size_diffop, fold_build1_initializer, fold_build2_initializer, fold_build3_initializer, fold_build_call_array, fold_build_call_array_initializer, fold_single_bit_test, omit_one_operand, omit_two_operands, invert_truthvalue, fold_truth_not_expr, build_fold_indirect_ref, fold_indirect_ref, combine_comparisons, fold_builtin_*, fold_call_expr, build_range_check, maybe_fold_offset_to_address, round_up, round_down. fortran/ * trans-expr.c, trans-array.c, trans-openmp.c, trans-stmt.c, trans.c, trans-io.c, trans-decl.c, trans-intrinsic.c: Add location argument to fold_{unary,binary,ternary}, fold_build[123], build_call_expr, build_size_arg, build_fold_addr_expr, build_call_array, non_lvalue, size_diffop, fold_build1_initializer, fold_build2_initializer, fold_build3_initializer, fold_build_call_array, fold_build_call_array_initializer, fold_single_bit_test, omit_one_operand, omit_two_operands, invert_truthvalue, fold_truth_not_expr, build_fold_indirect_ref, fold_indirect_ref, combine_comparisons, fold_builtin_*, fold_call_expr, build_range_check, maybe_fold_offset_to_address, round_up, round_down. Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org> From-SVN: r149722
2009-07-16re PR libstdc++/37907 ([c++0x] support for std::is_standard_layout)Jason Merrill33-111/+572
PR libstdc++/37907 Support std::is_standard_layout and std::is_trivial traits, change POD to C++0x version (except for layout). * gcc/c-common.c (c_common_reswords): Add __is_standard_layout and __is_trivial. * gcc/c-common.h (enum rid): Add RID_IS_STD_LAYOUT and RID_IS_TRIVIAL. * gcc/cp/cp-tree.h (enum cp_trait_kind): Add CPTK_IS_STD_LAYOUT, CPTK_IS_TRIVIAL. (struct lang_type_class): Add non_std_layout. (CLASSTYPE_NON_STD_LAYOUT): New. * gcc/cp/class.c (check_bases): Set it. (check_field_decls): Likewise. (check_bases_and_members): Likewise. * gcc/cp/parser.c (cp_parser_primary_expression): Handle RID_IS_STD_LAYOUT, RID_IS_TRIVIAL. (cp_parser_trait_expr): Likewise. * gcc/cp/semantics.c (trait_expr_value): Handle CPTK_IS_STD_LAYOUT, CPTK_IS_TRIVIAL. (finish_trait_expr): Likewise. * gcc/cp/tree.c (scalarish_type_p, trivial_type_p, std_layout_type_p): New. (pod_type_p): Use them. * gcc/cp/typeck.c (build_class_member_access_expr): Check CLASSTYPE_NON_STD_LAYOUT rather than CLASSTYPE_NON_POD_P. * libstdc++-v3/include/std/type_traits: Add is_standard_layout, is_trivial. From-SVN: r149721
2009-07-16m32c.c (m32c_compare_redundant): Avoid removing compares that may be ↵DJ Delorie2-1/+40
indirectly affected by previous instructions. * config/m32c/m32c.c (m32c_compare_redundant): Avoid removing compares that may be indirectly affected by previous instructions. From-SVN: r149719
2009-07-16builtins.c (do_mpc_arg2): New.Kaveh R. Ghazi7-80/+351
* builtins.c (do_mpc_arg2): New. (fold_builtin_2): Fold builtin cpow. * real.h (HAVE_mpc_pow): New. testsuite: * gcc.dg/torture/builtin-math-5.c: Add more cases. * gcc.dg/torture/builtin-math-6.c: Likewise. Depend on effective target "mpc_pow". * lib/target-supports.exp (check_effective_target_mpc_pow): New. From-SVN: r149716
2009-07-16New testRichard Henderson2-0/+63
From-SVN: r149715
2009-07-16modulo-sched.c (sms_schedule): stage_count <= 1 as correct comparison to ↵Bingfeng Mei2-2/+9
skip unprofitable schedule 2009-07-16 Bingfeng Mei <bmei@broadcom.com> * modulo-sched.c (sms_schedule): stage_count <= 1 as correct comparison to skip unprofitable schedule From-SVN: r149712
2009-07-16* obj-c++.dg/defs.mm (abort): Make it extern "C".Jakub Jelinek2-1/+5
From-SVN: r149705
2009-07-16gcc.c (option_map): New flag -no-canonical-prefixes.Simon Baldwin3-23/+67
* gcc.c (option_map): New flag -no-canonical-prefixes. * (display_help): Print help text for new flag. * (process_command): Move options translation and language specifics and handle new flag early. Use it to set a function pointer to a prefix builder. Replace make_relative_prefix calls with calls to the function pointed to. Ignore new flag in regular options handling. * doc/invoke.texi (Overall Options): Documented -no-canonical-prefixes. From-SVN: r149702
2009-07-15mep.md (sibcall_internal): Change register to avoid argument registers.DJ Delorie2-4/+10
* config/mep/mep.md (sibcall_internal): Change register to avoid argument registers. (sibcall_value_internal): Likewise. From-SVN: r149701
2009-07-16Daily bump.GCC Administrator1-1/+1
From-SVN: r149700
2009-07-15re PR rtl-optimization/40710 (Linux kernel miscompiled for sh4-linux)Eric Botcazou2-3/+9
PR rtl-optimization/40710 * resource.c (mark_target_live_regs): Reset DF problem to LR. From-SVN: r149696
2009-07-15* config/mips/mips.md (*extenddi_truncate<mode>,Adam Nemet2-23/+43
*extendsi_truncate<mode>): Change type attribute to move_type with shift_shift. Split out code handling exts from here ... (*extend<GPR:mode>_truncate<SHORT:mode>_exts): ... to this new pattern. (*extendhi_truncateqi): Change type attribute to move_type with shift_shift. Split out code handling exts from here ... (*extendhi_truncateqi_exts): ... to this new pattern. From-SVN: r149694
2009-07-15sse.md (copysign<mode>3): Use "and-not" SSE instruction instead of "and" ↵Uros Bizjak2-13/+15
with inverted sign bit mask value. * config/i386/sse.md (copysign<mode>3): Use "and-not" SSE instruction instead of "and" with inverted sign bit mask value. Use "nonimmediate_operand" for operand 1 and operand 2 predicate. Allocate registers only for operand 4 and operand 5. From-SVN: r149691
2009-07-15sse.md (copysign<mode>3): Allocate registers only for operands[5] and ↵Uros Bizjak2-10/+11
operands[6]. * config/i386/sse.md (copysign<mode>3): Allocate registers only for operands[5] and operands[6]. From-SVN: r149690
2009-07-15Make-lang.in: Update dependenciesArnaud Charlet3-117/+153
* gcc-interface/Make-lang.in: Update dependencies * gcc-interface/Makefile.in: Add target pairs for PPC/Xenomai From-SVN: r149689
2009-07-15[multiple changes]Arnaud Charlet8-52/+68
2009-07-15 Robert Dewar <dewar@adacore.com> * par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for N_Label. Remove SCO table entry for entry point (not used). * par_sco.ads: Remove SCO entry point type (not used) * switch.adb: Minor code clean up. 2009-07-15 Eric Botcazou <ebotcazou@adacore.com> * exp_dbug.ads (Base Record Types): Document enhanced encoding. 2009-07-15 Thomas Quinot <quinot@adacore.com> * gnatls.adb: Minor reformatting * gnatcmd.adb: Minor code reorganization 2009-07-15 Ed Schonberg <schonberg@adacore.com> * exp_util.adb (Component_May_Be_Bit_Aligned): Use underlying type to determine whether a component of a private type has a composite type. From-SVN: r149688
2009-07-15[multiple changes]Arnaud Charlet4-335/+374
2009-07-15 Robert Dewar <dewar@adacore.com> * sem_ch10.adb: Minor reformatting throughout Minor code reorganization (put nested subprograms in alpha order) 2009-07-15 Ed Schonberg <schonberg@adacore.com> * exp_ch6.adb (Expand_Call): Prevent double attachment of the result when compiling a call to a protected function that returns a controlled object. 2009-07-15 Hristian Kirtchev <kirtchev@adacore.com> * sysdep.c (__gnat_localtime_tzoff): Consolidate the Lynx cases into one. Add task locking and unlocking around the critical region which mentions localtime_r and global variable timezone for various targets. Comment reformatting. From-SVN: r149686
2009-07-15gnat_rm.texi: Document s-ststop.adsRobert Dewar5-11/+102
2009-07-15 Robert Dewar <dewar@adacore.com> * gnat_rm.texi: Document s-ststop.ads * impunit.ad: (Map_Array): New table of alternative names (Get_Kind_Of_Unit): Return possible suggested alternative name * impunit.ads (Get_Kind_Of_Unit): Return possible suggested alternative name. * sem_ch10.adb (Analalyze_With_Clause): Add name of possible alternative unit if an implementation unit is with'ed. From-SVN: r149685
2009-07-15gnat_ugn.texi: Minor updates.Robert Dewar3-14/+29
2009-07-15 Robert Dewar <dewar@adacore.com> * gnat_ugn.texi: Minor updates. * snames.ads-tmpl: Minor comment updates for Ada 2005 fully implemented From-SVN: r149680
2009-07-15[multiple changes]Arnaud Charlet9-87/+304
2009-07-15 Ed Schonberg <schonberg@adacore.com> * sem_warn.adb (Warn_On_Constant_Condition): Handle properly constant conditions of a derived boolean type. Minor reformatting 2009-07-15 Robert Dewar <dewar@adacore.com> * gnat1drv.adb: Initialize SCO tables * par-load.adb: Call SCO_Record for main unit spec * par.adb: Make call to SCO_Record for main unit * par_sco.adb (Unit_Table): Change format to facilitate sort (Process_Decisions): New procedure with list argument (Traverse_Generic_Package_Declaration): New procedure (Initialize): New procedure, replaces Init (SCO_Output): Sort unit table before output (SCO_Record): Avoid duplications (SCO_Record): Handle remaining cases of units (Traverse_Declarations_Or_Statements): Handle generics * par_sco.ads (Initialize): New peocedure (replaces Init) * sem_ch10.adb (Analyze_Proper_Body): Make call to SCO_Record for subunit. 2009-07-15 Arnaud Charlet <charlet@adacore.com> * debug.adb: Add -gnatd.J switch for now to support scil generation in parallel. Add missing doc for -gnatd.I and -gnatd.O From-SVN: r149679
2009-07-15lib-load.adb: Minor reformattingRobert Dewar3-5/+14
2009-07-15 Robert Dewar <dewar@adacore.com> * lib-load.adb: Minor reformatting * lib-writ.adb (Write_ALI): Fix handling of SCO_Output wrt Generate_SCO. From-SVN: r149678
2009-07-15par.adb: Minor reformatting Add ??? comment for possible bad commentRobert Dewar3-71/+78
2009-07-15 Robert Dewar <dewar@adacore.com> * par.adb: Minor reformatting Add ??? comment for possible bad comment * par-ch10.adb: Minor reformatting From-SVN: r149677
2009-07-15Remove -gnatd.O docArnaud Charlet1-3/+1
From-SVN: r149676
2009-07-15re PR middle-end/40747 (wrong code for int-is-in-range test at -O1 and above)Jakub Jelinek4-20/+58
PR middle-end/40747 * fold-const.c (fold_cond_expr_with_comparison): When folding < and <= to MIN, make sure the MIN uses the same type as the comparison's operands. * gcc.c-torture/execute/pr40747.c: New test. From-SVN: r149675
2009-07-15[multiple changes]Arnaud Charlet13-384/+399
2009-07-15 Sergey Rybin <rybin@adacore.com> * tree_in.ads, output.adb, tree_io.ads: Get rid of pragmas Warnings Off/On for with clause to System.OS_Lib - not needed any more. 2009-07-15 Ed Schonberg <schonberg@adacore.com> * sem_warn.adb (Warn_On_Constant_Condition): if the constant condition is a literal of a derived boolean type, it appears as an unchecked conversion. Retrieve actual value from expression of conversion. 2009-07-15 Robert Dewar <dewar@adacore.com> * sem_ch3.adb: Minor reformatting * lib-xref.ads, lib-xref.adb, lib.ads, par_sco.ads, par_sco.adb, lib-writ.ads, lib-writ.adb: Minor reformatting. Fix problem with SCO format in ALI files From-SVN: r149674
2009-07-15arm.md (ior_xor): New code iterator.Richard Earnshaw3-0/+32
* arm.md (ior_xor): New code iterator. (split for ior/xor with shift and zero-extend): New split pattern. * arm/predicates.md (subreg_lowpart_operator): New special predicate. From-SVN: r149673
2009-07-15[multiple changes]Arnaud Charlet8-21/+31
2009-07-15 Robert Dewar <dewar@adacore.com> * exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb, exp_aggr.adb: Minor code reorganization (better calling sequence for Make_Temporary). 2009-07-15 Thomas Quinot <quinot@adacore.com> * opt.ads: Minor comment edits From-SVN: r149672
2009-07-15tree-ssa-structalias.c (make_constraint_from_heapvar): Initialize offset member.Richard Guenther2-0/+6
2009-07-15 Richard Guenther <rguenther@suse.de> * tree-ssa-structalias.c (make_constraint_from_heapvar): Initialize offset member. From-SVN: r149671
2009-07-15Makefile.in: Special rule for seh_init.o no longer needed.Tristan Gingold2-6/+5
2009-07-15 Tristan Gingold <gingold@adacore.com> * gcc-interface/Makefile.in: Special rule for seh_init.o no longer needed. From-SVN: r149670
2009-07-15debug.adb: Add -gnatd.O to output SCO tableRobert Dewar12-9/+1270
2009-07-15 Robert Dewar <dewar@adacore.com> * debug.adb: Add -gnatd.O to output SCO table * lib-writ.adb (Write_Unit_Information): Use SCO_Output to output SCO information. * lib-writ.ads: Document addition of SCO lines to ALI file * par_sco.ads, par_sco.adb: New files. * opt.ads (Generate_SCO): New switch * par.adb (Par): Call SCO_Record to record SCO information * sem_warn.adb (Warn_On_Constant_Condition): Adjust SCO condition * switch-c.adb: Recognize -gnateS to generate SCO information * usage.adb: Add line for -gnateS * gcc-interface/Make-lang.in: Add dependency on par_sco.o for gnat1 From-SVN: r149669
2009-07-15[multiple changes]Arnaud Charlet10-32/+61
2009-07-15 Sergey Rybin <rybin@adacore.com> * tree_in.ads, tree_io.ads: Add pragma Warnings Off/On for with clause to System.OS_Lib to avoid warnings. 2009-07-15 Robert Dewar <dewar@adacore.com> * sinfo.ads, make.adb, par.ads, par.adb, sem_warn.adb: Minor reformatting. 2009-07-15 Thomas Quinot <quinot@adacore.com> * g-socthi-mingw.adb: Minor comment addition * g-socthi-mingw.ads (WSAStartup): First argument is a WORD not an int. From-SVN: r149668
2009-07-15g-htable.ads, [...]: Minor reformattingRobert Dewar3-6/+10
2009-07-15 Robert Dewar <dewar@adacore.com> * g-htable.ads, s-htable.ads: Minor reformatting From-SVN: r149667
2009-07-15switch-c.adb, [...]: Implement new switch -gnatw.g.Robert Dewar6-26/+59
2009-07-15 Robert Dewar <dewar@adacore.com> * switch-c.adb, sem_ch10.adb, sem_warn.adb, sem_warn.ads: Implement new switch -gnatw.g. (Set_GNAT_Mode_Warnings): New procedure. * lib-xref.adb: Minor reformatting From-SVN: r149666
2009-07-15exp_aggr.adb, [...]: Minor reformatting Minor code reorganizationRobert Dewar4-15/+24
2009-07-15 Robert Dewar <dewar@adacore.com> * exp_aggr.adb, tbuild.ads, tbuild.adb: Minor reformatting Minor code reorganization From-SVN: r149665
2009-07-15re PR bootstrap/40753 (ICE in refs_may_alias_p_1 for libffi/src/powerpc/ffi.c)Richard Guenther4-0/+36
2009-07-15 Richard Guenther <rguenther@suse.de> PR middle-end/40753 * alias.c (ao_ref_from_mem): Reject FUNCTION_DECL and LABEL_DECL bases. * gcc.c-torture/compile/pr40753.c: New testcase. From-SVN: r149664
2009-07-15linux-unwind.h (m68k_fallback_frame_state): Update to handle 2.6.30 kernel.Maxim Kuvyrkov2-0/+14
* config/m68k/linux-unwind.h (m68k_fallback_frame_state): Update to handle 2.6.30 kernel. From-SVN: r149663
2009-07-15re PR fortran/40743 (ICE when compiling iso_varying_string.f95 at revision ↵Janus Weil4-1/+48
149591) 2009-07-15 Janus Weil <janus@gcc.gnu.org> PR fortran/40743 * resolve.c (resolve_symbol): Don't resolve the formal namespace of a contained procedure. 2009-07-15 Janus Weil <janus@gcc.gnu.org> PR fortran/40743 * gfortran.dg/interface_assignment_4.f90: New. From-SVN: r149662
2009-07-15builtins-config.h (HAVE_C99_RUNTIME): Do not define for FreeBSD up to and ↵Gerald Pfeifer2-3/+8
including version 8. * gcc.dg/builtins-config.h (HAVE_C99_RUNTIME): Do not define for FreeBSD up to and including version 8. From-SVN: r149661
2009-07-15mep.md (sibcall_internal): Change register to allow for 24-bit addresses.DJ Delorie2-4/+10
* config/mep/mep.md (sibcall_internal): Change register to allow for 24-bit addresses. (sibcall_value_internal): Likewise. From-SVN: r149655
2009-07-15Daily bump.GCC Administrator1-1/+1
From-SVN: r149653
2009-07-14invoke.texi: Added descriptions of the scheduling heuristics that are ↵Ghassan Shobaki2-19/+35
enabled/disabled by... 2009-07-14 Ghassan Shobaki <ghassan.shobaki@amd.com> * doc/invoke.texi: Added descriptions of the scheduling heuristics that are enabled/disabled by the flags introduced by a previous patch. From-SVN: r149650
2009-07-14mep.md (sibcall_internal): Include non-toggling non-jmp case.DJ Delorie2-0/+14
* config/mep/mep.md (sibcall_internal): Include non-toggling non-jmp case. (sibcall_value_internal): Likewise. From-SVN: r149649
2009-07-14sourcebuild.texi: Document install-plugin target.Taras Glek21-5/+117
2009-07-14 Taras Glek <tglek@mozilla.com> Rafael Espindola <espindola@google.com> * doc/sourcebuild.texi: Document install-plugin target. * configure.ac: Added install-plugin target to language makefiles. * configure: Regenerate. * Makefile.in: (install-plugin): Install more headers, depend on lang.install-plugin. ada/ChangeLog * gcc-interface/Make-lang.in (ada.install-plugin): New target for installing plugin headers. cp/ChangeLog * Make-lang.in: Added CP_PLUGIN_HEADERS and c.install-target to export cp-tree.h cxx-pretty-print.h name-lookup.h headers for plugins. fortran/ChangeLog * Make-lang.in (fortran.install-plugin): New target for installing plugin headers. java/ChangeLog * Make-lang.in (java.install-plugin): New target for installing plugin headers. objc/ChangeLog * Make-lang.in (objc.install-plugin): New target for installing plugin headers. objcp/ChangeLog * Make-lang.in (obj-c.install-plugin): New target for installing plugin headers. Co-Authored-By: Rafael Avila de Espindola <espindola@google.com> From-SVN: r149648
2009-07-14tree-vrp.c (vrp_evaluate_conditional): Mark strings for translation.Manuel López-Ibáñez2-2/+9
2009-07-15 Manuel López-Ibáñez <manu@gcc.gnu.org> * tree-vrp.c (vrp_evaluate_conditional): Mark strings for translation. From-SVN: r149647
2009-07-14mep.c (mep_vliw_jmp_match): New function.DJ Delorie4-2/+25
* config/mep/mep.c (mep_vliw_jmp_match): New function. * config/mep/mep-protos.h (mep_vliw_jmp_match): Prototype it. * config/mep/mep.md (sibcall_internal): Change test from mep_vliw_mode_match to mep_vliw_jmp_match. (sibcall_value_internal): Likewise. From-SVN: r149644
2009-07-14sse-recip-vec.c: Move arrays out of test function to enable vectorization.Uros Bizjak4-12/+19
* gcc.target/i386/sse-recip-vec.c: Move arrays out of test function to enable vectorization. * gcc.target/i386/sse2-lrint-vec.c: Ditto. * gcc.target/i386/sse2-lrintf-vec.c: Ditto. From-SVN: r149641
2009-07-14sse.md (copysign<mode>3): New expander.Uros Bizjak7-16/+123
* config/i386/sse.md (copysign<mode>3): New expander. * config/i386/i386-protos.h (ix86_build_signbit_mask): New prototype. * config/i386/i386.c (ix86_build_signbit_mask): Make public. Use ix86_build_const_vector. (enum ix86_builtins): Add IX86_BUILTIN_CPYSGNPS and IX86_BUILTIN_CPYSGNPD. (builtin_description): Add __builtin_ia32_copysignps and __builtin_ia32_copysignpd. (ix86_builtin_vectorized_function): Handle BUILT_IN_COPYSIGN and BUILT_IN_COPYSIGNF. testsuite/ChangeLog: * gcc.target/i386/sse-copysignf-vec.c: New test. * gcc.target/i386/sse2-copysign-vec.c: Ditto. From-SVN: r149639
2009-07-14re PR c++/37276 (Trouble with some (C99?) math builtins and namespace std)Jason Merrill7-4/+41
PR c++/37276 * decl.c (decls_match): A non-extern-C declaration doesn't match a builtin extern-C declaration. From-SVN: r149638
2009-07-14name-lookup.c (qualified_lookup_using_namespace): Don't stop looking in used ↵Jason Merrill4-6/+32
namespaces just because we found something on... * name-lookup.c (qualified_lookup_using_namespace): Don't stop looking in used namespaces just because we found something on another branch. From-SVN: r149637
2009-07-14re PR c++/40740 (template-id forgotten with arg-dep lookup)Jason Merrill4-2/+35
PR c++/40740 * semantics.c (perform_koenig_lookup): Handle empty template args. From-SVN: r149636