OSDN Git Service
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
bryce [Thu, 9 Feb 2006 01:35:33 +0000 (01:35 +0000)]
2006-02-08 Bryce McKinlay <mckinlay@redhat.com>
PR libgcj/25187:
* gnu/gcj/io/natSimpleSHSStream.cc
(gnu::gcj::io::SimpleSHSStream::shsFinal): Remove bogus cast.
* interpret.cc (_Jv_InterpMethod::run): Simplify arguments to
_Jv_InterpFrame().
* boehm.cc: #undef some autoconf macros before including gc-config.h.
(_Jv_MarkObject): Don't mark the class, it is reachable via the vtable.
(_Jv_MarkArray): Likewise.
* java/lang/ref/natReference.cc (java::lang::ref::Reference::create):
Simplify _Jv_GCRegisterDisappearingLink() call.
* java/lang/Class.h (getComponentType): Use element_type.
(element_type): New field declaration, as a union with "methods".
* java/lang/natClassLoader.cc (_Jv_NewArrayClass): Use "element_type".
* java/net/natVMNetworkInterfacePosix.cc
(java::net::VMNetworkInterface::getInterfaces): Add "int" cast to
avoid sign comparison warning.
* include/java-interp.h (_Jv_InterpFrame): Take thread as second
argument, not parent call frame.
* include/x86_64-signal.h (MAKE_THROW_FRAME): Use "gregs" directly,
without a cast.
(restore_rt): Declare with hidden visibility, not "static".
* posix.cc (_Jv_platform_initProperties): Make "tmpdir" a string
constant.
* jni.cc (_Jv_JNI_DestroyJavaVM): Use a union to avoid strict alias
warning
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110783
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 9 Feb 2006 00:17:37 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110781
138bc75d-0d04-0410-961f-
82ee72b054a4