summaryrefslogtreecommitdiffstats
path: root/gcc/testsuite/c-c++-common
Commit message (Collapse)AuthorAgeFilesLines
...
* 2011-03-25 Richard Guenther <rguenther@suse.de>rguenth2011-03-251-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * passes.c (init_optimization_passes): Add FRE pass after early SRA. * g++.dg/tree-ssa/pr41186.C: Scan the appropriate FRE dump. * g++.dg/tree-ssa/pr8781.C: Likewise. * gcc.dg/ipa/ipa-pta-13.c: Likewise. * gcc.dg/ipa/ipa-pta-3.c: Likewise. * gcc.dg/ipa/ipa-pta-4.c: Likewise. * gcc.dg/tree-ssa/20041122-1.c: Likewise. * gcc.dg/tree-ssa/alias-18.c: Likewise. * gcc.dg/tree-ssa/foldstring-1.c: Likewise. * gcc.dg/tree-ssa/forwprop-10.c: Likewise. * gcc.dg/tree-ssa/forwprop-9.c: Likewise. * gcc.dg/tree-ssa/fre-vce-1.c: Likewise. * gcc.dg/tree-ssa/loadpre6.c: Likewise. * gcc.dg/tree-ssa/pr21574.c: Likewise. * gcc.dg/tree-ssa/ssa-dom-cse-1.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-1.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-11.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-12.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-13.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-14.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-15.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-16.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-17.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-18.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-19.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-2.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-21.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-22.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-23.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-24.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-25.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-26.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-27.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-3.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-4.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-5.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-6.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-7.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-8.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-9.c: Likewise. * gcc.dg/tree-ssa/ssa-pre-10.c: Likewise. * gcc.dg/tree-ssa/ssa-pre-26.c: Likewise. * gcc.dg/tree-ssa/ssa-pre-7.c: Likewise. * gcc.dg/tree-ssa/ssa-pre-8.c: Likewise. * gcc.dg/tree-ssa/ssa-pre-9.c: Likewise. * gcc.dg/tree-ssa/ssa-sccvn-1.c: Likewise. * gcc.dg/tree-ssa/ssa-sccvn-2.c: Likewise. * gcc.dg/tree-ssa/ssa-sccvn-3.c: Likewise. * gcc.dg/tree-ssa/ssa-sccvn-4.c: Likewise. * gcc.dg/tree-ssa/struct-aliasing-1.c: Likewise. * gcc.dg/tree-ssa/struct-aliasing-2.c: Likewise. * c-c++-common/pr46562-2.c: Likewise. * gfortran.dg/pr42108.f90: Likewise. * gcc.dg/torture/pta-structcopy-1.c: Scan ealias dump, force foo to be inlined even at -O1. * gcc.dg/tree-ssa/ssa-dce-4.c: Disable FRE. * gcc.dg/ipa/ipa-pta-14.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-1.c: Adjust. * gcc.dg/matrix/matrix.exp: Disable FRE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171450 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-03-24 Richard Guenther <rguenther@suse.de>rguenth2011-03-242-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR tree-optimization/46562 * tree.c (build_invariant_address): New function. * tree.h (build_invariant_address): Declare. * tree-dfa.c (get_addr_base_and_unit_offset): Wrap around a renamed function moved ... * tree-flow-inline.h (get_addr_base_and_unit_offset_1): ... here. Take valueization callback parameter. * tree-flow.h (gimple_fold_stmt_to_constant): Declare. * gimple-fold.h: New file. * tree-ssa-ccp.c (ccp_fold): Use gimple_fold_stmt_to_constant_1. (ccp_fold, fold_const_aggregate_ref, fold_ctor_reference, fold_nonarray_ctor_reference, fold_array_ctor_reference, fold_string_cst_ctor_reference, get_base_constructor): Move ... * gimple-fold.c: ... here. (gimple_fold_stmt_to_constant_1): New function split out from ccp_fold. Take a valueization callback parameter. Valueize all operands. (gimple_fold_stmt_to_constant): New wrapper function. (fold_const_aggregate_ref_1): New function split out from fold_const_aggregate_ref. Take a valueization callback parameter. (fold_const_aggregate_ref): Wrap fold_const_aggregate_ref_1. * tree-ssa-sccvn.c (simplify_binary_expression): Simplify invariant POINTER_PLUS_EXPRs to invariant form. (vn_valueize): New function. (try_to_simplify): Simplify by using gimple_fold_stmt_to_constant. * tree-vrp.c (vrp_valueize): New function. (vrp_visit_assignment_or_call): Use gimple_fold_stmt_to_constant to fold statements to constants. * tree-ssa-pre.c (eliminate): Properly guard propagation of function declarations. * Makefile.in (tree-ssa-sccvn.o, tree-vrp.o, gimple-fold.o, tree-ssa-ccp.o): Add gimple-fold.h dependencies. * c-c++-common/pr46562-2.c: New testcase. * c-c++-common/pr46562.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171386 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-02-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>krebbel2011-02-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | PR middle-end/47646 * gcc.dg/pr39666-2.c (foo2): If the location of the statement using the variable is known the warning is emitted there. * gcc.dg/uninit-pr19430.c (foo): Likewise. * g++.dg/warn/Wuninitialized-5.C (foo): Likewise. * c-c++-common/pr20000.c (g): Both warnings occur at the return statement. (vg): Likewise. * gcc.dg/noreturn-1.c (foo5): Likewise. * objc.dg/attributes/method-noreturn-1.m (method1): Likewise. (method2): Likewise. * gfortran.dg/pr25923.f90 (baz): The warning will now be issued for the return statement using the uninitialized variable. * gfortran.dg/pr39666-2.f90 (f): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@169927 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-11-22 Ian Bolton <ian.bolton@arm.com>ibolton2010-11-221-0/+1
| | | | | | | | | | * testsuite/c-c++-common/pr44832.c: Use -fno-short-enums option for "target short_enums". * testsuite/gcc.c-torture/compile/pr39845.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167036 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/froydnj2010-11-181-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | PR c/33193 * c-typeck.c (build_unary_op): Call build_real_imag_expr for REALPART_EXPR and IMAGPART_EXPR. gcc/c-family/ PR c/33193 * c-common.h (build_real_imag_expr): Declare. * c-semantics.c (build_real_imag_expr): Define. gcc/cp/ PR c/33193 * typeck.c (cp_build_unary_op): Call build_real_imag_expr for REALPART_EXPR and IMAGPART_EXPR. gcc/testsuite/ PR c/33193 * c-c++-common/pr33193.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166909 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/froydnj2010-11-121-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | PR c/44782 * common.opt (fmax-errors=): New option. * opts.c (common_handle_option) [OPT_fmax_errors_]: Handle it. * diagnostic.h (struct diagnostic_context): Add max_errors field. * diagnostic.c (diagnostic_initialize): Initialize it. (diagnostic_action_after_output): Exit if more than max_errors have been output. * doc/invoke.texi (Warning Options): Add -fmax-errors. (-fmax-errors): Document. gcc/fortran/ PR c/44782 * options.c (gfc_post_options): Initialize gfc_option.max_errors. (gfc_handle_option) [OPT_fmax_errors_]: Remove. * lang.opt (fmax-errors=): Remove. gcc/testsuite/ PR c/44782 * c-c++-common/fmax-errors.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166644 138bc75d-0d04-0410-961f-82ee72b054a4
* PR middle-end/43690jakub2010-11-051-0/+13
| | | | | | | | | | * gimplify.c (gimplify_asm_expr): If a "m" input is a {pre,post}{in,de}crement, fail. * c-c++-common/pr43690.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166354 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-10-22 Richard Guenther <rguenther@suse.de>rguenth2010-10-221-0/+18
| | | | | | | | | | | PR middle-end/46137 * gimple-fold.c (gimplify_and_update_call_from_tree): Properly remove the virtual operands if they are not needed. * c-c++-common/torture/pr46137.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165852 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c/46015jakub2010-10-181-0/+27
| | | | | | | | | | | | | * c-parser.c (c_parser_statement_after_labels): Call mark_exp_read on computed goto argument. * semantics.c (finish_goto_stmt): Call mark_rvalue_use on computed goto destination. * c-c++-common/Wunused-var-13.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165643 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-c++-common/Wunused-var-12.c: Add -fno-common to options on 32-bitdanglin2010-09-091-0/+1
| | | | | | | | hppa*-*-hpux*. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164044 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-c++-common/uninit-17.c: Adjust.matz2010-09-081-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164002 138bc75d-0d04-0410-961f-82ee72b054a4
* PR preprocessor/45457jakub2010-08-311-0/+18
| | | | | | | | | | | * expr.c (parse_defined): Call pfile->cb.user_builtin_macro hook if needed. * directives.c (do_ifdef, do_ifndef): Likewise. * c-c++-common/cpp/pr45457.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163705 138bc75d-0d04-0410-961f-82ee72b054a4
* fix testdavidxl2010-07-301-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162720 138bc75d-0d04-0410-961f-82ee72b054a4
* fix PR45121davidxl2010-07-291-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162687 138bc75d-0d04-0410-961f-82ee72b054a4
* PR middle-end/44738bernds2010-07-211-2/+2
| | | | | | | | | | * tree-ssa.c (warn_uninit): Avoid emitting an unnecessary message. PR middle-end/44738 * c-c++-common/uninit-17.c: Correct expected error. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162372 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc.dg/guality/guality.exp: Run also c-c++-common/guality/ tests.jakub2010-07-161-0/+16
| | | | | | | | | | | | | | | | * gcc.dg/guality/guality.h: Include unistd.h. Make the header usable in C++. (gualcvt): New overloaded inline. (GUALCVT): Use it for C++. * g++.dg/guality/guality.exp: New. * g++.dg/guality/guality.h: New. * g++.dg/guality/redeclaration1.C: New test. * g++.dg/dg.exp: Prune also guality/* tests. * gcc.dg/guality/pr43141.c: Moved to... * c-c++-common/guality/pr43141.c: ... here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162266 138bc75d-0d04-0410-961f-82ee72b054a4
* Disable float tests for __SPU__ targets due to lack of signed zero:uweigand2010-07-159-0/+18
| | | | | | | | | | | | | | | * c-c++-common/torture/complex-sign-add.c (check_add_float). * c-c++-common/torture/complex-sign-sub.c (check_sub_float). * c-c++-common/torture/complex-sign-mul.c (check_mul_float). * c-c++-common/torture/complex-sign-mul-one.c (check_mul_float). * c-c++-common/torture/complex-sign-mul-minus-one.c (check_mul_float). * c-c++-common/torture/complex-sign-mixed-add.c (check_add_float). * c-c++-common/torture/complex-sign-mixed-sub.c (check_sub_float). * c-c++-common/torture/complex-sign-mixed-mul.c (check_mul_float). * c-c++-common/torture/complex-sign-mixed-div.c (check_div_float). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162232 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc:amylaar2010-07-131-0/+160
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR other/44874 * tree-dump.c (dump_options): Add enumerate_locals entry. Add TDF_NOID exclusion to all entry. * tree-dump.h (dump_enumerated_decls): Declare. * tree-pretty-print.c (dump_generic_node): For TDF_NOID, Don't display type uid. (print_declaration): Don't crash on TREE_TYPE (t) == 0. * tree-pass.h (TDF_ENUMERATE_LOCALS): Define. * tree-ssa-live.c: Include gimple.h. (numbered_tree_d): New struct. (numbered_tree): New typedef. (DEF_VEC_O (numbered_tree): New. (DEF_VEC_ALLOC_O (numbered_tree, heap)): Likewise. (compare_decls_by_uid, dump_enumerated_decls_push): New functions. (dump_enumerated_decls): Likewise. * tree-optimize.c (execute_cleanup_cfg_post_optimizing): If comparing debug info and flag_dump_final_insns, call dump_enumerated_decls. * tree-cfg.c (dump_function_to_file): Call dump_enumerated_decls. * Makefile.in (tree-ssa-live.o): Depend on $(GIMPLE_H). gcc/testsuite: PR other/44874 PR debug/44832 * c-c++-common/pr44832.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162156 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/44780jakub2010-07-021-0/+25
| | | | | | | | | | | | | | * typeck.c (convert_for_assignment): When converting a convertible vector type or objc++ types, call mark_rvalue_use. * typeck2.c (build_m_component_ref): Use return values from mark_rvalue_use or mark_lvalue_use. * class.c (build_base_path): Likewise. * call.c (build_conditional_expr): Likewise. * c-c++-common/Wunused-var-12.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161742 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-07-01 Richard Guenther <rguenther@suse.de>rguenth2010-07-011-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR middle-end/42834 PR middle-end/44468 * doc/gimple.texi (is_gimple_mem_ref_addr): Document. * doc/generic.texi (References to storage): Document MEM_REF. * tree-pretty-print.c (dump_generic_node): Handle MEM_REF. (print_call_name): Likewise. * tree.c (recompute_tree_invariant_for_addr_expr): Handle MEM_REF. (build_simple_mem_ref_loc): New function. (mem_ref_offset): Likewise. * tree.h (build_simple_mem_ref_loc): Declare. (build_simple_mem_ref): Define. (mem_ref_offset): Declare. * fold-const.c: Include tree-flow.h. (operand_equal_p): Handle MEM_REF. (build_fold_addr_expr_with_type_loc): Likewise. (fold_comparison): Likewise. (fold_unary_loc): Fold VIEW_CONVERT_EXPR <T1, MEM_REF <T2, ...>> to MEM_REF <T1, ...>. (fold_binary_loc): Fold MEM[&MEM[p, CST1], CST2] to MEM[p, CST1 + CST2], fold MEM[&a.b, CST2] to MEM[&a, offsetof (a, b) + CST2]. * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle MEM_REF. (ptr_deref_may_alias_ref_p_1): Likewise. (ao_ref_base_alias_set): Properly differentiate base object for offset and TBAA. (ao_ref_init_from_ptr_and_size): Use MEM_REF. (indirect_ref_may_alias_decl_p): Handle MEM_REFs properly. (indirect_refs_may_alias_p): Likewise. (refs_may_alias_p_1): Likewise. Remove pointer SSA name def chasing code. (ref_maybe_used_by_call_p_1): Handle MEM_REF. (call_may_clobber_ref_p_1): Likewise. * dwarf2out.c (loc_list_from_tree): Handle MEM_REF. * expr.c (expand_assignment): Handle MEM_REF. (store_expr): Handle MEM_REFs from STRING_CSTs. (store_field): If expanding a MEM_REF of a non-addressable decl use bitfield operations. (get_inner_reference): Handle MEM_REF. (expand_expr_addr_expr_1): Likewise. (expand_expr_real_1): Likewise. * tree-eh.c (tree_could_trap_p): Handle MEM_REF. * alias.c (ao_ref_from_mem): Handle MEM_REF. (get_alias_set): Likewise. Properly handle VIEW_CONVERT_EXPRs. * tree-data-ref.c (dr_analyze_innermost): Handle MEM_REF. (dr_analyze_indices): Likewise. (dr_analyze_alias): Likewise. (object_address_invariant_in_loop_p): Likewise. * gimplify.c (mark_addressable): Handle MEM_REF. (gimplify_cond_expr): Build MEM_REFs. (gimplify_modify_expr_to_memcpy): Likewise. (gimplify_init_ctor_preeval_1): Handle MEM_REF. (gimple_fold_indirect_ref): Adjust. (gimplify_expr): Handle MEM_REF. Gimplify INDIRECT_REF to MEM_REF. * tree.def (MEM_REF): New tree code. * tree-dfa.c: Include toplev.h. (get_ref_base_and_extent): Handle MEM_REF. (get_addr_base_and_unit_offset): New function. * emit-rtl.c (set_mem_attributes_minus_bitpos): Handle MEM_REF. * gimple-fold.c (may_propagate_address_into_dereference): Handle MEM_REF. (maybe_fold_offset_to_array_ref): Allow possibly out-of bounds accesses if the array has just one dimension. Remove always true parameter. Do not require type compatibility here. (maybe_fold_offset_to_component_ref): Remove. (maybe_fold_stmt_indirect): Remove. (maybe_fold_reference): Remove INDIRECT_REF handling. Fold back to non-MEM_REF. (maybe_fold_offset_to_address): Simplify. Deal with type mismatches here. (maybe_fold_reference): Likewise. (maybe_fold_stmt_addition): Likewise. Also handle &ARRAY + I in addition to &ARRAY[0] + I. (fold_gimple_assign): Handle ADDR_EXPR of MEM_REFs. (gimple_get_relevant_ref_binfo): Handle MEM_REF. * cfgexpand.c (expand_debug_expr): Handle MEM_REF. * tree-ssa.c (useless_type_conversion_p): Make most pointer conversions useless. (warn_uninitialized_var): Handle MEM_REF. (maybe_rewrite_mem_ref_base): New function. (execute_update_addresses_taken): Implement re-writing of MEM_REFs to SSA form. * tree-inline.c (remap_gimple_op_r): Handle MEM_REF, remove INDIRECT_REF handling. (copy_tree_body_r): Handle MEM_REF. * gimple.c (is_gimple_addressable): Adjust. (is_gimple_address): Likewise. (is_gimple_invariant_address): ADDR_EXPRs of MEM_REFs with invariant base are invariant. (is_gimple_min_lval): Adjust. (is_gimple_mem_ref_addr): New function. (get_base_address): Handle MEM_REF. (count_ptr_derefs): Likewise. (get_base_loadstore): Likewise. * gimple.h (is_gimple_mem_ref_addr): Declare. (gimple_call_fndecl): Handle invariant MEM_REF addresses. * tree-cfg.c (verify_address): New function, split out from ... (verify_expr): ... here. Use for verifying ADDR_EXPRs and the address operand of MEM_REFs. Verify MEM_REFs. Reject INDIRECT_REFs. (verify_types_in_gimple_min_lval): Handle MEM_REF. Disallow INDIRECT_REF. Allow conversions. (verify_types_in_gimple_reference): Verify VIEW_CONVERT_EXPR of a register does not change its size. (verify_types_in_gimple_reference): Verify MEM_REF. (verify_gimple_assign_single): Disallow INDIRECT_REF. Handle MEM_REF. * tree-ssa-operands.c (opf_non_addressable, opf_not_non_addressable): New. (mark_address_taken): Handle MEM_REF. (get_indirect_ref_operands): Pass through opf_not_non_addressable. (get_asm_expr_operands): Pass opf_not_non_addressable. (get_expr_operands): Handle opf_[not_]non_addressable. Handle MEM_REF. Remove INDIRECT_REF handling. * tree-vrp.c: (check_array_ref): Handle MEM_REF. (search_for_addr_array): Likewise. (check_array_bounds): Likewise. (vrp_stmt_computes_nonzero): Adjust for MEM_REF. * tree-ssa-loop-im.c (for_each_index): Handle MEM_REF. (ref_always_accessed_p): Likewise. (gen_lsm_tmp_name): Likewise. Handle ADDR_EXPR. * tree-complex.c (extract_component): Do not handle INDIRECT_REF. Handle MEM_REF. * cgraphbuild.c (mark_load): Properly check for NULL result from get_base_address. (mark_store): Likewise. * tree-ssa-loop-niter.c (array_at_struct_end_p): Handle MEM_REF. * tree-loop-distribution.c (generate_builtin): Exchange INDIRECT_REF handling for MEM_REF. * tree-scalar-evolution.c (follow_ssa_edge_expr): Handle &MEM[ptr + CST] similar to POINTER_PLUS_EXPR. * builtins.c (stabilize_va_list_loc): Use the function ABI valist type if we couldn't canonicalize the argument type. Always dereference with the canonical va-list type. (maybe_emit_free_warning): Handle MEM_REF. (fold_builtin_memory_op): Simplify and handle MEM_REFs in folding memmove to memcpy. * builtins.c (fold_builtin_memory_op): Use ref-all types for all memcpy foldings. * omp-low.c (build_receiver_ref): Adjust for MEM_REF. (build_outer_var_ref): Likewise. (scan_omp_1_op): Likewise. (lower_rec_input_clauses): Likewise. (lower_lastprivate_clauses): Likewise. (lower_reduction_clauses): Likewise. (lower_copyprivate_clauses): Likewise. (expand_omp_atomic_pipeline): Likewise. (expand_omp_atomic_mutex): Likewise. (create_task_copyfn): Likewise. * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle MEM_REF. Remove old union trick. Initialize constant offsets. (ao_ref_init_from_vn_reference): Likewise. Do not handle INDIRECT_REF. Init base_alias_set properly. (vn_reference_lookup_3): Replace INDIRECT_REF handling with MEM_REF. (vn_reference_fold_indirect): Adjust for MEM_REFs. (valueize_refs): Fold MEM_REFs. Re-evaluate constant offset for ARRAY_REFs. (may_insert): Remove. (visit_reference_op_load): Do not test may_insert. (run_scc_vn): Remove parameter, do not fiddle with may_insert. * tree-ssa-sccvn.h (struct vn_reference_op_struct): Add a field to store the constant offset this op applies. (run_scc_vn): Adjust prototype. * cgraphunit.c (thunk_adjust): Adjust for MEM_REF. * tree-ssa-ccp.c (ccp_fold): Replace INDIRECT_REF folding with MEM_REF. Propagate &foo + CST as &MEM[&foo, CST]. Do not bother about volatile qualifiers on pointers. (fold_const_aggregate_ref): Handle MEM_REF, do not handle INDIRECT_REF. * tree-ssa-loop-ivopts.c * tree-ssa-loop-ivopts.c (determine_base_object): Adjust for MEM_REF. (strip_offset_1): Likewise. (find_interesting_uses_address): Replace INDIRECT_REF handling with MEM_REF handling. (get_computation_cost_at): Likewise. * ipa-pure-const.c (check_op): Handle MEM_REF. * tree-stdarg.c (check_all_va_list_escapes): Adjust for MEM_REF. * tree-ssa-sink.c (is_hidden_global_store): Handle MEM_REF and constants. * ipa-inline.c (likely_eliminated_by_inlining_p): Handle MEM_REF. * tree-parloops.c (take_address_of): Adjust for MEM_REF. (eliminate_local_variables_1): Likewise. (create_call_for_reduction_1): Likewise. (create_loads_for_reductions): Likewise. (create_loads_and_stores_for_name): Likewise. * matrix-reorg.c (may_flatten_matrices_1): Sanitize. (ssa_accessed_in_tree): Handle MEM_REF. (ssa_accessed_in_assign_rhs): Likewise. (update_type_size): Likewise. (analyze_accesses_for_call_stmt): Likewise. (analyze_accesses_for_assign_stmt): Likewise. (transform_access_sites): Likewise. (transform_allocation_sites): Likewise. * tree-affine.c (tree_to_aff_combination): Handle MEM_REF. * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Do not handle INDIRECT_REF. * tree-ssa-phiopt.c (add_or_mark_expr): Handle MEM_REF. (cond_store_replacement): Likewise. * tree-ssa-pre.c (create_component_ref_by_pieces_1): Handle MEM_REF, no not handle INDIRECT_REFs. (insert_into_preds_of_block): Properly initialize avail. (phi_translate_1): Fold MEM_REFs. Re-evaluate constant offset for ARRAY_REFs. Properly handle reference lookups that require a bit re-interpretation. (can_PRE_operation): Do not handle INDIRECT_REF. Handle MEM_REF. * tree-sra.c * tree-sra.c (build_access_from_expr_1): Handle MEM_REF. (build_ref_for_offset_1): Remove. (build_ref_for_offset): Build MEM_REFs. (gate_intra_sra): Disable for now. (sra_ipa_modify_expr): Handle MEM_REF. (ipa_early_sra_gate): Disable for now. * tree-sra.c (create_access): Swap INDIRECT_REF handling for MEM_REF handling. (disqualify_base_of_expr): Likewise. (ptr_parm_has_direct_uses): Swap INDIRECT_REF handling for MEM_REF handling. (sra_ipa_modify_expr): Remove INDIRECT_REF handling. Use mem_ref_offset. Remove bogus folding. (build_access_from_expr_1): Properly handle MEM_REF for non IPA-SRA. (make_fancy_name_1): Add support for MEM_REF. * tree-predcom.c (ref_at_iteration): Handle MEM_REFs. * tree-mudflap.c (mf_xform_derefs_1): Adjust for MEM_REF. * ipa-prop.c (compute_complex_assign_jump_func): Handle MEM_REF. (compute_complex_ancestor_jump_func): Likewise. (ipa_analyze_virtual_call_uses): Likewise. * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Replace INDIRECT_REF folding with more generalized MEM_REF folding. (tree_ssa_forward_propagate_single_use_vars): Adjust accordingly. (forward_propagate_addr_into_variable_array_index): Also handle &ARRAY + I in addition to &ARRAY[0] + I. * tree-ssa-dce.c (ref_may_be_aliased): Handle MEM_REF. * tree-ssa-ter.c (find_replaceable_in_bb): Avoid TER if that creates assignments with overlap. * tree-nested.c (get_static_chain): Adjust for MEM_REF. (get_frame_field): Likewise. (get_nonlocal_debug_decl): Likewise. (convert_nonlocal_reference_op): Likewise. (struct nesting_info): Add mem_refs pointer-set. (create_nesting_tree): Allocate it. (convert_local_reference_op): Insert to be folded mem-refs. (fold_mem_refs): New function. (finalize_nesting_tree_1): Perform defered folding of mem-refs (free_nesting_tree): Free the pointer-set. * tree-vect-stmts.c (vectorizable_store): Adjust for MEM_REF. (vectorizable_load): Likewise. * tree-ssa-phiprop.c (phiprop_insert_phi): Adjust for MEM_REF. (propagate_with_phi): Likewise. * tree-object-size.c (addr_object_size): Handle MEM_REFs instead of INDIRECT_REFs. (compute_object_offset): Handle MEM_REF. (plus_stmt_object_size): Handle MEM_REF. (collect_object_sizes_for): Dispatch to plus_stmt_object_size for &MEM_REF. * tree-flow.h (get_addr_base_and_unit_offset): Declare. (symbol_marked_for_renaming): Likewise. * Makefile.in (tree-dfa.o): Add $(TOPLEV_H). (fold-const.o): Add $(TREE_FLOW_H). * tree-ssa-structalias.c (get_constraint_for_1): Handle MEM_REF. (find_func_clobbers): Likewise. * ipa-struct-reorg.c (decompose_indirect_ref_acc): Handle MEM_REF. (decompose_access): Likewise. (replace_field_acc): Likewise. (replace_field_access_stmt): Likewise. (insert_new_var_in_stmt): Likewise. (get_stmt_accesses): Likewise. (reorg_structs_drive): Disable. * config/i386/i386.c (ix86_va_start): Adjust for MEM_REF. (ix86_canonical_va_list_type): Likewise. cp/ * cp-gimplify.c (cp_gimplify_expr): Open-code the rhs predicate we are looking for, allow non-gimplified INDIRECT_REFs. testsuite/ * gcc.c-torture/execute/20100316-1.c: New testcase. * gcc.c-torture/execute/pr44468.c: Likewise. * gcc.c-torture/compile/20100609-1.c: Likewise. * gcc.dg/volatile2.c: Adjust. * gcc.dg/plugin/selfassign.c: Likewise. * gcc.dg/pr36902.c: Likewise. * gcc.dg/tree-ssa/foldaddr-2.c: Remove. * gcc.dg/tree-ssa/foldaddr-3.c: Likewise. * gcc.dg/tree-ssa/forwprop-8.c: Adjust. * gcc.dg/tree-ssa/pr17141-1.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-13.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-14.c: Likewise. * gcc.dg/tree-ssa/ssa-ccp-21.c: Likewise. * gcc.dg/tree-ssa/pta-ptrarith-1.c: Likewise. * gcc.dg/tree-ssa/20030807-7.c: Likewise. * gcc.dg/tree-ssa/forwprop-10.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-1.c: Likewise. * gcc.dg/tree-ssa/pta-ptrarith-2.c: Likewise. * gcc.dg/tree-ssa/ssa-ccp-23.c: Likewise. * gcc.dg/tree-ssa/forwprop-1.c: Likewise. * gcc.dg/tree-ssa/forwprop-2.c: Likewise. * gcc.dg/tree-ssa/struct-aliasing-1.c: Likewise. * gcc.dg/tree-ssa/ssa-ccp-25.c: Likewise. * gcc.dg/tree-ssa/ssa-pre-26.c: Likewise. * gcc.dg/tree-ssa/struct-aliasing-2.c: Likewise. * gcc.dg/tree-ssa/ssa-ccp-26.c: Likewise. * gcc.dg/tree-ssa/ssa-sccvn-4.c: Likewise. * gcc.dg/tree-ssa/ssa-pre-7.c: Likewise. * gcc.dg/tree-ssa/forwprop-5.c: Likewise. * gcc.dg/struct/w_prof_two_strs.c: XFAIL. * gcc.dg/struct/wo_prof_escape_arg_to_local.c: Likewise. * gcc.dg/struct/wo_prof_global_var.c: Likewise. * gcc.dg/struct/wo_prof_malloc_size_var.c: Likewise. * gcc.dg/struct/w_prof_local_array.c: Likewise. * gcc.dg/struct/w_prof_single_str_global.c: Likewise. * gcc.dg/struct/wo_prof_escape_str_init.c: Likewise. * gcc.dg/struct/wo_prof_array_through_pointer.c: Likewise. * gcc.dg/struct/w_prof_global_array.c: Likewise. * gcc.dg/struct/wo_prof_array_field.c: Likewise. * gcc.dg/struct/wo_prof_single_str_local.c: Likewise. * gcc.dg/struct/w_prof_local_var.c: Likewise. * gcc.dg/struct/wo_prof_two_strs.c: Likewise. * gcc.dg/struct/wo_prof_empty_str.c: Likewise. * gcc.dg/struct/wo_prof_local_array.c: Likewise. * gcc.dg/struct/w_prof_global_var.c: Likewise. * gcc.dg/struct/wo_prof_single_str_global.c: Likewise. * gcc.dg/struct/wo_prof_escape_substr_value.c: Likewise. * gcc.dg/struct/wo_prof_global_array.c: Likewise. * gcc.dg/struct/wo_prof_escape_return.c: Likewise. * gcc.dg/struct/wo_prof_escape_substr_array.c: Likewise. * gcc.dg/struct/wo_prof_double_malloc.c: Likewise. * gcc.dg/struct/w_ratio_cold_str.c: Likewise. * gcc.dg/struct/wo_prof_escape_substr_pointer.c: Likewise. * gcc.dg/struct/wo_prof_local_var.c: Likewise. * gcc.dg/tree-prof/stringop-1.c: Adjust. * g++.dg/tree-ssa/pr31146.C: Likewise. * g++.dg/tree-ssa/copyprop-1.C: Likewise. * g++.dg/tree-ssa/pr33604.C: Likewise. * g++.dg/plugin/selfassign.c: Likewise. * gfortran.dg/array_memcpy_3.f90: Likewise. * gfortran.dg/array_memcpy_4.f90: Likewise. * c-c++-common/torture/pr42834.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161655 138bc75d-0d04-0410-961f-82ee72b054a4
* PR tree-optimization/39799bernds2010-06-301-0/+25
| | | | | | | | | | | | | * tree-inline.c (remap_ssa_name): Initialize variable only if SSA_NAME_OCCURS_IN_ABNORMAL_PHI. testsuite/ PR tree-optimization/39799 * c-c++-common/uninit-17.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161605 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-06-24 Andi Kleen <ak@linux.intel.com>manu2010-06-241-0/+29
| | | | | | | | | | | | | | | | | | | * c-parser.c (c_parser_conditional_expression): Call warn_for_omitted_condop. * doc/invoke.texi: Document omitted condop warning. c-family/ * c-common.c (warn_for_omitted_condop): New. * c-common.h (warn_for_omitted_condop): Add prototype. testsuite/ * c-c++-common/warn-omitted-condop.c: New. cp/ * parser.c: (cp_parser_question_colon_clause): Switch to use cp_lexer_peek_token. Call warn_for_omitted_condop. Call pedwarn for omitted middle operand. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161318 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/44443jakub2010-06-071-0/+12
| | | | | | | | | | * decl.c (initialize_local_var): If TREE_USED is set on the type, set also DECL_READ_P on the decl. * c-c++-common/Wunused-var-11.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160387 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-06-06 Manuel López-Ibáñez <manu@gcc.gnu.org>manu2010-06-061-0/+32
| | | | | | | | | | PR c/20000 * c-decl.c (grokdeclarator): Delete warning. testsuite/ * c-c++-common/pr20000.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160346 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/44361jakub2010-06-051-0/+80
| | | | | | | | | | | * c-typeck.c (mark_exp_read): Handle C_MAYBE_CONST_EXPR. * c-parser.c (c_parser_postfix_expression): Call mark_exp_read on statement expression. * c-c++-common/Wunused-var-9.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160318 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/44362jakub2010-06-041-0/+68
| | | | | | | | | | * call.c (build_conditional_expr): If both arg2 and arg3 are lvalues with the same type, call mark_lvalue_use on both. * c-c++-common/Wunused-var-10.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160289 138bc75d-0d04-0410-961f-82ee72b054a4
* libiberty/ktietz2010-05-263-0/+864
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2010-05-26 Kai Tietz <kai.tietz@onevision.com> * testsuite/demangle-expected: Add tests for __int128 and unsigned __int128 types. gcc/testsuite 2010-05-26 Kai Tietz <kai.tietz@onevision.com> * lib/target-supports.exp (check_effective_target_int128): New function to check if __int128 types are available for target. * testsuite/c-c++-common/int128-types-1.c: New. * testsuite/c-c++-common/int128-1.c: New. * testsuite/c-c++-common/int128-2.c: New. * g++.dg/abi/mangle43.C: New. * g++.dg/init/enum1.C: Handle __int128 case and add -Wno-overflow. * g++.dg/cpp0x/nullptr04.C: Use __SIZE_TYPE__ for getting pointer-wide scalar. * g++.dg/other/pr25632.C: Likewise. * g++.dg/other/large-size-array.C (DIM): Use ULLONG_MAX for win64 case. * g++.dg/warn/pr13358-2.C: Add llp64 for check of special overflow warnings. * g++.dg/warn/pr13358-4.C: Likewise. * g++.dg/warn/Wconversion-null-2.C: Add 'long long' case. * g++.dg/warn/Wconversion-null.C: Likewise. gcc/ 2010-05-26 Kai Tietz <kai.tietz@onevision.com> * builtin-types.def (BT_INT128): New primitive type. (BT_UINT128): Likewise. * c-common.c (c_common_r): Add __int128 keyword. (c_common_type_for_size): Handle __int128. (c_common_type_for_mode): Likewise. (c_common_signed_or_unsigned_type): Likewise. (c_common_nodes_and_builtins): Add builtin type if target supports 128-bit integer scalar. * c-common.h (enum rid): Add RID_INT128. * c-cppbuiltin.c (c_cpp_builtins): Define __SIZEOF_INT128__ if target supports 128-bit integer scalar. * c-decl.c (declspecs_add_type): Handle new keyword __int128. (finish_declspecs): Likewise. * c-parser.c (c_token_starts_typename): Handle RID_INT128. (c_token_starts_declspecs): Likewise. (c_parser_declspecs): Likewise. (c_parser_attributes): Likewise. (c_parser_objc_selector): Likewise. * c-pretty-print.c (pp_c_integer_constant): Handle __int128. * c-tree.h (enum c_typespec_keyword): Add cts_int128. * gimple.c (gimple_signed_or_unsigned_type): Handle int128 types. * tree.c (make_or_reuse_type): Likewise. (make_unsigned_type): Likewise. (build_common_tree_nodes_2): Likewise. * tree.h (enum integer_type_kind): Add itk_int128 and itk_unsigned_int128. (int128_integer_type_node): New define.. (int128_unsigned_type_node): New define. * cp/cp-tree.h (cp_decl_specifier_seq): Add new bifield explicit_int128_p. * cp/decl.c (grokdeclarator): Handle __int128. * cp/parser.c (cp_lexer_next_token_is_decl_specifier_ke): Likewise. (cp_parser_simple_type_specifier): Likewise. * cp/rtti.c (emit_support_tinfos): Add int128 nodes for rtti. * cp/typeck.c (cp_common_type): Handle __int128. * cp/mangle.c (integer_type_codes): Add itk_int128 and itk_unsigned_int128. * doc/extend.texi: Add documentation about __int128 type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159879 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/44108jakub2010-05-171-0/+19
| | | | | | | | | * decl.c (compute_array_index_type): Call mark_rvalue_use. * c-c++-common/Wunused-var-8.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159497 138bc75d-0d04-0410-961f-82ee72b054a4
* PR middle-end/44071jakub2010-05-111-0/+44
| | | | | | | | | | | | | | | | | * cfglayout.c (fixup_reorder_chain): Allow asm goto to have no fallthru edge. * cfgcleanup.c (try_optimize_cfg): When in cfglayout mode optimizing away empty bb with no successors, move over its footer chain to fallthru predecessor. * cfgrtl.c (patch_jump_insn): Update also REG_LABEL_OPERAND. (rtl_split_edge): For asm goto call patch_jump_insn even if splitting fallthru edge. * c-c++-common/asmgoto-4.c: New test. * gcc.target/i386/pr44071.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159288 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/44062jakub2010-05-111-0/+48
| | | | | | | | | | | | | | | | | | * c-parser.c (c_parser_expression): Mark LHS of a comma expression as read if it is a decl, handled component or COMPOUND_EXPR with that on the RHS. * c-typeck.c (c_process_expr_stmt): Mark RHS of COMPOUND_EXPR if it is a decl or handled component. * semantics.c (finish_expr_stmt): Don't call mark_exp_read here... * cvt.c (convert_to_void): ... but here. If expr is a COMPOUND_EXPR, look at its second operand. * c-c++-common/Wunused-var-7.c: New test. * g++.dg/warn/Wunused-var-9.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159286 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc.dg/Wunused-var-8.c: Move to...jakub2010-05-061-0/+15
| | | | | | | * c-c++-common/Wunused-var-6.c: ... here. New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159118 138bc75d-0d04-0410-961f-82ee72b054a4
* C++ support for -Wunused-but-set-variabledodji2010-05-065-0/+298
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/cp/ChangeLog: PR 18624 * cp-tree.h (mark_exp_read, mark_rvalue_use, mark_lvalue_use, mark_type_use): Declare ... * expr.c (mark_exp_read, mark_rvalue_use, mark_lvalue_use, mark_type_use): ... new fns. * typeck.c (cxx_sizeof_expr, cxx_alignof_expr): Call mark_type_use. (perform_integral_promotions): Call mark_rvalue_use. (cp_build_unary_op): Call mark_lvalue_use. (decay_conversion): Update comment. Call mark_lvalue. * decl.c (unused_but_set_errorcount): New variable. (poplevel): Issue -Wunused-but-set-variable diagnostics. (duplicate_decls): Merge DECL_READ_P flags. (start_cleanup_fn): Set DECL_READ_P flag. (finish_function): Issue -Wunused-but-set-parameter diagnostics. * tree.c (rvalue): Call mark_rvalue_use. * pt.c (convert_nontype_argument): Likewise. * semantics.c (finish_typeof, finish_decltype_type): Call mark_type_use. (finish_asm_stmt): Call mark_lvalue_use. (finish_expr_stmt): Call mark_exp_read. * call.c (convert_like_real) <ck_identity, ck_user>: Call mark_rvalue_use. (build_x_va_arg): Call mark_lvalue_use. (build_over_call): Call mark_type_use. * init.c (build_new, build_delete): Call mark_value_use. * rtti.c (build_typeid): Call mark_lvalue_use or mark_type_use. (build_dynamic_cast_1): call mark_lvalue_use or mark_rvalue_use. gcc/testsuite/ChangeLog: PR 18624 * g++.dg/warn/Wunused-7.C: Add dg-warning. * g++.dg/template/sfinae16.C: Likewise. * gcc.dg/Wunused-var-1.c: Moved to... * c-c++-common/Wunused-var-1.c: ...here. New test. * gcc.dg/Wunused-var-2.c: Moved to... * c-c++-common/Wunused-var-2.c: ...here. New test. * gcc.dg/Wunused-var-3.c: Moved to... * c-c++-common/Wunused-var-3.c: ...here. New test. * gcc.dg/Wunused-var-4.c: Moved to... * gcc.dg/Wunused-var-1.c: ... here. * gcc.dg/Wunused-var-5.c: Moved to... * c-c++-common/Wunused-var-4.c: ...here. New test. * gcc.dg/Wunused-var-7.c: Moved to... * c-c++-common/Wunused-var-5.c: ...here. New test. * gcc.dg/Wunused-var-6.c: Moved to... * gcc.dg/Wunused-var-2.c: ... here. * c-c++-common/Wunused-var-1.c: New test. * c-c++-common/Wunused-var-2.c: New test. * c-c++-common/Wunused-var-3.c: New test. * c-c++-common/Wunused-var-4.c: New test. * c-c++-common/Wunused-var-5.c: New test. * g++.dg/warn/Wunused-var-1.C: New test. * g++.dg/warn/Wunused-var-2.C: New test. * g++.dg/warn/Wunused-var-3.C: New test. * g++.dg/warn/Wunused-var-4.C: New test. * g++.dg/warn/Wunused-var-5.C: New test. * g++.dg/warn/Wunused-var-6.C: New test. * g++.dg/warn/Wunused-var-7.C: New test. * g++.dg/warn/Wunused-var-8.C: New test. * g++.dg/warn/Wunused-parm-1.C: New test. * g++.dg/warn/Wunused-parm-2.C: New test. * g++.dg/warn/Wunused-parm-3.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159096 138bc75d-0d04-0410-961f-82ee72b054a4
* PR debug/43942jakub2010-04-301-0/+33
| | | | | | | | | * tree.c (auto_var_in_fn_p): Return false for DECL_EXTERNAL vars. * c-c++-common/pr43942.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158931 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-04-14 Manuel López-Ibáñez <manu@gcc.gnu.org>manu2010-04-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | PR 42966 * diagnostics.c (diagnostic_report_diagnostic): Mark specially warnings converted to errors. testsuite/ * gcc.dg/cpp/warn-undef-2.c: Update. * gcc.dg/cpp/warn-traditional-2.c: Update. * gcc.dg/cpp/warn-comments-2.c: Update. * gcc.dg/cpp/warn-variadic-2.c: Update. * gcc.dg/cpp/warn-long-long-2.c: Update. * gcc.dg/cpp/warn-deprecated-2.c: Update. * gcc.dg/cpp/warn-multichar-2.c: Update. * gcc.dg/cpp/warn-normalized-3.c: Update. * gcc.dg/cpp/warn-cxx-compat-2.c: Update. * gcc.dg/cpp/warn-trigraphs-3.c: Update. * gcc.dg/cpp/warn-unused-macros-2.c: Update. * gcc.dg/cpp/warn-trigraphs-4.c: Update. * gcc.dg/cpp/warn-redefined-2.c: Update. * gfortran.dg/warning-directive-2.F90: Update. * c-c++-common/cpp/warning-directive-2.c: Update. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158349 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-04-13 Manuel López-Ibáñez <manu@gcc.gnu.org>manu2010-04-135-0/+52
| | | | | | | | | | | | | | | | | | | | | | | * gcc.dg/cpp/cpp.exp: Test also c-c++-common/cpp. * g++.dg/dg.exp: Likewise. * gcc.dg/cpp/warning-directive-1.c: Move to ... * c-c++-common/cpp/warning-directive-1.c: ... here. * gcc.dg/cpp/warning-directive-2.c: Move to ... * c-c++-common/cpp/warning-directive-2.c: ... here. * gcc.dg/cpp/warning-directive-3.c: Move to ... * c-c++-common/cpp/warning-directive-3.c: ... here. * gcc.dg/cpp/warning-directive-4.c: Move to ... * c-c++-common/cpp/warning-directive-4.c: ... here. * g++.dg/cpp/warning-directive-1.C: Delete. * g++.dg/cpp/warning-directive-2.C: Delete. * g++.dg/cpp/warning-directive-3.C: Delete. * g++.dg/cpp/warning-directive-4.C: Delete. * gcc.dg/cpp/normalised-3.c: Delete. * g++.dg/cpp/normalised-1.C: Rename as ... * c-c++-common/cpp/normalised-3.c: ... this. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158275 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>manu2010-04-093-0/+46
| | | | | | | | | | | | | | | | | | | | | PR c++/28584 * c.opt (Wint-to-pointer-cast): Available in C++. * doc/invoke.texi (Wint-to-pointer-cast): Available in C++. cp/ * typeck.c (cp_build_c_cast): Warn for casting integer to larger pointer type. testsuite/ * gcc.dg/Wint-to-pointer-cast-1.c: Move to... * c-c++-common/Wint-to-pointer-cast-1.c: ... here. * gcc.dg/Wint-to-pointer-cast-2.c: Move to... * c-c++-common/Wint-to-pointer-cast-2.c: ... here. * gcc.dg/Wint-to-pointer-cast-3.c: Move to... * c-c++-common/Wint-to-pointer-cast-3.c: ... here. Update. * g++.old-deja/g++.mike/warn1.C: Add -Wno-int-to-pointer-cast. * g++.dg/other/increment1.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158150 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-04-06 Dodji Seketeli <dodji@redhat.com>dodji2010-04-061-18/+0
| | | | | | | * g++.dg/debug/dwarf2/redeclaration-1.C: Moved from c-c++-common/dwarf2/redeclaration-1.C git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158031 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix for PR debug/43325dodji2010-04-011-0/+18
| | | | | | | | | | | | | gcc/ChangeLog: PR debug/43325 * dwarf2out.c (gen_variable_die): Allow debug info for variable re-declaration when it happens in a function. gcc/testsuite/ChangeLog: PR debug/43325 * c-c++-common/dwarf2/redeclaration-1.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157928 138bc75d-0d04-0410-961f-82ee72b054a4
* More N3077 raw string changesjason2010-03-295-12/+109
| | | | | | | | | | | * charset.c (cpp_interpret_string): Don't transform UCNs in raw strings. * lex.c (bufring_append): Split out from... (lex_raw_string): ...here. Undo trigraph and line splicing transformations. Do process line notes in multi-line literals. (_cpp_process_line_notes): Ignore notes that were already handled. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157804 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-c++-common/raw-string-1.c: Combine C and C++ raw string tests.jason2010-03-297-0/+363
| | | | | | | | | | | * c-c++-common/raw-string-2.c: Combine C and C++ raw string tests. * c-c++-common/raw-string-3.c: Combine C and C++ raw string tests. * c-c++-common/raw-string-4.c: Combine C and C++ raw string tests. * c-c++-common/raw-string-5.c: Combine C and C++ raw string tests. * c-c++-common/raw-string-6.c: Combine C and C++ raw string tests. * c-c++-common/raw-string-7.c: Combine C and C++ raw string tests. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157803 138bc75d-0d04-0410-961f-82ee72b054a4
* PR debug/43190jakub2010-02-261-0/+13
| | | | | | | | | | | * function.c (used_types_insert): Don't skip through named pointer types. Don't use TYPE_MAIN_VARIANT if the original type has a name and it is different from the main variant's type. * c-c++-common/dwarf2/pr43190.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157092 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>manu2010-02-241-0/+25
| | | | | | | | | | | | PR c/43128 * c-typeck.c (ep_convert_and_check): New. (build_conditional_expr): Use it. (build_binary_op): Likewise. testsuite/ * c-c++-common/pr41779.c: Update. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157040 138bc75d-0d04-0410-961f-82ee72b054a4
* PR debug/42800jason2010-02-231-0/+11
| | | | | | | * cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars in cfun->local_decls even if they have register types. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157014 138bc75d-0d04-0410-961f-82ee72b054a4
* Move C tests for used attribute to c-c++-common.hjl2010-02-222-0/+24
| | | | | | | | | | | | | | 2010-02-22 H.J. Lu <hongjiu.lu@intel.com> PR c/43125 * gcc.dg/attr-used-2.c: Moved to ... * c-c++-common/attr-used-2.c: Here. * gcc.dg/attr-used.c: Moved to ... * c-c++-common/attr-used.c: Here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156976 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>manu2010-02-201-5/+5
| | | | | | | | PR 43128 * c-c++-common/pr41779.c: Fix broken testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156924 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-02-19 Manuel López-Ibáñez <manu@gcc.gnu.org>manu2010-02-192-0/+28
| | | | | | | | | | PR 36513 testsuite/ * c-c++-common/pr36513.c: New testcase. * c-c++-common/pr36513-2.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156912 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-02-19 Manuel López-Ibáñez <manu@gcc.gnu.org>manu2010-02-191-0/+31
| | | | | | | | | | | PR 41779 * c-common.c (conversion_warning): Remove widening conversions before checking the conversion of integers to reals. testsuite/ * c-c++-common/pr41779.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156911 138bc75d-0d04-0410-961f-82ee72b054a4
* * g++.dg/torture/dg-torture.exp: Run c-c++-common torture tests.jason2010-02-1811-0/+0
| | | | | | | | | | | | | | * gcc.dg/torture/dg-torture.exp: Likewise. * c-c++-common/complex-sign.h, c-c++-common/complex-sign-add.c, c-c++-common/complex-sign-mixed-add.c, c-c++-common/complex-sign-mixed-div.c, c-c++-common/complex-sign-mixed-mul.c, c-c++-common/complex-sign-mixed-sub.c, c-c++-common/complex-sign-mul.c, c-c++-common/complex-sign-sub.c: Move into c-c++-common/torture. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156879 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/43108jason2010-02-1811-0/+600
| | | | | | | | | * typeck.c (cp_build_binary_op): Adapt mixed complex/non handling from C build_binary_op. * cp-tree.h (WANT_VECTOR_OR_COMPLEX): Rename from WANT_VECTOR. * cvt.c (build_expr_type_conversion): Allow COMPLEX_TYPE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156874 138bc75d-0d04-0410-961f-82ee72b054a4
* PR middle-end/42674jakub2010-01-141-0/+13
| | | | | | | | | | | | | * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in functions with noreturn attribute. * decl.c (finish_function): Don't emit -Wreturn-type warnings in functions with noreturn attribute. * c-c++-common/pr42674.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155920 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud