aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2004-06-09trans-expr.c (gfc_conv_cst_int_power): Compute x**(-n) by converting it to ↵Toon Moene2-3/+10
(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
2004-06-09revert: re PR c++/15815 (Update #pragma interface and #pragma implementation ↵Mark Mitchell4-12/+16
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
2004-06-09sparc.h (MOVE_RATIO): New definition.David S. Miller2-0/+9
2004-06-09 David S. Miller <davem@nuts.davemloft.net> * config/sparc/sparc.h (MOVE_RATIO): New definition. From-SVN: r82844
2004-06-09g++spec.c (lang_specific_driver): Remove check for -lm and -lmath when check ↵Andrew Pinski2-4/+6
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
2004-06-09basic-block.h (struct edge_def): Add goto_locus.Richard Henderson4-8/+32
* 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
2004-06-09* h8300.md (ldm_h8300s_4): Fix condition for expander.Anil Paranjpe2-1/+5
From-SVN: r82841
2004-06-09Gimplify VA_ARG_EXPR into simpler forms.Jason Merrill13-60/+869
* 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
2004-06-09tree-complex.c (expand_complex_comparison): Use fold_convert instead of convert.Andrew Pinski8-9/+20
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
2004-06-09re PR fortran/13249 (Error when using COMMON)Tobias Schlüter2-0/+15
PR fortran/13249 * gfortran.fortran-torture/compile/name_clash.f90: New test. From-SVN: r82836
2004-06-09re PR fortran/13372 (ICE in trans-types.c (gfc_typenode_for_spec), see #13201)Tobias Schlüter5-2/+42
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
2004-06-09re PR rtl-optimization/15521 (sched1 extends life of hard registers on ↵J"orn Rennecke3-5/+34
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
2004-06-09re PR fortran/13201 (PARAMETER variables of nonconstant shape are accepted)Tobias Schlüter2-5/+20
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
2004-06-09re PR ada/6637 (Would be nice to support --enable-shared=gnat)Arnaud Charlet2-2/+8
PR ada/6637 * doc/install.texi: List ada, libada as options to --enable-shared From-SVN: r82818
2004-06-09Makefile.tpl (touch-stage[+id+]): New.Paolo Bonzini5-354/+191
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
2004-06-08* configure.ac: New --enable-mapped-location sets USE_MAPPED_LOCATION.Per Bothner4-1/+34
From-SVN: r82809
2004-06-09re PR libfortran/14897 ('T' edit descriptor output incorrect)Bud Davis2-0/+16
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
2004-06-09re PR libfortran/15755 (gfortran: backspace call causes bus error)Bud Davis2-0/+19
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
2004-06-09* gfortran.fortran-torture/execure/intrinsic_associated.f90Paul Brook2-45/+47
(pointer_to_section): Rewrite to use smaller array. From-SVN: r82805
2004-06-09Daily bump.GCC Administrator1-1/+1
[[Split portion of a mixed commit.]] From-SVN: r82800.2
2004-06-08toplev.c (floor_log2_wide): Correct casts for 64-bit hosts.Richard Kenner2-9/+14
* toplev.c (floor_log2_wide): Correct casts for 64-bit hosts. Correct formatting. From-SVN: r82798
2004-06-08re PR target/15790 ([3.4 only] Alignment error building gcc with i686-coff ↵James E Wilson2-0/+12
target) PR target/15790 * config/i386/i386-coff.h (ASM_OUTPUT_ALIGN): Define. From-SVN: r82796
2004-06-08fold-const.c (fold_convert): Treat OFFSET_TYPE like POINTER_TYPE and ↵Andrew Pinski2-2/+9
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
2004-06-08modulo-sched.c: Compile only when INSN_SCHEDULING is defined.Bernardo Innocenti2-0/+8
* modulo-sched.c: Compile only when INSN_SCHEDULING is defined. From-SVN: r82791
2004-06-08contrib.texi: Add entries for Stefan Olsson and Ola Ronnerup.Jeff Law2-0/+11
* doc/contrib.texi: Add entries for Stefan Olsson and Ola Ronnerup. From-SVN: r82781
2004-06-08toplev.c (floor_log2_wide): Replace loop with faster bit operations.DJ Delorie3-19/+62
* 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
2004-06-08rs6000.c (print_operand, <case 'z'>): Make sure that we are in INDIRECT mode ↵Andrew Pinski2-1/+8
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
2004-06-08altivec-1.c: XFAIL powerpc-ibm-aix*.David Edelsohn15-3/+29
* 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
2004-06-08altivec-1.C: Correct dg syntax.David Edelsohn11-10/+33
* 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
2004-06-08h8300.md (extendqisi2_h8300): Add constraints.Anil Paranjpe2-2/+7
* h8300.md (extendqisi2_h8300): Add constraints. (ldm_h8300s_4_normal): Fix typo. From-SVN: r82769
2004-06-08gimple-low.c (struct lower_data): Replace the_return_label and ↵Richard Henderson4-24/+94
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
2004-06-08re PR target/15598 (Gcc 3.4 ICE on valid code)Vladimir Makarov2-1/+7
2004-06-08 Vladimir Makarov <vmakarov@redhat.com> PR target/15598 * config/ia64/ia64.c (bundling): Add missed TYPE_A. From-SVN: r82767
2004-06-08re PR java/15769 (ICE: infinite recursion through gimplify_expr)Andrew Pinski2-2/+14
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
2004-06-08re PR rtl-optimization/15717 (Error: can't resolve `L0' {*ABS* section} - ↵Zdenek Dvorak2-1/+8
`xx' {*UND* section}) PR rtl-optimization/15717 * config/i386/i386.c (legitimate_constant_p): Do not allow x - symbol_ref. From-SVN: r82755
2004-06-08Correct indentation of one line.Richard Kenner1-1/+1
From-SVN: r82753
2004-06-08re PR ada/15568 (Shared libgnat fails to link on IRIX 6 with GNU ld)Arnaud Charlet2-1/+6
PR ada/15568 * Makefile.in: Remove target specific SO_OPT on IRIX From-SVN: r82752
2004-06-08gimplify.c (copy_if_shared_r): Revert: 2004-05-21 Richard Henderson ↵Alexandre Oliva2-1/+19
<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
2004-06-08expmed.c (add_cost, [...]): Make arrays indexed by machine mode.Roger Sayle2-79/+106
* 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
2004-06-08re PR c++/7841 (gcc accepts illegal member function syntax for template classes)Giovanni Bajo4-1/+22
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
2004-06-08Daily bump.GCC Administrator1-1/+1
[[Split portion of a mixed commit.]] From-SVN: r82732.2
2004-06-07re PR target/15783 (ICE with union assignment in 64-bit mode)Eric Botcazou4-22/+58
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
2004-06-07real.c (real_copysign): New function to implement libm's copysign.Roger Sayle8-7/+211
* 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
2004-06-07* tree.c (iterative_hash_expr): Use real_hash.J"orn Rennecke2-2/+9
From-SVN: r82720
2004-06-07altivec-1.C: XFAIL powerpc-ibm-aix*.David Edelsohn14-12/+31
* 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
2004-06-07ada-tree.def (TRANSFORM_EXPR, [...]): Deleted.Richard Kenner9-1607/+1474
* 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
2004-06-07re PR c/14765 (ice-on-invalid-code, ICE while compiling ({}) expression)Joseph Myers4-0/+23
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
2004-06-07re PR c++/15815 (Update #pragma interface and #pragma implementation ↵Mark Mitchell4-0/+24
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
2004-06-07re PR middle-end/15666 ([unit-at-a-time] Gcc abort on valid code)Alexandre Oliva2-1/+7
PR middle-end/15666 * c-decl.c (finish_decl): Use change_decl_assembler_name for the builtin decl as well. From-SVN: r82706
2004-06-07re PR c/14649 (atan(1.0) should not be a constant expression)Roger Sayle4-7/+53
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
2004-06-07gimple-low.c (struct lower_data): Add the_return_label and one_return_stmt.Richard Henderson7-53/+68
* 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
2004-06-07* g++.dg/eh/elide1.C: Remove XFAIL.David Edelsohn2-2/+5
From-SVN: r82700