summaryrefslogtreecommitdiffstats
path: root/gcc
Commit message (Collapse)AuthorAgeFilesLines
* 2008-07-24 Thomas Koenig <tkoenig@gcc.gnu.org>tkoenig2008-07-2413-41/+164
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR fortran/29952 * gfortran.h: Add "warn_array_temp" to gfc_option_t. * lang.opt: Add -Warray-temporaries. * invoke.texi: Document -Warray-temporaries * trans-array.h (gfc_trans_create_temp_array): Add argument of type *locus. (gfc_conv_loop_setup): Likewise. * trans-array.c (gfc_trans_create_temp_array): If -Warray-temporaries is given and locus is present, warn about creation of array temporaries. (gfc_trans_array_constructor_subarray): Add locus to call of gfc_conv_loop_setup. (gfc_trans_array_constructor): Add where argument. Pass where argument to call of gfc_trans_create_temp_array. (gfc_add_loop_ss_code): Add where argument. Pass where argument to recursive call of gfc_add_loop_ss_code and to call of gfc_trans_array_constructor. (gfc_conv_loop_setup): Add where argument. Pass where argument to calls to gfc_add_loop_ss_code and to gfc_trans_create_temp_array. (gfc_conv_expr_descriptor): Pass location to call of gfc_conv_loop_setup. (gfc_conv_array_parameter): If -Warray-temporaries is given, warn about creation of temporary arrays. * trans-expr.c (gfc_conv_subref_array_arg): Add where argument to call to gfc_conv_loop_setup. (gfc_conv_function_call): Add where argument to call to gfc_trans_creat_temp_array. (gfc_trans_subarray_assign): Likewise. (gfc_trans_assignment_1): Add where argument to call to gfc_conv_loop_setup. * trans-stmt.c (gfc_conv_elemental_dependencies): Add where argument to call to gfc_trans_create_temp_array. (gfc_trans_call): Add where argument to call to gfc_conv_loop_setup. (generate_loop_for_temp_to_lhs): Likewise. (generate_loop_for_rhs_to_temp): Likewise. (compute_inner_temp_size): Likewise. (gfc_trans-pointer_assign_need_temp): Likewise. (gfc_evaluate_where_mask): Likewise. (gfc_trans_where_assign): Likewise. (gfc_trans_where_3): Likewise. * trans-io.c (transfer_srray_component): Add where argument to function. Add where argument to call to gfc_conv_loop_setup. (transfer_expr): Add where argument to call to transfer_array_component. (gfc_trans_transfer): Add where expression to call to gfc_conv_loop_setup. * trans-intrinsic.c (gfc_conv_intrinsic_anyall): Add where argument to call to gfc_conv_loop_setup. (gfc_conv_intrinsic_count): Likewise. (gfc_conv_intrinsic_arith): Likewise. (gfc_conv_intrinsic_dot_product): Likewise. (gfc_conv_intrinsic_minmaxloc): Likewise. (gfc_conv_intrinsic_minmaxval): Likewise. (gfc_conv_intrinsic_array_transfer): Warn about creation of temporary array. Add where argument to call to gfc_trans_create_temp_array. * options.c (gfc_init_options): Initialize gfc_option.warn_array_temp. (gfc_handle_option): Set gfc_option.warn_array_temp. 2008-07-24 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/29952 * gfortran.dg/array_temporaries_1.f90: New test case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138112 138bc75d-0d04-0410-961f-82ee72b054a4
* ./:ian2008-07-244-1/+61
| | | | | | | | | | * tree-vrp.c (infer_value_range): Ignore asm statements when looking for memory accesses for -fdelete-null-pointer-checks. testsuite/: * gcc.target/i386/20080723-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138107 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/bje2008-07-245-0/+155
| | | | | | | | | | | | | | | | * config/spu/spu-c.c (__vector_keyword): New variable. (vector_keyword): Likewise. (spu_categorize_keyword): New function. (spu_macro_to_expand): Likewise. (spu_cpu_cpp_builtins): Enable context-sensitive macros if not compiling an ISO C dialect. gcc/testsuite/ * gcc.target/spu/vector.c: New test. * gcc.target/spu/vector-ansi.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138106 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/rs6000/rs6000-c.c: Move GTY(()) markers to matchbje2008-07-242-6/+11
| | | | | | | conventional usage. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138104 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2008-07-241-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138100 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-07-23 Aaron W. LaFramboise <aaronavay62@aaronwl.com>aaronwl2008-07-234-6/+12
| | | | | | | | | * configure: Regenerate. * configure.ac: Require texinfo 4.7. * doc/install.texi: Document texinfo 4.7 requirement. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138097 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-07-23 Martin Jambor <mjambor@suse.cz>jamborm2008-07-2317-275/+1393
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ipa-cp.c (ipcp_print_edge_profiles): Test for node->analyzed rather than for DECL_SAVED_TREE. * ipa-prop.c: Include diagnostic.h. (ipa_check_stmt_modifications): Check LHS of GIMPLE_MODIFY_EXPRs thoroughly. (ipa_detect_param_modifications): Function rewritten from scratch. (ipa_compute_jump_functions): Changed accesses to modification flags. (ipa_free_node_params_substructures): Update flags destruction. (ipa_node_duplication_hook): Update flags duplication. (ipa_print_all_params_modified): Updated flag access. * ipa-prop.h (struct ipa_param_flags): New structure. (struct ipa_node_params): New field modification_analysis_done, modified_flags changed into param_flags. (ipa_is_ith_param_modified): Changed to use new flags. * Makefile.in (ipa-prop.o): Add $(DIAGNOSTIC_H) to dependencies. * ipa-prop.c (ipa_print_all_jump_functions): Moved here from ipa-cp.c and split into two functions. (ipa_print_node_jump_functions): New function. (compute_scalar_jump_functions): New function. (type_like_member_ptr_p): New function. (compute_pass_through_member_ptrs): New function. (fill_member_ptr_cst_jump_function): New function. (determine_cst_member_ptr): New function. (compute_cst_member_ptr_arguments): New function. (ipa_compute_jump_functions): Complete rewrite. * ipa-prop.h (enum jump_func_type): Make explicit that we depend on IPA_UNKNOWN being zero. Added value IPA_CONST_MEMBER_PTR. (struct ipa_member_ptr_cst): New structure. (union jump_func_value): New field member_cst. * ipa-cp.c (ipcp_lat_is_insertable): New function. (ipcp_lattice_from_jfunc): Produces bottom lattices for unhandled jump function types. (ipcp_print_all_lattices): Slight fprintf rearrangement. (ipcp_print_all_structures): Call ipa_print_all_jump_functions instead of ipcp_print_all_jump_functions. (ipcp_insert_stage): Use ipcp_lat_is_insertable, create replace maps only for replacable scalars. * doc/invoke.texi (Optimize options): Add description of -findirect-inlining. * common.opt (flag_indirect_inlining): New flag. * opts.c (decode_options): Set flag_indirect_inlining when optimize >= 3. * ipa-inline.c: Include ipa-prop.h. (inline_indirect_intraprocedural_analysis): New function. (inline_generate_summary): Allocate parameter and argument info structures, call inline_indirect_intraprocedural_analysis on each node when doing indirect inlining and deallocate indirect inlining data structures in the end. * ipa-prop.c (ipa_create_param_decls_array): Return if already done. (free_all_ipa_structures_after_iinln): New function. (free_all_ipa_structures_after_ipa_cp): Checks whether iinln will be done. * Makefile.in (ipa-inline.o): Added $(IPA_PROP_H) to dependencies. * cgraphbuild.c (compute_call_stmt_bb_frequency): New function. (build_cgraph_edges): Call compute_call_stmt_bb_frequency instead of computing the frequency separately. (rebuild_cgraph_edges): Call compute_call_stmt_bb_frequency instead of computing the frequency separately. * ipa-cp.c (ipcp_print_all_structures): Replace a call to ipa_print_all_param_modified with a call to ipa_print_all_param_flags. * ipa-prop.c (ipa_get_member_ptr_load_param): New function. (ipa_get_stmt_member_ptr_load_param): New function. (ipa_is_ssa_with_stmt_def): New function. (ipa_note_param_call): New function. (ipa_analyze_call_uses): New function. (ipa_analyze_stmt_uses): New function. (ipa_analyze_params_uses): New function. (ipa_free_node_params_substructures): Also free the param_calls linked list. (ipa_node_duplication_hook): Also duplicate the param_calls linked list. (ipa_print_node_param_flags): New function. (ipa_print_all_params_modified): Renamed to ipa_print_all_param_flags. (ipa_print_all_param_flags): Calls ipa_print_node_param_flags. * ipa-prop.h (struct ipa_param_flags): New field called. (struct ipa_param_call_note): New structure. (struct ipa_node_params): New fields param_calls and uses_analysis_done. (ipa_is_ith_param_called): New function. * ipa-inline.c (inline_indirect_intraprocedural_analysis): Call ipa_analyze_params_uses and dump parameter flags. * ipa-inline.c (cgraph_decide_recursive_inlining): Call ipa_propagate_indirect_call_infos if performing indirect inlining, pass a new parameter new_edges to it. (add_new_edges_to_heap): New fucntion. (cgraph_decide_inlining_of_small_functions): New vector new_indirect_edges for newly found indirect edges , call ipa_propagate_indirect_call_infos after inlining. (cgraph_decide_inlining): Call ipa_propagate_indirect_call_infos after inlining if performing indirect inlining. Call free_all_ipa_structures_after_iinln when doing so too. (inline_generate_summary): Do not call free_all_ipa_structures_after_iinln here. * ipa-prop.c (update_jump_functions_after_inlining): New function. (print_edge_addition_message): New function. (update_call_notes_after_inlining): New function. (propagate_info_to_inlined_callees): New function. (ipa_propagate_indirect_call_infos): New function. * ipa-prop.h: Include cgraph.h (struct ipa_param_call_note): Fields reordered, new field processed. * cgraph.h (cgraph_edge): Shrink loop_nest field to 31 bits, add a new flag indirect_call. * cgraphunit.c (verify_cgraph_node): Allow indirect edges not to have rediscovered call statements. * cgraph.c (cgraph_create_edge): Initialize indirect_call to zero. (dump_cgraph_node): Dump also the indirect_call flag. (cgraph_clone_edge): Copy also the indirect_call flag. * tree-inline.c (copy_bb): Do not check for fndecls from call expressions, check for edge availability when moving clones. (get_indirect_callee_fndecl): New function. (expand_call_inline): If callee declaration is not apprent from the statement, try calling get_indirect_callee_fndecl. Do not issue warnings or call sorry when not inlinings an indirect edge. * Makefile.in (IPA_PROP_H): Added $(CGRAPH_H) to dependencies. * ipa-prop.c (ipa_print_node_param_flags): Make the dump format a bit more frandly to matching. * testsuite/g++.dg/ipa/iinline-1.C: New testcase. * testsuite/gcc.dg/ipa/iinline-1.c: New testcase. * testsuite/gcc.dg/ipa/modif-1.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138092 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix PR 36907, breakage in building libobj with function specific changesmeissner2008-07-233-2/+9
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138091 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-07-23 Manuel Lopez-Ibanez <manu@gcc.gnu.org>manu2008-07-2326-386/+501
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR 35058 * diagnostic.c (pedwarn): Add opt parameter. (pedwarn0): New. * c-tree.h (pedwarn_init): Add opt parameter. (pedwarn_c90): Likewise. (pedwarn_c99): Likewise. * c-errors.c (pedwarn_c99): Likewise. (pedwarn_c90): Likewise. * toplev.h (pedwarn): Update declaration. (pedwarn0): Declare. * c-lex.c: All calls to pedwarn changed. * builtins.c: All calls to pedwarn changed. * toplev.c: All calls to pedwarn changed. * c-decl.c: All calls to pedwarn changed. * c-typeck.c: All calls to pedwarn changed. * c-common.c: All calls to pedwarn changed. * c-parser.c: All calls to pedwarn changed. cp/ * typeck.c: All calls to pedwarn changed. * decl.c: All calls to pedwarn changed. * call.c: All calls to pedwarn changed. * error.c: All calls to pedwarn changed. * typeck2.c: All calls to pedwarn changed. * pt.c: All calls to pedwarn changed. * name-lookup.c: All calls to pedwarn changed. * parser.c: All calls to pedwarn changed. fortran/ * f95-lang.c (gfc_mark_addressable): All calls to pedwarn changed. testsuite/ * gcc.dg/Wdeclaration-after-statement-3.c: New. * gcc/testsuite/gcc.dg/Wpointer-arith.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138089 138bc75d-0d04-0410-961f-82ee72b054a4
* Add missing ChangeLog from 138075meissner2008-07-231-0/+403
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138082 138bc75d-0d04-0410-961f-82ee72b054a4
* Add ability to set target options (ix86 only) and optimization options on a ↵meissner2008-07-2355-575/+4740
| | | | | | function specific basis git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138075 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-07-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2008-07-232-0/+37
| | | | | | | | PR libfortran/36852 * gfortran.dg/namelist_52.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138073 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2008-07-231-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138069 138bc75d-0d04-0410-961f-82ee72b054a4
* * lib/target-supports.exp (check_effective_target_spu_auto_overlay):uweigand2008-07-223-1/+21
| | | | | | | | | New procedure. * lib/compat.exp (compat-execute): Use it to test whether toolchain supports automatic overlay generation for the SPU. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138064 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-07-22 Daniel Kraft <d@domob.eu>domob2008-07-226-7/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR fortran/29835 * io.c (error_element), (format_locus): New static globals. (unexpected_element): Spelled out this message fully. (next_char): Keep track of locus when not MODE_STRING. (next_char_not_space): Remember last parsed element in error_element. (format_lex): Fix two indentation errors. (check_format): Use format_locus and possibly error_element for a slightly better error message on invalid format. (check_format_string): Set format_locus to start of the string expression used as format. 2008-07-22 Daniel Kraft <d@domob.eu> PR fortran/29835 * io/format.c (struct format_data): New member error_element. (unexpected_element): Added '%c' to message. (next_char): Keep track of last parsed character in fmt->error_element. (format_error): If the message is unexpected_element, output the offending character, too. 2008-07-22 Daniel Kraft <d@domob.eu> PR fortran/29835 * gfortran.dg/fmt_error_3.f90: New test. * gfortran.dg/fmt_error_4.f90: New test. * gfortran.dg/fmt_error_5.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138063 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-07-22 Rafael Avila de Espindola <espindola@google.com>espindola2008-07-223-2/+13
| | | | | | | | | * c-typeck.c (build_external_ref): Don't call assemble_external. * final.c (output_operand): Call assemble_external. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138057 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-07-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org>manu2008-07-222-0/+12
| | | | | | | | | | | | | | PR 28079 libcpp/ * directives.c (strtolinenum): Handle overflow. (do_line): Give a warning if line number overflowed. (do_linemarker): Update call to strtolinenum. gcc/testsuite/ * gcc.dg/cpp/line6.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138049 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2008-07-221-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138047 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/objc/rwild2008-07-2115-41/+60
| | | | | | | | | | | | | | | | | | | | | | * objc-act.c: Fix comment typos. gcc/cp/ * call.c: Fix comment typos. * class.c: Likewise. * cp-tree.h: Likewise. * cxx-pretty-print.c: Likewise. * decl.c: Likewise. * init.c: Likewise. * name-lookup.c: Likewise. * operators.def: Likewise. * parser.c: Likewise. * pt.c: Likewise. * tree.c: Likewise. * typeck.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138042 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/testsuite/rwild2008-07-2127-72/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gfortran.dg/fmt_g0_3.f08: Fix typo in expected error message. gcc/fortran/ * expr.c (gfc_check_pointer_assign): Fix typo in string. * io.c (check_format): Fix typo in string. Fix comment typos. * parse.c (gfc_global_used): Likewise. * resolve.c (resolve_allocate_expr): Likewise. * symbol.c (gfc_set_default_type): Likewise. * arith.c: Fix typos in comments. * array.c: Likewise. * data.c: Likewise. * decl.c: Likewise. * dependency.c: Likewise. * f95-lang.c: Likewise. * gfortran.h: Likewise. * matchexp.c: Likewise. * module.c: Likewise. * primary.c: Likewise. * scanner.c: Likewise. * trans-array.c: Likewise. * trans-common.c: Likewise. * trans-decl.c: Likewise. * trans-expr.c: Likewise. * trans-intrinsic.c: Likewise. * trans-types.c: Likewise. * trans.c: Likewise. * trans.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138040 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/h8300/h8300.c (h8300_hard_regno_scratch_ok): New.dj2008-07-212-0/+23
| | | | | | | (TARGET_HARD_REGNO_SCRATCH_OK): Define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138038 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/spu/spu.md ("div<mode>3"): Convert into expander, moveuweigand2008-07-212-4/+72
| | | | | | | | | | | | | original insn and splitter contents into ... ("*div<mode>3_fast"): ... this new pattern. Enable only if flag_unsafe_math_optimizations. Add dummy scratch register. ("*div<mode>3_adjusted"): New insn and splitter. Enable only if !flag_unsafe_math_optimizations. Returns number with next highest magnitude if this is still less or equal to the true quotient in magnitude. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138036 138bc75d-0d04-0410-961f-82ee72b054a4
* /cppaolo2008-07-2110-2/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | 2008-07-21 Paolo Carlini <paolo.carlini@oracle.com> PR c++/36871 PR c++/36872 * semantics.c (classtype_has_nothrow_assign_or_copy_p): Only check copy constructors and copy assignment operators proper. /testsuite 2008-07-21 Paolo Carlini <paolo.carlini@oracle.com> PR c++/36871 PR c++/36872 * g++.dg/ext/has_nothrow_copy.C: Rename to... * g++.dg/ext/has_nothrow_copy-1.C: ... this. * g++.dg/ext/has_nothrow_copy-2.C: New. * g++.dg/ext/has_nothrow_copy-3.C: Likewise. * g++.dg/ext/has_nothrow_copy-4.C: Likewise. * g++.dg/ext/has_nothrow_copy-5.C: Likewise. * g++.dg/ext/has_nothrow_copy-6.C: Likewise. * g++.dg/ext/has_nothrow_copy-7.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138034 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix the year on the ChangeLog.espindola2008-07-212-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138032 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-07-21 Rafael Avila de Espindola <espindola@google.com>espindola2008-07-2119-227/+246
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.in: Replace toplev.h with TOPLEV_H. * c-decl.c (merge_decls): Don't set DECL_IN_SYSTEM_HEADER. * c-lex.c (fe_file_change): Don't set in_system_header. * c-parser.c (c_token): Remove in_system_header. (c_lex_one_token): Don't set in_system_header. (c_parser_set_source_position_from_token): Don't set in_system_header. * diagnostic.c (diagnostic_report_diagnostic): Use location from diagnostic_info. (warning_at): New. * diagnostic.h (diagnostic_report_warnings_p): Add LOC argument. * flags.h (in_system_header): Remove. * function.c (saved_in_system_header): Remove. (push_cfun): Don't set in_system_header. (pop_cfun): Don't set in_system_header. (push_struct_function): Don't set in_system_header. * input.h (expanded_location): Add sysp. (in_system_header_at): New. (in_system_header): New. * toplev.c (in_system_header): Remove. * toplev.h: Include input.h (warning_at): New. * tree-cfg.c (execute_warn_function_return): Call warning_at. * tree-ssa.c (warn_uninit): Call warning_at. (warn_uninitialized_var): Update calls to warn_uninit. (warn_uninitialized_phi): Update calls to warn_uninit. * tree.c (make_node_stat): Don't set DECL_IN_SYSTEM_HEADER. (expand_location): Initialize xloc.sysp. * tree.h (DECL_IN_SYSTEM_HEADER): Use in_system_header_at. (tree_decl_with_vis): Remove in_system_header_flag. 2007-07-21 Rafael Avila de Espindola <espindola@google.com> * parser.c (cp_token): Remove in_system_header. (eof_token): Remove in_system_header. (cp_lexer_get_preprocessor_token): Don't set in_system_header. (cp_lexer_set_source_position_from_token): Don't set in_system_header. (cp_parser_member_declaration): Use in_system_header_at. * pt.c (lookup_template_class): Don't set DECL_IN_SYSTEM_HEADER. (pop_tinst_level): Don't set in_system_header. (instantiate_class_template): Don't set in_system_header. (instantiate_decl): Don't set in_system_header. (instantiate_pending_templates): Don't set in_system_header. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138031 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-07-21 Thomas Koenig <tkoenig@gcc.gnu.org>tkoenig2008-07-212-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR libfortran/36773 * intrinsics/cshift0.c (cshift0): Return early if size of array is zero. * intrinsics/eoshift0.c (eoshift0): Return early if size of return array is zero. * intrinsics/eoshift2.c (eoshift2): Likewise. * m4/eoshift1.m4 (eoshift1): Return early if size of array is zero. * m4/eoshift3.m4 (eoshift3): Likewise. * m4/eoshift2.m4 (eoshift2): Return early if size of return array is zero. * m4/eoshift4.m4 (eoshift2): Return early if size of return array is zero. * generated/cshift1_16.c: Regenerated. * generated/cshift1_4.c: Regenerated. * generated/cshift1_8.c: Regenerated. * generated/eoshift1_16.c: Regenerated. * generated/eoshift1_4.c: Regenerated. * generated/eoshift1_8.c: Regenerated. * generated/eoshift3_16.c: Regenerated. * generated/eoshift3_4.c: Regenerated. * generated/eoshift3_8.c: Regenerated. 2008-07-21 Thomas Koenig <tkoenig@gcc.gnu.org> PR libfortran/36773 * gfortran.dg/zero_sized_5.f90: New test case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138027 138bc75d-0d04-0410-961f-82ee72b054a4
* /cppaolo2008-07-219-23/+75
| | | | | | | | | | | | | | | | | | | | | | | 2008-07-21 Paolo Carlini <paolo.carlini@oracle.com> PR c++/36870 * semantics.c (classtype_has_nothrow_assign_or_copy_p): Use TYPE_NOTHROW_P, not TREE_NOTHROW. (trait_expr_value): Likewise. /testsuite 2008-07-21 Paolo Carlini <paolo.carlini@oracle.com> PR c++/36870 * g++.dg/ext/has_nothrow_assign_odr.C: New. * g++.dg/ext/has_nothrow_copy_odr.C: Likewise. * g++.dg/ext/has_nothrow_constructor_odr.C: Likewise. * g++.dg/ext/has_nothrow_assign.C: Adjust. * g++.dg/ext/has_nothrow_copy.C: Likewise. * g++.dg/ext/has_nothrow_constructor.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138024 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-07-21 Andreas Krebbel <krebbel1@de.ibm.com>krebbel2008-07-214-8/+33
| | | | | | | | | | | | | | | PR target/36822 * recog.c (asm_operand_ok): Change the order of the extra memory constraint checks. 2008-07-17 Andreas Krebbel <krebbel1@de.ibm.com> PR target/36822 * gcc.target/s390/pr36822.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138022 138bc75d-0d04-0410-961f-82ee72b054a4
* PR middle-end/36143hp2008-07-212-1/+5
| | | | | | | * g++.dg/tree-ssa/pr19637.C: XFAIL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138020 138bc75d-0d04-0410-961f-82ee72b054a4
* PR rtl-optimization/33642hp2008-07-213-4/+8
| | | | | | | | * gcc.c-torture/compile/pr11832.c: Skip for CRIS. * gcc.c-torture/compile/pr33009.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138019 138bc75d-0d04-0410-961f-82ee72b054a4
* PR middle-end/36509hp2008-07-212-2/+7
| | | | | | | * gcc.dg/Wstrict-aliasing-float-ptr-int-obj.c: XFAIL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138018 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2008-07-211-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138016 138bc75d-0d04-0410-961f-82ee72b054a4
* * gnathtml.pl: New file.charlet2008-07-202-0/+1119
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138013 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-07-20 Andrew Pinski <andrew_pinski@playstation.sony.com>pinskia2008-07-204-1/+79
| | | | | | | | | | | | | | | | PR tree-opt/36879 * tree-switch-conversion.c (build_one_array): Call varpool_mark_needed_node and varpool_finalize_decl instead of assemble_variable. 2008-07-20 Andrew Pinski <andrew_pinski@playstation.sony.com> PR tree-opt/36879 * gcc.c-torture/execute/20080719-1.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138012 138bc75d-0d04-0410-961f-82ee72b054a4
* * cgraph.c (cgraph_add_new_function): Do early local passes.hubicka2008-07-209-25/+133
| | | | | | | | | | | | | | | | | | | | * tree-nrv.c (gate_pass_return_slot): New gate. (pass_nrv): Add the gate. * tree-ssa-coalese.c (hash_ssa_name_by_var, eq_ssa_name_by_var): New functions. (coalesce_ssa_name): Coalesce SSA names. * tree-ssa-live.c (remove_unused_locals): Be more conservative when not optimizing so unused user vars remains visible. * common.opt (flag_tree_ter): Always enable by default. * tree-ssa-ter.c: Include flags.h (is_replaceable_p): Check that locations match; when aliasing is missing be conservative about loads. * tree-optimize.c (gate_init_datastructures): Remove. (pass_init_datastructures): New. * passes.c: Reorder passes so we always go into SSA. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138010 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/extend.texi (flatten attribute): Remove note about unit-at-a-timehubicka2008-07-206-55/+54
| | | | | | | | | | | | | | | | | | | | * doc/invoke.texi (--combine): Likewise. (-finline-functions-called-once): Update levels when enabled. (-funit-at-a-time): Document new behaviour. (-ftoplevel-reorder): Document that it is enabled -O0 and imply -fno-section-anchors when disabled explicitly. (inline params): They are not ignored now. (precompiled headers): Remove unit-at-a-time as being incompatible. * opts.c (decode_options): Handle unit-at-a-time as alias; imply -fno-section-anchors when toplevel reorder is disabled explicitly. * common.opt (ftoplevel-reorder): Set default value to 2. (funit-at-a-time): Set default value to 1. * config/rs6000/rs6000.c (optimization_options): Set section anchors to 2. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138009 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc.dg/tree-ssa/data-dep-1.c: XFAIL.hp2008-07-202-1/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138007 138bc75d-0d04-0410-961f-82ee72b054a4
* * builtins.c (expand_builtin_int_roundingfn,hubicka2008-07-202-12/+16
| | | | | | | | | expand_builtin_int_roundingfn_2): Do not take subtarget argument; it is not useful. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138006 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-07-20 Daniel Berlin <dberlin@dberlin.org>dberlin2008-07-209-16/+27
| | | | | | | | | | | | | | | * gcc.dg/tree-ssa/ssa-fre-7.c: XFAIL. * gcc.dg/tree-ssa/ssa-fre-8.c: Ditto. * gcc.dg/tree-ssa/ssa-fre-9.c: Ditto. * gcc.dg/tree-ssa/ssa-fre-13.c: Ditto. * gcc.dg/tree-ssa/ssa-fre-14.c: Ditto. * gcc.dg/tree-ssa/ssa-fre-17.c: Ditto. * gcc.dg/tree-ssa/ssa-pre-15.c: Ditto. * gcc.dg/tree-ssa/loadpre1.c: PASS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138005 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2008-07-201-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@137995 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-07-19 Richard Guenther <rguenther@suse.de>andreast2008-07-194-1/+38
| | | | | | | | | | | | PR bootstrap/36864 * tree-ssa-sccvn.h (get_constant_value_id): Declare. * tree-ssa-sccvn.c (get_constant_value_id): New function. * tree-ssa-pre.c (get_expr_value_id): For newly created constant value-ids make sure to add the expression to its expression-set. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@137991 138bc75d-0d04-0410-961f-82ee72b054a4
* PR middle-end/36877jakub2008-07-194-0/+29
| | | | | | | | | | * omp-low.c (expand_omp_atomic_fetch_op): Make sure the return value of the builtin is ignored. * gcc.dg/gomp/atomic-11.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@137989 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-07-19 Tobias Burnus <burnus@net-b.de>burnus2008-07-195-7/+47
| | | | | | | | | | | | | | | | PR fortran/36795 * matchexp.c (gfc_get_parentheses): Remove obsolete workaround, which caused the generation of wrong code. 2008-07-19 Tobias Burnus <burnus@net-b.de> PR fortran/36795 * char_expr_1.f90: New. * char_expr_2.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@137986 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-07-19 Tobias Burnus <burnus@net-b.de>burnus2008-07-192-7/+17
| | | | | | | | | | | PR fortran/36342 * scanner.c (load_file): Add argument to destinguish between true filename and displayed filename. (include_line,gfc_new_file): Adapt accordingly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@137985 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/tm.texi (MALLOC_ABI_ALIGNMENT): New macro. Alignment, in bits,hainque2008-07-1911-5/+140
| | | | | | | | | | | | | | | | | | a C conformant malloc implementation has to provide. * defaults.h (MALLOC_ABI_ALIGNMENT): Default to BITS_PER_WORD. ada/ * targtyps.c (get_target_default_allocator_alignment): Use it. testsuite/ * gcc.dg/mallign.c: New test. * gnat.dg/allocator_maxalign1.adb: New test. * gnat.dg/test_allocator_maxalign2.adb: Main caller for ... * gnat.dg/allocator_maxalign2.ad[bs]: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@137984 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-07-19 Tobias Burnus <burnus@net-b.de>burnus2008-07-195-9/+118
| | | | | | | | | | | | | | | * check.c (gfc_check_cshift,gfc_check_eoshift,gfc_check_unpack): Add rank checks for cshift's shift and eoshift's shift and boundary args. (gfc_check_unpack): Add rank and shape tests for unpack. 2008-07-19 Tobias Burnus <burnus@net-b.de> * gfortran.dg/intrinsic_argument_conformance_2.f90: New. * gfortran.dg/zero_sized_1.f90: Fix conformance bugs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@137983 138bc75d-0d04-0410-961f-82ee72b054a4
* * gfortran.h (new): Remove macro.ghazi2008-07-1919-217/+244
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * array.c (gfc_append_constructor, match_array_list, gfc_match_array_constructor): Likewise. * bbt.c (insert, gfc_insert_bbt): Likewise. * decl.c (var_element, top_var_list, top_val_list, gfc_match_data, get_proc_name): Likewise. * expr.c (gfc_copy_actual_arglist): Likewise. * interface.c (compare_actual_formal, check_new_interface, gfc_add_interface): Likewise. * intrinsic.c gfc_convert_type_warn, gfc_convert_chartype): Likewise. * io.c (match_io_iterator, match_io_list): Likewise. * match.c (match_forall_header): Likewise. * matchexp.c (build_node): Likewise. * module.c (gfc_match_use): Likewise. * scanner.c (load_file): Likewise. * st.c (gfc_append_code): Likewise. * symbol.c (save_symbol_data, gfc_get_sym_tree, gfc_undo_symbols, gfc_commit_symbols): Likewise. * trans-common.c (build_field): Likewise. * trans-decl.c (gfc_finish_var_decl): Likewise. * trans-expr.c (gfc_free_interface_mapping, gfc_get_interface_mapping_charlen, gfc_add_interface_mapping, gfc_finish_interface_mapping, gfc_apply_interface_mapping_to_expr): Likewise. * trans.h (gfc_interface_sym_mapping): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@137982 138bc75d-0d04-0410-961f-82ee72b054a4
* * gfortran.h (operator): Remove macro.ghazi2008-07-1916-177/+206
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (gfc_namespace, gfc_expr): Avoid C++ keywords. * arith.c (eval_intrinsic, eval_intrinsic_f2, eval_intrinsic_f3): Likewise. * decl.c (access_attr_decl): Likewise. * dependency.c (gfc_dep_compare_expr): Likewise. * dump-parse-tree.c (show_expr, show_uop, show_namespace): Likewise. * expr.c (gfc_copy_expr, gfc_type_convert_binary, simplify_intrinsic_op, check_intrinsic_op): Likewise. * interface.c (fold_unary, gfc_match_generic_spec, gfc_match_interface, gfc_match_end_interface, check_operator_interface, check_uop_interfaces, gfc_check_interfaces, gfc_extend_expr, gfc_extend_assign, gfc_add_interface, gfc_current_interface_head, gfc_set_current_interface_head): Likewise. * iresolve.c (gfc_resolve_dot_product, gfc_resolve_matmul): Likewise. * matchexp.c (gfc_get_parentheses, build_node): Likewise. * module.c (gfc_use_rename, gfc_match_use, find_use_name_n, number_use_names, mio_expr, load_operator_interfaces, read_module, write_operator, write_module): Likewise. * openmp.c (resolve_omp_atomic): Likewise. * resolve.c (resolve_operator, gfc_resolve_character_operator, gfc_resolve_uops): Likewise. * symbol.c (free_uop_tree, gfc_free_namespace): Likewise. * trans-expr.c (gfc_conv_expr_op): Likewise. * trans-openmp.c (gfc_trans_omp_atomic): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@137981 138bc75d-0d04-0410-961f-82ee72b054a4
* * gfortran.h (protected): Remove macro.ghazi2008-07-1912-45/+62
| | | | | | | | | | | | | | | | | | | | | | * dump-parse-tree.c (show_attr): Avoid C++ keywords. * expr.c (gfc_check_pointer_assign): Likewise. * interface.c (compare_parameter_protected): Likewise. * intrinsic.c (enum class, add_sym, add_sym_0, add_sym_1, add_sym_1s, add_sym_1m, add_sym_2, add_sym_2s, add_sym_3, add_sym_3ml, add_sym_3red, add_sym_3s, add_sym_4, add_sym_4s, add_sym_5s): Likewise. * match.c (gfc_match_assignment, gfc_match_pointer_assignment): Likewise. * module.c (mio_symbol_attribute): Likewise. * primary.c (match_variable): Likewise. * resolve.c (resolve_equivalence): Likewise. * symbol.c (check_conflict, gfc_add_protected, gfc_copy_attr): Likewise. * trans-types.c (gfc_get_array_type_bounds): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@137980 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/36780jsm282008-07-194-27/+20
| | | | | | | | | | | | | | | | | | | PR target/36827 * reload.c (find_reloads_subreg_address): Only reload address if reloaded == 0, not for reloaded != 1. Revert: 2008-07-16 Joseph Myers <joseph@codesourcery.com> * config/m32c/m32c.c (BIG_FB_ADJ): Move definition earlier. (m32c_legitimate_address_p): Handle "++rii" addresses created by m32c_legitimize_reload_address. 2008-07-15 Kaz Kojima <kkojima@gcc.gnu.org> * config/sh/sh.h (GO_IF_LEGITIMATE_ADDRESS): Allow (plus (plus (reg) (const_int)) (const_int)) when reload_in_progress. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@137976 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud