aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2007-10-07m68k.c, m68k.md: Use the assembly syntax for ASSEMBLER_DIALECT.Kazu Hirata4-72/+51
* config/m68k/m68k.c, config/m68k/m68k.md: Use the assembly syntax for ASSEMBLER_DIALECT. * config/m68k/m68k.h (ASSEMBLER_DIALECT): New. From-SVN: r129070
2007-10-07re PR fortran/20851 (dummy argument may not appear in specification ↵Tobias Schlüter8-20/+94
expression in elemental procedure) PR fortran/20851 fortran/ * expr.c (check_inquiry): Typo fix in error message. (check_init_expr): Same * 3. (check_restricted): Verify that no dummy arguments appear in restricted expressions in ELEMENTAL procedures. * resolve.c (resolve_fl_variable): Exchange order of checks to avoid side-effect. testsuite/ * initialization_1.f90: Fix dg-error annotations. * initialization_14.f90: New. * initialization_7.f90: Fix dg-error annotations. * initialization_9.f90: Likewise. From-SVN: r129069
2007-10-07Fix address.Eric Botcazou1-1/+1
From-SVN: r129067
2007-10-07dwarf2out.c (dwarf2out_frame_init): Check for DWARF2_FRAME_INFO when ↵Eric Botcazou2-1/+7
determining whether to record... * dwarf2out.c (dwarf2out_frame_init): Check for DWARF2_FRAME_INFO when determining whether to record INCOMING_RETURN_ADDR_RTX. Co-Authored-By: Nathan Froyd <froydnj@codesourcery.com> From-SVN: r129066
2007-10-07Daily bump.GCC Administrator1-1/+1
From-SVN: r129064
2007-10-06error_recovery_4.f90: New test.Jerry DeLisle2-0/+9
2007-10-06 Jerry DeLisle <jvdelisle@gcc.gnu.org> * gfortran.dg/error_recovery_4.f90: New test. From-SVN: r129060
2007-10-06re PR fortran/33609 (ICE on arithmetic overflow)Jerry DeLisle2-0/+9
2007-10-06 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/33609 * simplify.c (range_check): Return gfc_bad_expr if incoming expression is NULL. From-SVN: r129059
2007-10-06default_format_denormal_2.f90: New test.Francois-Xavier Coudert7-126/+177
* gfortran.dg/default_format_denormal_2.f90: New test. * gfortran.dg/default_format_2.inc: New test. * gfortran.dg/default_format_denormal_1.f90: New test. * gfortran.dg/default_format_1.inc: New test. * gfortran.dg/default_format_1.f90: Don't test for denormalized numbers. * gfortran.dg/default_format_2.f90: Don't test for denormalized numbers. From-SVN: r129057
2007-10-06Revert:Eric Botcazou3-18/+10
2007-02-12 Eric Botcazou <ebotcazou@adacore.com> * tree.h (DECL_IGNORED_P): Document further effect for FUNCTION_DECL. * cgraphunit.c (cgraph_expand_function): If DECL_IGNORED_P is set on the function, temporarily point the debug interface to the null one. From-SVN: r129056
2007-10-06namelist_15.f90: Revise test.Jerry DeLisle2-7/+15
2007-10-06 Jerry DeLisle <jvdelisle@gcc.gnu.org> * gfortran.dg/namelist_15.f90: Revise test. From-SVN: r129055
2007-10-06* simplify.c (gfc_simplify_size): Fix typo.Tobias Schlüter2-1/+5
From-SVN: r129053
2007-10-06re PR tree-optimization/33655 (ICE in bitfield_overlaps_p, at tree-sra.c:2901)Alexandre Oliva4-0/+30
gcc/ChangeLog: PR tree-optimization/33655 * tree-sra.c (bitfield_overlaps_p): Handle array and complex elements. gcc/testsuite/ChangeLog: PR tree-optimization/33655 * gcc.dg/torture/pr33655.c: New. From-SVN: r129052
2007-10-06re PR tree-optimization/33572 (wrong code with -O)Alexandre Oliva5-73/+112
gcc/ChangeLog: PR tree-optimization/33572 * tree-cfg.c (verify_stmts): Check for missing PHI defs. * tree-inline.c (update_ssa_across_eh_edges): Renamed to... (update_ssa_across_abnormal_edges): ... this. Set slots in the return PHI node. (copy_edges_for_bb): Handle nonlocal label edges. (make_nonlocal_label_edges): Deleted. (optimize_inline_calls): Don't call it. gcc/testsuite/ChangeLog: PR tree-optimization/33572 * g++.dg/torture/pr33572.C: New. From-SVN: r129051
2007-10-06re PR fortran/25076 (FORALL triplet subscript must not reference any index-name)Tobias Schlüter4-143/+199
PR fortran/25076 fortran/ * resolve.c (gfc_find_forall_index): Move towards top, renaming to ... (find_forall_index): ... this. Add check for NULL expr. (resolve_forall_iterators): Verify additional constraint. (resolve_forall): Remove checks obsoleted by new code in resolve_forall_iterators. testsuite/ * gfortran.dg/forall_11.f90: New. From-SVN: r129050
2007-10-06Daily bump.GCC Administrator1-1/+1
From-SVN: r129045
2007-10-05* gthr-single.h: Revert last change.Hans-Peter Nilsson2-19/+4
From-SVN: r129040
2007-10-05re PR middle-end/33667 (RTL sharing with divmod)Michael Matz4-1/+33
gcc/ PR middle-end/33667 * lower-subreg.c (decompose_multiword_subregs): Use validate_unshare_change(). testsuite/ * gcc.dg/pr33667.c: New testcase. From-SVN: r129038
2007-10-05ra-conflict.c: Include "sparseset.h".Peter Bergner7-223/+949
* ra-conflict.c: Include "sparseset.h". (conflicts): Change to HOST_WIDEST_FAST_INT. (allocnos_live): Redefine variable as a sparseset. (SET_ALLOCNO_LIVE, CLEAR_ALLOCNO_LIVE, GET_ALLOCNO_LIVE): Delete macros. (allocno_row_words): Removed global variable. (partial_bitnum, max_bitnum, adjacency_pool, adjacency): New variables. (CONFLICT_BITNUM, CONFLICT_BITNUM_FAST): New defines. (conflict_p, set_conflict_p, set_conflicts_p): New functions. (record_one_conflict_between_regnos): Cache allocno values and reuse. Use set_conflict_p. (record_one_conflict): Update uses of allocnos_live to use the sparseset routines. Use set_conflicts_p. (mark_reg_store): Likewise. (set_reg_in_live): Likewise. (global_conflicts): Update uses of allocnos_live. Use the new adjacency list to visit an allocno's neighbors rather than iterating over all possible allocnos. Call set_conflicts_p to setup conflicts rather than adding them manually. * global.c: Comments updated. (CONFLICTP): Delete define. (regno_compare): New function. Add prototype. (global_alloc): Sort the allocno to regno mapping according to which basic blocks the regnos are referenced in. Modify the conflict bit matrix to a compressed triangular bitmatrix. Only allocate the conflict bit matrix and adjacency lists if we are actually going to allocate something. (expand_preferences): Use conflict_p. Update uses of allocnos_live. (prune_preferences): Use the FOR_EACH_CONFLICT macro to visit an allocno's neighbors rather than iterating over all possible allocnos. (mirror_conflicts): Removed function. (dump_conflicts): Iterate over regnos rather than allocnos so that all dump output will be sorted by regno number. Use the FOR_EACH_CONFLICT macro. * ra.h: Comments updated. (conflicts): Update prototype to HOST_WIDEST_FAST_INT. (partial_bitnum, max_bitnum, adjacency, adjacency_pool): Add prototypes. (ADJACENCY_VEC_LENGTH, FOR_EACH_CONFLICT): New defines. (adjacency_list_d, adjacency_iterator_d): New types. (add_neighbor, adjacency_iter_init, adjacency_iter_done, adjacency_iter_next, regno_basic_block): New static inline functions. (EXECUTE_IF_SET_IN_ALLOCNO_SET): Removed define. (conflict_p): Add function prototype. * sparseset.h, sparseset.c: New files. * Makefile.in (OBJS-common): Add sparseset.o. (sparseset.o): New rule. From-SVN: r129037
2007-10-05re PR middle-end/33666 (Type verification failure with pointer to long long ↵Richard Guenther4-4/+24
conversion) 2007-10-05 Richard Guenther <rguenther@suse.de> PR middle-end/33666 * fold-const.c (fold_unary): Do not fold (long long)(int)ptr to (long long)ptr. * gcc.dg/pr33666.c: New testcase. From-SVN: r129036
2007-10-05re PR inline-asm/33600 (Breakage caused by the fix to PR33552)Michael Matz4-1/+22
gcc/ PR inline-asm/33600 * function.c (match_asm_constraints_1): Check for input being used in the outputs. testsuite/ * gcc.target/i386/pr33600.c: New testcase. From-SVN: r129035
2007-10-05gfortran.h (gfc_get_data_variable, [...]): Move to decl.c.Francois-Xavier Coudert11-41/+90
* gfortran.h (gfc_get_data_variable, gfc_get_data_value, gfc_get_data): Move to decl.c. (global_used): Rename into gfc_global_used. (gfc_formalize_init_value, gfc_get_section_index, gfc_assign_data_value, gfc_assign_data_value_range, gfc_advance_section): Move to data.h. (gfc_set_in_match_data): Remove. * decl.c (gfc_get_data_variable, gfc_get_data_value, gfc_get_data): Move here. (gfc_set_in_match_data): Rename into set_in_match_data. (gfc_match_data): Likewise. (add_global_entry): Rename global_used into gfc_global_used. * data.c: Include data.h. * trans.h (gfc_todo_error): Remove. * trans-array.c (gfc_trans_array_constructor, gfc_conv_ss_startstride, gfc_conv_loop_setup): Change gfc_todo_error into assertions. * resolve.c (resolve_global_procedure): Rename global_used into gfc_global_used. * parse.c (gfc_global_used, parse_module, add_global_procedure, add_global_program): Likewise. * trans-intrinsic.c (gfc_walk_intrinsic_function): Rename global_used into gfc_global_used. * Make-lang.in: Add dependencies on fortran/data.h. * data.h: New file. From-SVN: r129034
2007-10-05tree-cfg.c (verify_gimple_expr): Accept OBJ_TYPE_REF.Richard Guenther4-0/+31
2007-10-05 Richard Guenther <rguenther@suse.de> * tree-cfg.c (verify_gimple_expr): Accept OBJ_TYPE_REF. * g++.dg/tree-ssa/obj-type-ref.C: New testcase. From-SVN: r129033
2007-10-05Add NOMIPS16 to last commit (will be in gcc-patches@ message).Richard Sandiford1-1/+1
From-SVN: r129032
2007-10-05re PR target/33635 (Bootstrap broken on mips-sgi-irix6.5)Richard Sandiford4-47/+57
gcc/ PR target/33635 * config/mips/mips.c (mips_register_move_cost): Rewrite to use subset checks. Make the cost of FPR -> FPR moves depend on mips_mode_ok_for_mov_fmt_p. gcc/testsuite/ PR target/33635 * gcc.target/mips/pr33635-1.c: New test. From-SVN: r129031
2007-10-05gthr-posix.h (__gthread_cond_broadcast, [...]): Add to extend interface for ↵Doug Kwan5-6/+108
POSIX conditional variables. 2007-09-13 Doug Kwan <dougkwan@google.com> * gcc/gthr-posix.h (__gthread_cond_broadcast, __gthread_cond_wait, __gthread_cond_wait_recursive): Add to extend interface for POSIX conditional variables. (__GTHREAD_HAS_COND): Macro defined to signify support of conditional variables. * gcc/gthr-posix95.h (__gthread_cond_broadcast, __gthread_cond_wait, __gthread_cond_wait_recursive): Add to extend interface for POSIX conditional variables. (__GTHREAD_HAS_COND): Macro defined to signify support of conditional variables. * gcc/gthr-single.h (__gthread_cond_broadcast, __gthread_cond_wait, __gthread_cond_wait_recursive): Add to extend interface for POSIX conditional variables. * gcc/gthr.h: Update comments to document new interface. * libstdc++-v3/include/ext/concurrent.h (class __mutex, class __recursive_mutex): Add new method gthread_mutex to access inner gthread mutex. [__GTHREAD_HAS_COND] (class __concurrence_broadcast_error, class __concurrence_wait_error, class __cond): Add. * guard.cc (recursive_push, recursive_pop): Delete. (init_in_progress_flag, set_init_in_progress_flag): Add to replace recursive_push and recursive_pop. (throw_recursive_init_exception): Add. (acquire, __cxa_guard_acquire, __cxa_guard_abort and __cxa_guard_release): [__GTHREAD_HAS_COND] Use a conditional for synchronization of static variable initialization. The global mutex is only held briefly when guards are accessed. [!__GTHREAD_HAS_COND] Fall back to the old code, which deadlocks. * testsuite/thread/guard.cc: Add new test. It deadlocks with the old locking code in libstdc++-v3/libsup++/guard.cc. From-SVN: r129030
2007-10-05Daily bump.GCC Administrator1-1/+1
From-SVN: r129028
2007-10-04cgraphunit.c (cgraph_build_static_cdtor): Don't set DECL_IGNORED_P.Geoffrey Keating2-2/+5
* cgraphunit.c (cgraph_build_static_cdtor): Don't set DECL_IGNORED_P. From-SVN: r129024
2007-10-05* config/avr/avr.c (expand_epilogue): Don't set RTX_FRAME_RELATED_P.Anatoly Sokolov2-44/+28
From-SVN: r129023
2007-10-04re PR fortran/33539 (Too much noise for zero-length character strings)Thomas Koenig5-7/+7
2007-10-04 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/33539 * resolve.c: Only warn if the string length is less than zero. 2007-10-04 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/33539 * zero_length_2.f90: Omit warning for zero-length string. * repeat_2.f90: Likewise. * repeat_4.f90: Likewise. * char_length_2.f90: Likewise. From-SVN: r129022
2007-10-04re PR c++/20416 (Incorrect lifetime for temporary with static const reference)Jason Merrill3-1/+43
PR c++/20416 * call.c (initialize_reference): Handle local static reference temps properly. From-SVN: r129020
2007-10-04re PR libfortran/33253 (namelist: reading back a string with apostrophe)Jerry DeLisle2-12/+21
2007-10-04 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libfortran/33253 * gfortran.dg/namelist_39.f90: Revise to use long names. From-SVN: r129018
2007-10-04re PR fortran/33646 (Gcc 4.3 revision 128954 failed tonto in SPEC CPU 2006)H.J. Lu2-0/+64
2007-10-04 H.J. Lu <hongjiu.lu@intel.com> PR fortran/33646 * gfortran.dg/pr33646.f90: New file. From-SVN: r129015
2007-10-04re PR fortran/33529 (Non-litteral CHARACTER kind values matching is wrong)Francois-Xavier Coudert5-49/+102
PR fortran/33529 * decl.c (match_char_kind): New function. (match_char_spec): Use match_char_kind. * gfortran.dg/char_type_len_2.f90: Adjust error message. * gfortran.dg/char_decl_2.f90: New test. From-SVN: r129012
2007-10-04re PR fortran/33502 (gfortran with .F suffix and -g3 option chokes on ↵Francois-Xavier Coudert4-2/+88
preprocessor syntax) PR fortran/33502 * scanner.c (gfc_advance_line): Call debug_hooks->end_source_file and debug_hooks->start_source_file when appropriate, and set dbg_emitted. (gfc_define_undef_line): New function. (load_file): Don't error out on #define and #undef lines. * parse.c (next_statement): Call gfc_define_undef_line. (gfc_parse_file): Call debug_hooks->start_source_file and debug_hooks->end_source_file for the main source file if required. * gfortran.h (gfc_linebuf): Add dbg_emitted field. (gfc_define_undef_line): New prototype. From-SVN: r129011
2007-10-04re PR middle-end/33641 (perlbmk gets type mismatch in pointer plus expression)Richard Guenther4-11/+54
2007-10-04 Richard Guenther <rguenther@suse.de> PR middle-end/33641 * tree-cfg.c (verify_gimple_expr): Operand one of POINTER_PLUS_EXPR does not need to be of INTEGER_TYPE. (verify_gimple_2): New function split out from ... (verify_gimple_1): ... here. ICE if there was an error during verification. * gcc.c-torture/compile/pr33641.c: New testcase. From-SVN: r129010
2007-10-04Mention PR fortran/33646 in revision 129000.H.J. Lu2-0/+2
From-SVN: r129008
2007-10-04re PR rtl-optimization/33653 (volatile memory access optimized away)Michael Matz2-0/+15
PR rtl-optimization/33653 * gcc.dg/pr33653.c: New. From-SVN: r129007
2007-10-04re PR rtl-optimization/33653 (volatile memory access optimized away)Michael Matz3-2/+8
PR rtl-optimization/33653 * dce.c (deletable_insn_p_1): Use volatile_refs_p(). * dse.c (scan_insn): Same. From-SVN: r129006
2007-10-04* config.gcc: Remove USE_GAS for m68k targets.Kazu Hirata2-7/+11
From-SVN: r129005
2007-10-04re PR tree-optimization/33627 (ICE in verify_stmts compiling abiword)Richard Guenther7-36/+125
2007-10-04 Richard Guenther <rguenther@suse.de> PR tree-optimization/33627 * tree-gimple.h (canonicalize_cond_expr_cond): Declare. * tree-gimple.c (canonicalize_cond_expr_cond): New function, split out from ... * tree-ssa-forwprop.c (combine_cond_expr_cond): ... here. * tree-ssa-ifcombine.c (ifcombine_iforif): Use it. * g++.dg/torture/pr33627.C: New testcase. From-SVN: r129004
2007-10-04re PR c++/32470 (fvisibility=hidden without effect in some cases)Jason Merrill5-53/+90
PR c++/32470 * name-lookup.c (push_namespace_with_attrs): Fold back into... (push_namespace): Here. (handle_namespace_attrs): New fn for the attr code. (leave_scope): Don't pop_visibility. * name-lookup.h (struct cp_binding_level): Remove has_visibility. * parser.c (cp_parser_namespace_definition): Call handle_namespace_attrs and pop_visibility as appropriate. From-SVN: r129003
2007-10-04re PR fortran/33626 (Parentheses get wrong kind during matching)Tobias Schlüter4-8/+25
PR fortran/33626 fortran/ * resolve.c (resolve_operator): Always copy the type for expressions in parentheses. testsuite/ * gfortran.dg/parens_6.f90: New. From-SVN: r129002
2007-10-04avr.c (commands_in_file, [...]): Remove variables.Anatoly Sokolov2-21/+8
* config/avr/avr.c (commands_in_file, commands_in_prologues, commands_in_epilogues): Remove variables. (avr_file_start): Remove unneded initializations of commands_in_file, commands_in_prologues and commands_in_epilogues variables. (avr_file_end): Remove dead code. From-SVN: r129001
2007-10-04re PR fortran/33542 (gfortran does not detect ambigious specific names if ↵Paul Thomas4-39/+11
they are the same as generic names) 2007-10-04 Paul Thomas <pault@gcc.gnu.org> PR fortran/33542 * interface.c (check_interface1): Revert patch of 2007-10-02. 2007-10-04 Paul Thomas <pault@gcc.gnu.org> PR fortran/33542 * gfortran.dg/ambiguous_specific_1.f90: Remove. From-SVN: r129000
2007-10-03re PR c++/11756 (ICE's when using typeof in template function parameter type ↵Jason Merrill2-0/+9
declarations) PR c++/11756 * mangle.c (write_type) [TYPEOF_TYPE]: Just sorry. From-SVN: r128999
2007-10-04Daily bump.GCC Administrator1-1/+1
From-SVN: r128997
2007-10-03m68k.c (m68k_output_movem): Use the MOTOROLA if MOTOROLA is to true.Kazu Hirata2-4/+9
* config/m68k/m68k.c (m68k_output_movem): Use the MOTOROLA if MOTOROLA is to true. From-SVN: r128994
2007-10-03re PR fortran/26682 (gfortran fails with -fwhole-program optimization)Francois-Xavier Coudert2-0/+12
PR fortran/26682 * trans-decl.c (build_function_decl): Set "externally_visible" attribute on the MAIN program decl. From-SVN: r128993
2007-10-03decl.c (duplicate_decls): Preserve linkage flags for mere redeclarations of ↵Alexandre Oliva5-10/+38
gnu_inline definitions. 2007-10-01 Alexandre Oliva <aoliva@redhat.com> * decl.c (duplicate_decls): Preserve linkage flags for mere redeclarations of gnu_inline definitions. * g++.dg/ext/gnu-inline-global-redecl.C: New. From-SVN: r128992
2007-10-03re PR target/33635 (Bootstrap broken on mips-sgi-irix6.5)Richard Sandiford13-125/+397
gcc/ PR target/33635 * config/mips/mips-protos.h (mips_split_64bit_move): Rename to... (mips_split_doubleword_move): ...this. * config/mips/mips.c (mips_subword): Extend to handle 64-bit words; use natural endianness for multi-format FPR values. (mips_split_64bit_move): Rename to... (mips_split_doubleword_move): ...this and extend to 64-bit words. Use move_doubleword_fpr* patterns for moves involving FPRs. (mips_save_reg): Update the call to mips_split_64bit_move. (mips_secondary_reload_class): Return NO_REGS for any reload of a nonzero constant into an FPR if the constant can be forced to memory. * config/mips/mips.md: Update the splitter calls to mips_split_64bit_move. (UNSPEC_LOAD_DF_LOW): Rename to... (UNSPEC_LOAD_LOW): ...this. (UNSPEC_LOAD_DF_HIGH): Rename to... (UNSPEC_LOAD_HIGH): ...this. (UNSPEC_STORE_DF_HIGH): Rename to... (UNSPEC_STORE_WORD): ...this. (SPLITF): New mode iterator. (HALFMODE): New mode attribute. (movtf): New expander. (*movtf_internal): New define_insn_and_split. (move_doubleword_fpr<mode>): New expander. (load_df_low, load_df_high, store_df_high, mthc1, mfhc1): Replace with... (load_low<mode>, load_high<mode>, store_word<mode>, mthc1<mode>) (mfhc1<mode>): ...these more general patterns. gcc/testsuite/ PR target/33635 * gcc.target/mips/mips.exp (setup_mips_tests): Set mips_isa_rev and mips_forced_be. (dg-mips-options): Handle -EL and -mel. Make -mfp64 imply -mhard-float and a suitable ISA. Improve handling of -mipsXrY options. * gcc.target/mips/fpr-moves-1.c: New test. * gcc.target/mips/fpr-moves-2.c: Likewise. * gcc.target/mips/fpr-moves-3.c: Likewise. * gcc.target/mips/fpr-moves-4.c: Likewise. * gcc.target/mips/fpr-moves-5.c: Likewise. * gcc.target/mips/fpr-moves-6.c: Likewise. * gcc.target/mips/mips32r2-mxhc1.c: Remove -march=mips32r2 From-SVN: r128991