- 18 Jul, 2009 9 commits
-
-
* combine.c (try_widen_shift_mode) <LSHIFTRT>: Allow widening if the high-order bits are zero. From-SVN: r149779
Adam Nemet committed -
* combine.c (simplify_shift_const_1): Split code to determine shift_mode into ... (try_widen_shift_mode): ... here. Allow widening for ASHIFTRT if the new bits shifted in are identical to the old sign bit. testsuite/ * gcc.target/mips/octeon-exts-7.c: New test. * gcc.target/mips/octeon-exts-2.c: Revert previous change. * gcc.target/mips/octeon-exts-5.c: Likewise. From-SVN: r149778
Adam Nemet committed -
2009-07-18 Richard Guenther <rguenther@suse.de> PR testsuite/40798 * gcc.dg/tree-ssa/loop-2.c: Tighten pattern. From-SVN: r149774
Richard Guenther committed -
From-SVN: r149772
Arnaud Charlet committed -
2009-07-18 Richard Guenther <rguenther@suse.de> PR c/40787 * gimplify.c (gimplify_call_expr): Reject code using results from functions returning void. * gcc.dg/pr35899.c: Adjust. From-SVN: r149770
Richard Guenther committed -
gcc/ * doc/md.texi: Document the new PowerPC "es" constraint. Document that "m" can include automodified addresses on this target, and explain how %U must be used. Extend the "Q" and "Z" documentation to suggest "es" as well as "m". * config/rs6000/constraints.md (es): New memory constraint. (Q, Z): Update strings to match new documentation. gcc/testsuite/ * gcc.target/powerpc/asm-es-1.c: New test. * gcc.target/powerpc/asm-es-2.c: Likewise. From-SVN: r149766
Richard Sandiford committed -
rs6000.c (rs6000_mode_dependent_address): Allow any offset from virtual_stack_vars_rtx and arg_pointer_rtx. gcc/ * config/rs6000/rs6000.c (rs6000_mode_dependent_address): Allow any offset from virtual_stack_vars_rtx and arg_pointer_rtx. * config/rs6000/predicates.md (volatile_mem_operand): Use offsettable_nonstrict_memref_p. * config/rs6000/rs6000.md (*floatsidf2_internal): Remove split check. (*floatunssidf2_internal): Likewise. (*fix_truncdfsi2_internal): Likewise. (*fix_trunctfsi2_internal): Likewise. From-SVN: r149765
Richard Sandiford committed -
2009-07-17 Jerry Quinn <jlquinn@optonline.net> * directives.c (do_linemarker, do_line): Use CPP_STRING for ignored enum value. * files.c (find_file_in_dir): Add cast from void* to char*. * symtab.c (ht_lookup_with_hash): Add cast from void* to char*. * Makefile.in: (WARN_CFLAGS): Use general and C-specific warnings. (CXX, CXXFLAGS, WARN_CXXFLAGS, ALL_CXXFLAGS, ENABLE_BUILD_WITH_CXX, CCDEPMODE, CXXDEPMODE, COMPILER, COMPILER_FLAGS): New. (DEPMODE): Set from CCDEPMODE or CXXDEPMODE. (COMPILE.base): Use COMPILER instead of CC. Use COMPILER_FLAGS instead of ALL_CFLAGS. * configure.ac: Invoke AC_PROG_CXX. Separate C-specific warnings from other warnings. Add -Wc++-compat to C-specific warnings. Check for --enable-build-with-cxx. Set and substitute ENABLE_BUILD_WITH_CXX. Invoke ZW_PROG_COMPILER_DEPENDENCIES according to ENABLE_BUILD_WITH_CXX. Invoke AC_LANG before AC_CHECK_HEADERS. * configure: Rebuild. * include/cpp-id-data.h: Remove extern "C". * include/line-map.h: Likewise. * include/mkdeps.h: Likewise. * include/symtab.h: Likewise. * internal.h: Likewise. From-SVN: r149763
Jerry Quinn committed -
From-SVN: r149762
GCC Administrator committed
-
- 17 Jul, 2009 14 commits
-
-
PR libfortran/40714 Co-Authored-By: Jerry DeLisle <jvdelisle@gcc.gnu.org> From-SVN: r149757
Janne Blomqvist committed -
demangle.h (enum demangle_component_type <DEMANGLE_COMPONENT_GLOBAL_CONSTRUCTORS>) (enum demangle_component_type <DEMANGLE_COMPONENT_GLOBAL_DESTRUCTORS>): New. include 2009-07-17 Jan Kratochvil <jan.kratochvil@redhat.com> * demangle.h (enum demangle_component_type <DEMANGLE_COMPONENT_GLOBAL_CONSTRUCTORS>) (enum demangle_component_type <DEMANGLE_COMPONENT_GLOBAL_DESTRUCTORS>): New. libiberty 2009-07-17 Jan Kratochvil <jan.kratochvil@redhat.com> * cp-demangle.c (d_print_comp <DEMANGLE_COMPONENT_GLOBAL_CONSTRUCTORS>) (d_print_comp <DEMANGLE_COMPONENT_GLOBAL_DESTRUCTORS): New. (d_make_comp <DEMANGLE_COMPONENT_GLOBAL_CONSTRUCTORS>) (d_make_comp <DEMANGLE_COMPONENT_GLOBAL_DESTRUCTORS): New. (d_demangle_callback): The variable type is now declared as enum. Replace parser of _GLOBAL_ symbols by a d_make_comp call. From-SVN: r149756
Jan Kratochvil committed -
* config/avr/avr-devices.c (avr_mcu_t): Add atmega8u2, atmega16u2 and atmega32u2 devices. * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.). From-SVN: r149755
Anatoly Sokolov committed -
2009-07-17 Richard Guenther <rguenther@suse.de> PR c/40401 * tree-pass.h (pass_diagnose_omp_blocks): Declare. (pass_warn_unused_result): Likewise. (TODO_set_props): Remove. * omp-low.c (diagnose_omp_structured_block_errors): Change to run as a pass. (pass_diagnose_omp_blocks): Define. * c-decl.c (pop_file_scope): Do not finalize the CU here. (c_gimple_diagnostics_recursively): Remove. (finish_function): Do not call it. (c_write_global_declarations): Continue after errors. Finalize the CU here. * c-gimplify.c (c_genericize): Do not gimplify here. * c-common.c (c_warn_unused_result): Move ... * tree-cfg.c (do_warn_unused_result): ... here. (run_warn_unused_result): New function. (gate_warn_unused_result): New function. (pass_warn_unused_result): New pass. * c-common.h (c_warn_unused_result): Remove. * flags.h (flag_warn_unused_result): Declare. * c-opts.c (c_common_init_options): Enable flag_warn_unused_result. * opts.c (flag_warn_unused_result): Initialize to false. * toplev.c (compile_file): Add comment. * omp-low.c (create_omp_child_function): Do not register the function with the frontend. (diagnose_omp_structured_block_errors): Prepare to be called as optimization pass. (gate_diagnose_omp_blocks): New function. (pass_diagnose_omp_blocks): New pass. * cgraph.h (cgraph_optimize): Remove. (cgraph_analyze_function): Likewise. * cgraph.c (cgraph_add_new_function): Gimplify C++ thunks. * cgraphunit.c (cgraph_lower_function): Lower nested functions before their parents here. (cgraph_finalize_function): Not here. (cgraph_analyze_function): Gimplify functions here. (cgraph_finalize_compilation_unit): Continue after errors. Optimize the callgraph from here. (cgraph_optimize): Make static. * langhooks.c (write_global_declarations): Finalize the CU. * gimplify.c (gimplify_asm_expr): Do not emit ASMs with errors. (gimplify_function_tree): Assert we gimplify only once. Set PROP_gimple_any property. * tree-nested.c (gimplify_all_functions): New function. (lower_nested_functions): Gimplify all nested functions. * gimple.h (diagnose_omp_structured_block_errors): Remove. * passes.c (init_optimization_passes): Add pass_warn_unused_result and pass_diagnose_omp_blocks after gimplification. Do not set TODO_set_props on all_lowering_passes. (execute_one_pass): Do not handle TODO_set_props. * Makefile.in (cgraphunit.o): Add $(TREE_DUMP_H) dependency. (gimplify.o): Add tree-pass.h dependency. * tree-inline.c (copy_statement_list): Properly copy STATEMENT_LIST. (copy_tree_body_r): Properly handle TARGET_EXPR like SAVE_EXPR. (unsave_r): Likewise. * c-omp.c (c_finish_omp_atomic): Set DECL_CONTEXT on the temporary variable. cp/ * decl.c (finish_function): Do not emit unused result warnings from here. * cp-objcp-common.h (LANG_HOOKS_POST_GIMPLIFY_PASS): Use c_warn_unused_result_pass. * semantics.c (expand_or_defer_fn): Adjust assertion about IL status. * optimize.c (clone_body): Clone in GENERIC. (maybe_clone_body): Do not clear DECL_SAVED_TREE. * decl2.c (cp_write_global_declarations): Fix body test. Do not call cgraph_optimize. * Make-lang.in (optimize.o): Add tree-iterator.h dependency. * method.c (use_thunk): Register thunk with cgraph_finalize_function. * error.c (function_category): Guard access of DECL_LANG_SPECIFIC. java/ * java-gimplify.c (java_genericize): Do not gimplify here. But replace all local references. (java_gimplify_expr): Do not replace local references here. (java_gimplify_modify_expr): Likewise. * jcf-parse.c (java_parse_file): Do not finalize the CU or optimize the cgraph here. * decl.c (java_replace_reference): Make static. (java_replace_references): New function. (end_java_method): Clear base_decl_map. * java-tree.h (java_replace_references): Declare. (java_replace_reference): Remove. ada/ * utils.c (end_subprog_body): Revert to pre-tuples state. Remove unused parameter. (gnat_gimplify_function): Do not gimplify here. Fold into its only caller and remove. (gnat_builtin_function): Adjust for end_subprog_body signature change. (gnat_write_global_declarations): Also finalize the CU. * misc.c (gnat_parse_file): Do not finalize the CU here. * trans.c (gigi): Revert to pre-tuples state. (Subprogram_Body_to_gnu): Adjust for end_subprog_body signature change. * gigi.h (end_subprog_body): Remove unused parameter. fortran/ * f95-lang.c (gfc_be_parse_file): Do not finalize the CU here. * trans-decl.c (gfc_gimplify_function): Remove. (build_entry_thunks): Do not gimplify here. (create_main_function): Likewise. (gfc_generate_function_code): Likewise. * g++.dg/rtti/crash4.C: New testcase. * g++.dg/torture/20090706-1.C: Likewise. * gcc.dg/redecl-17.c: Likewise. * gfortran.dg/missing_optional_dummy_5.f90: Adjust pattern. * gcc.dg/declspec-9.c: Expect extra error. * gcc.dg/declspec-10.c: Likewise. * gcc.dg/declspec-11.c: Likewise. * gcc.dg/redecl-10.c: Expect extra warnings. * gcc.target/i386/pr39082-1.c: Adjust diagnostic location. * gcc.target/i386/pr39545-1.c: Likewise. * g++.dg/ext/asm3.C: Expect more errors. * g++.dg/gomp/block-1.C: Likewise. * g++.dg/gomp/block-2.C: Likewise. * g++.dg/gomp/block-3.C: Likewise. * g++.dg/gomp/block-5.C: Likewise. * g++.old-deja/g++.jason/report.C: Expect extra warnings. * g++.dg/warn/unused-result1.C: XFAIL. From-SVN: r149750
Richard Guenther committed -
PR other/40784 config: * tls.m4 (GCC_CHECK_TLS): Add extra quoting around argument to AC_LINK_IFELSE. libjava: * configure: Regenerate. libstdc++-v3: * configure: Regenerate. From-SVN: r149748
Joseph Myers committed -
2009-07-17 Sandra Loosemore <sandra@codesourcery.com> gcc/ * doc/service.texi (Service): Restore previously removed link, which isn't broken after all. From-SVN: r149746
Sandra Loosemore committed -
2009-07-17 Richard Guenther <rguenther@suse.de> PR tree-optimization/40321 * tree-ssa-pre.c (add_to_exp_gen): Also add names defined by PHI nodes to the maximal set. (make_values_for_phi): Add PHI arguments to the maximal set. (execute_pre): Dump PHI_GEN and the maximal set. * gcc.c-torture/compile/pr40321.c: New testcase. * g++.dg/torture/pr40321.C: Likewise. From-SVN: r149744
Richard Guenther committed -
PR c++/40780 * gimplify.c (gimplify_conversion): Don't change non-conversions into VIEW_CONVERT_EXPR. * g++.dg/template/ptrmem19.C: New test. From-SVN: r149740
Jakub Jelinek committed -
2009-07-17 Kai Tietz <kai.tietz@onevision.com> * configure.ac: Add rule for mingw targets to add -DGC_BUILD=1 to cflags. * configure: Regenerated. From-SVN: r149737
Kai Tietz committed -
2009-07-17 Richard Guenther <rguenther@suse.de> * init.c (build_vec_delete_1): Do not set DECL_REGISTER on the temporary pointer. From-SVN: r149736
Richard Guenther committed -
2009-07-16 Sandra Loosemore <sandra@codesourcery.com> gcc/ * doc/extend.texi (Nested Functions): Replace broken link with textual reference. * doc/service.texi (Service): Remove broken link. From-SVN: r149734
Sandra Loosemore committed -
2009-07-16 H.J. Lu <hongjiu.lu@intel.com> PR bootstrap/40781 * builtins.c (expand_builtin_memcmp): Use loc instead of EXPR_LOCATION (exp). (expand_builtin_strncmp): Likewise. From-SVN: r149733
H.J. Lu committed -
From-SVN: r149731
GCC Administrator committed -
2009-07-16 Benjamin Kosnik <bkoz@redhat.com> * testsuite/util/testsuite_common_types.h (standard_layout): Activate. * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Adjust line numbers. * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Same. * testsuite/29_atomics/atomic/cons/assign_neg.cc: Same. * testsuite/29_atomics/atomic/cons/copy_neg.cc: Same. From-SVN: r149730
Benjamin Kosnik committed
-
- 16 Jul, 2009 13 commits
-
-
config: * tls.m4 (GCC_CHECK_TLS): Also test TLS in a shared library when cross-compiling. libgomp: * configure: Regenerate. libjava: * configure: Regenerate. libmudflap: * configure: Regenerate. libstdc++-v3: * configure: Regenerate. From-SVN: r149725
Joseph Myers committed -
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
Aldy Hernandez committed -
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
Jason Merrill committed -
m32c.c (m32c_compare_redundant): Avoid removing compares that may be 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
DJ Delorie committed -
* 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
Kaveh R. Ghazi committed -
From-SVN: r149715
Richard Henderson committed -
2009-07-16 Phil Muldoon <pmuldoon@redhat.com> Tom Tromey <tromey@redhat.com> * python/libstdcxx/v6/printers.py (StdStringPrinter.to_string): Fetch std::string to the given length. Co-Authored-By: Tom Tromey <tromey@redhat.com> From-SVN: r149714
Phil Muldoon committed -
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
Bingfeng Mei committed -
From-SVN: r149705
Jakub Jelinek committed -
istream.tcc (basic_istream<>::operator>>(short&), [...]): Implement resolution of DR 696, [Ready] in Frankfurt. 2009-07-16 Paolo Carlini <paolo.carlini@oracle.com> * include/bits/istream.tcc (basic_istream<>::operator>>(short&), basic_istream<>::operator>>(int&)): Implement resolution of DR 696, [Ready] in Frankfurt. * include/tr1_impl/regex (regex_traits<>::value): Adjust. * testsuite/27_io/basic_istream/extractors_arithmetic/char/dr696.cc: New. * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/dr696.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc: Adjust. * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/13.cc: Likewise. * doc/xml/manual/intro.xml: Add an entry for DR 696. * include/bits/istream.tcc: Minor clean-up to the initializers of the __err locals. * include/bits/ostream.tcc: Likewise. * src/compatibility.cc: Likewise. * src/istream.cc: Likewise. From-SVN: r149704
Paolo Carlini committed -
* 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
Simon Baldwin committed -
* config/mep/mep.md (sibcall_internal): Change register to avoid argument registers. (sibcall_value_internal): Likewise. From-SVN: r149701
DJ Delorie committed -
From-SVN: r149700
GCC Administrator committed
-
- 15 Jul, 2009 4 commits
-
-
PR rtl-optimization/40710 * resource.c (mark_target_live_regs): Reset DF problem to LR. From-SVN: r149696
Eric Botcazou committed -
*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
Adam Nemet committed -
sse.md (copysign<mode>3): Use "and-not" SSE instruction instead of "and" 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
Uros Bizjak committed -
* config/i386/sse.md (copysign<mode>3): Allocate registers only for operands[5] and operands[6]. From-SVN: r149690
Uros Bizjak committed
-