gcc.git
20 years agosh.c (dump_table): New argument start.
J"orn Rennecke [Thu, 10 Jun 2004 18:14:53 +0000 (18:14 +0000)]
sh.c (dump_table): New argument start.

* sh.c (dump_table): New argument start.  Changed caller.
(fixup_mova): New function.
(find_barrier): Use it.
(sh_reorg): Likewise.  Check for CODE_FOR_casesi_worker_2.
If the label a mova refers to is above the mova itself, change
the mova into a load.
* sh.md (*casesi_worker): Rename to:
(casesi_worker_1).
(casesi_worker_2): New insn.

From-SVN: r82932

20 years agostd_complex.h (sin(const complex<_Tp>& __z)): Make this function return a value.
Jan van Dijk [Thu, 10 Jun 2004 16:54:49 +0000 (18:54 +0200)]
std_complex.h (sin(const complex<_Tp>& __z)): Make this function return a value.

2004-06-10  Jan van Dijk  <jan@etpmod.phys.tue.nl>

* include/std/std_complex.h (sin(const complex<_Tp>& __z)): Make
this function return a value.

From-SVN: r82928

20 years agofix conflict markers
Jason Merrill [Thu, 10 Jun 2004 15:50:26 +0000 (11:50 -0400)]
fix conflict markers

From-SVN: r82926

20 years agotarget.h (struct gcc_target): Change gimplify_va_arg_expr hook signature.
Jason Merrill [Thu, 10 Jun 2004 15:49:49 +0000 (11:49 -0400)]
target.h (struct gcc_target): Change gimplify_va_arg_expr hook signature.

        * target.h (struct gcc_target): Change gimplify_va_arg_expr
        hook signature.
        * tree-gimple.h: Adjust.
        * config/alpha/alpha.c (alpha_gimplify_va_arg): Adjust.
        * config/i386/i386.c (ix86_gimplify_va_arg): Adjust.
        Use fold_convert.
        * config/ia64/ia64.c (ia64_gimplify_va_arg): Adjust.
        * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Adjust.
        Use COMPLEX_EXPR for complex numbers.  Use fold_convert.
        * builtins.c (std_gimplify_va_arg_expr): Adjust.  Use fold_convert.
        (gimplify_va_arg_expr): Return GS_ERROR in error case.
        Gimplify valist rather than calling stabilize_va_list.

From-SVN: r82925

20 years agore PR libmudflap/13505 ([tree-ssa] libmudflap mf-hooks2.c build failure on cygwin)
Stephen Crowley [Thu, 10 Jun 2004 15:39:32 +0000 (15:39 +0000)]
re PR libmudflap/13505 ([tree-ssa] libmudflap mf-hooks2.c build failure on cygwin)

2004-06-10  Stephen Crowley  <stephen.crowley@sbcglobal.net>

PR libmudflap/13505
* mf-hooks2.c (semctl): Add cygwin porting hack.

From-SVN: r82923

20 years agoMakefile.in (df.o): Remove fibheap dependency.
Zdenek Dvorak [Thu, 10 Jun 2004 15:01:01 +0000 (17:01 +0200)]
Makefile.in (df.o): Remove fibheap dependency.

* Makefile.in (df.o): Remove fibheap dependency.
* df.h: Do not include sbitmap.h.
(struct ref): New field "data".
(DF_REF_DATA): New accessor macro.
(struct df): Field "dom" removed.
(df_analyze_subcfg): New function.
(transfer_function_sbitmap, transfer_function_bitmap): Replaced by ...
(transfer_function): ... new type.
(iterative_dataflow_sbitmap, iterative_dataflow_bitmap): Replaced by ...
(iterative_dataflow): ... new function.
(enum set_representation, struct dataflow): New.
* df.c: Do not include fibheap.h.

(df_reg_def_chain_clean, df_reg_use_chain_clean,
(df_bb_table_realloc, df_analyse_subcfg, free_reg_ref_chain,
prune_to_subcfg, df_bb_modify): New functions.
(df_bitmaps_alloc, df_reg_def_chain_create, df_reg_use_chain_create,
df_refs_update, df_reg_table_realloc, df_ref_create,
df_bb_reg_def_chain_create, df_bb_reg_use_chain_create,
df_bb_rd_local_compute, df_bb_ru_local_compute, df_bb_lr_local_compute,
df_analyse_1, df_insn_modify): Support analysing only a part of the cfg.

(dataflow_set_a_op_b, dataflow_set_copy): New functions.
(df_rd_transfer_function, df_ru_transfer_function,
df_lr_transfer_function): Type of bitmaps changed to void *.
(hybrid_search_bitmap, hybrid_search_sbitmap): Merge into ...
(hybrid_search): ... new function.
(iterative_dataflow_bitmap, iterative_dataflow_sbitmap): Merge into ...
(iterative_dataflow): ... new function. Avoid use of fibheaps for
a worklist.  Do not process basic blocks unnecessarily.

From-SVN: r82921

20 years agore PR c++/15227 (Trouble with invalid function definition)
Mark Mitchell [Thu, 10 Jun 2004 14:26:23 +0000 (14:26 +0000)]
re PR c++/15227 (Trouble with invalid function definition)

PR c++/15227
* parser.c (cp_parser_direct_declarator): Robustify.

PR c++/15877
* pt.c (tsubst_copy): Use decl_constant_value on enumeration
constants in non-dependent contexts.

PR c++/14211
PR c++/15076
* typeck.c (build_static_cast): Wrap casts in NON_LVALUE_EXPR when
necessary.

PR c++/14211
* g++.dg/conversion/const1.C: New test.

PR c++/15076
* g++.dg/conversion/reinterpret1.C: New test.

PR c++/15877
* g++.dg/template/enum2.C: New test.

PR c++/15227
* g++.dg/template/error13.C: New test.

From-SVN: r82917

20 years agofold-const.c (fold_abs_const): Make extern.
Roger Sayle [Thu, 10 Jun 2004 13:29:34 +0000 (13:29 +0000)]
fold-const.c (fold_abs_const): Make extern.

* fold-const.c (fold_abs_const): Make extern.
* tree.h (fold_abs_const): Prototype here.
* builtins.c (fold_builtin_fabs): New function to transform
fabs, fabsf and fabsl builtins into ABS_EXPR tree nodes.
(fold_builtin_abs): New function to transform abs, labs, llabs
and imaxabs builtins into ABS_EXPR tree nodes.
(expand_builtin): Fall back to a function call for abs, labs,
llabs and imaxabs builtins that survive constant folding.
(fold_builtin_1): Call fold_builtin_fabs for FABS, FABSF and
FABSL, and fold_builtin_abs for ABS, LABS, LLABS and IMAXABS.

From-SVN: r82916

20 years agore PR fortran/14957 (testsuite issues)
Tobias Schlüter [Thu, 10 Jun 2004 12:41:32 +0000 (14:41 +0200)]
re PR fortran/14957 (testsuite issues)

PR fortran/14957
* gfortran.fortran-torture/execute/intrinsic_scale.f90: Make all
arguments to test_* REAL and of the right size.

From-SVN: r82915

20 years agore PR target/15569 (Gcc 3.4.1 failed to build ia64 2.6.6 kernel)
Jakub Jelinek [Thu, 10 Jun 2004 08:43:16 +0000 (10:43 +0200)]
re PR target/15569 (Gcc 3.4.1 failed to build ia64 2.6.6 kernel)

PR target/15569
PR rtl-optimization/15681
* gcc.dg/20040609-1.c: New test.

From-SVN: r82908

20 years agounwind-ia64.c (uw_frame_state_for): Don't assume a leaf function without unwind info...
Jakub Jelinek [Thu, 10 Jun 2004 08:23:00 +0000 (10:23 +0200)]
unwind-ia64.c (uw_frame_state_for): Don't assume a leaf function without unwind info at RP 0.

* config/ia64/unwind-ia64.c (uw_frame_state_for): Don't assume a
leaf function without unwind info at RP 0.

From-SVN: r82906

20 years agounix.S (ffi_call_unix): Insert group barrier break fp_done.
Jakub Jelinek [Thu, 10 Jun 2004 08:18:25 +0000 (10:18 +0200)]
unix.S (ffi_call_unix): Insert group barrier break fp_done.

* src/ia64/unix.S (ffi_call_unix): Insert group barrier break
fp_done.
(ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
changed from 8.

From-SVN: r82904

20 years agoOops.
Jakub Jelinek [Thu, 10 Jun 2004 08:11:29 +0000 (10:11 +0200)]
Oops.

From-SVN: r82903

20 years agore PR c++/14791 (13070 does not fix -Wformat with fprintf)
Jakub Jelinek [Thu, 10 Jun 2004 08:08:02 +0000 (10:08 +0200)]
re PR c++/14791 (13070 does not fix -Wformat with fprintf)

PR c++/14791
* tree.h (enum tree_index): Add TI_FILEPTR_TYPE.
(fileptr_type_node): Define.
* tree.c (build_common_tree_nodes_2): Initialize
fileptr_type_node to ptr_type_node.
* c-common.c (c_common_nodes_and_builtins): For C++, make
fileptr_type_node a distinct type copy.
* builtin-types.def (BT_FILEPTR, BT_FN_INT_CONST_STRING_FILEPTR,
BT_FN_INT_INT_FILEPTR, BT_FN_INT_FILEPTR_CONST_STRING_VALIST_ARG,
BT_FN_SIZE_CONST_PTR_SIZE_SIZE_FILEPTR,
BT_FN_INT_FILEPTR_CONST_STRING_VAR): Add.
(BT_FN_INT_CONST_STRING_PTR, BT_FN_INT_INT_PTR,
BT_FN_SIZE_CONST_PTR_SIZE_SIZE_PTR, BT_FN_INT_PTR_CONST_STRING_VAR,
BT_FN_INT_PTR_CONST_STRING_VALIST_ARG): Remove.
* builtins.def (BUILT_IN_FPRINTF, BUILT_IN_FPRINTF_UNLOCKED,
BUILT_IN_FPUTC, BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS,
BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FSCANF, BUILT_IN_FWRITE,
BUILT_IN_FWRITE_UNLOCKED, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): Use
the above *FILEPTR* types instead of *PTR*.

* decl.c (duplicate_decls): Handle fileptr_type_node arguments
specially.

* g++.dg/opt/builtins1.C: New test.

From-SVN: r82902

20 years ago* interpret.cc (run): Handle wide fload.
Tom Tromey [Thu, 10 Jun 2004 06:18:18 +0000 (06:18 +0000)]
* interpret.cc (run): Handle wide fload.

From-SVN: r82889

20 years agoFix typos.
Jakub Jelinek [Thu, 10 Jun 2004 05:57:58 +0000 (07:57 +0200)]
Fix typos.

From-SVN: r82887

20 years agoclean up obsolete comment
Jason Merrill [Thu, 10 Jun 2004 05:32:44 +0000 (01:32 -0400)]
clean up obsolete comment

From-SVN: r82885

20 years ago* gcc_update: Add libgfortran.
Andreas Jaeger [Thu, 10 Jun 2004 04:50:45 +0000 (06:50 +0200)]
* gcc_update: Add libgfortran.

From-SVN: r82884

20 years agotree-ssa.c (verify_ssa): Verify that vdefs/makes_aliased_stores match.
Daniel Berlin [Thu, 10 Jun 2004 03:04:07 +0000 (03:04 +0000)]
tree-ssa.c (verify_ssa): Verify that vdefs/makes_aliased_stores match.

2004-06-09  Daniel Berlin <dberlin@dberlin.org>

* tree-ssa.c (verify_ssa): Verify that vdefs/makes_aliased_stores
match.

From-SVN: r82883

20 years agoi386-bitfield1.c: Add mingw32 and cygwin to targets that use default windows32 struct...
Danny Smith [Thu, 10 Jun 2004 01:48:50 +0000 (01:48 +0000)]
i386-bitfield1.c: Add mingw32 and cygwin to targets that use default windows32 struct layout.

        * gcc.dg/i386-bitfield1.c: Add mingw32 and cygwin to targets
        that use default windows32 struct layout.
        * gcc.dg/i386-bitfield2.c: Likewise.

From-SVN: r82878

20 years agoDaily bump.
GCC Administrator [Thu, 10 Jun 2004 00:16:17 +0000 (00:16 +0000)]
Daily bump.

[[Split portion of a mixed commit.]]

From-SVN: r82874.2

20 years agoDaily bump.
GCC Administrator [Thu, 10 Jun 2004 00:16:12 +0000 (00:16 +0000)]
Daily bump.

[[Split portion of a mixed commit.]]

From-SVN: r82873.2

20 years agofold-const.c (fold_not_const): New function.
Roger Sayle [Thu, 10 Jun 2004 00:02:48 +0000 (00:02 +0000)]
fold-const.c (fold_not_const): New function.

* fold-const.c (fold_not_const): New function.
(fold) <ABS_EXPR>: Don't bother testing wins.
(fold) <BIT_NOT_EXPR>: Call fold_not_const.
(nondestructive_fold_unary_to_constant) <BIT_NOT_EXPR>: Likewise.

From-SVN: r82868

20 years agore PR middle-end/15228 (useless copies of floating point operands)
Richard Henderson [Wed, 9 Jun 2004 23:52:13 +0000 (16:52 -0700)]
re PR middle-end/15228 (useless copies of floating point operands)

        PR middle-end/15228
        * function.c (assign_parms): Always set_mem_align with the computed
        FUNCTION_ARG_BOUNDARY.  Don't clear stack_parm if !STRICT_ALIGNMENT.

From-SVN: r82867

20 years agore PR tree-optimization/15108 ([tree-ssa] [regression] missed sib-calling for pointer...
Richard Henderson [Wed, 9 Jun 2004 23:48:56 +0000 (16:48 -0700)]
re PR tree-optimization/15108 ([tree-ssa] [regression] missed sib-calling for pointer changes)

        PR opt/15108
        * tree-tailcall.c (find_tail_calls): Don't check early for
        tail_recursion failure.

From-SVN: r82866

20 years agoMove SSA_NAME annotations into tree_ssa_name.
Diego Novillo [Wed, 9 Jun 2004 22:58:29 +0000 (22:58 +0000)]
Move SSA_NAME annotations into tree_ssa_name.

* tree-dfa.c (create_ssa_name_ann): Remove.
* tree-flow-inline.h (ssa_name_ann, get_ssa_name_ann): Remove.
* tree-flow.h (enum tree_ann_type): Remove SSA_NAME_ANN.
(struct ssa_name_ann_d): Remove.
(union tree_ann_d): Update.
(ssa_name_ann_t): Remove.
* tree-ssa-alias.c: (get_ptr_info): New local function.
Replace references to ssa_name_ann_t with struct ptr_info_def.
* tree-ssa-operands.c (get_expr_operands): Likewise.
* tree.h (SSA_NAME_PTR_INFO): Define.
(struct ptr_info_def): Declare.
(struct tree_ssa_name): Add field 'ptr_info'.

From-SVN: r82864

20 years agowinnt.c (i386_pe_output_labelref): Correct misplaced ')'.
Danny Smith [Wed, 9 Jun 2004 22:52:10 +0000 (22:52 +0000)]
winnt.c (i386_pe_output_labelref): Correct misplaced ')'.

* config/i386/winnt.c (i386_pe_output_labelref): Correct
misplaced ')'.

From-SVN: r82862

20 years ago* config/i386/winnt.c (i386_pe_output_labelref); Correct
Danny Smith [Wed, 9 Jun 2004 22:43:29 +0000 (22:43 +0000)]
* config/i386/winnt.c (i386_pe_output_labelref); Correct
misplaced ')'.

From-SVN: r82860

20 years agok6.md: Rewrite using the DFA model.
Steven Bosscher [Wed, 9 Jun 2004 21:58:54 +0000 (21:58 +0000)]
k6.md: Rewrite using the DFA model.

* config/i386/k6.md: Rewrite using the DFA model.
* config/i386/i386.c (ix86_adjust_cost): Don't increase the
cost of load-operation insns for the K6.
(ia32_use_dfa_pipeline_interface): Add TARGET_K6.
(ia32_multipass_dfa_lookahead): Likewise.

From-SVN: r82859

20 years agoalpha.c (alpha_gimplify_va_arg_1, [...]): New.
Richard Henderson [Wed, 9 Jun 2004 21:44:17 +0000 (14:44 -0700)]
alpha.c (alpha_gimplify_va_arg_1, [...]): New.

        * config/alpha/alpha.c (alpha_gimplify_va_arg_1,
        alpha_gimplify_va_arg, TARGET_GIMPLIFY_VA_ARG_EXPR): New.

From-SVN: r82858

20 years agore PR libstdc++/15775 (Allocator::pointer consistently ignored)
Paolo Carlini [Wed, 9 Jun 2004 21:37:46 +0000 (21:37 +0000)]
re PR libstdc++/15775 (Allocator::pointer consistently ignored)

2004-06-09  Paolo Carlini  <pcarlini@suse.de>

PR libstdc++/15775
* include/bits/stl_deque.h: Consistently with stl_set.h, define
pointer as allocator's pointer, likewise for reference,
const_pointer, and const_reference.
* include/bits/stl_list.h: Likewise.
* include/bits/stl_map.h: Likewise.
* include/bits/stl_multimap.h: Likewise.
* include/bits/stl_vector.h: Likewise.

From-SVN: r82857

20 years agobitfield3.C: Add -mno-align-double compile option for mingw32 and cygwin targets.
Danny Smith [Wed, 9 Jun 2004 21:03:48 +0000 (21:03 +0000)]
bitfield3.C: Add -mno-align-double compile option for mingw32 and cygwin targets.

* g++.dg/abi/bitfield3.C: Add -mno-align-double compile option
for mingw32 and cygwin targets.

From-SVN: r82856

20 years ago* expmed.c (emit_store_flag): Cope with FLOAT_STORE_FLAG_VALUE.
Richard Henderson [Wed, 9 Jun 2004 21:00:35 +0000 (14:00 -0700)]
* expmed.c (emit_store_flag): Cope with FLOAT_STORE_FLAG_VALUE.

From-SVN: r82854

20 years agoIndex: gcc/ChangeLog
Geoffrey Keating [Wed, 9 Jun 2004 20:10:13 +0000 (20:10 +0000)]
Index: gcc/ChangeLog
2004-06-09  Geoffrey Keating  <geoffk@apple.com>

* Makefile.in (CPPLIB_H): Put files in order of inclusion.
(CPP_ID_DATA_H): New.
(gtype-desc.o): Update dependencies.
(GTFILES): Use CPP_ID_DATA_H.

Index: gcc/testsuite/ChangeLog
2004-06-09  Geoffrey Keating  <geoffk@apple.com>

* gcc.dg/pch/macro-4.c: New.
* gcc.dg/pch/macro-4.hs: New.

Index: libcpp/ChangeLog
2004-06-09  Geoffrey Keating  <geoffk@apple.com>

* traditional.c (push_replacement_text): Set macro->traditional.
(save_replacement_text): Likewise.
* pch.c (cpp_write_pch_state): Don't write list of defined macros.
(struct save_macro_item): Delete.
(struct save_macro_data): Use a character array not the previous
structured format.
(save_macros): Save macro as text not as internal structures.
(cpp_prepare_state): Update for changes to save_macro_data.
(cpp_read_state): Don't read macros defined in PCH.  Restore
-D macros as text.
* macro.c (create_iso_definition): Honour alloc_subobject.
Clear traditional flag.
(_cpp_create_definition): Honour alloc_subobject.
* lex.c (cpp_token_val_index): New.
* internal.h: Include cpp-id-data.h.
(uchar): Move definition to cpp-id-data.h.
(U): Likewise.
(cpp_macro): Likewise.
* directives.c (struct answer): Move to cpp-id-data.h.
(do_assert): Honour alloc_subobject.

Index: libcpp/include/ChangeLog
2004-06-09  Geoffrey Keating  <geoffk@apple.com>

* symtab.h (struct ht): Add field 'alloc_subobject'.
* cpplib.h (struct cpp_string): Add GTY marker.
(enum cpp_token_fld_kind): New.
(struct cpp_token): Add GTY markers.
(cpp_token_val_index): Prototype.
(CPP_HASHNODE_VALUE_IDX): New.
(struct cpp_hashnode): Don't skip fields of 'value' when marking.
* cpp-id-data.h: New file.

From-SVN: r82851

20 years agotrans-expr.c (gfc_conv_cst_int_power): Compute x**(-n) by converting it to (1/x)...
Toon Moene [Wed, 9 Jun 2004 19:57:24 +0000 (21:57 +0200)]
trans-expr.c (gfc_conv_cst_int_power): Compute x**(-n) by converting it to (1/x)**n instead of 1/x**n.

2004-06-09  Toon Moene  <toon@moene.indiv.nluug.nl>

* trans-expr.c (gfc_conv_cst_int_power): Compute
x**(-n) by converting it to (1/x)**n instead of
1/x**n.

From-SVN: r82850

20 years agoctype support.
Frank Ch. Eigler [Wed, 9 Jun 2004 19:04:56 +0000 (19:04 +0000)]
ctype support.

2004-06-09  Frank Ch. Eigler  <fche@redhat.com>

ctype support.
* configure.in: Look for ctype header and glibc implementation.
* mf-hooks2.c (__ctype_{b,toupper,tolower}_loc): Sample ctype
array hooks for glibc 2.3.
* mf-runtime.h.in: Wrap them.
* mf-runtime.c (__mf_init): Leave marker regarding other ctype
implementations.
* testsuite/libmudflap.c/pass47-frag.c: New test.
* configure, config.h.in: Regenerated.

From-SVN: r82848

20 years agorevert: re PR c++/15815 (Update #pragma interface and #pragma implementation document...
Mark Mitchell [Wed, 9 Jun 2004 18:34:05 +0000 (18:34 +0000)]
revert: re PR c++/15815 (Update #pragma interface and #pragma implementation documentation.)

Revert:
PR c++/15815
2004-06-07  Mark Mitchell  <mark@codesourcery.com>
* doc/extend.texi: Deprecate #pragma interface and #pragma
implementation.

Revert:
PR c++/15815
2004-06-07  Mark Mitchell  <mark@codesourcery.com>
* lex.c (handle_pragma_interface): Deprecate.
(handle_pragma_implementation): Likewise.

From-SVN: r82847

20 years agosparc.h (MOVE_RATIO): New definition.
David S. Miller [Wed, 9 Jun 2004 18:26:11 +0000 (18:26 +0000)]
sparc.h (MOVE_RATIO): New definition.

2004-06-09  David S. Miller  <davem@nuts.davemloft.net>

* config/sparc/sparc.h (MOVE_RATIO): New definition.

From-SVN: r82844

20 years agog++spec.c (lang_specific_driver): Remove check for -lm and -lmath when check it see...
Andrew Pinski [Wed, 9 Jun 2004 17:54:17 +0000 (17:54 +0000)]
g++spec.c (lang_specific_driver): Remove check for -lm and -lmath when check it see if it was the math library.

2004-06-09  Andrew Pinski  <pinskia@physics.uc.edu>

        * g++spec.c (lang_specific_driver): Remove check for -lm
        and -lmath when check it see if it was the math library.

From-SVN: r82843

20 years agobasic-block.h (struct edge_def): Add goto_locus.
Richard Henderson [Wed, 9 Jun 2004 17:00:30 +0000 (10:00 -0700)]
basic-block.h (struct edge_def): Add goto_locus.

        * basic-block.h (struct edge_def): Add goto_locus.
        * tree-cfg.c (make_goto_expr_edges): Set it.
        (disband_implicit_edges): Use it.
        * tree-pretty-print.c (dump_implicit_edges): Print it.

From-SVN: r82842

20 years ago* h8300.md (ldm_h8300s_4): Fix condition for expander.
Anil Paranjpe [Wed, 9 Jun 2004 16:44:31 +0000 (16:44 +0000)]
* h8300.md (ldm_h8300s_4): Fix condition for expander.

From-SVN: r82841

20 years agoGimplify VA_ARG_EXPR into simpler forms.
Jason Merrill [Wed, 9 Jun 2004 15:32:44 +0000 (11:32 -0400)]
Gimplify VA_ARG_EXPR into simpler forms.

        * target.h: Add gimplify_va_arg_expr hook.
        * target-def.h: Add TARGET_GIMPLIFY_VA_ARG_EXPR.
        * fold-const.c (build_fold_addr_expr)
        (build_fold_addr_expr_with_type): Move from gimplify.c.
        * tree.h: Declare them.
        * gimplify.c (gimplify_and_add): New fn.
        (build_addr_expr, build_addr_expr_with_type): Move to fold-const.c.
        (gimplify_array_ref_to_plus, gimplify_modify_expr)
        (gimplify_expr): Use build_fold_*.
        (copy_if_shared_r): Only mark VA_ARG_EXPR volatile if we
        don't know how to gimplify it.
        * builtins.c (std_gimplify_va_arg_expr): New fn.
        (dummy_object): New static fn.
        (gimplify_va_arg_expr): New fn.
        (stabilize_va_list): Use build_fold_*.
        * tree-gimple.h: Declare new fns.
        * config/i386/i386.c (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
        (ix86_gimplify_va_arg): New fn.
        * config/i386/ia64.c (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
        (ia64_gimplify_va_arg): New fn.
        * config/i386/rs6000.c (rs6000_gimplify_va_arg): New fn.
        (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
        * config/i386/sparc.c (sparc_gimplify_va_arg): New fn.
        * alias.c (get_varargs_alias_set): Just return 0 for now.

        * c-objc-common.c (c_tree_printer): Improve handling of %T.

From-SVN: r82838

20 years agotree-complex.c (expand_complex_comparison): Use fold_convert instead of convert.
Andrew Pinski [Wed, 9 Jun 2004 15:07:03 +0000 (15:07 +0000)]
tree-complex.c (expand_complex_comparison): Use fold_convert instead of convert.

2004-06-09  Andrew Pinski  <pinskia@physics.uc.edu>

        * tree-complex.c (expand_complex_comparison): Use fold_convert instead
        of convert.
        * tree-inline.c (setup_one_parameter): Likewise.
        * tree-sra.c (csc_build_component_ref): Likewise.
        * tree-ssa-ccp.c (ccp_fold): Likewise.
        * tree-ssa-copy.c (cprop_operand): Likewise.
        * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
        * tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.

From-SVN: r82837

20 years agore PR fortran/13249 (Error when using COMMON)
Tobias Schlüter [Wed, 9 Jun 2004 13:08:13 +0000 (15:08 +0200)]
re PR fortran/13249 (Error when using COMMON)

PR fortran/13249
* gfortran.fortran-torture/compile/name_clash.f90: New test.

From-SVN: r82836

20 years agore PR fortran/13372 (ICE in trans-types.c (gfc_typenode_for_spec), see #13201)
Tobias Schlüter [Wed, 9 Jun 2004 12:55:50 +0000 (14:55 +0200)]
re PR fortran/13372 (ICE in trans-types.c (gfc_typenode_for_spec), see #13201)

fortran/
PR fortran/13372
* module.c (write_symbol, write_symtree): Don't write symbols
wrongly added to namespace.
* trans-decl.c (gfc_create_module_variable): Don't create a
backend decl for a symbol incorrectly added to namespace.

testsuite/
PR fortran/13372
* gfortran.fortran-torture/compile/named_args_2.f90: New test.

From-SVN: r82834

20 years agore PR rtl-optimization/15521 (sched1 extends life of hard registers on SMALL_REGISTER...
J"orn Rennecke [Wed, 9 Jun 2004 12:48:21 +0000 (12:48 +0000)]
re PR rtl-optimization/15521 (sched1 extends life of hard registers on SMALL_REGISTER_CLASSES targets when exceptions are enabled)

PR rtl-optimization/15521:
* sched-int.h (in_post_call_group_p): Change type to enum.
* sched-deps.c (sched_analyze_insn):
(sched_analyze): When in_post_call_group_p is post_call_initial,
don't add a dependency, but still set SCHED_GROUP_P and CANT_MOVE,
and also reset in_post_call_group_p to post_call.
(sched_analyze): When the previous basic block ended in a CALL_INSN,
initialize in_post_call_group_p as post_call_initial.
(init_deps): initialize in_post_call_group_p to not_post_call.

From-SVN: r82831

20 years agore PR fortran/13201 (PARAMETER variables of nonconstant shape are accepted)
Tobias Schlüter [Wed, 9 Jun 2004 12:35:39 +0000 (14:35 +0200)]
re PR fortran/13201 (PARAMETER variables of nonconstant shape are accepted)

PR fortran/13201
* resolve.c (resolve_symbol): Verify that parameter array has an
explicit shape. Fix typos and coding style issues in surrounding
lines.

From-SVN: r82830

20 years agogcc_release (build_sources): Move the libcpp gmo files to the source directory.
Paolo Bonzini [Wed, 9 Jun 2004 09:07:11 +0000 (09:07 +0000)]
gcc_release (build_sources): Move the libcpp gmo files to the source directory.

maintainer-scripts/ChangeLog:
2004-06-09  Paolo Bonzini  <bonzini@gnu.org>

* gcc_release (build_sources): Move the libcpp gmo files
to the source directory.

libcpp/ChangeLog:
2004-06-09  Paolo Bonzini  <bonzini@gnu.org>

* Makefile.am (all-local): New.
* Makefile.in: Regenerate.

From-SVN: r82819

20 years agore PR ada/6637 (Would be nice to support --enable-shared=gnat)
Arnaud Charlet [Wed, 9 Jun 2004 08:42:27 +0000 (10:42 +0200)]
re PR ada/6637 (Would be nice to support --enable-shared=gnat)

PR ada/6637
* doc/install.texi: List ada, libada as options to --enable-shared

From-SVN: r82818

20 years agoMakefile.tpl (touch-stage[+id+]): New.
Paolo Bonzini [Wed, 9 Jun 2004 08:17:32 +0000 (08:17 +0000)]
Makefile.tpl (touch-stage[+id+]): New.

2004-06-09  Paolo Bonzini  <bonzini@gnu.org>

* Makefile.tpl (touch-stage[+id+]): New.
(restage[+prev+]): Depend on touch-stage[+id+].

* Makefile.tpl (RECURSE_FLAGS_TO_PASS): New.
Use it throughout.

* Makefile.def: Add profile and feedback bootstrap stages.
Remove next field from bootstrap stages.
* Makefile.tpl (LN, LN_S): Substitute.
(stageN-start, stageN-end): Use double-colon rules, to
provide a hook for additional setup commands.
(distclean-stageN-gcc, restageN): Create dependencies from
[+prev+], not from [+next+].
(stageN-bubble): Add commands for successive stages from
[+prev+], using double-colon rules.
(all-stageN-gcc): Fix typo.
(stagefeedback-start, profiledbootstrap): New.
* Makefile.in: Regenerate.
* configure.in: Call ACX_PROG_LN.
* configure: Regenerate.

config/ChangeLog:
2004-06-09  Paolo Bonzini  <bonzini@gnu.org>

* acx.m4 (ACX_PROG_LN): From gcc, modified to
accept a parameter.

gcc/ChangeLog:
2004-06-09  Paolo Bonzini  <bonzini@gnu.org>

* aclocal.m4 (gcc_AC_PROG_LN): Remove.
(gcc_AC_CHECK_DECLS): Use AH_TEMPLATE to generate
config.in entries.
* configure.ac: Call ACX_PROG_LN, falling back to $LN_S
if hard links are not available.
* configure: Regenerate.
* config.in: Regenerate.

From-SVN: r82816

20 years agocrossconfig.m4: Remove signbit, signbitf, signbitl.
Benjamin Kosnik [Wed, 9 Jun 2004 07:26:28 +0000 (07:26 +0000)]
crossconfig.m4: Remove signbit, signbitf, signbitl.

2004-06-09  Benjamin Kosnik  <bkoz@redhat.com>

* crossconfig.m4: Remove signbit, signbitf, signbitl.
* linkage.m4: Comment LIBMATHOBJS, tweak others.  AC_DEFINES for
builtin math functions instead of AC_DEFINE_UNQUOTED.
* configure: Regenerate.

From-SVN: r82815

20 years agofilter.sed: Rename _GLIBCXX_STD to std.
Benjamin Kosnik [Wed, 9 Jun 2004 06:09:17 +0000 (06:09 +0000)]
filter.sed: Rename _GLIBCXX_STD to std.

2004-06-08  Benjamin Kosnik  <bkoz@redhat.com>

* docs/doxygen/filter.sed: Rename _GLIBCXX_STD to std.
* docs/doxygen/mainpage.html: Remove links.

From-SVN: r82814

20 years agolinker-map.gnu: Use wildcards for __basic_file::{xsgetn,xsputn,seekoff,xsputn_2}.
Jason Merrill [Wed, 9 Jun 2004 03:56:34 +0000 (23:56 -0400)]
linker-map.gnu: Use wildcards for __basic_file::{xsgetn,xsputn,seekoff,xsputn_2}.

        * config/linker-map.gnu: Use wildcards for
        __basic_file::{xsgetn,xsputn,seekoff,xsputn_2}.

From-SVN: r82813

20 years ago* configure.ac: New --enable-mapped-location sets USE_MAPPED_LOCATION.
Per Bothner [Wed, 9 Jun 2004 01:12:01 +0000 (18:12 -0700)]
* configure.ac:  New --enable-mapped-location sets USE_MAPPED_LOCATION.

From-SVN: r82809

20 years agore PR libfortran/14897 ('T' edit descriptor output incorrect)
Bud Davis [Wed, 9 Jun 2004 01:03:02 +0000 (01:03 +0000)]
re PR libfortran/14897 ('T' edit descriptor output incorrect)

2004-06-09  Bud Davis  <bdavis9659@comcast.net>

PR gfortran/14897
* gfortran.fortran-torture/execute/t_edit.f90

  * io/transfer.c (formatted_transfer): position is unique
         for T and TL edit descriptors.
  (data_transfer_init): set record length to size of internal
         file.

From-SVN: r82808

20 years agore PR libfortran/15755 (gfortran: backspace call causes bus error)
Bud Davis [Wed, 9 Jun 2004 00:55:04 +0000 (00:55 +0000)]
re PR libfortran/15755 (gfortran: backspace call causes bus error)

2004-06-08  Bud Davis  <bdavis9659@comcast.net>

PR gfortran/15755
* gfortran.fortran-torture/execute/backspace.c : New test.

* io/backspace.c(st_backspace): call correct routine for
formatted and un-formatted units.

From-SVN: r82806

20 years ago* gfortran.fortran-torture/execure/intrinsic_associated.f90
Paul Brook [Wed, 9 Jun 2004 00:37:20 +0000 (00:37 +0000)]
* gfortran.fortran-torture/execure/intrinsic_associated.f90
(pointer_to_section): Rewrite to use smaller array.

From-SVN: r82805

20 years agoDaily bump.
GCC Administrator [Wed, 9 Jun 2004 00:16:16 +0000 (00:16 +0000)]
Daily bump.

[[Split portion of a mixed commit.]]

From-SVN: r82802.2

20 years agoDaily bump.
GCC Administrator [Wed, 9 Jun 2004 00:16:12 +0000 (00:16 +0000)]
Daily bump.

[[Split portion of a mixed commit.]]

From-SVN: r82800.2

20 years agotoplev.c (floor_log2_wide): Correct casts for 64-bit hosts.
Richard Kenner [Wed, 9 Jun 2004 00:10:51 +0000 (00:10 +0000)]
toplev.c (floor_log2_wide): Correct casts for 64-bit hosts.

* toplev.c (floor_log2_wide): Correct casts for 64-bit hosts.
Correct formatting.

From-SVN: r82798

20 years agore PR target/15790 ([3.4 only] Alignment error building gcc with i686-coff target)
James E Wilson [Tue, 8 Jun 2004 22:32:08 +0000 (22:32 +0000)]
re PR target/15790 ([3.4 only] Alignment error building gcc with i686-coff target)

PR target/15790
* config/i386/i386-coff.h (ASM_OUTPUT_ALIGN): Define.

From-SVN: r82796

20 years agopool_allocator.h: Convert to a global free-list, as per the original SGI/HP design...
Paolo Carlini [Tue, 8 Jun 2004 22:19:18 +0000 (22:19 +0000)]
pool_allocator.h: Convert to a global free-list, as per the original SGI/HP design...

2004-06-08  Paolo Carlini  <pcarlini@suse.de>

* include/ext/pool_allocator.h: Convert to a global free-list,
as per the original SGI/HP design: move the implementation
details to struct __pool_base, from which __pool_alloc derives.
* src/allocator.cc: Instantiate __pool_base.

From-SVN: r82794

20 years agofold-const.c (fold_convert): Treat OFFSET_TYPE like POINTER_TYPE and INTEGER_TYPE.
Andrew Pinski [Tue, 8 Jun 2004 22:03:29 +0000 (22:03 +0000)]
fold-const.c (fold_convert): Treat OFFSET_TYPE like POINTER_TYPE and INTEGER_TYPE.

2004-06-08  Andrew Pinski  <pinskia@physics.uc.edu>

        * fold-const.c (fold_convert): Treat OFFSET_TYPE like
        POINTER_TYPE and INTEGER_TYPE.

From-SVN: r82792

20 years agomodulo-sched.c: Compile only when INSN_SCHEDULING is defined.
Bernardo Innocenti [Tue, 8 Jun 2004 21:46:32 +0000 (23:46 +0200)]
modulo-sched.c: Compile only when INSN_SCHEDULING is defined.

* modulo-sched.c: Compile only when INSN_SCHEDULING is
defined.

From-SVN: r82791

20 years agocontrib.texi: Add entries for Stefan Olsson and Ola Ronnerup.
Jeff Law [Tue, 8 Jun 2004 20:03:51 +0000 (14:03 -0600)]
contrib.texi: Add entries for Stefan Olsson and Ola Ronnerup.

* doc/contrib.texi: Add entries for Stefan Olsson and
Ola Ronnerup.

From-SVN: r82781

20 years agotoplev.c (floor_log2_wide): Replace loop with faster bit operations.
DJ Delorie [Tue, 8 Jun 2004 19:24:07 +0000 (15:24 -0400)]
toplev.c (floor_log2_wide): Replace loop with faster bit operations.

* toplev.c (floor_log2_wide): Replace loop with faster bit
operations.
(exact_log2_wide): Define in terms of the above.
* toplev.h (floor_log2): Use _builtin_clz family of builtins if
available.

From-SVN: r82778

20 years agors6000.c (print_operand, <case 'z'>): Make sure that we are in INDIRECT mode when...
Andrew Pinski [Tue, 8 Jun 2004 18:56:45 +0000 (18:56 +0000)]
rs6000.c (print_operand, <case 'z'>): Make sure that we are in INDIRECT mode when getting the stub name.

2004-06-08  Andrew Pinski  <pinskia@physics.uc.edu>

        * config/rs6000/rs6000.c (print_operand, <case 'z'>):
        Make sure that we are in INDIRECT mode when getting the
        stub name.

From-SVN: r82777

20 years agoaltivec-1.c: XFAIL powerpc-ibm-aix*.
David Edelsohn [Tue, 8 Jun 2004 18:45:38 +0000 (18:45 +0000)]
altivec-1.c: XFAIL powerpc-ibm-aix*.

        * gcc.dg/ext/altivec-1.c: XFAIL powerpc-ibm-aix*.
        * gcc.dg/ext/altivec-10.c: Same.
        * gcc.dg/ext/altivec-11.c: Same.
        * gcc.dg/ext/altivec-12.c: Same.
        * gcc.dg/ext/altivec-13.c: Same.
        * gcc.dg/ext/altivec-14.c: Same.
        * gcc.dg/ext/altivec-15.c: Same.
        * gcc.dg/ext/altivec-16.c: Same.
        * gcc.dg/ext/altivec-3.c: Same.
        * gcc.dg/ext/altivec-4.c: Same.
        * gcc.dg/ext/altivec-6.c: Same.
        * gcc.dg/ext/altivec-7.c: Same.
        * gcc.dg/ext/altivec-8.c: Same.
        * gcc.dg/ext/altivec-varargs-1.c: Same.

From-SVN: r82776

20 years agoaltivec-1.C: Correct dg syntax.
David Edelsohn [Tue, 8 Jun 2004 18:32:15 +0000 (18:32 +0000)]
altivec-1.C: Correct dg syntax.

        * g++.dg/ext/altivec-1.C: Correct dg syntax.
        * g++.dg/ext/altivec-10.C: Same.
        * g++.dg/ext/altivec-2.C: Same.
        * g++.dg/ext/altivec-3.C: Same.
        * g++.dg/ext/altivec-4.C: Same.
        * g++.dg/ext/altivec-5.C: Same.
        * g++.dg/ext/altivec-6.C: Same.
        * g++.dg/ext/altivec-7.C: Same.
        * g++.dg/ext/altivec-8.C: Same.
        * g++.dg/ext/altivec-9.C: Same.

From-SVN: r82774

20 years agoh8300.md (extendqisi2_h8300): Add constraints.
Anil Paranjpe [Tue, 8 Jun 2004 16:43:46 +0000 (16:43 +0000)]
h8300.md (extendqisi2_h8300): Add constraints.

        * h8300.md (extendqisi2_h8300): Add constraints.
        (ldm_h8300s_4_normal): Fix typo.

From-SVN: r82769

20 years agogimple-low.c (struct lower_data): Replace the_return_label and one_return_stmt with...
Richard Henderson [Tue, 8 Jun 2004 16:29:57 +0000 (09:29 -0700)]
gimple-low.c (struct lower_data): Replace the_return_label and one_return_stmt with return_statements.

        * gimple-low.c (struct lower_data): Replace the_return_label and
        one_return_stmt with return_statements.
        (lower_function_body): Process the entire list of return_statements.
        (lower_return_expr): Check source value before unifying return_exprs.
        * gimplify.c (gimplify_return_expr): Force the use of a temporary
        for !aggregate_value_p.
        * tree-gimple.c: Update RETURN_EXPR grammer.

From-SVN: r82768

20 years agore PR target/15598 (Gcc 3.4 ICE on valid code)
Vladimir Makarov [Tue, 8 Jun 2004 15:58:28 +0000 (15:58 +0000)]
re PR target/15598 (Gcc 3.4 ICE on valid code)

2004-06-08  Vladimir Makarov  <vmakarov@redhat.com>

PR target/15598
* config/ia64/ia64.c (bundling): Add missed TYPE_A.

From-SVN: r82767

20 years agore PR java/15769 (ICE: infinite recursion through gimplify_expr)
Andrew Pinski [Tue, 8 Jun 2004 13:30:33 +0000 (06:30 -0700)]
re PR java/15769 (ICE: infinite recursion through gimplify_expr)

2004-06-08  Andrew Pinski  <pinskia@physics.uc.edu>

        PR java/15769
        * libjava.compile/PR15769.java: New test.

From-SVN: r82757

20 years agore PR java/15769 (ICE: infinite recursion through gimplify_expr)
Andrew Pinski [Tue, 8 Jun 2004 13:27:38 +0000 (13:27 +0000)]
re PR java/15769 (ICE: infinite recursion through gimplify_expr)

2004-06-08  Andrew Pinski  <pinskia@physics.uc.edu>

        PR java/15769
        * expr.c (java_truthvalue_conversion): Handle
        UNEQ_EXPR, UNLE_EXPR, UNGE_EXPR, UNLT_EXPR, UNGT_EXPR,
        ORDERED_EXPR, and UNORDERED_EXPR as comparison operators,
        i.e. return the expression.

From-SVN: r82756

20 years agore PR rtl-optimization/15717 (Error: can't resolve `L0' {*ABS* section} - `xx' {...
Zdenek Dvorak [Tue, 8 Jun 2004 13:26:04 +0000 (15:26 +0200)]
re PR rtl-optimization/15717 (Error: can't resolve `L0' {*ABS* section} - `xx' {*UND* section})

PR rtl-optimization/15717
* config/i386/i386.c (legitimate_constant_p): Do not allow
x - symbol_ref.

From-SVN: r82755

20 years agoCorrect indentation of one line.
Richard Kenner [Tue, 8 Jun 2004 12:25:03 +0000 (08:25 -0400)]
Correct indentation of one line.

From-SVN: r82753

20 years agore PR ada/15568 (Shared libgnat fails to link on IRIX 6 with GNU ld)
Arnaud Charlet [Tue, 8 Jun 2004 09:53:14 +0000 (11:53 +0200)]
re PR ada/15568 (Shared libgnat fails to link on IRIX 6 with GNU ld)

PR ada/15568

* Makefile.in: Remove target specific SO_OPT on IRIX

From-SVN: r82752

20 years agogimplify.c (copy_if_shared_r): Revert: 2004-05-21 Richard Henderson <rth@redhat.com>
Alexandre Oliva [Tue, 8 Jun 2004 05:21:51 +0000 (05:21 +0000)]
gimplify.c (copy_if_shared_r): Revert: 2004-05-21 Richard Henderson <rth@redhat.com>

* gimplify.c (copy_if_shared_r): Revert:
2004-05-21  Richard Henderson  <rth@redhat.com>
* gimplify.c [...] Don't mark VA_ARG_EXPRs volatile here.

From-SVN: r82745

20 years agoMAINTAINERS (Write After Approval): Add myself.
Canqun Yang [Tue, 8 Jun 2004 04:31:24 +0000 (12:31 +0800)]
MAINTAINERS (Write After Approval): Add myself.

2004-06-08  Canqun Yang  <canqun@nudt.edu.cn>

* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r82744

20 years agoexpmed.c (add_cost, [...]): Make arrays indexed by machine mode.
Roger Sayle [Tue, 8 Jun 2004 04:30:48 +0000 (04:30 +0000)]
expmed.c (add_cost, [...]): Make arrays indexed by machine mode.

* expmed.c (add_cost, neg_cost, sdiv_pow2_cheap, smod_pow2_cheap):
Make arrays indexed by machine mode.  Rename negate_cost to neg_cost.
(init_expmed): Initialize these cost arrays as appropriate.
(store_bit_field, extract_bit_field): Correct whitespace.
(synth_mult, choose_mult_variant, expand_mult, expand_mult_highpart,
expand_mult_highpart_optab, expand_divmod): Update uses of add_cost,
neg_cost, sdiv_pow2_cheap, smod_pow2_cheap to index with mode,
word_mode or compute_mode as appropriate.

From-SVN: r82743

20 years agore PR c++/7841 (gcc accepts illegal member function syntax for template classes)
Giovanni Bajo [Tue, 8 Jun 2004 03:24:37 +0000 (03:24 +0000)]
re PR c++/7841 (gcc accepts illegal member function syntax for template classes)

PR c++/7841
* parser.c (cp_parser_direct_declarator): Reject constructor named
as qualified template-id.

PR c++/7841
* g++.old-deja/g++.pt/ctor2.C: Add error mark.

From-SVN: r82741

20 years agoDaily bump.
GCC Administrator [Tue, 8 Jun 2004 00:16:25 +0000 (00:16 +0000)]
Daily bump.

[[Split portion of a mixed commit.]]

From-SVN: r82733.2

20 years agoDaily bump.
GCC Administrator [Tue, 8 Jun 2004 00:16:20 +0000 (00:16 +0000)]
Daily bump.

[[Split portion of a mixed commit.]]

From-SVN: r82732.2

20 years ago2004-06-07 Dhruv Matani <dhruvbird@gmx.net>
Dhruv Matani [Mon, 7 Jun 2004 21:56:16 +0000 (21:56 +0000)]
2004-06-07  Dhruv Matani  <dhruvbird@gmx.net>
    Paolo Carlini  <pcarlini@suse.de>

* testsuite/testsuite_performance.h
(resource_counter::allocated_memory): Make it return the right
number of bytes requested by the allocators/application. This is
the sbrk+mmaped memory.

Co-Authored-By: Paolo Carlini <pcarlini@suse.de>
From-SVN: r82725

20 years agore PR target/15783 (ICE with union assignment in 64-bit mode)
Eric Botcazou [Mon, 7 Jun 2004 20:58:33 +0000 (22:58 +0200)]
re PR target/15783 (ICE with union assignment in 64-bit mode)

PR target/15783
* config/sparc/sparc.c (function_arg_union_value): Add 'mode'
parameter.  Enumerate the registers inside the PARALLEL.
(function_arg): Adjust call to function_arg_union_value.
(function_value): Likewise.

From-SVN: r82722

20 years agoreal.c (real_copysign): New function to implement libm's copysign.
Roger Sayle [Mon, 7 Jun 2004 20:50:14 +0000 (20:50 +0000)]
real.c (real_copysign): New function to implement libm's copysign.

* real.c (real_copysign): New function to implement libm's copysign.
* real.h (real_copysign): Prototype here.
* fold-const.c (tree_expr_nonnegative_p): The result of sqrt, sqrtf
and sqrtl can be negative, as sqrt(-0.0) = -0.0.  Correct whitespace.
* builtins.c (fold_builtin_isascii, fold_builtin_toascii,
fold_builtin_isdigit): Add function prototypes.
(fold_builtin_copysign): New function to fold copysign, copysignf
and copysignl.  Optimize copysign(x,x) as x.  Evaluate copysign of
constant arguments at compile-time using real_copysign.  Fold
copysign(X,Y) as fabs(X) if Y is always non-negative.
(fold_builtin_1): Correct minor whitespace/style issues.  Call
fold_builtin_copysign for BUILT_IN_COPYSIGN{,F,L}.

* gcc.dg/builtins-41.c: New test case.
* gcc.dg/builtins-42.c: New test case.

From-SVN: r82721

20 years ago* tree.c (iterative_hash_expr): Use real_hash.
J"orn Rennecke [Mon, 7 Jun 2004 20:46:40 +0000 (20:46 +0000)]
* tree.c (iterative_hash_expr): Use real_hash.

From-SVN: r82720

20 years agoaltivec-1.C: XFAIL powerpc-ibm-aix*.
David Edelsohn [Mon, 7 Jun 2004 20:36:56 +0000 (20:36 +0000)]
altivec-1.C: XFAIL powerpc-ibm-aix*.

        * g++.dg/ext/altivec-1.C: XFAIL powerpc-ibm-aix*.
        * g++.dg/ext/altivec-10.C: Same.
        * g++.dg/ext/altivec-2.C: Same.
        * g++.dg/ext/altivec-3.C: Same.
        * g++.dg/ext/altivec-4.C: Same.
        * g++.dg/ext/altivec-5.C: Same.
        * g++.dg/ext/altivec-6.C: Same.
        * g++.dg/ext/altivec-7.C: Same.
        * g++.dg/ext/altivec-8.C: Same.
        * g++.dg/ext/altivec-9.C: Same.
        * g++.old-deja/g++.abi/cxa_vec.C: Same.
        * g++.old-deja/g++.brendan/new3.C: Same.
        * gcc.c-torture/execute/eeprof-1.x: Same.

From-SVN: r82718

20 years agoada-tree.def (TRANSFORM_EXPR, [...]): Deleted.
Richard Kenner [Mon, 7 Jun 2004 19:52:53 +0000 (19:52 +0000)]
ada-tree.def (TRANSFORM_EXPR, [...]): Deleted.

* ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted.
(GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise.
(BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise.
(ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise.
(STMT_STMT, USE_STMT): New statement codes.
(LOOP_STMT, EXIT_STMT): Make slight semantic changes.
* ada-tree.h: Reflect above changes.
  (struct tree_loop_id): Deleted.
(union lang_tree_node, struct lang_decl, struct lang_type):
Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC
and DECL_LANGUAGE_SPECIFIC to reflect these changes.
(DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted.
(IS_ADA_STMT): New macro.
* decl.c (annotate_decl_with_node): New function.
(gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno.
(gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR.
Call add_stmt_with_node to do needed assignments.
Add call to update setjmp buffer directly, not via EXPR_STMT.
(maybe_variable): Argment GNAT_NODE deleted.
* gigi.h (maybe_variable): Likewise.
(make_transform, add_stmt_with_node, set_block_for_group): New.
(gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise.
(set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise.
(discard_file_names, gnu_block_stack, gnat_to_code): Deleted.
(set_lineno, set_lineno_from_sloc): Likewise.
(record_code_position, insert_code_for): Likewise.
(gnat_poplevel): Now returns void.
(end_subprog_body): Now takes argument.
* misc.c (cgraph.h, tree-inline.h): New includes.
(gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted.
(gnat_post_options, LANG_HOOKS_POST_OPTIONS): New.
(LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise.
(LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise.
(gnat_parse_file): Don't set immediate_size_expand.
Call cgraph functions.
(gnat_expand_expr): Remove most cases.
(record_code_position, insert_code_for): Remove from here.
* trans.c (toplev.h, tree-gimple.h): Now included.
(discard_file_names): Deleted.
(gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del.
(first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise.
(struct stmt_group, current_stmt_group, stmt_group_free_list): New.
(gnu_stack_free_list, record_cost_position, insert_code_for): Likewise.
(add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise.
(gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise.
(gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise.
(set_block_for_group, add_stmt_list): Likewise.
(start_stmt_group): Renamed from start_block_stmt.
(end_stmt_group): Likewise, from end_block_stmt.
(build_stmt_group): Likewise, from build_block_stmt, also add arg.
(gigi): Don't set discard_file_names or call set_lineno.
Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code.
(tree_transform): Deleted, now renamed to be gnat_to_gnu.
Numerous changes throughout to reflect new names and complete
function-at-a-time implementation.
(gnat_expand_stmt): Delete or comment out all cases.
(process_inlined_subprograms): Use add_stmt.
(process_decls): Use gnat_to_gnu, not gnat_to_code, and don't
call set_lineno; also remove unneeded block handling.
(process_type): Remove unneeded block handling.
(build_unit_elab): Remove calls to deleted functions.
* utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include.
(tree-dump.h): Likewise.
(struct ada_binding_level): Add field jmpbuf_decl.
(gnat_define_builtin, gnat_install_builtins): New.
(gnat_gimplify_function, gnat_finalize): Likewise.
(gnat_poplevel): No longer return BLOCK, set it instead.
Remove code dealing with nested functions.
(gnat_init_decl_processing): Also set size_type_node.
Call gnat_install_builtins.
(create_var_decl): Don't set DECL_INIT_BY_ASSIGN.
(create_subprog_decl): Change handling of inline_flag; set TREE_STATIC.
Remove special-case for "main".
(end_subprog_body): Add arg and rework for tree-ssa.
(convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR.
Add case for BOOLEAN_TYPE.
* utils2.c (rtl.h): Now include.
(build_call_raise): Test Debug_Flag_NN directly.
(build_call_alloc_dealloc): Don't use local stack allocation for now.
(gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted.
(gnat_mark_addressable, case VAR_DECL): Handle both early & late cases.

From-SVN: r82714

20 years agore PR c/14765 (ice-on-invalid-code, ICE while compiling ({}) expression)
Joseph Myers [Mon, 7 Jun 2004 19:49:31 +0000 (20:49 +0100)]
re PR c/14765 (ice-on-invalid-code, ICE while compiling ({}) expression)

PR c/14765
* c-parse.in (compstmt_primary_start): Set last_expr_type to
NULL_TREE.

testsuite:
* gcc.dg/pr14765-1.c: New test.

From-SVN: r82713

20 years agore PR c++/15815 (Update #pragma interface and #pragma implementation documentation.)
Mark Mitchell [Mon, 7 Jun 2004 19:23:28 +0000 (19:23 +0000)]
re PR c++/15815 (Update #pragma interface and #pragma implementation documentation.)

PR c++/15815
* lex.c (handle_pragma_interface): Deprecate.
(handle_pragma_implementation): Likewise.

PR c++/15815
* doc/extend.texi: Deprecate #pragma interface and #pragma
implementation.

From-SVN: r82712

20 years agore PR middle-end/15666 ([unit-at-a-time] Gcc abort on valid code)
Alexandre Oliva [Mon, 7 Jun 2004 19:06:28 +0000 (19:06 +0000)]
re PR middle-end/15666 ([unit-at-a-time] Gcc abort on valid code)

PR middle-end/15666
* c-decl.c (finish_decl): Use change_decl_assembler_name for the
builtin decl as well.

From-SVN: r82706

20 years agore PR c/14649 (atan(1.0) should not be a constant expression)
Roger Sayle [Mon, 7 Jun 2004 18:49:36 +0000 (18:49 +0000)]
re PR c/14649 (atan(1.0) should not be a constant expression)

PR c/14649
* c-typeck.c (require_constant_value, require_constant_elements):
Move declarations to the top of the file.
(build_function_call): If we require a constant value, fold with
fold_initializer.  If the result is a constant, and the function
wasn't called using __builtin_foo, issue a pedantic warning.
(build_unary_op): If we require a constant value, fold tree with
fold_initializer.
(build_binary_op): Use require_constant_value to determine whether
to call fold or fold_initializer.

* gcc.dg/pr14649-1.c: New test case.

From-SVN: r82705

20 years agoconfigure.ac: Add x86_64-*-freebsd* support.
Sean McNeil [Mon, 7 Jun 2004 18:39:30 +0000 (18:39 +0000)]
configure.ac: Add x86_64-*-freebsd* support.

2004-06-06  Sean McNeil  <sean@mcneil.com>

* configure.ac: Add x86_64-*-freebsd* support.
* configure: Regenerate.

From-SVN: r82703

20 years agogimple-low.c (struct lower_data): Add the_return_label and one_return_stmt.
Richard Henderson [Mon, 7 Jun 2004 17:53:03 +0000 (10:53 -0700)]
gimple-low.c (struct lower_data): Add the_return_label and one_return_stmt.

        * gimple-low.c (struct lower_data): Add the_return_label and
        one_return_stmt.
        (lower_function_body): Initialize and use them.
        (lower_return_expr): New.
        (lower_stmt): Call it.
        * gimplify.c (gimplify_return_expr): Force the argument to be either
        null or a result_decl.
        * tree-gimple.c: Update gimple grammer to match.
        * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Deny
        coalescing of result_decls.
testsuite/
        * gcc.dg/tree-ssa/20030728-1.c: Fixup return value to not match
        if temporaries.

From-SVN: r82701

20 years ago* g++.dg/eh/elide1.C: Remove XFAIL.
David Edelsohn [Mon, 7 Jun 2004 17:49:50 +0000 (17:49 +0000)]
* g++.dg/eh/elide1.C: Remove XFAIL.

From-SVN: r82700

20 years agore PR rtl-optimization/15193 (Unary minus using pointer to V4SF vector causes -fforce...
Richard Henderson [Mon, 7 Jun 2004 17:21:05 +0000 (10:21 -0700)]
re PR rtl-optimization/15193 (Unary minus using pointer to V4SF vector causes -fforce-mem to exhaust all memory)

        PR rtl-opt/15193
        * expmed.c (extract_bit_field): Fix vector_extract return.
        * config/i386/i386.md (negv4sf2): New pattern.

From-SVN: r82699

20 years agoFix typo
Mark Mitchell [Mon, 7 Jun 2004 16:20:40 +0000 (16:20 +0000)]
Fix typo

From-SVN: r82694

20 years agore PR c++/15337 (sizeof on incomplete type diagnostic)
Mark Mitchell [Mon, 7 Jun 2004 15:54:15 +0000 (15:54 +0000)]
re PR c++/15337 (sizeof on incomplete type diagnostic)

PR c++/15337
* error.c (c_sizeof_or_alignof_type): Use more detailed error
message.

PR c++/15766
* parser.c (cp_parser_iteration_statement): Fix typo in error
message.

PR c++/14777
* pt.c (tsubst_default_argument): Do not defer access checks
while substituting into the default argument.

PR c++/15554
* pt.c (tsubst_copy): Do not try to substitute for an enumeration
constant in a non-dependent context.

PR c++/15057
* except.c (build_throw): Ensure that temp_expr has been
initialized.

PR c++/15337
* g++.dg/expr/sizeof3.C: New test.

PR c++/14777
* g++.dg/template/access14.C: New test.

PR c++/15554
* g++.dg/template/enum1.C: New test.

PR c++/15057
* g++.dg/eh/throw1.C: New test.

From-SVN: r82693

20 years ago[multiple changes]
Arnaud Charlet [Mon, 7 Jun 2004 14:16:34 +0000 (16:16 +0200)]
[multiple changes]

2004-06-07  Robert Dewar  <dewar@gnat.com>

* a-direct.ads, einfo.ads: Minor comment updates

* s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb,
s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting.

* s-interr-sigaction.adb: Remove unreferenced variable
(Attached_Interrupts).  Minor reformatting.
Avoid use of variable I (replace by J).

* par-ch10.adb: Fix text of one error message

* checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads,
exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb,
exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb,
opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb,
par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb,
par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
        sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb,
sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb,
sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb,
snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada
2005 support.

2004-06-07  Doug Rupp  <rupp@gnat.com>

* mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb

* s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb

* mlib-tgt-vms-ia64.adb: New file.

* Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb
Add mlib-tgt-vms-ia64.adb
Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb.
Move to alpha specific ifeq section.
Add VMS specific versions of symbols.adb
Renaming of 5q vms files.

* 5qsystem.ads renamed to system-vms_64.ads.

2004-06-07  Vincent Celier  <celier@gnat.com>

* a-calend.ads: Add a GNAT Note comment after function Time_Of to
explain that when a time of day corresponding to the non existing hour
on the day switching to DST is specified, Split may return a different
value for Seconds.

* gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar
to GNAT PRETTY.

* g-os_lib.adb (OpenVMS): New Boolean value imported from System.
(Normalize_Pathname): Only resolve VMS logical names when on VMS.

* mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize
to False.
If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to
the linking options.
(Build_Library.Check_Libs): On VMS, if there is a dependency on
g-trasym.ads, set Gtrasymobj_Needed to True.

* prj-attr.adb: Add new package Metrics for gnatmetric

* prj-nmsc.adb (Record_Other_Sources): Put source file names in
canonical case to take into account files with upper case characters on
Windows.
(Ada_Check): Load the reference symbol file name in the name buffer to
check it, not the symbol file name.

* snames.ads, snames.adb: Add standard name Metrics (name of project
file package for gnatmetric).

* vms_conv.ads: Add Metric to Comment_Type

* vms_conv.adb (Initialize): Add component dor Metric in Command_List

* vms_data.ads: Add qualifiers for GNAT METRIC

* makegpr.adb (Link_Executables): Take into account the switches
specified in package Linker of the main project.

2004-06-07  Thomas Quinot  <quinot@act-europe.fr>

* bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so
the index of the last element is Units.Last, not Units.Table'Last
(which is usually not a valid index within the actually allocated
storage for the table).

* exp_ch4.adb (Insert_Dereference_Action): Change predicate that
determines whether to generate a call to a checked storage pool
Dereference action.
Generate such a call only for a dereference that either comes from
source, or is the result of rewriting a dereference that comes from
source.

2004-06-07  Romain Berrendonner  <berrendo@act-europe.fr>

* bindgen.adb (Gen_Output_File): Add support for GAP builds.

2004-06-07  Eric Botcazou  <ebotcazou@act-europe.fr>

(gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at
file level, elaborate the stride for inner dimensions in alignment
units, not bytes.

* exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned
in a comment.

2004-06-07  Javier Miranda  <miranda@gnat.com>

* exp_ch6.adb: Correct wrong modification in previous patch

2004-06-07  Vasiliy Fofanov  <fofanov@act-europe.fr>

* g-trasym.ads: Corrected comment to properly reflect level of support
on VMS.

2004-06-07  Hristian Kirtchev  <kirtchev@gnat.com>

* lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It
includes case of a variable referenced on the left hand side of an
assignment, therefore remove redundant code. Variables and prefixes of
indexed or selected components are now marked as referenced on left
hand side. Warnings are now properly emitted when variables or prefixes
are assigned but not read.

* sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to
left hand side referenced variables. Private access types do not
produce the warning "variable ... is assigned but never read".
Add also additional checks to left hand side referenced variables.
Aliased, renamed objects and access types do not produce the warning
"variable ... is assigned but never read" since other entities may read
the memory location.

2004-06-07  Jerome Guitton  <guitton@act-europe.fr>

* Makefile.in: In the powerpc/vxworks-specific section, restore
EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed
by mistake).

2004-06-07  Ed Schonberg  <schonberg@gnat.com>

* sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of
predefined operators.
Removes spurious type errors from g-trasym-vms.adb.

* sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is
distinct from the operator appearing in the source, call appropriate
routine to insert conversions when needed, and complete resolution of
node.
(Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of
interpretations for rewritten right operand.
(Set_Mixed_Mode_Operand): Handle properly a universal real operand when
the other operand is overloaded and the context is a type conversion.

2004-06-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

* ada-tree.def (BLOCK_STMT): Now has two operands.
(BREAK_STMT): New.

* ada-tree.h: (BLOCK_STMT_BLOCK): New macro.

* gigi.h: (gnat_poplevel): Now returns a tree.

* trans.c (end_block_stmt): Add arg; all callers changed.
(tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN.
(start_block_stmt): Clear BLOCK_STMT_BLOCK.
(add_stmt): Set TREE_TYPE.
(gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK.
(gnat_expand_stmt, case BREAK_STMT): New case.

* utils.c (gnat_poplevel): Return a BLOCK, if we made one.

2004-06-07  Jose Ruiz  <ruiz@act-europe.fr>

* s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the
procedure Set_Stack_Size that is not needed.

2004-06-07  Sergey Rybin  <rybin@act-europe.fr>

* gnat_ugn.texi: Clarify the case when non-standard naming scheme is
used for gnatpp input file and for the files upon which it depends

2004-06-07  Ben Brosgol  <brosgol@gnat.com>

* gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter

2004-06-07  Arnaud Charlet  <charlet@act-europe.fr>

* gnatvsn.ads: Bump version numbers appropriately.
Add new build type.

2004-06-07  Pascal Obry  <obry@gnat.com>

* gnat_ugn.texi: Improve comments about imported names and link names
on Windows. Add a note about the requirement to use -k gnatdll's option
when working with a DLL which has stripped stdcall symbols (no @nn
suffix).

From-SVN: r82691