OSDN Git Service

pf3gnuchains/gcc-fork.git
18 years ago * a-intnam-os2.ads, a-intnam-unixware.ads, g-soccon-unixware.ads,
charlet [Wed, 15 Feb 2006 09:27:57 +0000 (09:27 +0000)]
* a-intnam-os2.ads, a-intnam-unixware.ads, g-soccon-unixware.ads,
g-soliop-unixware.ads, i-os2err.ads, i-os2lib.adb, i-os2lib.ads,
i-os2syn.ads, i-os2thr.ads, s-intman-irix-athread.adb,
s-osinte-aix-fsu.ads, s-osinte-fsu.adb, s-parame-os2.adb,
s-osinte-irix-athread.ads, s-osinte-linux-fsu.ads, s-osinte-os2.adb,
s-osinte-os2.ads, s-osinte-solaris-fsu.ads, s-osinte-unixware.adb,
s-osinte-unixware.ads, s-osprim-os2.adb, s-taprop-irix-athread.adb,
s-taprop-os2.adb, s-tasinf-irix-athread.adb, s-tasinf-irix-athread.ads,
s-taspri-os2.ads, system-os2.ads, system-unixware.ads: Removed,
no longer used.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111021 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2006-02-15 Paolo Bonzini <bonzini@gnu.org>
bonzini [Wed, 15 Feb 2006 09:15:56 +0000 (09:15 +0000)]
2006-02-15  Paolo Bonzini  <bonzini@gnu.org>

* cfg.c (dump_flow_info): Get dump flags as an additional parameter.
(debug_flow_info): Pass it.
* alias.c (rest_of_handle_cfg): Adjust calls to dump_flow_info.
* bb-reorder.c (reorder_basic_blocks): Likewise.
* cfgcleanup.c (rest_of_handle_jump2): Likewise.
* cse.c (rest_of_handle_cse, rest_of_handle_cse2): Likewise.
* flow.c (life_analysis, recompute_reg_usage): Likewise.
* gcse.c (gcse_main, bypass_jumps): Likewise.
* ifcvt.c (rest_of_handle_if_conversion): Likewise.
* local-alloc.c (rest_of_handle_local_alloc): Likewise.
* loop-init.c (rtl_loop_init, rtl_loop_done): Likewise.
* profile.c (compute_branch_probabilities, branch_prob): Likewise.
* rtl.h (dump_flow_info): Adjust prototype.
* tracer.c (rest_of_handle_tracer, tracer): Likewise.
* var-tracking.c (variable_tracking_main): Likewise.
* passes.c (execute_todo): Obey TDF_BLOCKS for RTL.
* tree-dump.c (enable_rtl_dump_file): Enable the details and blocks
options.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111020 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2006-02-15 Marcin Dalecki <martin@dalecki.de>
dalecki [Wed, 15 Feb 2006 07:58:22 +0000 (07:58 +0000)]
2006-02-15  Marcin Dalecki <martin@dalecki.de>

* tree-ssa-dom.c (dom_thread_across_edge): fix tag expression
construction.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111019 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago PR libgomp/25938
jakub [Wed, 15 Feb 2006 07:46:39 +0000 (07:46 +0000)]
PR libgomp/25938
PR libgomp/25984
fortran/
* Make-lang.in (install-finclude-dir): New goal.
(fortran.install-common): Depend on install-finclude-dir.
* lang-specs.h: If not -nostdinc, add -I finclude.
libgomp/
* Makefile.am (fincludedir): New variable.
(nodist_include_HEADERS): Remove Fortran files.
(nodist_finclude_HEADERS): New variable.
* Makefile.in: Regenerated.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111018 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2006-02-15 Matthias Klose <doko@debian.org>
doko [Wed, 15 Feb 2006 03:47:02 +0000 (03:47 +0000)]
2006-02-15  Matthias Klose  <doko@debian.org>

        * gnu/java/nio/charset, gnu/java/net/protocol/file,
        gnu/regexp: Remove empty directories.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111015 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2006-02-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Wed, 15 Feb 2006 01:25:03 +0000 (01:25 +0000)]
2006-02-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

* MAINTAINERS: Add self to fortran 95 maintainers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111009 138bc75d-0d04-0410-961f-82ee72b054a4

18 years agoDaily bump.
gccadmin [Wed, 15 Feb 2006 00:17:33 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111005 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago PR tree-optimization/26209
rakdver [Tue, 14 Feb 2006 23:55:22 +0000 (23:55 +0000)]
PR tree-optimization/26209
* tree-ssa-loop.c (pass_scev_cprop): Add TODO_cleanup_cfg.
* tree-cfgcleanup.c (cleanup_control_flow): Remove dead
eh edges.
* tree-cfg.c (replace_uses_by): Do not alter cfg.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110999 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2006-02-16 Thomas Koenig <Thomas.Koenig@online.de>
tkoenig [Tue, 14 Feb 2006 22:35:10 +0000 (22:35 +0000)]
2006-02-16  Thomas Koenig  <Thomas.Koenig@online.de>

* MAINTAINERS (Write After Approval):  Remove myself.
(Language Front End Maintainers):  Add myself as
fortran 95 maintainer.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110998 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago PR middle-end/23670
sayle [Tue, 14 Feb 2006 21:08:52 +0000 (21:08 +0000)]
PR middle-end/23670
* fold-const.c (fold_binary) <BIT_IOR_EXPR>: Optimize (X&Y)|Y into
(X,Y) and the corresponding symmetry related transformations.
(fold_binary) <BIT_AND_EXPR>: Likewise, optimize (X|Y)&Y into
(X,Y) and its symmetry related transformations.

* gcc.dg/tree-ssa/andor-2.c: New test case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110997 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2006-02-14 Thomas Koenig <Thomas.Koenig@online.de>
tkoenig [Tue, 14 Feb 2006 19:25:36 +0000 (19:25 +0000)]
2006-02-14  Thomas Koenig  <Thomas.Koenig@online.de>

        PR fortran/25045
        * check.c (dim_check):  Perform all checks if dim is optional.
        (gfc_check_minloc_maxloc):  Use dim_check and dim_rank_check
        to check dim argument.
        (check_reduction):  Likewise.

2006-02-14  Thomas Koenig  <Thomas.Koenig@online.de>

        PR fortran/25045
        * optional_dim.f90:  New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110994 138bc75d-0d04-0410-961f-82ee72b054a4

18 years agofortran/
tobi [Tue, 14 Feb 2006 19:21:07 +0000 (19:21 +0000)]
fortran/
PR fortran/26277
* io.c (match_ltag): Mark label as referenced.
testsuite/
PR fortran/26277
* gfortran.dg/label_4.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110993 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * dojump.c (do_compare_rtx_and_jump): Also handle multi-word GTU
sayle [Tue, 14 Feb 2006 17:54:41 +0000 (17:54 +0000)]
    * dojump.c (do_compare_rtx_and_jump): Also handle multi-word GTU
and GEU.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110992 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * simplify-rtx.c (simplify_subreg): Combine SUBREG and TRUNCATE.
nemet [Tue, 14 Feb 2006 17:45:55 +0000 (17:45 +0000)]
* simplify-rtx.c (simplify_subreg): Combine SUBREG and TRUNCATE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110990 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago PR bootstrap/26053
ro [Tue, 14 Feb 2006 16:46:04 +0000 (16:46 +0000)]
PR bootstrap/26053
* configure.ac (HAVE_COMDAT_GROUP): Don't assume non-GNU linkers
support COMDAT group.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110985 138bc75d-0d04-0410-961f-82ee72b054a4

18 years agogcc/fortran/
jakub [Tue, 14 Feb 2006 16:38:03 +0000 (16:38 +0000)]
gcc/fortran/
2006-02-14  Jakub Jelinek  <jakub@redhat.com>
    Richard Henderson  <rth@redhat.com>
    Diego Novillo  <dnovillo@redhat.com>

* invoke.texi: Document -fopenmp.
* gfortran.texi (Extensions): Document OpenMP.

Backport from gomp-20050608-branch
* trans-openmp.c: Call build_omp_clause instead of
make_node when creating OMP_CLAUSE_* trees.
(gfc_trans_omp_reduction_list): Remove argument 'code'.
Adjust all callers.

* trans.h (build4_v): Define.
* trans-openmp.c: Call build4_v to create OMP_PARALLEL nodes.
Call build3_v to create OMP_SECTIONS nodes.

PR fortran/25162
* openmp.c (gfc_match_omp_variable_list): Call gfc_set_sym_referenced
on all symbols added to the variable list.

* openmp.c (gfc_match_omp_clauses): Fix check for non-INTRINSIC
procedure symbol in REDUCTION.

* trans-openmp.c (gfc_trans_omp_array_reduction): Use gfc_add
for MINUS_EXPR OMP_CLAUSE_REDUCTION_CODE.

* trans-openmp.c (gfc_trans_omp_do): Add PBLOCK argument.  If PBLOCK
is non-NULL, evaluate INIT/COND/INCR and chunk size expressions in
that statement block.
(gfc_trans_omp_parallel_do): Pass non-NULL PBLOCK to gfc_trans_omp_do
for non-ordered non-static combined loops.
(gfc_trans_omp_directive): Pass NULL PBLOCK to gfc_trans_omp_do.

* openmp.c: Include target.h and toplev.h.
(gfc_match_omp_threadprivate): Emit diagnostic if target does
not support TLS.
* Make-lang.in (fortran/openmp.o): Add dependencies on
target.h and toplev.h.

* trans-decl.c (gfc_get_fake_result_decl): Set GFC_DECL_RESULT.
* trans-openmp.c (gfc_omp_privatize_by_reference): Make
DECL_ARTIFICIAL vars predetermined shared except GFC_DECL_RESULT.
(gfc_omp_disregard_value_expr): Handle GFC_DECL_RESULT.
(gfc_trans_omp_variable): New function.
(gfc_trans_omp_variable_list, gfc_trans_omp_reduction_list): Use it.
* trans.h (GFC_DECL_RESULT): Define.

* trans-openmp.c (gfc_omp_firstprivatize_type_sizes): New function.
* f95-lang.c (LANG_HOOKS_OMP_FIRSTPRIVATIZE_TYPE_SIZES): Define.
* trans.h (gfc_omp_firstprivatize_type_sizes): New prototype.

* trans-openmp.c (gfc_omp_privatize_by_reference): Return
true if a pointer has GFC_DECL_SAVED_DESCRIPTOR set.
(gfc_trans_omp_array_reduction, gfc_trans_omp_reduction_list): New
functions.
(gfc_trans_omp_clauses): Add WHERE argument.  Call
gfc_trans_omp_reduction_list rather than gfc_trans_omp_variable_list
for reductions.
(gfc_trans_omp_do, gfc_trans_omp_parallel, gfc_trans_omp_parallel_do,
gfc_trans_omp_parallel_sections, gfc_trans_omp_parallel_workshare,
gfc_trans_omp_sections, gfc_trans_omp_single): Adjust
gfc_trans_omp_clauses callers.

* openmp.c (omp_current_do_code): New var.
(gfc_resolve_omp_do_blocks): New function.
(gfc_resolve_omp_parallel_blocks): Call it.
(gfc_resolve_do_iterator): Add CODE argument.  Don't propagate
predetermination if argument is !$omp do or !$omp parallel do
iteration variable.
* resolve.c (resolve_code): Call gfc_resolve_omp_do_blocks
for EXEC_OMP_DO.  Adjust gfc_resolve_do_iterator caller.
* fortran.h (gfc_resolve_omp_do_blocks): New prototype.
(gfc_resolve_do_iterator): Add CODE argument.

* trans.h (gfc_omp_predetermined_sharing,
gfc_omp_disregard_value_expr, gfc_omp_private_debug_clause): New
prototypes.
(GFC_DECL_COMMON_OR_EQUIV, GFC_DECL_CRAY_POINTEE): Define.
* trans-openmp.c (gfc_omp_predetermined_sharing,
gfc_omp_disregard_value_expr, gfc_omp_private_debug_clause): New
functions.
* trans-common.c (build_equiv_decl, build_common_decl,
create_common): Set GFC_DECL_COMMON_OR_EQUIV flag on the decls.
* trans-decl.c (gfc_finish_cray_pointee): Set GFC_DECL_CRAY_POINTEE
on the decl.
* f95-lang.c (LANG_HOOKS_OMP_PREDETERMINED_SHARING,
LANG_HOOKS_OMP_DISREGARD_VALUE_EXPR,
LANG_HOOKS_OMP_PRIVATE_DEBUG_CLAUSE): Define.

* openmp.c (resolve_omp_clauses): Remove extraneous comma.

* symbol.c (check_conflict): Add conflict between cray_pointee and
threadprivate.
* openmp.c (gfc_match_omp_threadprivate): Fail if
gfc_add_threadprivate returned FAILURE.
(resolve_omp_clauses): Diagnose Cray pointees in SHARED,
{,FIRST,LAST}PRIVATE and REDUCTION clauses and Cray pointers in
{FIRST,LAST}PRIVATE and REDUCTION clauses.

* resolve.c (omp_workshare_flag): New variable.
(resolve_function): Diagnose use of non-ELEMENTAL user defined
function in WORKSHARE construct.
(resolve_code): Cleanup forall_save use.  Make sure omp_workshare_flag
is set to correct value in different contexts.

* openmp.c (resolve_omp_clauses): Replace %s with '%s' when printing
variable name.
(resolve_omp_atomic): Likewise.

PR fortran/24493
* scanner.c (skip_free_comments): Set at_bol at the beginning of the
loop, not before it.
(skip_fixed_comments): Handle ! comments in the middle of line here
as well.
(gfc_skip_comments): Use skip_fixed_comments for FIXED_FORM even if
not at BOL.
(gfc_next_char_literal): Fix expected canonicalized *$omp string.

* trans-openmp.c (gfc_trans_omp_do): Use make_node and explicit
initialization to build OMP_FOR instead of build.

* trans-decl.c (gfc_gimplify_function): Invoke
diagnose_omp_structured_block_errors.

* trans-openmp.c (gfc_trans_omp_master): Use OMP_MASTER.
(gfc_trans_omp_ordered): Use OMP_ORDERED.

* gfortran.h (gfc_resolve_do_iterator, gfc_resolve_blocks,
gfc_resolve_omp_parallel_blocks): New prototypes.
* resolve.c (resolve_blocks): Renamed to...
(gfc_resolve_blocks): ... this.  Remove static.
(gfc_resolve_forall): Adjust caller.
(resolve_code): Only call gfc_resolve_blocks if code->block != 0
and not for EXEC_OMP_PARALLEL* directives.  Call
gfc_resolve_omp_parallel_blocks for EXEC_OMP_PARALLEL* directives.
Call gfc_resolve_do_iterator if resolved successfully EXEC_DO
iterator.
* openmp.c: Include pointer-set.h.
(omp_current_ctx): New variable.
(gfc_resolve_omp_parallel_blocks, gfc_resolve_do_iterator): New
functions.
* Make-lang.in (fortran/openmp.o): Depend on pointer-set.h.

* openmp.c (gfc_match_omp_clauses): For max/min/iand/ior/ieor,
look up symbol if it exists, use its name instead and, if it is not
INTRINSIC, issue diagnostics.

* parse.c (parse_omp_do): Handle implied end do properly.
(parse_executable): If parse_omp_do returned ST_IMPLIED_ENDDO,
return it instead of continuing.

* trans-openmp.c (gfc_trans_omp_critical): Update for changed
operand numbering.
(gfc_trans_omp_do, gfc_trans_omp_parallel, gfc_trans_omp_parallel_do,
gfc_trans_omp_parallel_sections, gfc_trans_omp_parallel_workshare,
gfc_trans_omp_sections, gfc_trans_omp_single): Likewise.

* trans.h (gfc_omp_privatize_by_reference): New prototype.
* f95-lang.c (LANG_HOOKS_OMP_PRIVATIZE_BY_REFERENCE): Redefine
to gfc_omp_privatize_by_reference.
* trans-openmp.c (gfc_omp_privatize_by_reference): New function.

* trans-stmt.h (gfc_trans_omp_directive): Add comment.

* openmp.c (gfc_match_omp_variable_list): Add ALLOW_COMMON argument.
Disallow COMMON matching if it is set.
(gfc_match_omp_clauses, gfc_match_omp_flush): Adjust all callers.
(resolve_omp_clauses): Show locus in error messages.  Check that
variable types in reduction clauses are appropriate for reduction
operators.

* resolve.c (resolve_symbol): Don't error if a threadprivate module
variable isn't SAVEd.

* trans-openmp.c (gfc_trans_omp_do): Put count into BLOCK, not BODY.
Fix typo in condition.  Fix DOVAR initialization.

* openmp.c (gfc_match_omp_clauses): Match min/iand/ior/ieor
rather than .min. etc.

* trans-openmpc.c (omp_not_yet): Remove.
(gfc_trans_omp_parallel_do): Keep listprivate clause on parallel.
Force creation of BIND_EXPR around the workshare construct.
(gfc_trans_omp_parallel_sections): Likewise.
(gfc_trans_omp_parallel_workshare): Likewise.

* types.def (BT_I16, BT_FN_I16_VPTR_I16,
BT_FN_BOOL_VPTR_I16_I16, BT_FN_I16_VPTR_I16_I16): Add.

* trans-openmp.c (gfc_trans_omp_clauses): Create OMP_CLAUSE_DEFAULT.
(gfc_trans_omp_code): New function.
(gfc_trans_omp_do): Use it, remove omp_not_yet uses.
(gfc_trans_omp_parallel, gfc_trans_omp_single): Likewise.
(gfc_trans_omp_sections): Likewise.  Only treat empty last section
specially if lastprivate clause is present.
* f95-lang.c (gfc_init_builtin_functions): Create BUILT_IN_TRAP
builtin.

* trans-openmp.c (gfc_trans_omp_variable_list): Update for
OMP_CLAUSE_DECL name change.
(gfc_trans_omp_do): Likewise.

* trans-openmp.c (gfc_trans_omp_clauses): Create OMP_CLAUSE_REDUCTION
clauses.
(gfc_trans_omp_atomic): Build OMP_ATOMIC instead of expanding
sync builtins directly.
(gfc_trans_omp_single): Build OMP_SINGLE statement.

* trans-openmp.c (gfc_trans_add_clause): New.
(gfc_trans_omp_variable_list): Take a tree code and build the clause
node here.  Link it to the head of a list.
(gfc_trans_omp_clauses): Update to match.
(gfc_trans_omp_do): Use gfc_trans_add_clause.

* trans-openmp.c (gfc_trans_omp_clauses): Change second argument to
gfc_omp_clauses *.  Use gfc_evaluate_now instead of creating
temporaries by hand.
(gfc_trans_omp_atomic, gfc_trans_omp_critical): Use buildN_v macros.
(gfc_trans_omp_do): New function.
(gfc_trans_omp_master): Dont' check for gfc_trans_code returning NULL.
(gfc_trans_omp_parallel): Adjust gfc_trans_omp_clauses caller.
Use buildN_v macros.
(gfc_trans_omp_parallel_do, gfc_trans_omp_parallel_sections,
gfc_trans_omp_parallel_workshare, gfc_trans_omp_sections,
gfc_trans_omp_single, gfc_trans_omp_workshare): New functions.
(gfc_trans_omp_directive): Use them.
* parse.c (parse_omp_do): Allow new_st.op == EXEC_NOP.
* openmp.c (resolve_omp_clauses): Check for list items present
in multiple clauses.
(resolve_omp_do): Check that iteration variable is not THREADPRIVATE
and is not present in any clause variable lists other than PRIVATE
or LASTPRIVATE.

* gfortran.h (symbol_attribute): Add threadprivate bit.
(gfc_common_head): Add threadprivate member, change use_assoc
and saved into char to save space.
(gfc_add_threadprivate): New prototype.
* symbol.c (check_conflict): Handle threadprivate.
(gfc_add_threadprivate): New function.
(gfc_copy_attr): Copy threadprivate.
* trans-openmp.c (gfc_trans_omp_clauses): Avoid creating a temporary
if IF or NUM_THREADS is constant.  Create OMP_CLAUSE_SCHEDULE and
OMP_CLAUSE_ORDERED.
* resolve.c (resolve_symbol): Complain if a THREADPRIVATE symbol
outside a module and not in COMMON has is not SAVEd.
(resolve_equivalence): Ensure THREADPRIVATE objects don't get
EQUIVALENCEd.
* trans-common.c: Include target.h and rtl.h.
(build_common_decl): Set DECL_TLS_MODEL if THREADPRIVATE.
* trans-decl.c: Include rtl.h.
(gfc_finish_var_decl): Set DECL_TLS_MODEL if THREADPRIVATE.
* dump-parse-tree.c (gfc_show_attr): Handle THREADPRIVATE.
* Make-lang.in (fortran/trans-decl.o): Depend on $(RTL_H).
(fortran/trans-common.o): Depend on $(RTL_H) and $(TARGET_H).
* openmp.c (gfc_match_omp_variable_list): Ensure COMMON block
is from current namespace.
(gfc_match_omp_threadprivate): Rewrite.
(resolve_omp_clauses): Check some clause restrictions.
* module.c (ab_attribute): Add AB_THREADPRIVATE.
(attr_bits): Add THREADPRIVATE.
(mio_symbol_attribute, mio_symbol_attribute): Handle threadprivate.
(load_commons, write_common, write_blank_common): Adjust for type
change of saved, store/load threadprivate bit from the integer
as well.

* types.def (BT_FN_UINT_UINT): New.
(BT_FN_VOID_UINT_UINT): Remove.

* trans-openmp.c (gfc_trans_omp_clauses, gfc_trans_omp_barrier,
gfc_trans_omp_critical, gfc_trans_omp_flush, gfc_trans_omp_master,
gfc_trans_omp_ordered, gfc_trans_omp_parallel): New functions.
(gfc_trans_omp_directive): Use them.

* openmp.c (expr_references_sym): Add SE argument, don't look
into SE tree.
(is_conversion): New function.
(resolve_omp_atomic): Adjust expr_references_sym callers.  Handle
promoted expressions.
* trans-openmp.c (gfc_trans_omp_atomic): New function.
(gfc_trans_omp_directive): Call it.

* f95-lang.c (builtin_type_for_size): New function.
(gfc_init_builtin_functions): Initialize synchronization and
OpenMP builtins.
* types.def: New file.
* Make-lang.in (f95-lang.o): Depend on $(BUILTINS_DEF) and
fortran/types.def.

* trans-openmp.c: Rename GOMP_* tree codes into OMP_*.

* dump-parse-tree.c (show_symtree): Don't crash if ns->proc_name
is NULL.

* dump-parse-tree.c (gfc_show_namelist, gfc_show_omp_node): New
functions.
(gfc_show_code_node): Call gfc_show_omp_node for EXEC_OMP_* nodes.

* parse.c (parse_omp_do): Call pop_state before next_statement.
* openmp.c (expr_references_sym, resolve_omp_atomic, resolve_omp_do):
New functions.
(gfc_resolve_omp_directive): Call them.
* match.c (match_exit_cycle): Issue error if EXIT or CYCLE statement
leaves an OpenMP structured block or if EXIT terminates !$omp do
loop.

* Make-lang.in (F95_PARSER_OBJS): Add fortran/openmp.o.
(F95_OBJS): Add fortran/trans-openmp.o.
(fortran/trans-openmp.o): Depend on $(GFORTRAN_TRANS_DEPS).
* lang.opt: Add -fopenmp option.
* options.c (gfc_init_options): Initialize it.
(gfc_handle_option): Handle it.
* gfortran.h (ST_OMP_ATOMIC, ST_OMP_BARRIER, ST_OMP_CRITICAL,
ST_OMP_END_CRITICAL, ST_OMP_END_DO, ST_OMP_END_MASTER,
ST_OMP_END_ORDERED, ST_OMP_END_PARALLEL, ST_OMP_END_PARALLEL_DO,
ST_OMP_END_PARALLEL_SECTIONS, ST_OMP_END_PARALLEL_WORKSHARE,
ST_OMP_END_SECTIONS, ST_OMP_END_SINGLE, ST_OMP_END_WORKSHARE,
ST_OMP_DO, ST_OMP_FLUSH, ST_OMP_MASTER, ST_OMP_ORDERED,
ST_OMP_PARALLEL, ST_OMP_PARALLEL_DO, ST_OMP_PARALLEL_SECTIONS,
ST_OMP_PARALLEL_WORKSHARE, ST_OMP_SECTIONS, ST_OMP_SECTION,
ST_OMP_SINGLE, ST_OMP_THREADPRIVATE, ST_OMP_WORKSHARE): New
statement codes.
(OMP_LIST_PRIVATE, OMP_LIST_FIRSTPRIVATE, OMP_LIST_LASTPRIVATE,
OMP_LIST_COPYPRIVATE, OMP_LIST_SHARED, OMP_LIST_COPYIN,
OMP_LIST_PLUS, OMP_LIST_REDUCTION_FIRST, OMP_LIST_MULT,
OMP_LIST_SUB, OMP_LIST_AND, OMP_LIST_OR, OMP_LIST_EQV,
OMP_LIST_NEQV, OMP_LIST_MAX, OMP_LIST_MIN, OMP_LIST_IAND,
OMP_LIST_IOR, OMP_LIST_IEOR, OMP_LIST_REDUCTION_LAST, OMP_LIST_NUM):
New OpenMP variable list types.
(gfc_omp_clauses): New typedef.
(gfc_get_omp_clauses): Define.
(EXEC_OMP_CRITICAL, EXEC_OMP_DO, EXEC_OMP_FLUSH, EXEC_OMP_MASTER,
EXEC_OMP_ORDERED, EXEC_OMP_PARALLEL, EXEC_OMP_PARALLEL_DO,
EXEC_OMP_PARALLEL_SECTIONS, EXEC_OMP_PARALLEL_WORKSHARE,
EXEC_OMP_SECTIONS, EXEC_OMP_SINGLE, EXEC_OMP_WORKSHARE,
EXEC_OMP_ATOMIC, EXEC_OMP_BARRIER, EXEC_OMP_END_NOWAIT,
EXEC_OMP_END_SINGLE): New OpenMP gfc_exec_op codes.
(struct gfc_code): Add omp_clauses, omp_name, omp_namelist
and omp_bool fields to ext union.
(flag_openmp): Declare.
(gfc_free_omp_clauses, gfc_resolve_omp_directive): New prototypes.
* scanner.c (openmp_flag, openmp_locus): New variables.
(skip_free_comments, skip_fixed_comments, gfc_next_char_literal):
Handle OpenMP directive lines and conditional compilation magic
comments.
* parse.h (COMP_OMP_STRUCTURED_BLOCK): New compile state.
* parse.c (decode_omp_directive, parse_omp_do, parse_omp_atomic,
parse_omp_structured_block): New functions.
(next_free, next_fixed): Parse OpenMP directives.
(case_executable, case_exec_markers, case_decl): Add ST_OMP_*
codes.
(gfc_ascii_statement): Handle ST_OMP_* codes.
(parse_executable): Rearrange the loop slightly, so that
parse_omp_do can return next_statement.
* match.h (gfc_match_omp_eos, gfc_match_omp_atomic,
gfc_match_omp_barrier, gfc_match_omp_critical, gfc_match_omp_do,
gfc_match_omp_flush, gfc_match_omp_master, gfc_match_omp_ordered,
gfc_match_omp_parallel, gfc_match_omp_parallel_do,
gfc_match_omp_parallel_sections, gfc_match_omp_parallel_workshare,
gfc_match_omp_sections, gfc_match_omp_single,
gfc_match_omp_threadprivate, gfc_match_omp_workshare,
gfc_match_omp_end_nowait, gfc_match_omp_end_single): New prototypes.
* resolve.c (resolve_blocks): Ignore EXEC_OMP_* block directives.
(resolve_code): Call gfc_resolve_omp_directive on EXEC_OMP_*
directives.
* trans.c (gfc_trans_code): Call gfc_trans_omp_directive for
EXEC_OMP_* directives.
* st.c (gfc_free_statement): Handle EXEC_OMP_* statement freeing.
* trans-stmt.h (gfc_trans_omp_directive): New prototype.
* openmp.c: New file.
* trans-openmp.c: New file.

gcc/testsuite/
2006-02-14  Jakub Jelinek  <jakub@redhat.com>
    Diego Novillo  <dnovillo@redhat.com>
    Uros Bizjak  <uros@kss-loka.si>

* gfortran.dg/gomp: New directory.

libgomp/
2006-02-14  Jakub Jelinek  <jakub@redhat.com>

* testsuite/libgomp.fortran/vla7.f90: Add -w to options.
Remove tests for returning assumed character length arrays.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110984 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago PR middle-end/26279
sayle [Tue, 14 Feb 2006 16:26:16 +0000 (16:26 +0000)]
PR middle-end/26279
PR middle-end/26280
PR middle-end/26283
* dojump.c (do_compare_rtx_and_jump): Handle multi-word LE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110983 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * call.c (standard_conversion): Return NULL instead of 0.
reichelt [Tue, 14 Feb 2006 15:54:34 +0000 (15:54 +0000)]
* call.c (standard_conversion): Return NULL instead of 0.
(build_user_type_conversion_1): Likewise.
(tourney): Likewise.
* decl.c (redeclaration_error_message): Likewise.
* error.c (language_to_string): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110976 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2006-02-14 Daniel Berlin <dberlin@dberlin.org>
dberlin [Tue, 14 Feb 2006 14:49:13 +0000 (14:49 +0000)]
2006-02-14  Daniel Berlin  <dberlin@dberlin.org>

Fix PR tree-optimization/26260

* doc/invoke.texi (max-fields-for-field-sensitive): Document
param.
* params.h (MAX_FIELDS_FOR_FIELD_SENSITIVE): New.
* params.def (PARAM_MAX_FIELDS_FOR_FIELD_SENSITIVE): Ditto.
* tree-ssa-structalias.c (create_variable_info_for): Use
MAX_FIELDS_FOR_FIELD_SENSITIVE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110972 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago Add forgotten file.
rakdver [Tue, 14 Feb 2006 13:51:51 +0000 (13:51 +0000)]
    Add forgotten file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110965 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * doc/invoke.texi (-fprefetch-loop-arrays, -fprefetch-loop-arrays-rtl):
rakdver [Tue, 14 Feb 2006 12:22:11 +0000 (12:22 +0000)]
* doc/invoke.texi (-fprefetch-loop-arrays, -fprefetch-loop-arrays-rtl):
Document.
* tree-ssa-loop-niter.c (number_of_iterations_ne,
number_of_iterations_lt, number_of_iterations_cond): Remember the shape
of the ending condition.
* tree-ssa-loop-manip.c: Include params.h.
(build_if_stmt, can_unroll_loop_p, determine_exit_conditions,
tree_unroll_loop): New functions.
* tree-pass.h (pass_loop_prefetch): Declare.
* loop.c (rest_of_handle_loop_optimize): Test for
-fprefetch-loop-arrays-rtl.
* tree-scalar-evolution.h (affine_iv): Moved to tree-flow.h.
* timevar.def (TV_TREE_PREFETCH): New timevar.
* tree-ssa-loop.c (tree_ssa_loop_prefetch, gate_tree_ssa_loop_prefetch,
pass_loop_prefetch): New.
* tree-cfgcleanup.c: Include tree-scalar-evolution.h.
(cleanup_tree_cfg_loop): Call scev_reset.
* common.opt (fprefetch-loop-arrays-rtl): Add.
* tree-ssa-loop-prefetch.c: New file.
* tree-outof-ssa.c (struct value_expr_d): Add expr_vars field.
(new_temp_expr_table): Initialize expr_vars.
(free_temp_expr_table): Cleanup expr_vars.
(check_replaceable, find_replaceable_in_bb): Prevent accumulating
expressions from being merged into one.
* tree-flow.h (affine_iv): Moved from tree-scalar-evolution.h.
(struct tree_niter_desc): Add control, bound and cmp fields.
(tree_ssa_prefetch_arrays, can_unroll_loop_p, tree_unroll_loop):
Declare.
* Makefile.in (tree-ssa-loop-prefetch.o): Add.
(tree-cfgcleanup.o): Add SCEV_H dependency.
(tree-ssa-loop-manip.o): Add PARAMS_H dependency.
* passes.c (init_optimization_passes): Add pass_loop_prefetch.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110964 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2006-02-14 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 14 Feb 2006 09:58:57 +0000 (09:58 +0000)]
2006-02-14  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/26258
* tree-ssa-structalias.c (find_func_aliases): Handle aggregates
in PHI argument processing.

* gcc.dg/torture/pr26258.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110963 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2006-02-14 Paolo Bonzini <bonzini@gnu.org>
bonzini [Tue, 14 Feb 2006 09:36:24 +0000 (09:36 +0000)]
2006-02-14  Paolo Bonzini  <bonzini@gnu.org>

Sync from src:

2005-12-27  Leif Ekblad  <leif@rdos.net>

        * configure.in: Add support for RDOS target.
        * configure: Regenerate.

2006-02-14  Paolo Bonzini  <bonzini@gnu.org>
            Andreas Schwab  <schwab@suse.de>

        * configure: Regenerate.

config:
2006-02-14  Paolo Bonzini  <bonzini@gnu.org>
            Andreas Schwab  <schwab@suse.de>

        * acx.m4 (NCN_STRICT_CHECK_TARGET_TOOLS): Use correct program name.
        (ACX_CHECK_INSTALLED_TARGET_TOOL): Likewise, and always set $1.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110961 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * simplify-rtx.c (simplify_unary_operation_1) <TRUNCATE>: Return
nemet [Tue, 14 Feb 2006 07:10:35 +0000 (07:10 +0000)]
* simplify-rtx.c (simplify_unary_operation_1) <TRUNCATE>: Return
new expression in the requested machine mode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110959 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * optabs.c (expand_abs): Don't call do_jump_by_parts_greater_rtx
sayle [Tue, 14 Feb 2006 02:59:42 +0000 (02:59 +0000)]
* optabs.c (expand_abs): Don't call do_jump_by_parts_greater_rtx
directly, instead let do_compare_rtx_and_jump handle this for us.
* expr.c (expand_expr_real_1): Likewise.
* dojump.c (do_jump_by_parts_greater_rtx): Make static.  Move
before do_jump_by_parts_greater.
(do_jump_by_parts_greater): Move after do_jump_by_parts_greater_rtx.
* expr.h (do_jump_by_parts_greater_rtx): Delete prototype.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110954 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * pa/quadlib.c: Use defines instead of enum qfcmp_magic.
danglin [Tue, 14 Feb 2006 00:22:04 +0000 (00:22 +0000)]
* pa/quadlib.c: Use defines instead of enum qfcmp_magic.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110947 138bc75d-0d04-0410-961f-82ee72b054a4

18 years agoDaily bump.
gccadmin [Tue, 14 Feb 2006 00:17:46 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110945 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago PR rtl-optimization/26235
rakdver [Mon, 13 Feb 2006 23:19:49 +0000 (23:19 +0000)]
PR rtl-optimization/26235
* loop-invariant.c (hash_invariant_expr_1): Handle 'i' and 'n' formats.
(invariant_expr_equal_p): Handle 'i' and 'n' formats.  Fail on unknown
format.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110939 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * tree-vrp.c (extract_range_from_binary_expr): Remove handling of
law [Mon, 13 Feb 2006 23:08:00 +0000 (23:08 +0000)]
* tree-vrp.c (extract_range_from_binary_expr): Remove handling of
TRUTH_XOR_EPR.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110938 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * cp-tree.h (warn_hidden): Remove prototype.
reichelt [Mon, 13 Feb 2006 22:39:00 +0000 (22:39 +0000)]
* cp-tree.h (warn_hidden): Remove prototype.
* class.c (warn_hidden): Make static.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110936 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * cp-tree.h (build_type_conversion): Remove prototype.
reichelt [Mon, 13 Feb 2006 22:37:02 +0000 (22:37 +0000)]
* cp-tree.h (build_type_conversion): Remove prototype.
* cvt.c (build_type_conversion): Add prototype, make static.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110935 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * cp-tree.h (push_tinst_level): Remove prototype.
reichelt [Mon, 13 Feb 2006 22:32:47 +0000 (22:32 +0000)]
* cp-tree.h (push_tinst_level): Remove prototype.
(pop_tinst_level): Likewise.
* pt.c (push_tinst_level): Add prototype, make static.
(pop_tinst_level): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110934 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * decl.c (grokdeclarator): Return NULL_TREE instead of 0.
reichelt [Mon, 13 Feb 2006 22:05:40 +0000 (22:05 +0000)]
* decl.c (grokdeclarator): Return NULL_TREE instead of 0.
* typeck.c (unary_complex_lvalue): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110933 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * lex.c (parse_strconst_pragma): Return error_mark_node instead of
reichelt [Mon, 13 Feb 2006 22:00:35 +0000 (22:00 +0000)]
* lex.c (parse_strconst_pragma): Return error_mark_node instead of
"(tree)-1" to indicate failure.  Simplify.
(handle_pragma_interface): Test for error_mark_node instead of
"(tree)-1".
(handle_pragma_implementation): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110932 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2006-02-13 Andrew Pinski <pinskia@physics.uc.edu>
jakub [Mon, 13 Feb 2006 21:31:18 +0000 (21:31 +0000)]
2006-02-13  Andrew Pinski  <pinskia@physics.uc.edu>
    Jakub Jelinek  <jakub@redhat.com>

PR fortran/26246
* trans-decl.c (gfc_get_symbol_decl, gfc_get_fake_result_decl): Use
gfc_add_decl_to_function rather than gfc_finish_var_decl on length.

* gfortran.dg/pr26246_1.f90: New test.
* gfortran.dg/pr26246_2.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110929 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago PR middle-end/26092
jakub [Mon, 13 Feb 2006 21:28:03 +0000 (21:28 +0000)]
PR middle-end/26092
* gimplify.c (gimplify_call_expr): Don't call get_callee_fndecl
twice if decl is a builtin.  When trying again, call get_callee_fndecl
first to verify it is still a builtin.

* gcc.c-torture/compile/20060208-1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110927 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2006-02-13 Paul Thomas <pault@gcc.gnu.org>
pault [Mon, 13 Feb 2006 21:22:55 +0000 (21:22 +0000)]
2006-02-13  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/26074
PR fortran/25103
* resolve.c (resolve_symbol): Extend the requirement that module
arrays have constant bounds to those in the main program.  At the
same time simplify the array bounds, to avoiding trapping parameter
array references, and exclude automatic character length from main
and modules. Rearrange resolve_symbol and resolve_derived to put as
each flavor together, as much as is possible and move all specific
code for flavors FL_VARIABLE, FL_PROCEDURE and FL_PARAMETER into new
functions.
(resolve_fl_var_and_proc, resolve_fl_variable, resolve_fl_procedure):
New functions to do work of resolve_symbol.
(resolve_index_expr): New function that is called from resolved_symbol
and is extracted from resolve_charlen.
(resolve_charlen): Call this new function.
(resolve_fl_derived): Renamed resolve_derived to be consistent with
the naming of the new functions for the other flavours.  Change the
charlen checking so that the style is consistent with other similar
checks. Add the generation of the gfc_dt_list, removed from resolve_
symbol.

PR fortran/20861
* resolve.c (resolve_actual_arglist): Prevent internal procedures
from being dummy arguments.

PR fortran/20871
* resolve.c (resolve_actual_arglist): Prevent pure but non-intrinsic
procedures from being dummy arguments.

PR fortran/25083
* resolve.c (check_data_variable): Add test that data variable is in
COMMON.

PR fortran/25088
* resolve.c (resolve_call): Add test that the subroutine does not
have a type.

2006-02-13  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/26074
PR fortran/25103
* gfortran.dg/module_parameter_array_refs_1.f90: New test.
* gfortran.dg/bad_automatic_objects_1.f90: New test.
* gfortran.dg/automatic_module_variable.f90: Change error message.

PR fortran/20861
* gfortran.dg/internal_dummy_1.f90: New test.

PR fortran/20871
* gfortran.dg/elemental_non_intrinsic_dummy_1.f90: New test.

PR fortran/25083
* gfortran.dg/uncommon_block_data_1.f90: New test.
* gfortran.dg/equiv_constraint_7.f90: Correct non-compliance of test
with standard.

PR fortran/25088
* gfortran.dg/typed_subroutine_1.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110926 138bc75d-0d04-0410-961f-82ee72b054a4

18 years agoIndex: gcc/ChangeLog
geoffk [Mon, 13 Feb 2006 21:17:59 +0000 (21:17 +0000)]
Index: gcc/ChangeLog
2006-02-13  Geoffrey Keating  <geoffk@apple.com>

* dwarf2out.c (base_type_die): Don't add AT_name here.
(subrange_type_die): Don't add AT_name here.
(modified_type_die): Rearrange code flow.  Do add AT_name here.

Index: gcc/testsuite/ChangeLog
2006-02-13  Geoffrey Keating  <geoffk@apple.com>

* objc.dg/dwarf-1.m: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110925 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago PR rtl-optimization/26247
rakdver [Mon, 13 Feb 2006 20:27:44 +0000 (20:27 +0000)]
PR rtl-optimization/26247
PR rtl-optimization/26248
* loop-invariant.c (may_assign_reg_p): Do not allow VOIDmode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110924 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * config/floatunditf.c: Use if __LDBL_MANT_DIG__ == 113.
rsandifo [Mon, 13 Feb 2006 19:56:21 +0000 (19:56 +0000)]
* config/floatunditf.c: Use if __LDBL_MANT_DIG__ == 113.
* config/fixtfdi.c: Likewise.
* config/fixunstfdi.c: Likewise.
* config/floatditf.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110923 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago PR middle-end/24427
sayle [Mon, 13 Feb 2006 18:33:32 +0000 (18:33 +0000)]
PR middle-end/24427
* fold-const.c (fold_binary) <BIT_IOR_EXPR>: Transform (X&C1)|C2
into (X,C2) if C1 is a subset of the bits of C2.  Transform
(X&C1)|C2 into X|C2 if C1|C2 == ~0.  Canonicalize (X&C1)|C2 as
(X&(C1&~C2))|C2.
<BIT_AND_EXPR>: Canonicalize (X|C1)&C2 as (X&C2)|(C1&C2).

* gcc.dg/tree-ssa/andor-1.c: New test case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110918 138bc75d-0d04-0410-961f-82ee72b054a4

18 years agoPR target/25376
jconner [Mon, 13 Feb 2006 18:12:17 +0000 (18:12 +0000)]
PR target/25376
* varasm.c (function_section): Check for section name before
calling select_section on targets that define
USE_SELECT_SECTION_FOR_FUNCTIONS.  On other targets, use
unlikely_text_section instead of hot_function_section if
first_function_block_is_cold.
* gcc.dg/pr25376.c: New test.

* gcc.c-torture/compile/pr23237.c: Only compile test -- don't
assemble.
* lib/target-supports.exp (check_named_sections_available):
Only compile named-sections test -- don't assemble.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110917 138bc75d-0d04-0410-961f-82ee72b054a4

18 years agoAdd PR marker for:
amylaar [Mon, 13 Feb 2006 15:32:57 +0000 (15:32 +0000)]
Add PR marker for:
PR middle-end/25335
* reload1.c (gen_reload): Also use find_replacement in UNARY_P case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110916 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * reload1.c (gen_reload): Also use find_replacement in UNARY_P case.
amylaar [Mon, 13 Feb 2006 15:31:31 +0000 (15:31 +0000)]
* reload1.c (gen_reload): Also use find_replacement in UNARY_P case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110915 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago PR rtl-optimization/26222
rakdver [Mon, 13 Feb 2006 11:21:23 +0000 (11:21 +0000)]
PR rtl-optimization/26222
* function.c (assign_stack_temp_for_type): Do not reuse stack slots
after tree->rtl expansion.
* loop-invariant.c (move_invariant_reg): Use force_operand on rhs
before passing it to emit_move_insn.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110912 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago PR c++/26151
reichelt [Mon, 13 Feb 2006 10:29:31 +0000 (10:29 +0000)]
PR c++/26151
* parser.c (cp_parser_decl_specifier_seq): Check for duplicate
decl-specifiers.  Remove extra check for duplicate 'friend'.
* decl.c (grokdeclarator): Remove check for duplicate
decl-specifiers.  Set longlong together with long_p.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110911 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2006-02-12 Roger Sayle <roger@eyesopen.com>
sayle [Mon, 13 Feb 2006 02:33:37 +0000 (02:33 +0000)]
2006-02-12  Roger Sayle  <roger@eyesopen.com>
    John David Anglin  <dave@hiauly1.hia.nrc.ca>

PR libgomp/25936
* configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110908 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2006-02-12 Gabriel Dos Reis <gdr@integrable-solutions.net>
gdr [Mon, 13 Feb 2006 01:57:29 +0000 (01:57 +0000)]
2006-02-12  Gabriel Dos Reis  <gdr@integrable-solutions.net>

        * doc/invoke.texi (-Write-strings): Document that it is
enabled by
        default.
        * c.opt (-Wwrite-strings): Declare variable
warn_write_strings.
        Clarify documentation.
        * c-common.h (warn_write_strings): Remove.
        * c-common.c (warn_write_strings): Likewise.
        * c-opts.c (c_common_init_options): Enable -Wwrite-strings by
        default for C++.

testsuite/
2006-02-12  Gabriel Dos Reis  <gdr@integrable-solutions.net>

        * g++.dg/warn/no-write-strings.C: New test.
        * g++.dg/warn/write-strings.C: Likewise.
        * g++.dg/warn/write-strings-default.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110907 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago PR middle-end/25724
sayle [Mon, 13 Feb 2006 01:55:37 +0000 (01:55 +0000)]
PR middle-end/25724
* dojump.c (do_jump): Call do_compare_rtx_and_jump.
(do_jump_parts_zero_rtx): New function renamed from
do_jump_parts_equality_rtx.  Made static.  Add a mode argument.
(do_jump_parts_equality_rtx): New function split out from
do_jump_parts_equality.  Old implementation renamed as above.
Call do_jump_parts_zero_rtx if either operand is zero.
(do_jump_parts_equality): Call do_jump_parts_equality_rtx to
do all of the heavy lifting.
(do_compare_rtx_and_jump): Handle multi-word comparisons by
calling either do_jump_by_parts_greater_rtx or
do_jump_by_parts_equality_rtx.
* expr.h (do_jump_by_parts_equality_rtx): Remove prototype.
* expmed.c (do_cmp_and_jump): Now multi-word optimization has
moved to do_compare_rtx_and_jump, call it directly.
* stmt.c (do_jump_if_equal): Remove static prototype.  Add a
mode argument.  Call do_compare_rtx_and_jump.
(emit_case_nodes): Update calls to do_jump_if_equal.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110906 138bc75d-0d04-0410-961f-82ee72b054a4

18 years agoDaily bump.
gccadmin [Mon, 13 Feb 2006 00:17:49 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110904 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago PR rtl-optimization/26225
rakdver [Mon, 13 Feb 2006 00:02:37 +0000 (00:02 +0000)]
PR rtl-optimization/26225
* loop-invariant.c (may_assign_reg_p): Do not allow BLKmode operands.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110898 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago PR rtl-optimization/26232
rakdver [Sun, 12 Feb 2006 22:32:33 +0000 (22:32 +0000)]
PR rtl-optimization/26232
* loop-invariant.c (find_invariant_insn): Ignore insns that set CC0.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110897 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2006-02-12 Janne Blomqvist <jb@gcc.gnu.org>
jb [Sun, 12 Feb 2006 19:59:32 +0000 (19:59 +0000)]
2006-02-12  Janne Blomqvist  <jb@gcc.gnu.org>

PR libgfortran/25949
* io/io.h: Add set function pointer to struct stream.
* io/unix.c (fd_seek): Only update offset, don't seek.
(fd_sset): New function.
(fd_read): Call lseek directly if necessary.
(fd_write): Likewise.
(fd_open): Set pointer to fd_sset.
(mem_set): New function.
(open_internal): Set pointer to mem_set.
* io/transfer.c (write_block_direct): Rename to write_buf, add
error return, non-pointer length argument.
(unformatted_write): Update to use write_buf.
(us_write): Simplify by using swrite instead of salloc_w.
(write_us_marker): New function.
(new_record_w): Use sset instead of memset, use write_us_marker,
simplify by using swrite instead of salloc_w.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110895 138bc75d-0d04-0410-961f-82ee72b054a4

18 years agofortran/
eedelman [Sun, 12 Feb 2006 17:34:15 +0000 (17:34 +0000)]
fortran/
2006-02-12  Erik Edelmann  <eedelman@gcc.gnu.org>

        PR fortran/25806
        * trans-array.c (gfc_trans_allocate_array_storage): New argument
        dealloc; free the temporary only if dealloc is true.
        (gfc_trans_allocate_temp_array): New argument bool dealloc, to be
        passed onwards to gfc_trans_allocate_array_storage.
        (gfc_trans_array_constructor, gfc_conv_loop_setup): Update call to
        gfc_trans_allocate_temp_array.
        * trans-array.h (gfc_trans_allocate_temp_array): Update function
        prototype.
        * trans-expr.c (gfc_conv_function_call): Set new argument 'dealloc'
        to gfc_trans_allocate_temp_array to false in case of functions
        returning pointers.
        (gfc_trans_arrayfunc_assign): Return NULL for functions returning
        pointers.

testsuite/
2006-02-12  Erik Edelmann  <eedelman@gcc.gnu.org>

        PR fortran/25806
        * gfortran.dg/ret_pointer_2.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110893 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * configure.in (enable_libgomp): Add AIX.
dje [Sun, 12 Feb 2006 16:24:23 +0000 (16:24 +0000)]
    * configure.in (enable_libgomp): Add AIX.
        * configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110892 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2006-02-12 Paolo Carlini <pcarlini@suse.de>
paolo [Sun, 12 Feb 2006 16:09:41 +0000 (16:09 +0000)]
2006-02-12  Paolo Carlini  <pcarlini@suse.de>

PR libstdc++/26211
* include/bits/istream.tcc (basic_istream<>::tellg, seekg(pos_type),
seekg(off_type, ios_base::seekdir)): Construct a sentry, as per
27.6.1.3/1.
* testsuite/27_io/basic_istream/seekg/char/26211.cc: New.
* testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/char/26211.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Adjust.
* testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110891 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago PR c++/24996
jason [Sun, 12 Feb 2006 16:02:00 +0000 (16:02 +0000)]
    PR c++/24996
        * except.c (build_throw): Add a CLEANUP_POINT_EXPR inside the
        TRY_CATCH_EXPR or MUST_NOT_THROW_EXPR.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110889 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago PR tree-opt/24365
jason [Sun, 12 Feb 2006 08:01:04 +0000 (08:01 +0000)]
    PR tree-opt/24365
        * tree-inline.c (declare_return_variable): Just don't use the
        modify target if it's a gimple complex reg and the return slot
        isn't.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110888 138bc75d-0d04-0410-961f-82ee72b054a4

18 years agoDaily bump.
gccadmin [Sun, 12 Feb 2006 00:17:26 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110885 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * doc/contrib.texi: Update my entry.
ghazi [Sat, 11 Feb 2006 19:12:19 +0000 (19:12 +0000)]
* doc/contrib.texi: Update my entry.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110874 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2006-02-11 Roger Sayle <roger@eyesopen.com>
sayle [Sat, 11 Feb 2006 16:50:41 +0000 (16:50 +0000)]
2006-02-11  Roger Sayle  <roger@eyesopen.com>
    R. Scott Bailey  <scott.bailey@eds.com>
    Bill Northcott  <w.northcott@unsw.edu.au>

PR bootstrap/16787
* floatformat.c: Include <float.h> where available.
(NAN): Use value of DBL_QNAN if defined, and NAN isn't.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110873 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * config/i386/darwin.h (DBX_REGISTER_NUMBER): Define.
geoffk [Sat, 11 Feb 2006 00:31:04 +0000 (00:31 +0000)]
* config/i386/darwin.h (DBX_REGISTER_NUMBER): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110865 138bc75d-0d04-0410-961f-82ee72b054a4

18 years agoDaily bump.
gccadmin [Sat, 11 Feb 2006 00:17:27 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110862 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * tree-inline.c (estimate_num_insns_1): Make OpenMP directives
dnovillo [Fri, 10 Feb 2006 22:34:42 +0000 (22:34 +0000)]
* tree-inline.c (estimate_num_insns_1): Make OpenMP directives
expensive.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110853 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * doc/invoke.texi (-floop-optimize2): Removed.
rakdver [Fri, 10 Feb 2006 21:01:10 +0000 (21:01 +0000)]
* doc/invoke.texi (-floop-optimize2): Removed.
* toplev.c (process_options): Remove handling of flag_loop_optimize2.
* loop-init.c (gate_handle_loop2): Do not test flag_loop_optimize2.
Test flag_branch_on_count_reg only if HAVE_doloop_end.
* common.opt (floop-optimize2): Removed.
(fmove-loop-invariants): Enabled by default.

* gcc.dg/20050105-1.c: Do not use -floop-optimize2.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110852 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * tree-if-conv.c (combine_blocks): Free the result of
spop [Fri, 10 Feb 2006 20:46:03 +0000 (20:46 +0000)]
    * tree-if-conv.c (combine_blocks): Free the result of
        get_loop_exit_edges.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110850 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * fold-const.c (tree_expr_nonzero_p): Fix thinko.
law [Fri, 10 Feb 2006 20:31:19 +0000 (20:31 +0000)]
* fold-const.c (tree_expr_nonzero_p): Fix thinko.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110849 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago PR tree-optimization/26213
law [Fri, 10 Feb 2006 19:22:58 +0000 (19:22 +0000)]
PR tree-optimization/26213
* tree-ssa-threadedge.c (simplify_control_stmt_condition): Do not
loop trying to follow SSA_NAME_VALUE chains.

* gcc.c-torture/compile/pr26213.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110846 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2006-02-05 Steven G. Kargl <kargls@comcast.net>
kargl [Fri, 10 Feb 2006 19:01:05 +0000 (19:01 +0000)]
2006-02-05  Steven G. Kargl  <kargls@comcast.net>

PR fortran/20858
*decl.c (variable_decl): Improve error message.  Remove initialization
 typespec.  Wrap long line.
*expr.c (gfc_check_pointer_assign): Permit checking of type, kind type,
 and rank.
*simplify.c (gfc_simplify_null): Ensure type, kind type, and rank are set.

gfortran.dg/null_1.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110845 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2006-10-02 Paolo Carlini <pcarlini@suse.de>
paolo [Fri, 10 Feb 2006 18:29:04 +0000 (18:29 +0000)]
2006-10-02  Paolo Carlini  <pcarlini@suse.de>

PR libstdc++/26181
* include/bits/streambuf.tcc (__copy_streambufs_eof): New, like
the existing __copy_streambufs but reporting eof in input.
(__copy_streambufs): Just use the latter.
* src/streambuf.cc (__copy_streambufs_eof): Adjust specializations
of __copy_streambufs.
* include/bits/istream.tcc (operator>>(__streambuf_type*)): Use
__copy_streambufs_eof instead.
* include/std/std_streambuf.h: Adjust.
* src/streambuf-inst.cc: Adjust.
* config/abi/pre/gnu.ver: Export the new symbols.
* testsuite/27_io/basic_istream/extractors_other/char/26181.cc: New.
* testsuite/27_io/basic_istream/extractors_other/wchar_t/26181.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_other/char/1.cc: Adjust.
* testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc:
Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110841 138bc75d-0d04-0410-961f-82ee72b054a4

18 years agofortran/
tobi [Fri, 10 Feb 2006 18:08:27 +0000 (18:08 +0000)]
fortran/
PR fortran/14771
* arith.c (eval_intrinsic): Accept INTRINSIC_PARENTHESES.
* expr.c (check_intrinsic_op): Likewise.
* module.c (mio_expr): Likewise.
testsuite/
PR fortran/14771
* gfortran.dg/parens_4.f90: New.
* gfortran.dg/parens_5.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110840 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * class.c (debug_class): Remove extern.
reichelt [Fri, 10 Feb 2006 13:49:19 +0000 (13:49 +0000)]
* class.c (debug_class): Remove extern.
(debug_thunks): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110836 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2006-02-10 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 10 Feb 2006 13:05:48 +0000 (13:05 +0000)]
2006-02-10  Richard Guenther  <rguenther@suse.de>

        * tree-dfa.c (get_ref_base_and_extent): When computing maxsize
        deal with structures that end in implicitly variable sized arrays.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110834 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2006-02-10 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 10 Feb 2006 09:50:04 +0000 (09:50 +0000)]
2006-02-10  Richard Guenther  <rguenther@suse.de>

        * testsuite/gcc.dg/pr23372-1.c: Remove empty file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110833 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * pthread_support.c: Conditionally include dlfcn.h.
tromey [Fri, 10 Feb 2006 01:58:30 +0000 (01:58 +0000)]
* pthread_support.c: Conditionally include dlfcn.h.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110832 138bc75d-0d04-0410-961f-82ee72b054a4

18 years agoDaily bump.
gccadmin [Fri, 10 Feb 2006 00:17:33 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110826 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * dump-parse-tree.c: Update copyright years.
tobi [Fri, 10 Feb 2006 00:16:25 +0000 (00:16 +0000)]
* dump-parse-tree.c: Update copyright years.
* matchexp.c: Likewise.
* module.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110820 138bc75d-0d04-0410-961f-82ee72b054a4

18 years agofortran/
tobi [Fri, 10 Feb 2006 00:10:47 +0000 (00:10 +0000)]
fortran/
2006-02-09  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>

        PR fortran/14771
        * gfortran.h (gfc_intrinsic_op): Add INTRINSIC_PARENTHESES.
        * dump-parse-tree (gfc_show_expr): Handle INTRINSIC_PARENTHESES.
        * expr.c (simplify_intrinsic_op): Treat INTRINSIC_PARENTHESES as
        if it were INTRINSIC_UPLUS.
        * resolve.c (resolve_operator): Handle INTRINSIC_PARENTHESES.
        * match.c (intrinsic_operators): Add INTRINSIC_PARENTHESES.
        * matchexp.c (match_primary): Record parentheses surrounding
        numeric expressions.
        * module.c (intrinsics): Add INTRINSIC_PARENTHESES for module
        dumping.
        * trans-expr.c (gfc_conv_expr_op): Handle INTRINSIC_PARENTHESES.

testsuite/
2006-02-09  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
        Paul Thomas  <pault@gcc.gnu.org>

        PR fortran/14771
        * gfortran.dg/parens_1.f90: New.
        * gfortran.dg/parens_2.f90: New.
        * gfortran.dg/parens_3.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110819 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2006-02-09 Bryce McKinlay <mckinlay@redhat.com>
bryce [Thu, 9 Feb 2006 23:59:30 +0000 (23:59 +0000)]
2006-02-09  Bryce McKinlay  <mckinlay@redhat.com>

* java/lang/Class.h (_Jv_IDispatchTable): Make it a struct. Put
'itable' inline, instead of as a pointer.
(java::lang::Class): Put 'idt' in anonymous union with 'ioffsets'.
* link.cc (null_idt): Update definition.
(_Jv_Linker::prepare_constant_time_tables): Allocate klass->idt
as a single struct. Use _Jv_AllocBytes, not _Jv_AllocRawObj.
(_Jv_Linker::generate_itable): Update to use 'ioffsets'.
(_Jv_Linker::find_iindex): Likewise. Update comment.
* java/lang/natClass.cc (_Jv_LookupInterfaceMethodIdx): Update for
_Jv_IDispatchTable change.
(_Jv_IsAssignableFrom): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110818 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2006-02-09 Paul Thomas <pault@gcc.gnu.org>
pault [Thu, 9 Feb 2006 23:23:28 +0000 (23:23 +0000)]
2006-02-09  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/26038
* trans-stmt.c (gfc_trans_allocate): Provide assumed character length
scalar with missing backend_decl for the hidden dummy charlen.

PR fortran/25059
* interface.c (gfc_extend_assign): Remove detection of non-PURE
subroutine in assignment interface, with gfc_error, and put it in
* resolve.c (resolve_code).

PR fortran/25070
* interface.c (gfc_procedure_use): Flag rank checking for non-
elemental, contained or interface procedures in call to
(compare_actual_formal), where ranks are checked for assumed
shape arrays..

2006-02-09  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/26038
* gfortran.dg/allocate_char_star_scalar_1.f90: New test.

PR fortran/25059
* gfortran.dg/impure_assignment_1.f90: New test.

PR fortran/25070
* gfortran.dg/assumed_shape_ranks_1.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110816 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago PR rtl-optimization/24762
rakdver [Thu, 9 Feb 2006 22:34:23 +0000 (22:34 +0000)]
PR rtl-optimization/24762
* df-scan.c (df_bb_refs_record): Record correct registers defined on
eh edges.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110815 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * tree-ssa-loop-ivopts.c (struct loop_data, loop_data): Removed.
rakdver [Thu, 9 Feb 2006 22:28:23 +0000 (22:28 +0000)]
* tree-ssa-loop-ivopts.c (struct loop_data, loop_data): Removed.
(struct ivopts_data): Add regs_used field.
(tree_ssa_iv_optimize_init): Do not allocate aux fields for loops.
(ivopts_global_cost_for_size, determine_set_costs): Use data->regs_used
instead of loop_data->regs_used;
(free_loop_data): Do not free aux fields for loops.
(tree_ssa_iv_optimize): Do not pass loops to tree_ssa_iv_optimize_init
and tree_ssa_iv_optimize_finalize.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110813 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2006-02-09 Kaz Kojima <kkojima@gcc.gnu.org>
amylaar [Thu, 9 Feb 2006 21:03:23 +0000 (21:03 +0000)]
2006-02-09  Kaz Kojima  <kkojima@gcc.gnu.org>

* config/sh/sh.h (FUNCTION_VALUE): Don't handle CHAR_TYPE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110812 138bc75d-0d04-0410-961f-82ee72b054a4

18 years agoPR target/26141
amylaar [Thu, 9 Feb 2006 20:54:12 +0000 (20:54 +0000)]
PR target/26141

gcc:
* sh.c (sh_gimplify_va_arg_expr): Don't change the result type when
computing the effective result type.

gcc/testsuite:
* g++.dg/expr/stdarg2.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110811 138bc75d-0d04-0410-961f-82ee72b054a4

18 years agoPR inline-asm/16194
amylaar [Thu, 9 Feb 2006 19:17:09 +0000 (19:17 +0000)]
PR inline-asm/16194

gcc:
* tree.h (decl_overlaps_hard_reg_set_p) Don't declare.
(tree_overlaps_hard_reg_set): Declare.
* stmt.c (decl_overlaps_hard_reg_set_p): Now static.  Change return
type and signature to match function type expected by walk_tree.
(tree_overlaps_hard_reg_set): New function.
(decl_conflicts_with_clobbers_p): Rename to:
(tree_conflicts_with_clobbers_p).  Take HARD_REG_SET * argument.
Use tree_overlaps_hard_reg_set.  Changed caller.
* doc/tm.texi (TARGET_MD_ASM_CLOBBERS): Replace
decl_overlaps_hard_reg_set_p with tree_overlaps_hard_reg_set.
* cris.c (cris_md_asm_clobbers): Likewise.

gcc/testsuite:
* gcc.dg/pr16194.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110810 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago ada:
ro [Thu, 9 Feb 2006 17:29:28 +0000 (17:29 +0000)]
ada:
* Make-lang.in (check-gnat): Run run_acats with $(SHELL).

testsuite:
* ada/acats/run_acats: Use portable variant of "$@".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110807 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * reload1.c (emit_input_reload_insns): Delete code that tries to
bernds [Thu, 9 Feb 2006 17:26:41 +0000 (17:26 +0000)]
* reload1.c (emit_input_reload_insns): Delete code that tries to
inherit using find_equiv_reg.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110806 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2006-02-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
gdr [Thu, 9 Feb 2006 16:28:26 +0000 (16:28 +0000)]
2006-02-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>

        * c-common.h (flag_const_strings): Don't declare.
        * c-common.c (flag_const_strings): Remove.
        * c.opt (fconst_strings): Remove.
        * c-opts.c (c_common_handle_option): Remove
        * <OPT_fconst_strings>.
        <OPT_Wwrite_strings>: Don't set flag_const_strings.
        (c_common_init_options): Don't set flag_const_strings.
        * doc/invoke.texi (-fno-const-strings): Remove documentation.

cp/
2006-02-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>

        * typeck.c (string_conv_p): Don't test for flag_const_strings.

testsuite/
2006-02-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>

        * g++.old-deja/g++.benjamin/15351-2.C: Likewise.
        * g++.old-deja/g++.benjamin/15351-1.C: Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110804 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * arm.md (tlobits_cbranch): New pattern.
rearnsha [Thu, 9 Feb 2006 15:18:10 +0000 (15:18 +0000)]
* arm.md (tlobits_cbranch): New pattern.
* arm.h (arm_select_cc_mode): For thumb, only return CC_Nmode if
testing a single bit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110803 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2006-02-09 Andrew Pinski <pinskia@physics.uc.edu>
pinskia [Thu, 9 Feb 2006 14:31:28 +0000 (14:31 +0000)]
2006-02-09  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/26179
        * g++.dg/opt/pr26179.C: New test.
2006-02-09  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/26179
        * tree-ssa-pre.c (create_component_ref_by_pieces):
        Handle RETURN_DECL like VAR_DECL.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110801 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2006-02-09 Andrew Pinski <pinskia@physics.uc.edu>
pinskia [Thu, 9 Feb 2006 14:13:57 +0000 (14:13 +0000)]
2006-02-09  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/26134
        * fold-const.c (fold_indirect_ref_1): Fold
        "*(foo *)&complexfoo" to "__real__ complexfoo"
        and "((foo*)&complexfoo)[1]" to "__imag__ complexfoo".
2006-02-09  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/26134
        * gcc.dg/tree-ssa/complex-3.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110800 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2006-02-09 Andrew Haley <aph@redhat.com>
aph [Thu, 9 Feb 2006 14:05:31 +0000 (14:05 +0000)]
2006-02-09  Andrew Haley  <aph@redhat.com>

        PR java/26192
        * expr.c (expand_invoke): Allow methods in arrays to be resolved
        in their superclass.

        * typeck.c (build_java_array_type): Generate TYPE_STUB_DECLs for
        array types.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110799 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago+2006-02-09 Andrew Pinski <pinskia@physics.uc.edu>
pinskia [Thu, 9 Feb 2006 13:53:40 +0000 (13:53 +0000)]
+2006-02-09  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * tree-flow-inline.h (var_can_have_subvars):
+       Volatile variables should not have subvariables.
+

+2006-02-09  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * gcc.c-torture/compile/volatile-1.c: New test.
+

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110796 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago PR 26180
dnovillo [Thu, 9 Feb 2006 12:38:35 +0000 (12:38 +0000)]
PR 26180
* tree-vrp.c (vrp_int_const_binop): Detect overflow when
multiplying unsigned values.
Tidy comments.

testsuite

PR 26180
* gcc.dg/tree-ssa/pr26180.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110794 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * config/sparc/sparc.c (tls_call_delay): Fix oversight.
ebotcazou [Thu, 9 Feb 2006 12:22:09 +0000 (12:22 +0000)]
* config/sparc/sparc.c (tls_call_delay): Fix oversight.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110790 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago PR c++/25979
jason [Thu, 9 Feb 2006 09:54:36 +0000 (09:54 +0000)]
    PR c++/25979
        * tree.def: Elaborate on difference from MODIFY_EXPR.
        * doc/c-tree.texi (INIT_EXPR): Likewise.
        * gimplify.c (internal_get_tmp_var): Use INIT_EXPR.
        (gimplify_decl_expr, gimplify_init_ctor_eval): Likewise.
        (gimplify_target_expr): Likewise.
        (gimplify_cond_expr): Remove target handling.
        (gimplify_modify_expr): Don't clobber INIT_EXPR code here.
        (gimplify_expr): Clobber it here.
        (gimplify_modify_expr_rhs): Push assignment into COND_EXPR here.
        Do return slot optimization if we have an INIT_EXPR.

        PR tree-opt/24365
        * tree-inline.c (declare_return_variable): Also clear
        DECL_COMPLEX_GIMPLE_REG_P as needed in the modify_dest case.

        PR c++/16405
        * gimplify.c (gimplify_modify_expr_rhs): Re-enable *& handling.

        PR middle-end/22439
        * gimplify.c (gimplify_one_sizepos): Fix typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110789 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2006-02-08 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Thu, 9 Feb 2006 05:07:09 +0000 (05:07 +0000)]
2006-02-08  Benjamin Kosnik  <bkoz@redhat.com>

PR libstdc++/26142
* include/debug/debug.h: Move debug alias inside namespace std,
same with namespace __gnu_cxx. Add top-level __gnu_debug
namespace.
* include/debug/hash_multimap.h: Nest within __gnu_cxx, not
std. Also, change nesting namespace name from __gnu_debug_def to
__gnu_debug.
* include/debug/hash_map.h: Same.
* include/debug/hash_multiset.h: Same.
* include/debug/hash_set.h: Same.
* docs/html/debug.html: Same.
* testsuite/23_containers/vector/26412.cc: New.
* testsuite/23_containers/vector/invalidation/1.cc:  Correct
qualifications for debug namespace change.
* testsuite/23_containers/vector/invalidation/2.cc: Same.
* testsuite/23_containers/vector/invalidation/3.cc: Same.
* testsuite/23_containers/vector/invalidation/4.cc: Same.
* testsuite/23_containers/deque/invalidation/1.cc: Same.
* testsuite/23_containers/deque/invalidation/2.cc: Same.
* testsuite/23_containers/deque/invalidation/3.cc: Same.
* testsuite/23_containers/deque/invalidation/4.cc: Same.
* testsuite/23_containers/multiset/invalidation/1.cc: Same.
* testsuite/23_containers/multiset/invalidation/2.cc: Same.
* testsuite/23_containers/multimap/invalidation/1.cc: Same.
* testsuite/23_containers/multimap/invalidation/2.cc: Same.
* testsuite/23_containers/bitset/invalidation/1.cc: Same.
* testsuite/23_containers/bitset/cons/16020.cc: Same.
* testsuite/23_containers/bitset/operations/13838.cc: Same.
* testsuite/23_containers/list/invalidation/1.cc: Same.
* testsuite/23_containers/list/invalidation/2.cc: Same.
* testsuite/23_containers/list/invalidation/3.cc: Same.
* testsuite/23_containers/list/invalidation/4.cc: Same.
* testsuite/23_containers/set/invalidation/1.cc: Same.
* testsuite/23_containers/set/invalidation/2.cc: Same.
* testsuite/23_containers/map/invalidation/1.cc: Same.
* testsuite/23_containers/map/invalidation/2.cc: Same.
* testsuite/23_containers/map/modifiers/insert/16813.cc: Same.
* testsuite/21_strings/basic_string/2.cc: Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110787 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago2006-02-08 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Thu, 9 Feb 2006 04:31:38 +0000 (04:31 +0000)]
2006-02-08  Benjamin Kosnik  <bkoz@redhat.com>

PR libstdc++/26142
* include/debug/debug.h: Move debug alias inside namespace std,
same with namespace __gnu_cxx. Add top-level __gnu_debug
namespace.
* include/debug/hash_multimap.h: Nest within __gnu_cxx, not
std. Also, change nesting namespace name from __gnu_debug_def to
__gnu_debug.
* include/debug/hash_map.h: Same.
* include/debug/hash_multiset.h: Same.
* include/debug/hash_set.h: Same.
* docs/html/debug.html: Same.
* testsuite/23_containers/vector/26412.cc: New.
* testsuite/23_containers/vector/invalidation/1.cc:  Correct
qualifications for debug namespace change.
* testsuite/23_containers/vector/invalidation/2.cc: Same.
* testsuite/23_containers/vector/invalidation/3.cc: Same.
* testsuite/23_containers/vector/invalidation/4.cc: Same.
* testsuite/23_containers/deque/invalidation/1.cc: Same.
* testsuite/23_containers/deque/invalidation/2.cc: Same.
* testsuite/23_containers/deque/invalidation/3.cc: Same.
* testsuite/23_containers/deque/invalidation/4.cc: Same.
* testsuite/23_containers/multiset/invalidation/1.cc: Same.
* testsuite/23_containers/multiset/invalidation/2.cc: Same.
* testsuite/23_containers/multimap/invalidation/1.cc: Same.
* testsuite/23_containers/multimap/invalidation/2.cc: Same.
* testsuite/23_containers/bitset/invalidation/1.cc: Same.
* testsuite/23_containers/bitset/cons/16020.cc: Same.
* testsuite/23_containers/bitset/operations/13838.cc: Same.
* testsuite/23_containers/list/invalidation/1.cc: Same.
* testsuite/23_containers/list/invalidation/2.cc: Same.
* testsuite/23_containers/list/invalidation/3.cc: Same.
* testsuite/23_containers/list/invalidation/4.cc: Same.
* testsuite/23_containers/set/invalidation/1.cc: Same.
* testsuite/23_containers/set/invalidation/2.cc: Same.
* testsuite/23_containers/map/invalidation/1.cc: Same.
* testsuite/23_containers/map/invalidation/2.cc: Same.
* testsuite/23_containers/map/modifiers/insert/16813.cc: Same.
* testsuite/21_strings/basic_string/2.cc: Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110786 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago PR tree-optimization/21417
law [Thu, 9 Feb 2006 02:36:33 +0000 (02:36 +0000)]
PR tree-optimization/21417
* tree-ssa-threadedge.c (thread_across_edge): Reject threading
across a backedge if the control statement at the end of the
block is data dependent on other statements in the same block.
(record_temporary_equivalences_from_stmts): Remove over-conservative
test for threading across backedges.

* gcc.dg/tree-ssa/pr21417.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110785 138bc75d-0d04-0410-961f-82ee72b054a4

18 years ago * tree-ssa-dce.c (remove_dead_statement): When removing a dead
law [Thu, 9 Feb 2006 02:18:59 +0000 (02:18 +0000)]
    * tree-ssa-dce.c (remove_dead_statement): When removing a dead
        control statement, handle all three special cases in the same
        manner as they all have the same desired solution.  No longer
        special case edge flag updating when the post dominator is
        the exit block.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110784 138bc75d-0d04-0410-961f-82ee72b054a4