aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2004-08-09matmul.m4, [...]: Allocate space if return value has NULL in its data field.Victor Leikehman16-21/+387
2004-09-09 Victor Leikehman <lei@il.ibm.com> * m4/matmul.m4, m4/matmull.m4, intrinsics/eoshift0.c, intrinsics/eoshift2.c, intrinsics/transpose_generic.c: Allocate space if return value has NULL in its data field. * generated/*.c: Regenerate. From-SVN: r85717
2004-08-09stl_bvector.h: Trivial formatting fixes.Paolo Carlini3-185/+260
2004-08-09 Paolo Carlini <pcarlini@suse.de> * include/bits/stl_bvector.h: Trivial formatting fixes. 2004-08-09 Paolo Carlini <pcarlini@suse.de> * src/ios.cc (ios_base::_M_grow_words): Uglify the names. From-SVN: r85716
2004-08-09fix typoJason Merrill1-1/+1
From-SVN: r85715
2004-08-09[multiple changes]Arnaud Charlet60-806/+3204
2004-08-09 Thomas Quinot <quinot@act-europe.fr> * g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind from complaining on potential uninitialized reference. Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification and test explicitly for non-zero return value. * g-socthi.ads (Is_Socket_In_Set): Declare imported function as returning C.int, to avoid using a derived boolean type. * exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use Duplicate_Subexpr_No_Checks in preference to direct use of Remove_Side_Effects and New_Copy_Tree. Clear Comes_From_Source on prefix of 'Size attribute reference. * g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb, g-socthi-vxworks.adb: Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification and test explicitly for non-zero return value. * g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads: (Is_Socket_In_Set): Declare imported function as returning C.int, to avoid using a derived boolean type. 2004-08-09 Albert Lee <lee@gnat.com> * system-irix-n32.ads: Refine tasking priority constants for IRIX. 2004-08-09 Pascal Obry <obry@gnat.com> * gnat_ugn.texi: Document new way to build DLLs on Windows using GCC's -shared option. * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into Options_2 parameter (options put after object files). 2004-08-09 Olivier Hainque <hainque@act-europe.fr> * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to ignore overflows on low and high bounds of an index to also account for differences in signedness between sizetype and gnu_index_subtype. These are as legitimate as the ones caused by a lower TYPE_PRECISION on sizetype. 2004-08-09 Robert Dewar <dewar@gnat.com> * s-solita.ads, s-solita.adb: Minor reformatting * gnat_rm.texi: Add documentation for pragma Profile (Restricted) Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new obsolescent section Add note that No_Implicit_Conditionals does not suppress run time constraint checks. * vms_conv.ads: Minor reformatting * s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup and necessary for following change). (Mark): Return new format Mark_Id containing sec stack address (Release): Use sec stack address from Mark_Id avoiding Self call * s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack pointer (cleanup and necessary for following change). Define Mark_Id as record containing address of secondary stack, that way Release does not need to find the stack again, decreasing the number of calls to Self and improving efficiency. * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of case variable into the individual case branches when possible. * sem_ch11.adb: Minor reformatting * prj.ads: Correct spelling of suffixs * prj-nmsc.adb: Minor reformatting Correct spelling suffixs throughout (also in identifiers) * freeze.adb: Minor spelling correction * exp_ch2.adb: Cleanups to handling of Current_Value (no functional effect). * bld.adb: Correct spelling of suffixs * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument 2004-08-09 Ed Schonberg <schonberg@gnat.com> PR ada/15408 * sem_ch7.adb (Install_Private_Declarations): In the body of the package or of a child, private entities are both immediately_visible and not hidden. 2004-08-09 Ed Schonberg <schonberg@gnat.com> * sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer, there are no range checks on the value of the literal. * exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being wrapped is the triggering alternative of an asynchronous select, action statements mustbe inserted before the select itself. * sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the case where the prefix is a protected function call. (Resolve_Attribute, case 'Access): The attribute reference on a subprogram is legal in a generic body if the subprogram is declared elsewhere. 2004-08-09 Vincent Celier <celier@gnat.com> * makegpr.adb (Build_Library): Link with g++ if C++ is one of the languages, otherwise building the library may fail with unresolved symbols. (Compile_Sources): Do not build libraries if -c switch is used * gnatlink.adb (Process_Args): New switches -M and -Mmap (Write_Usage): If map file creation is supported, output new switches -M and -Mmap. (Gnatlink): When -M is specified, add the necessary switch(es) to the gcc call, when supported. * Makefile.in: Added indepsw.o to the object list for gnatlink Specified the AIX, GNU/Linux and Windows versions of indepsw.adb * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb, indepsw.adb, indepsw.ads: New files. 2004-08-09 Bernard Banner <banner@gnat.com> * system-vxworks-x86.ads, s-vxwork-x86.ads: New files. * Makefile.in: add section for vxworks x86 2004-08-09 Hristian Kirtchev <kirtchev@gnat.com> * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with per-object constrained components where the discriminant is of an Access type. (Build_Record_Init_Proc): Add condition to prevent the inheritance of the parent initialization procedure for derived Unchecked_Unions. Instead, derived Unchecked_Unions build their own initialization procedure. (Build_Variant_Record_Equality): Implement Unchecked_Union equality. Check the body of the subprogram for details. (Freeze_Record_Type): Prevent the inheritance of discriminant checking functions for derived Unchecked_Union types by introducing a condition. Allow the creation of TSS equality functions for Unchecked_Unions. (Make_Eq_Case): Rename formal parameter Node to E in function signature. Add formal parameter Discr to function signature. Discr is used to control the generated case statement for Unchecked_Union types. (Make_Eq_If): Rename formal parameter Node to E in function signature. * exp_ch4.adb (Build_Equality_Call): Implement equality calls for Unchecked_Unions. Check the body of the subprogram for details. (Expand_Composite_Equality): Augment composite type equality to include correct handling of Unchecked_Union components. (Expand_N_In): Add condition to detect illegal membership tests when the subtype mark is a constrained Unchecked_Union and the expression lacks inferable discriminants, and build a Raise_Program_Error node. (Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used to detect types that contain components of unconstrained Unchecked_Union subtype. Add condition to detect equality between types that have an unconstrained Unchecked_Union component, and build a Raise_Program_Error node. Add condition to detect equality between Unchecked_Union types that lack inferable discriminants, and build a Raise_Program_Error node. Otherwise build a TSS equality function call. (Expand_N_Type_Conversion): Add condition to detect illegal conversions from a derived Unchecked_Union to an unconstrained non-Unchecked_Union with the operand lacking inferable discriminants, and build a Raise_ Program_Error node. (Expand_Record_Equality): Remove guard that prevents Unchecked_Union composite equality. (Has_Inferable_Discriminants): Implement new predicate for objects and expressions of Unchecked_Union type. Check the body of subprogram for details. (Has_Unconstrained_UU_Components): Add function Component_Is_Unconstrained_UU. It is used to detect whether a single component is of an unconstrained Unchecked_Union subtype. Add function Variant_Is_Unconstrained_UU. It is used to detect whether a single component inside a variant is of an unconstrained Unchecked_Union type. * exp_ch5.adb (Expand_Assign_Record): Add condition to copy the inferred discriminant values. Add condition to generate a case statement with an inferred discriminant as the switch. (Make_Component_List_Assign): Introduce a Boolean flag that determines the behaviour of the subprogram in the presence of an Unchecked_Union. Add condition to trigger the usage of the inferred discriminant value as the generated case statement switch. (Make_Field_Assign): Introduce a Boolean flag that determines the behaviour of the subprogram in the presence of an Unchecked_Union. Add condition to trigger the usage of the inferred discriminant value as the right-hand side of the generated assignment. * exp_ch6.adb (Expand_Call): Add condition to skip extra actual parameter generation when dealing with Unchecked_Unions. * checks.adb (Apply_Discriminant_Check): Do not apply discriminant checks for Unchecked_Unions. * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint * exp_attr.adb (Expand_N_Attribute_Reference): Produce Raise_Program_Error nodes for the execution of Read and Write attributes of Unchecked_Union types and the execution of Input and Output attributes of Unchecked_Union types that lack default discriminant values. * sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma Unchecked_Union. Add procedure Check_Component. It is used to inspect per-object constrained components of Unchecked_Unions for being Unchecked_Unions themselves. Add procedure Check_Variant. It is used to check individual components withing a variant. * sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents comparison of Unchecked_Unions. (Resolve_Equality_OP): Remove guard that prevents equality between Unchecked_Unions. * sem_util.adb (Build_Component_Subtype): Add guard to prevent creation of component subtypes for Unchecked_Union components. (Get_Actual_Subtype): Add condition that returs the Unchecked_Union type since it is the actual subtype. * sem_ch12.adb (Instantiate_Type): Add condition to detect the correct pass of Unchecked_Union subtypes as generic actuals to formal types that lack known_discriminant_parts or that are derived Unchecked_Union types, and do nothing. In any other case, produce an error message. * sem_ch3.adb (Analyze_Component_Declaration): Add function Contains_POC. It determines whether a constraint uses the discriminant of an enclosing record type. Add condition to detect per-object constrained component and set the appropriate flag. (Derived_Type_Declaration): Remove guard that prevents derivation from Unchecked_Union types. (Process_Subtype): Remove quard that prevents the creation of Unchecked_ Union subtypes. * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of references to Unchecked_Union discriminants. * sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra formal generation when dealing with Unchecked_Unions. (Set_Actual_Subtypes): Add condition to prevent generation of actual subtypes for Unchecked_Unions. * sem_ch7.adb (Analyze_Package_Specification): Add procedure Inspect_Unchecked_Union_Completion. It is used to detect incorrect completions of discriminated partial views by Unchecked_Unions and produce an error message. 2004-08-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * trans.c (struct stmt_group): New field, GLOBAL. (global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted. (struct elab_info): New struct. (elab_info_list, gnu_elab_proc_stack): New variables. (Compilation_Unit_to_gnu): New procedure. (gigi): Call it and also handle elaboration procs we've saved. (gnat_init_stmt_group): Don't set global_stmt_group; instead initialize global field from parent. (gnat_to_gnu): Get decl from gnu_elab_proc_stack. (gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu. (start_stmt_group): Initialize global field from parent. (add_decl_expr): Set to global for current statement group. (gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not post. * utils.c (global_bindings_p): True when no current_function_decl; no longer check current_binding_level. 2004-08-09 Ben Brosgol <brosgol@gnat.com> * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition choice. * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic. From-SVN: r85714
2004-08-09wchar_t-2.c: Fix typo.Paolo Bonzini2-1/+5
2004-08-09 Paolo Bonzini <bonzini@gnu.org> * gcc.dg/wchar_t-2.c: Fix typo. From-SVN: r85713
2004-08-09Makefile.in (GTFILES): Remove stmt.cPaolo Bonzini9-440/+120
2004-08-09 Paolo Bonzini <bonzini@gnu.org> * Makefile.in (GTFILES): Remove stmt.c (stmt.o): Do not depend on gt-stmt.h. * emit-rtl.c (emit_line_note): Do not call set_file_and_line_for_stmt. * expr.c (expand_expr_real_1) <SWITCH_EXPR>: Let expand_case do everything. * function.c (free_after_parsing): Do not free STMT field. (allocate_struct_function): Do not call init_stmt_for_function. (assign_stack_temp_for_type): Do not accept values of keep other than 0 or 1. (init_temp_slots): Do not initialize removed variables. * function.h (struct function): Remove STMT, X_TARGET_TEMP_SLOT_LEVEL and X_VAR_TEMP_SLOT_LEVEL fields. * rtl.h (set_file_and_line_for_stmt): Remove. * stmt.c (struct nesting, ALLOC_NESTING, POPSTACK, struct stmt_status, cond_stack, case_stack, nesting_stack, nesting_depth, emit_locus, set_file_and_line_for_stmt, same_case_target_p, init_stmt_for_function, emit_nop, expand_start_cond, expand_start_elseif, expand_start_else, expand_elseif, expand_end_cond): Remove. (preserve_subexpressions_p): Remove references to CFUN->STMT. (expand_start_case, expand_end_case_type): Remove, merge into... (expand_case): ... this one, including other bits from expand_expr_real_1. Inline same_case_target_p. Turn members of CASE_STACK into local variables. (emit_case_bit_tests): Inline same_case_target_p. (add_case_node): Add HEAD argument, return new head of the list, do not handle default label here. * tree.h (expand_start_cond, expand_end_cond, expand_start_else, expand_start_elseif, current_nesting_level, expand_start_case, expand_end_case_type, expand_end_case, add_case_node, init_stmt_for_function, expand_elseif): Remove prototypes. (expand_case): Add prototype. From-SVN: r85712
2004-08-09expr.c (expand_expr_real_1): Use optab_for_tree_code.Paolo Bonzini2-24/+17
2004-08-09 Paolo Bonzini <bonzini@gnu.org> * expr.c (expand_expr_real_1): Use optab_for_tree_code. From-SVN: r85711
2004-08-09expr.c (var_rtx): Remove.Paolo Bonzini4-481/+82
2004-07-24 Paolo Bonzini <bonzini@gnu.org> * expr.c (var_rtx): Remove. (expand_expr_real_1) <LOOP_EXPR, EXIT_EXPR, LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, COMPOUND_EXPR, CONJ_EXPR, INIT_EXPR>: Abort. (expand_expr_real_1) <COND_EXPR>: Remove most special cases. * optabs.c (emit_clr_insn, emit_0_to_1_insn): Remove. * optabs.h (emit_clr_insn, emit_0_to_1_insn): Remove. From-SVN: r85710
2004-08-09Daily bump.GCC Administrator2-2/+2
From-SVN: r85702
2004-08-09re PR tree-optimization/12517 ([tree-ssa] ICE in bsi_insert_on_edge_immediate)Falk Hueffner6-0/+90
PR tree-optimization/12517 * gcc.c-torture/compile/pr12517.c: New test. PR tree-optimization/12578 * gcc.c-torture/compile/pr12578.c: New test. PR tree-optimization/12899 * gcc.c-torture/compile/pr12899.c: New test. PR rtl-optimization/14692 * gcc.c-torture/compile/pr14692.c: New test. PR tree-optimization/16461 * gcc.c-torture/compile/pr16461.c: New test. From-SVN: r85698
2004-08-08common.opt (freschedule-modulo-scheduled-loops): New flag.Mostafa Hagog7-55/+212
2004-08-08 Mostafa Hagog <mustafa@il.ibm.com> Ayal Zaks <zaks@il.ibm.com> * common.opt (freschedule-modulo-scheduled-loops): New flag. * final.c (final_scan_insn): Handle NOTE_DISABLE_SCHED_OF_BLOCK. * modulo-sched.c (sms_schedule): Emit a note to disable scheduling when -freschedule-modulo-scheduled-loops flag is not specified. (sms_schedule_by_order, ps_insn_advance_column, add_node_to_ps, add_node_to_ps, ps_has_conflicts, ps_add_node_check_conflicts): More accurate placing of insn in row of partial schedule. (ps_insn_find_column): New function. * rtl.h (NOTE_DISABLE_SCHED_OF_BLOCK): New note. * sched-rgn.c (sched_is_disabled_for_current_region_p): New. (schedule_region): Use sched_is_disabled_for_current_region_p. * docs/invoke.texi: Document -freschedule-modulo-scheduled-loops. Co-Authored-By: Ayal Zaks <zaks@il.ibm.com> From-SVN: r85696
2004-08-08simplify.c (gfc_simplify_shape): Bugfix.Victor Leikehman5-8/+88
2004-08-08 Victor Leikehman <lei@il.ibm.com> * simplify.c (gfc_simplify_shape): Bugfix. * expr.c (gfc_copy_shape_excluding): New function. * gfortran.h (gfc_get_shape): Bugfix. (gfc_copy_shape_excluding): Added declaration. * iresolve.c (gfc_resolve_all, gfc_resolve_any, gfc_resolve_count, gfc_resolve_cshift, gfc_resolve_eoshift, gfc_resolve_lbound, gfc_resolve_ubound, gfc_resolve_transpose): Added compile time resolution of shape. From-SVN: r85685
2004-08-08Make-lang.in (TREE_BE_LIBS): Remove.James A. Morrison15-308/+406
treelang: 2004-08-01 James A. Morrison <phython@gcc.gnu.org> * Make-lang.in (TREE_BE_LIBS): Remove. (tree1): Depend on BACKEND and LIBDEPS. Use BACKEND and LIBS instead of TREE_BE_LIBS. * parse.y: Add variable_defs_opt before statements_opt. Use tree_code_get_type instead of get_type_for_numeric_type. Reformat long lines. (parameters_opt): New rule. (function_prototype): Use parameters_opt. (return): Remove calls to print_token in error cases. Use VOID_TYPE. (check_type_match): Use VOID_TYPE. * lex.l (update_lineno_charno): Ensure INPUT_LINE starts at 1. * tree1.c: Include version.h and cgraph.h (treelang_parse_file): Call cgraph_finalize_compilation_unit and cgraph_optimize. * treelang.h (item): Remove extraneous GTY. * treetree.h (get_type_for_numeric_type): Remove. * treetree.c: Include tree-dump.h, tree-iterator.h, tree-gimple.h, function.h, and cgraph.h. Don't include rtl.h (keep_level_p): Remove. (tree_push_atomic_type_decl): Remove. (get_type_for_numeric_type): Remove. (tree_code_get_numeric_type): Remove. (global_bindings_p): Make static. (getdecls): Likewise. (insert_block): Likewise. (tree_code_if_start): Create a COND_EXPR and add it to the tree instead of creating rtl. (tree_code_if_else): Create a BIND_EXPR if any variables were created in the if statement. (tree_code_end_if): Likewise. (tree_code_create_function_prototype): Use tree_code_get_type. Don't use SET_DECL_ASSEMBLER_NAME. (tree_code_create_function_initial): Set DECL_ARTIFICIAL and DECL_IGNORING_P on RESULT_DECL. Use tree_code_get_type. Don't call layout_decl on RESULT_DECL. Don't call rtl expand functions. (tree_code_create_function_wrapup): Don't call rtl expand functions. Create a BIND_EXPR for each function. Dump original and gimplified copies of the function tree. Gimplify function. (tree_code_create_variable): Use tree_code_get_type. Don't call layout_decl or expand_decl. Fold CONVERT_EXPRs. (tree_code_generate_return): Fold CONVERT_EXPRs and MODIFY_EXPRs. Add RETURN_EXPR to the current statement list. Don't call rtl expand functions. (tree_code_output_expression_statement): Append CODE to current statement list. (tree_code_get_expression): Fold expressions. Build a pointer to a FUNCTION_TYPE intead of the called functions return type. (struct binding_level): Add statement list STMTS. (getstmtlist): New Function. (pushlevel): Make static. Allocate an empty statement list. (poplevel): Make static. Don't clear BLOCK_NODE's BLOCK_VARS. Don't use DECL_ASSEMBLER_NAME. (tree_push_type_decl): Set TYPE_NAME of TYPE_NODE to ID. (treelang_init_decl_processing): Define basic types after unused types. Don't call tree_push_atomic_type_decl. (builtin_function): Don't call make_decl_rtl. (treelang_expand_function). New Function. testsuite/treelang: * compile/vars_def.tree: New File. * compile/badreturn.tree: New File. From-SVN: r85684
2004-08-08Daily bump.GCC Administrator2-2/+2
From-SVN: r85682
2004-08-07revert: gimplify.c (gimplify_call_expr): Make return in memory explicit.Jason Merrill2-65/+0
Revert: * gimplify.c (gimplify_call_expr): Make return in memory explicit. (gimplify_modify_expr_rhs): Likewise. From-SVN: r85676
2004-08-07Make return in memory explicit.Jason Merrill5-52/+68
* function.c (aggregate_value_p): Check DECL_BY_REFERENCE. (assign_parm_find_data_types): Remove code for old front end invisible reference handling. (assign_parms): Handle DECL_BY_REFERENCE on the RESULT_DECL. (expand_function_end): Likewise. * gimplify.c (gimplify_return_expr): Handle a dereferenced RESULT_DECL. * tree-inline.c (copy_body_r): Don't bother looking for &* anymore. (declare_return_variable): Handle DECL_BY_REFERENCE. * cp/cp-gimplify.c (is_invisiref_parm): Also handle RESULT_DECL. (cp_genericize_r): Use convert_from_reference. Don't dereference a RESULT_DECL directly inside a RETURN_EXPR. (cp_genericize): Handle the RESULT_DECL. Unset TREE_ADDRESSABLE. From-SVN: r85675
2004-08-07i386.c (ix86_expand_clrmem): Revert the last change.H.J. Lu2-4/+6
2004-08-07 H.J. Lu <hongjiu.lu@intel.com> * config/i386/i386.c (ix86_expand_clrmem): Revert the last change. From-SVN: r85674
2004-08-07i386.c (ix86_expand_clrmem): Properly call gen_strset for 64bit target.H.J. Lu2-1/+9
2004-08-07 H.J. Lu <hongjiu.lu@intel.com> * config/i386/i386.c (ix86_expand_clrmem): Properly call gen_strset for 64bit target. From-SVN: r85673
2004-08-07* config/vxworks.h (HANDLE_SYSV_PRAGMA): Remove definition.Olivier Hainque2-2/+6
From-SVN: r85672
2004-08-07gimplify.c (gimplify_call_expr): Make return in memory explicit.Jason Merrill3-2/+77
* gimplify.c (gimplify_call_expr): Make return in memory explicit. (gimplify_modify_expr_rhs): Likewise. * c-common.c (c_warn_unused_result): Check TREE_USED before warning about a CALL_EXPR with an unused value. From-SVN: r85671
2004-08-07debug.cc (_Error_formatter::_M_print_string): In order to print individual ↵Jonathan Wakely2-5/+18
words from __string... 2004-08-07 Jonathan Wakely <redi@gcc.gnu.org> Paolo Carlini <pcarlini@suse.de> * src/debug.cc (_Error_formatter::_M_print_string): In order to print individual words from __string, _M_format_word can't be called since may be just sprintf, thus ignoring completely __n: instead, use memmove and append '\0' by hand. Co-Authored-By: Paolo Carlini <pcarlini@suse.de> From-SVN: r85670
2004-08-07c_locale.h (__convert_from_v): Don't use a default for __prec, assume __prec ↵Paolo Carlini4-27/+21
>= 0 and simplify. 2004-08-07 Paolo Carlini <pcarlini@suse.de> * config/locale/generic/c_locale.h (__convert_from_v): Don't use a default for __prec, assume __prec >= 0 and simplify. * config/locale/gnu/c_locale.h (__convert_from_v): Likewise. * include/bits/locale_facets.tcc (money_put<>::do_put(long double)): Pass format "%.*Lf" + precision == 0, equivalent to "%.0Lf". From-SVN: r85669
2004-08-07Daily bump.GCC Administrator2-2/+2
From-SVN: r85666
2004-08-06intrinsic.c (add_subroutines): Add getenv and get_environment_variable.Janne Blomqvist10-5/+289
2004-08-06 Janne Blomqvist <jblomqvi@cc.hut.fi> * intrinsic.c (add_subroutines): Add getenv and get_environment_variable. (add_sym_5s): New function. * intrinsic.h (gfc_resolve_get_environment_variable): Add prototype. * iresolve.c (gfc_resolve_get_environment_variable): New function. libgfortran/ * intrinsics/env.c: New file. * Makefile.am: Add env.c to build. * Makefile.in: Regenerate. testsuite/ * gfortran.dg/getenv_1.f90: New test. From-SVN: r85656
2004-08-06f95-lang.c (gfc_init_builtin_functions): Fix the number of __builtin_pow[f] ↵Feng Wang2-2/+7
arguments. * f95-lang.c (gfc_init_builtin_functions): Fix the number of __builtin_pow[f] arguments. From-SVN: r85653
2004-08-06arith.c: Add #define for model numbers.Steven G. Kargl14-1334/+890
2004-08-06 Steven G. Kargl <kargls@comcast.net> * arith.c: Add #define for model numbers. Remove global GMP variables. (natural_logarithm,common_logarithm,exponential,sine, cosine,arctangent,hypercos,hypersine ): Remove. (gfc_mpfr_to_mpz,gfc_set_model_kind,gfc_set_model): New functions. (arctangent2,gfc_arith_init_1,gfc_arith_done_1 gfc_check_real_range, gfc_constant_result, gfc_range_check, gfc_arith_uminus,gfc_arith_plus, gfc_arith_minus, gfc_arith_times, gfc_arith_divide,complex_reciprocal,complex_pow_ui, gfc_arith_power,gfc_compare_expr,compare_complex,gfc_convert_real, gfc_convert_complex,gfc_int2real,gfc_int2complex, gfc_real2int,gfc_real2real,gfc_real2complex, gfc_complex2int,gfc_complex2real,gfc_complex2complex): Convert GMP to MPFR, use new functions. * arith.h: Remove extern global variables. (natural_logarithm,common_logarithm,exponential, sine, cosine, arctangent,hypercos,hypersine): Remove prototypes. (arctangent2): Update prototype from GMP to MPFR. (gfc_mpfr_to_mpz, gfc_set_model_kind,gfc_set_model): Add prototypes. * dump-parse-tree.c (gfc_show_expr): Convert GMP to MPFR. * expr.c (free_expr0,gfc_copy_expr): Convert GMP to MPFR. * gfortran.h (GFC_REAL_BITS): Remove. (arith): Add ARITH_NAN. Include mpfr.h. Define GFC_RND_MODE. Rename GCC_GFORTRAN_H GFC_GFC_H. (gfc_expr): Convert GMP to MPFR. * module.c: Add arith.h, correct type in comment. (mio_gmp_real): Convert GMP to MPFR. (mio_expr): Use gfc_set_model_kind(). * primary.c: Update copyright date with 2004. (match_real_constant,match_const_complex_part): Convert GMP to MPFR. * simplify.c: Remove global GMP variables (gfc_simplify_abs,gfc_simplify_acos,gfc_simplify_aimag, gfc_simplify_aint,gfc_simplify_dint,gfc_simplify_anint, gfc_simplify_dnint,gfc_simplify_asin,gfc_simplify_atan, gfc_simplify_atan2,gfc_simplify_ceiling,simplify_cmplx, gfc_simplify_conjg,gfc_simplify_cos,gfc_simplify_cosh, gfc_simplify_dim,gfc_simplify_dprod,gfc_simplify_epsilon, gfc_simplify_exp,gfc_simplify_exponent,gfc_simplify_floor, gfc_simplify_fraction,gfc_simplify_huge,gfc_simplify_int, gfc_simplify_ifix,gfc_simplify_idint,gfc_simplify_log, gfc_simplify_log10,simplify_min_max,gfc_simplify_mod, gfc_simplify_modulo,gfc_simplify_nearest,simplify_nint, gfc_simplify_rrspacing,gfc_simplify_scale, gfc_simplify_set_exponent,gfc_simplify_sign,gfc_simplify_sin, gfc_simplify_sinh,gfc_simplify_spacing,gfc_simplify_sqrt, gfc_simplify_tan,gfc_simplify_tanh,gfc_simplify_tiny, gfc_simplify_init_1,gfc_simplify_done_1): Convert GMP to MPFR. Use new functions. * trans-const.c (gfc_conv_mpfr_to_tree): Rename from gfc_conv_mpf_to_tree. Convert it to use MPFR (gfc_conv_constant_to_tree): Use it. * trans-const.h: Update prototype for gfc_conv_mpfr_to_tree(). * trans-intrinsic.c: Add arith.h, remove gmp.h (gfc_conv_intrinsic_aint,gfc_conv_intrinsic_mod): Convert GMP to MPFR. From-SVN: r85652
2004-08-06Add myself as Darwin maintainer.Dale Johannesen1-0/+1
From-SVN: r85649
2004-08-06symbian.h (CC1_SPEC): Avoid passing duplicate options to the compiler.Mark Mitchell5-4/+33
* config/arm/symbian.h (CC1_SPEC): Avoid passing duplicate options to the compiler. Use -fshort-wchar by default. * gcc.dg/symbian4.c: Expect a 2-byte wchar_t, not a 4-byte wchar_t. * gcc.dg/symbian5.c: Test -fno-short-wchar. From-SVN: r85648
2004-08-06params.def (PARAM_MIN_CROSSJUMP_INSNS): New.Pat Haugen4-1/+26
2004-08-06 Pat Haugen <pthaugen@us.ibm.com> * params.def (PARAM_MIN_CROSSJUMP_INSNS): New. * cfgcleanup.c (try_crossjump_to_edge): Add minimum insn match threshhold. * doc/invoke.texi (param): Document min-crossjump-insns. From-SVN: r85646
2004-08-06trans-array.c (gfc_trans_allocate_array_storage, [...]): For functions...Paul Brook6-68/+291
* trans-array.c (gfc_trans_allocate_array_storage, gfc_trans_allocate_temp_array, gfc_add_loop_ss_code, gfc_conv_loop_setup): For functions, if the shape of the result is not known in compile-time, generate an empty array descriptor for the result and let the callee to allocate the memory. (gfc_trans_dummy_array_bias): Do nothing for pointers. (gfc_conv_expr_descriptor): Use function return values directly. * trans-expr.c (gfc_conv_function_call): Always add byref call insn to pre chain. (gfc_trans_pointer_assignment): Add comments. (gfc_trans_arrayfunc_assign): Don't chain on expression. testsuite/ * gfortran.dg/ret_array_1.f90: New test. * gfortran.dg/ret_pointer_1.f90: New test. From-SVN: r85642
2004-08-06utils.c (gnat_define_builtin): Remove second parameter of make_decl_rtl.Andreas Schwab2-2/+8
* utils.c (gnat_define_builtin): Remove second parameter of make_decl_rtl. (begin_subprog_body): Likewise. From-SVN: r85640
2004-08-06re PR c/13282 (A "-Wno..." switch to turn off "missing initializer" warnings)Richard Sandiford12-13/+99
PR c/13282 * c.opt (Wmissing-field-initializers): New option. * c-opts.c (c_common_post_options): Make -Wextra turn it on by default. * c-typeck.c (pop_init_level): Guard the missing field warning with warn_missing_field_initializers rather than extra_warnings. * doc/invoke.texi (-Wmissing-field-initializers): Document, moving some of the explanation from... (-Wextra): ...here. Say that the missing field warning can be seperately controlled by -Wmissing-field-initializers. cp/ * typeck2.c (process_init_constructor): Guard the missing field warning with warn_missing_field_initializers rather than extra_warnings. testsuite/ * gcc.dg/missing-field-init-[12].c: New tests. * g++.dg/warn/missing-field-init-[12].C: New tests. From-SVN: r85638
2004-08-06gcc_release (snapshot_print): Accept arguments.Kelley Cook2-81/+78
2004-08-06 Kelley Cook <kcook@gcc.gnu.org> * gcc_release (snapshot_print): Accept arguments. Don't use echo -e. (announce_snapshot): Update for above. Don't use echo -e. From-SVN: r85637
2004-08-06expr.c (expand_expr_real_1): Remove.Paolo Bonzini7-15/+11
2004-08-06 Paolo Bonzini <bonzini@gnu.org> * expr.c (expand_expr_real_1) <ENTRY_VALUE_EXPR>: Remove. * tree-inline.c (estimate_num_insns_1) <ENTRY_VALUE_EXPR>: Remove. * tree-pretty-print.c (dump_generic_node) <ENTRY_VALUE_EXPR>: Remove. * tree.def (ENTRY_VALUE_EXPR): Remove. cp: 2004-08-06 Paolo Bonzini <bonzini@gnu.org> * class.c (instantiate_type) <ENTRY_VALUE_EXPR>: Do not handle. From-SVN: r85636
2004-08-06i386.c (ix86_expand_clrmem): Move gen_cld down to the places where it is ↵Jakub Jelinek2-11/+63
actually needed. * config/i386/i386.c (ix86_expand_clrmem): Move gen_cld down to the places where it is actually needed. Don't use repz; stosb for -Os with sufficiently small constant sizes. For sufficiently small repz; stos{l,q} repeat counts use a sequence of stos{l,q} instructions instead. From-SVN: r85635
2004-08-06re PR tree-optimization/16807 ([lno] Weird loop unrolling)Zdenek Dvorak2-9/+46
PR tree-optimization/16807 * loop-iv.c (dump_iv_info): Dump invariants correctly. (iv_subreg, iv_extend): Express value of invariant purely in base field. From-SVN: r85634
2004-08-06symbian.h (CC1_SPEC): Add -fno-short-enums.Mark Mitchell7-2/+40
* config/arm/symbian.h (CC1_SPEC): Add -fno-short-enums. (CC1PLUS_SPEC): Define it to be the same as CC1_SPEC. * gcc.dg/enum2.c: New test. * gcc.dg/symbian3.c: Likewise. * gcc.dg/symbian4.c: Likewise. * gcc.dg/wchar_t-2.c: Likewise. From-SVN: r85632
2004-08-06m68k.c (post_inc_operand,pre_dec_operand): New.Roman Zippel4-203/+154
* config/m68k/m68k.c (post_inc_operand,pre_dec_operand): New. * config/m68k/m68k.h (PREDICATE_CODES): add post_inc_operand, pre_dec_operand. * config/m68k/m68k.md (zero_extend*2): delay the splitting of the pattern until reload is finished to allow better code generation and split them completely into separate instrunctions. (*andsi3_split): New pattern. From-SVN: r85631
2004-08-06Makefile.def (bfd, [...]): Mark as bootstrap module.Paolo Bonzini4-230/+853
2004-08-06 Paolo Bonzini <bonzini@gnu.org> * Makefile.def (bfd, opcodes, gcc, zlib): Mark as bootstrap module. (bison, byacc, flex, texinfo): Do not mark as bootstrap module. (Dependencies): New section. * Makefile.tpl (Dependencies): Generate from Makefile.def. (configure-target-[+module+]): Depend on maybe-all-gcc (all-prebootstrap): New name of all-bootstrap. Changed throughout. (toplevel profiledbootstrap): Fix dependencies. * Makefile.in: Regenerate. From-SVN: r85629
2004-08-06visibility-8.C: Add constructor and destructor tests.Mark Mitchell2-0/+16
* g++.dg/ext/visibility/visibility-8.C: Add constructor and destructor tests. From-SVN: r85623
2004-08-06lang.c (flag_emit_class_files, [...]): Remove explicit declarations.Kelley Cook3-141/+41
2004-08-06 Kelley Cook <kcook@gcc.gnu.org> * lang.c (flag_emit_class_files, flag_filelist_file, flag_redundant, flag_use_divide_subroutine, flag_use_boehm_gc, flag_store_check, flag_hash_synchronization, flag_assert, flag_jni, flag_newer, flag_check_references, flag_extraneous_semicolon, flag_deprecated, flag_force_classes_archive_check, flag_optimize_sci, flag_indirect_dispatch): Remove explicit declarations. * lang.opt: Add implicit declare/define/assign. Remove obsolete final comment. From-SVN: r85622
2004-08-06tree.c (handle_dll_attribute): Move here from i383/winnt.c.Mark Mitchell43-194/+410
* tree.c (handle_dll_attribute): Move here from i383/winnt.c. Replace use of DECL_INLINE with DECL_DECLARED_INLINE_P. Set DECL_VISIBLITY. Test TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if. * tree.h (handle_dll_attribute): Declare. Test TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if. * c-common.h (c_determine_visibility): Declare. * c-common.c (c_determine_visibility): New function. * c-decl.c (finish_decl): Use it. (finish_function): Likewise. * defaults.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define it to zero, by default. Use #if, not #ifdef, to test it. * config/arm/arm.c (arm_attribute_table): Use handle_dll_attribute. Test TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if. * config/arm/pe.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define to 1. * config/i386/cygming.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define to 1. * config/i386/i386-protos.h (ix86_handle_dll_attribute): Remove. * config/i386/i386.c (ix86_attribute_table): Use handle_dll_attribute for dllimport/dllexport. Test TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if. * config/i386/winnt.c (ix86_handle_dll_attribute): Remove. * config/mcore/mcore.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define it to 1. * config/mcore/mcore.c (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Test it with #if. * config/sh/symbian-pre.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define it to 1. * doc/extend.texi (dllexport): Clarify and correct documentation. (dllimport): Likewise. * doc/tm.texi (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Mention handle_dll_attribute. * decl.c (start_preparsed_function): Move determine_visibility call. * decl2.c (determine_visibility): Incorporate dllexport testing. * g++.dg/ext/visibility/assign1.C: Use scan-hidden and dg-require-visiblity. * g++.dg/ext/visibility/fvisibility-inlines-hidden.C: Likewise. * g++.dg/ext/visibility/fvisibility.C: Likewise. * g++.dg/ext/visibility/memfuncts.C: Likewise. * g++.dg/ext/visibility/new1.C: Likewise. * g++.dg/ext/visibility/pragma.C: Likewise. * g++.dg/ext/visibility/staticmemfuncts.C: Likewise. * g++.dg/ext/visibility/virtual.C: Likewise. * g++/dg/ext/visibility/visibility-1.C: Likewise. * g++/dg/ext/visibility/visibility-2.C: Likewise. * g++/dg/ext/visibility/visibility-3.C: Likewise. * g++/dg/ext/visibility/visibility-4.C: Likewise. * g++/dg/ext/visibility/visibility-5.C: Likewise. * g++/dg/ext/visibility/visibility-6.C: Likewise. * g++/dg/ext/visibility/visibility-7.C: Likewise. * g++/dg/ext/visibility/visibility-8.C: New test. * gcc.c-torture/compile/dll.x: Remove. * gcc.dg/dll-2.c: Use dg-require-dll * gcc.dg/visibility-10.c: New test. * lib/gcc-dg.exp (dg-require-dll): Add Symbian to list of targets supporting DLLs. * testsuite/lib/scanasm.exp (scan_hidden): New function. (scan_not_hidden): Likewise. From-SVN: r85621
2004-08-06g++spec.c (lang_specific_driver): An -Xlinker or -Wl, option means that ↵Geoffrey Keating2-1/+15
libstdc++ is needed. * g++spec.c (lang_specific_driver): An -Xlinker or -Wl, option means that libstdc++ is needed. From-SVN: r85620
2004-08-06Daily bump.GCC Administrator2-2/+2
From-SVN: r85618
2004-08-05tree-ssa-loop-manip.c: New file.Zdenek Dvorak6-1/+373
* tree-ssa-loop-manip.c: New file. * Makefile.in (tree-ssa-loop-manip.o): Add. * tree-flow.h (rewrite_into_loop_closed_ssa, verify_loop_closed_ssa): Declare. * tree-ssa-loop.c (tree_loop_optimizer_init): Create loop closed ssa form. (tree_ssa_loop_done): Verify loop closed ssa form. * tree-ssa-loop-im.c (move_computations): Update loop closed ssa form. From-SVN: r85613
2004-08-05Makefile.am: Fix missing rename from x_nat_headers to xlib_nat_headers.Andreas Tobler3-2/+8
2004-08-05 Andreas Tobler <a.tobler@schweiz.ch> * Makefile.am: Fix missing rename from x_nat_headers to xlib_nat_headers. * Makefile.in: Regenerated. From-SVN: r85612
2004-08-05pa.c (pa_asm_output_aligned_bss, [...]): New functions.John David Anglin7-51/+153
* pa.c (pa_asm_output_aligned_bss, pa_asm_output_aligned_common, pa_asm_output_aligned_local): New functions. * pa-protos.h: Add prototypes for pa_asm_output_aligned_bss, pa_asm_output_aligned_common and pa_asm_output_aligned_local. * pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON): Use pa_asm_output_aligned_common. (ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local. * pa.h (ASM_OUTPUT_ALIGNED_BSS): New macro. (ASM_OUTPUT_ALIGNED_COMMON): Use pa_asm_output_aligned_common. (ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local. * pa64-hpux.h (MAX_OFILE_ALIGNMENT): New macro. (ASM_OUTPUT_ALIGNED_COMMON): Use pa_asm_output_aligned_common. (ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local. * som.h (MAX_OFILE_ALIGNMENT): Provide maximum alignment of global common data. From-SVN: r85611
2004-08-05re PR bootstrap/14893 (3.4.0-20040406, 'make install' fails on doc/gcjh.1)Michael Chastain2-1/+13
2004-08-05 Michael Chastain <mec.gnu@mindspring.com> PR bootstrap/14893 * Make-lang.in (java.install-man): Install from either build tree or source tree, whichever has the file first. (See the PR for more information and the approval from Alexandre Oliva. This fix has been in gcc-3_4-branch for about four months). From-SVN: r85610
2004-08-05objc-act.c (build_objc_string_object): Mark the address expression as constant.Andrew Pinski2-1/+8
2004-08-05 Andrew Pinski <apinski@apple.com> * objc/objc-act.c (build_objc_string_object): Mark the address expression as constant. From-SVN: r85609
2004-08-05BasicPermission.java: Don't check wildcards.Andrew Haley2-9/+11
2004-08-04 Andrew Haley <aph@redhat.com> * java/security/BasicPermission.java: Don't check wildcards. From-SVN: r85608