aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2004-09-14be.po, [...]: Update.Joseph Myers13-25588/+28757
* be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po, sv.po, tr.po: Update. * gcc.pot: Regenerate. From-SVN: r87507
2004-09-14* cfg.c (expunge_block): Revert previous change adding ggc_free call.Jan Hubicka2-1/+9
From-SVN: r87506
2004-09-14natPosixProcess.cc (waitForSignal): Ignore return value of sigsuspend.Richard Henderson2-11/+13
* java/lang/natPosixProcess.cc (waitForSignal): Ignore return value of sigsuspend. From-SVN: r87505
2004-09-14* config.gcc: Do not build a shared libgcc for arm-none-eabi.Mark Mitchell1-2/+2
From-SVN: r87504
2004-09-14config.gcc: Do not build a shared libgcc for arm-none-eabi.Mark Mitchell1-0/+4
* config.gcc: Do not build a shared libgcc for arm-none-eabi. [[Split portion of a mixed commit.]] From-SVN: r87503.2
2004-09-14fstream.tcc (xsgetn): Slightly tweak the recent fix for 11722...Nathan Myers2-8/+16
2004-09-14 Nathan Myers <ncm@cantrip.org> * include/bits/fstream.tcc (xsgetn): Slightly tweak the recent fix for 11722: copy can replace move; the common case is __avail == 0. From-SVN: r87501
2004-09-14c-tree.h (struct c_declspecs): Add const_p, volatile_p and restrict_p.Joseph Myers5-61/+129
* c-tree.h (struct c_declspecs): Add const_p, volatile_p and restrict_p. (struct c_declarator): Change u.array.quals and pointer_quals to int. Add u.array.attrs. (quals_from_declspecs): New. * c-decl.c (quals_from_declspecs): New. (shadow_tag_warned): Give more specific message for useless type qualifiers. (build_array_declarator, set_array_declarator_inner, grokdeclarator, make_pointer_declarator, build_null_declspecs, declspecs_add_qual): Update for changed structures. testsuite: * gcc.dg/declspec-12.c: New test. From-SVN: r87500
2004-09-14cpp_type_traits.h: Rename __is_trivially_copyable to __is_scalar...Paolo Carlini3-8/+14
2004-09-14 Paolo Carlini <pcarlini@suse.de> * include/bits/cpp_type_traits.h: Rename __is_trivially_copyable to __is_scalar, more clear and consistent with "tr1" naming. * include/bits/stl_algobase.h: Update consistently throughout. From-SVN: r87497
2004-09-14tree-ssa-dom.c (stmts_to_rescan): Move from a block-local varray to a global ↵Jeff Law2-16/+32
varray. * tree-ssa-dom.c (stmts_to_rescan): Move from a block-local varray to a global varray. (tree_ssa_dominator_optimize): Allocate stmts_to_rescan. (dom_opt_initialize_block_local_data): No longer test stmts_to_rescan's state. (dom_opt_finalize_block): Update due to change in scope of stmts_to_rescan. (optimize_stmt): Similarly. From-SVN: r87494
2004-09-14data.c, [...]: Fix comment typos.Kazu Hirata13-17/+24
* data.c, decl.c, f95-lang.c, gfortran.h, match.c, trans-array.c, trans-common.c, trans-expr.c, trans-intrinsic.c, trans-stmt.c, trans-types.c, trans.h: Fix comment typos. Follow spelling conventions. From-SVN: r87492
2004-09-14* pt.c (unify): Replace gcc_unreachable with gcc_assert.Nathan Sidwell2-24/+24
From-SVN: r87491
2004-09-14cgraph.h, [...]: Fix comment typos.Kazu Hirata10-17/+23
* cgraph.h, cgraphunit.c, fold-const.c, lambda-mat.c, lambda.h, profile.c, tree-optimize.c, tree-sra.c, vec.h: Fix comment typos. Follow spelling conventions. From-SVN: r87490
2004-09-14darwin-c.c, [...]: Follow spelling conventions.Kazu Hirata6-5/+11
* config/darwin-c.c, config/alpha/alpha.c, config/i386/i386.c, config/i386/predicates.md, config/sparc/sparc.c: Follow spelling conventions. From-SVN: r87489
2004-09-14pr17090.f90: Add directives to test.Bud Davis2-0/+5
2004-09-14 Bud Davis <bdavis9659@comcast.net> * gfortran.dg/pr17090.f90: Add directives to test. From-SVN: r87488
2004-09-14Makefile.in (loop-unroll.o): Add HASHTAB_H and RECOG_H dependency.Zdenek Dvorak9-8/+533
* Makefile.in (loop-unroll.o): Add HASHTAB_H and RECOG_H dependency. * basic-block.h (struct reorder_block_def): Add copy_number field. * cfgloop.h (biv_p): Declare. * cfgloopmanip.c (duplicate_loop_to_header_edge): Set copy_number. * common.opt (fsplit-ivs-in-unroller): New flag. * loop-iv.c (biv_p): New function. * loop-unroll.c: Include hashtab.h and recog.h. (struct iv_to_split, struct split_ivs_info): New types. (analyze_ivs_to_split, si_info_start_duplication, split_ivs_in_copies, free_si_info, si_info_hash, si_info_eq, analyze_iv_to_split_insn, determine_split_iv_delta, get_ivts_expr, allocate_basic_variable, insert_base_initialization, split_iv): New functions. (peel_loop_completely, unroll_loop_constant_iterations, unroll_loop_runtime_iterations, peel_loop_simple, unroll_loop_stupid): Use them. * doc/invoke.texi (-fsplit-ivs-in-unroller): Document. Co-Authored-By: Steven Bosscher <stevenb@suse.de> From-SVN: r87487
2004-09-14tree-cfg.c (thread_jumps): Update dominators correctly in case destination ↵Zdenek Dvorak4-3/+54
of threaded edge dominates its... * tree-cfg.c (thread_jumps): Update dominators correctly in case destination of threaded edge dominates its source. From-SVN: r87486
2004-09-14unroll.c: Removed.Zdenek Dvorak15-4427/+1505
* unroll.c: Removed. * loop.h: Removed. * Makefile.in (LOOP_H, unroll.o): Removed. (toplev.o, passes.o, stmt.o, integrate.o, loop.o): Remove LOOP_H dependency. * alias.c (init_alias_analysis): Remove flag_old_unroll_loops reference. * cfgloop.h (LOOP_PREFETCH, loop_optimize): Moved from loop.h. * common.opt (fold-unroll-loops, fold-unroll-all-loops): Removed. * loop.c: Do not include loop.h. (LOOP_INFO, LOOP_MOVABLES, LOOP_REGS, LOOP_IVS, INSN_LUID, REGNO_FIRST_LUID, REGNO_LAST_LUID, enum g_types, struct induction, struct iv_class, enum iv_mode, struct iv, REG_IV_TYPE, REG_IV_INFO, REG_IV_CLASS, struct loop_ivs, struct loop_mem_info, struct loop_reg, struct loop_regs, struct loop_movables, struct loop_info): Moved from loop.h. (back_branch_in_range_p, fold_rtx_mult_add, biv_total_increment, reg_dead_after_loop, final_biv_value, loop_find_equiv_value, find_common_reg_term, loop_iterations, final_giv_value): Moved from unroll.c. (uid_luid, uid_loop, max_uid_for_loop, max_reg_before_loop, loop_dump_stream, for_each_insn_in_loop, express_from, extend_value_for_giv, loop_iv_add_mult_emit_before, loop_iv_add_mult_sink, loop_iv_add_mult_hoist, loop_insn_first_p, get_condition_for_loop, loop_insn_emit_before, loop_insn_hoist, loop_insn_sink): Made static. (loop_invariant_p): Made static. Removed flag_old_unroll_loops reference. (strength_reduce): Do not call unroller. (record_giv): Do not initialize unrolled field. (prescan_loop): Do not set loop_info->preconditioned. * passes.c: Do not include loop.h. (rest_of_handle_loop_optimize): Do not call unroller. * predict.c: Do not include loop.h. * rtl.h (NOTE_PRECONDITIONED): Removed. * stmt.c: Do not include loop.h. * toplev.c: Do not include loop.h. (process_options): Do not handle flag_old_unroll_loops. * doc/invoke.texi (fold-unroll-loops, fold-unroll-all-loops): Documentation removed. * doc/passes.texi (unroll.c, loop.h): Documentation removed. From-SVN: r87485
2004-09-14Makefile.in (STAGE1_CHECKING): New variable.Nathan Sidwell3-3/+21
* Makefile.in (STAGE1_CHECKING): New variable. (stage1_build): Use it. * tree-ssa.c (verify_ssa): Preserve state of dominance information. From-SVN: r87484
2004-09-14re PR c++/16162 (Rejects valid member-template-definition)Mark Mitchell4-1/+35
PR c++/16162 * parser.c (cp_parser_id_expression): Correct value for is_declarator. (cp_parser_nested_name_specifier_opt): Look through typenames as necessary. (cp_parser_template_name): Honor check_dependency_p. PR c++/16162 * g++.dg/template/decl2.C: New test. From-SVN: r87483
2004-09-14i386.c (output_fp_compare): Add generation of ftst instruction.Uros Bizjak3-34/+35
* config/i386/i386.c (output_fp_compare): Add generation of ftst instruction. * config/i386/i386.md (*cmpfp_0_sf, cmpfp_0_df, cmpfp_0_xf): Use output_fp_compare () function. (cmpfp_i, *cmpfp_i_sse, *cmpfp_i_sse_only): Fix insn constraint. (fix_truncdi_memory): Remove operands[5] copy. From-SVN: r87482
2004-09-14m32r.md, [...]: Fix comment typos.Kazu Hirata7-6/+13
* config/m32r/m32r.md, config/m68k/m68kelf.h, config/mcore/mcore.md, config/rs6000/linux64.h, config/rs6000/rs6000.c, config/sparc/sparc.c: Fix comment typos. From-SVN: r87481
2004-09-13Fix gen-proto (fixproto) build failure.James E Wilson3-2/+8
* Makefile.in (GEN_PROTOS_OBJS): Add $(BUILD_ERRORS). * gen-protos.c: Include errors.h. (progname): Delete. From-SVN: r87480
2004-09-14* tests/base/sys/cdefs.h: Update for new test.Loren J. Rittle2-0/+6
From-SVN: r87479
2004-09-14inclhack.def (freebsd_gcc4_breakage): Add.Loren J. Rittle3-5/+69
* inclhack.def (freebsd_gcc4_breakage): Add. * fixincl.x: Regenerate. From-SVN: r87478
2004-09-14re PR java/17216 (ICE in 3.5, error in 3.4.1 when compiling .class->.o)Tom Tromey2-1/+7
PR java/17216: * class.c (layout_class_method): Put synthetic methods into the vtable. From-SVN: r87477
2004-09-13Spacing bug.DJ Delorie1-1/+1
From-SVN: r87476
2004-09-13* libiberty.h (basename): Prototype for __MINGW32__.Aaron W. LaFramboise2-1/+5
From-SVN: r87475
2004-09-14re PR libfortran/17090 (Runtime I/O error)Bud Davis4-1/+39
2004-09-13 Bud Davis <bdavis9659@comcast.net> PR fortran/17090 * io/list_read.c (list_formatted_read): Handle trailing spaces at end of line. 2004-09-13 Bud Davis <bdavis9659@comcast.net> PR fortran/17090 * gfortran.dg/pr17090.f90: New test. From-SVN: r87474
2004-09-14Makefile.in (predict.o): Depend on tree-scalar-evolution.hJan Hubicka3-6/+57
* Makefile.in (predict.o): Depend on tree-scalar-evolution.h * predict.c: Include tree-scalar-evolution.h and cfgloop.h (predict_loops): Use number_of_iterations_exit to predict number of iterations on trees. From-SVN: r87473
2004-09-14Had wrong date on my the entry.Kenneth Zadeck1-1/+1
From-SVN: r87469
2004-09-14Fix PR 17408 and PR 17409.Dale Johannesen4-2/+21
From-SVN: r87468
2004-09-14re PR c++/16716 (ICE in cp_parser_parse_and_diagnose_invalid_type_name)Mark Mitchell6-9/+39
PR c++/16716 * parser.c (cp_parser_parse_and_diagnose_invalid_type_name): Robustify. PR c++/17327 * pt.c (unify): Add ENUMERAL_TYPE case. Replace sorry with gcc_unreacable. PR c++/16716 * g++.dg/parse/crash17.C: New test. PR c++/17327 * g++.dg/template/enum3.C: New test. From-SVN: r87467
2004-09-14Daily bump.GCC Administrator2-2/+2
From-SVN: r87465
2004-09-14arm.c (arm_expand_prologue): Make args_to_push a HOST_WIDE_INT.Paul Brook2-1/+6
* config/arm/arm.c (arm_expand_prologue): Make args_to_push a HOST_WIDE_INT. [[Split portion of a mixed commit.]] From-SVN: r87459.2
2004-09-13fold-const.c (fold_checksum_tree): Ignore TYPE_CACHED_VALUES.Daniel Jacobowitz2-3/+14
* fold-const.c (fold_checksum_tree): Ignore TYPE_CACHED_VALUES. Only use TYPE_BINFO for aggregates. From-SVN: r87457
2004-09-13expmed.c (synth_mult): Initialize latency.Daniel Jacobowitz2-4/+10
* expmed.c (synth_mult): Initialize latency. Check cost before checking ops count. From-SVN: r87456
2004-09-13New code to analyze file level static variables and to determine if...Kenneth Zadeck8-49/+1289
New code to analyze file level static variables and to determine if they escape and also code to use this information to prune clobber lists. From-SVN: r87455
2004-09-13re PR libstdc++/11722 ([3.4 only] Unbuffered filebuf::sgetn is slow)Paolo Carlini4-21/+166
2004-09-13 Paolo Carlini <pcarlini@suse.de> PR libstdc++/11722 * include/std/std_fstream.h (xsgetn): Declare only. * include/bits/fstream.tcc (xsgetn): Define, optimize for the always_noconv() case: when __n > __buflen, copy the available buffer and issue a direct read. * testsuite/performance/27_io/filebuf_sgetn_unbuf.cc: New. * include/bits/fstream.tcc (xsputn): Minor tweak, reorder a conditional. From-SVN: r87453
2004-09-13libstdc++.exp: Use gcc wrapper.exp and call libstdc++_maybe_build_wrapper ↵Hans-Peter Nilsson2-11/+7
instead of using... * testsuite/lib/libstdc++.exp: Use gcc wrapper.exp and call libstdc++_maybe_build_wrapper instead of using local code. From-SVN: r87452
2004-09-13gcc-defs.exp: Load wrapper.exp.Hans-Peter Nilsson8-56/+68
* lib/gcc-defs.exp: Load wrapper.exp. * lib/g++.exp (g++_init): Call g++_maybe_build_wrapper instead of using local code. * lib/gcc.exp (gcc_init): Similar. * lib/gfortran.exp (gfortran_init): Similar. * lib/objc.exp (objc_init): Similar. * lib/treelang.exp (treelang_init): Similar. * lib/wrapper.exp: New file with build_wrapper call machinery in ${tool}_maybe_build_wrapper. From-SVN: r87451
2004-09-13c-decl.c (grokdeclarator): Correct comments about where storage class ↵Joseph Myers12-12/+98
specifiers are rejected by grammar... * c-decl.c (grokdeclarator): Correct comments about where storage class specifiers are rejected by grammar and add corresponding asserts. Diagnose typedefs and parameters declared inline. Change warning for inline main to a pedwarn. Only diagnose inline main if hosted. (declspecs_add_scspec): Allow duplicate "inline". testsuite: * gcc.dg/declspec-7.c: Don't expect diagnostic for duplicate "inline". * gcc.dg/declspec-11.c: Update expected messages. * gcc.dg/inline-6.c, gcc.dg/inline-7.c, gcc.dg/inline-8.c, gcc.dg/inline-9.c, gcc.dg/inline-10.c, gcc.dg/inline-11.c, gcc.dg/inline-12.c: New tests. From-SVN: r87450
2004-09-13pr17400.C: New testcase.Andrew MacLeod2-0/+57
2004-09-13 Andrew MacLeod <amacleod@redhat.com> * g++.dg/tree-ssa/pr17400.C: New testcase. From-SVN: r87449
2004-09-13ia64.c (ia64_scalar_mode_supported_p): New.Steve Ellcey2-0/+34
* config/ia64/ia64.c (ia64_scalar_mode_supported_p): New. (TARGET_SCALAR_MODE_SUPPORTED_P): New. From-SVN: r87448
2004-09-13re PR tree-optimization/17436 (Huge memory use regression)Richard Henderson3-45/+48
PR 17436 * tree.h (TYPE_CONTAINS_PLACEHOLDER_INTERNAL): New. (tree_type): Replace spare with contains_placeholder_bits. (type_contains_placeholder_1): Rename from type_contains_placeholder_p, make static. Remove seen_types list. (type_contains_placeholder_p): New. From-SVN: r87447
2004-09-13SB-1 specific MIPS vector instructions.James E Wilson6-43/+155
* config/mips/mips.c (CODE_FOR_mips_sqrt_ps): New. (sb1_bdesc, bdesc_map, bdesc_arrays): New. (mips_expand_builtin): Add SB-1 support. Use bdesc_map and bdesc_arrays instead of mips_bdesc. (mips_init_builtins): Likewise. * config/mips/mips.h (TARGET_SB1): New. (HAVE_SQRT_P): Delete. * config/mips/mips.md (divide_condition): Support V2SF. (sqrt_condition, recip_condition): New. (div<mode>3): Use ANYF instead of SCALARF. (*div<mode>3): Use ANYF instead of SCALARF. Use UNITMODE instead of MODE. (*recip<mode>3, *rsqrt<mode>a, *rsqrt<mode>b): Use recip_condition instead of ISA_HAS_FP4. Use ANYF instead of SCALARF. Use UNITMODE instead of MODE. (sqrt<mode>2): Use sqrt_condition instead of HAVE_SQRT_P. Use ANYF instead of SCALARF. Use UNITMODE instead of MODE. * gcc.target/mips/sb1-1.c: New testcase. From-SVN: r87446
2004-09-13* config.in: Regenerate after removal of libbanshee.Zack Weinberg2-4/+5
From-SVN: r87444
2004-09-13re PR tree-optimization/17400 (out of SSA corruption)Andrew MacLeod2-3/+22
2004-09-13 Andrew MacLeod <amacleod@redhat.com> PR tree-optimization/17400 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't coalesce partitions when one occurs in an abnormal PHI. From-SVN: r87443
2004-09-13darwin.h (ASM_OUTPUT_COMMON): Change variable size's name to _new_size.Andrew Pinski2-3/+8
2004-09-13 Andrew Pinski <apinski@apple.com> * config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Change variable size's name to _new_size. From-SVN: r87442
2004-09-13[multiple changes]Arnaud Charlet66-1700/+3658
2004-09-09 Vincent Celier <celier@gnat.com> * a-direct.ads: Add pragma Ada_05 (Directory_Entry_Type): Give default value to component Kind to avoid not initialized warnings. * a-direct.adb (Current_Directory): Remove directory separator at the end. (Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not an existing directory. (Fetch_Next_Entry): Give default value to variable Kind to avoid warning (Size (String)): Function C_Size returns Long_Integer, not File_Size. Convert the result to File_Size. * prj.ads: (Project_Error): New exception * prj-attr.adb: Except in procedure Initialize, Fail comes from Prj.Com, not from Osint. (Attrs, Package_Attributes): Tables moved to private part of spec (Add_Attribute, Add_Unknown_Package): Moved to new child package Prj.Attr.PM. (Register_New_Package (Name, Attributes), Register_New_Attribute): Raise Prj.Project_Error after call to Fail. (Register_New_Package (Name, Id)): Set Id to Empty_Package after calling Fail. Check that package name is not already in use. * prj-attr.ads: Comment updates to indicate that all subprograms may be used by tools, not only by the project manager, and to indicate that exception Prj.Prj_Error may be raised in case of problem. (Add_Unknown_Package, Add_Attribute): Moved to new child package Prj.Attr.PM. (Attrs, Package_Attributes): Table instantiations moved from the body to the private part to be accessible from Prj.Attr.PM body. * prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package from new package Prj.Attr.PM. (Parse_Attribute_Declaration): Call Add_Attribute from new package Prj.Attr.PM. * Makefile.in: Add prj-attr-pm.o to gnatmake object list * gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check instead of Elaboration_Checks). * a-calend.adb: Minor reformatting 2004-09-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * gigi.h (maybe_pad_type): New declaration. (create_subprog_type): New arg RETURNS_BY_TARGET_PTR. * ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro. * cuintp.c: Convert to use buildN. * decl.c (maybe_pad_type): No longer static. (gnat_to_gnu_entity, case E_Function): Handle case of returning by target pointer. Convert to use buildN. * trans.c (call_to_gnu): Add arg GNU_TARGET; support TYPE_RETURNS_BY_TARGET_PTR_P. All callers changed. (gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on RHS. (gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P. (gnat_gimplify_expr, case ADDR_EXPR): New case. Convert to use buildN. * utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and TREE_READONLY for const. Convert to use buildN. * utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR. (create_var_decl): Refine when TREE_STATIC is set. Convert to use buildN. 2004-09-09 Gary Dismukes <dismukes@gnat.com> * gnat_ugn.texi: Delete text relating to checking of ali and object consistency. * a-except.adb (Rcheck_*): Add pragmas No_Return for each of these routines. 2004-09-09 Jose Ruiz <ruiz@act-europe.fr> * gnat_ugn.texi: Add Detect_Blocking to the list of configuration pragmas recognized by GNAT. * gnat_rm.texi: Document pragma Detect_Blocking. * s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active, raise Program_Error if called from a protected operation. * s-taprob.adb (Lock): When pragma Detect_Blocking is active increase the protected action nesting level. (Lock_Read_Only): When pragma Detect_Blocking is active increase the protected action nesting level. (Unlock): When pragma Detect_Blocking is active decrease the protected action nesting level. * s-taskin.adb (Initialize_ATCB): Initialize to 0 the Protected_Action_Nesting. * s-taskin.ads: Adding the field Protected_Action_Nesting to the Common_ATCB record. It contains the dynamic level of protected action nesting for each task. It is needed for checking whether potentially blocking operations are called from protected operations. (Detect_Blocking): Adding a Boolean constant reflecting whether pragma Detect_Blocking is active or not in the partition. * s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active, raise Program_Error if called from a protected operation. (Task_Entry_Call): When pragma Detect_Blocking is active, raise Program_Error if called from a protected operation. (Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise Program_Error if called from a protected operation. * s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active, raise Program_Error if called from a protected operation. * s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active, raise Program_Error if called from a protected operation, and increase the protected action nesting level. (Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise Program_Error if called from a protected operation, and increase the protected action nesting level. (Unlock_Entries): When pragma Detect_Blocking is active decrease the protected action nesting level. * s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active, raise Program_Error if called from a protected operation, and increase the protected action nesting level. (Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise Program_Error if called from a protected operation, and increase the protected action nesting level. (Protected_Single_Entry_Call): When pragma Detect_Blocking is active, raise Program_Error if called from a protected operation. (Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is active, raise Program_Error if called from a protected operation. (Unlock_Entry): When pragma Detect_Blocking is active decrease the protected action nesting level. * sem_util.adb (Check_Potentially_Blocking_Operation): Remove the insertion of the statement raising Program_Error. The run time contains the required machinery for handling that. * sem_util.ads: Change comment associated to procedure Check_Potentially_Blocking_Operation. This procedure does not insert a call for raising the exception because that is currently done by the run time. * raise.h (__gnat_set_globals): Pass the detect_blocking parameter. * init.c: Add the global variable __gl_detect_blocking that indicates whether pragma Detect_Blocking is active (1) or not (0). Needed for making the pragma available at run time. (__gnat_set_globals): Pass and update the detect_blocking parameter. * lib-writ.adb (Write_ALI): Set the DB flag in the ali file if pragma Detect_Blocking is active. * lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files. * ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag DB is found in the ali file. Any unit compiled with pragma Detect_Blocking active forces its effect in the whole partition. * a-retide.adb (Delay_Until): Raise Program_Error if pragma Detect_Blocking is active and delay is called from a protected operation. * bindgen.adb (Gen_Adainit_Ada): When generating the call to __gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma Detect_Blocking is active (0 otherwise). (Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma Detect_Blocking is active (0 otherwise). 2004-09-09 Thomas Quinot <quinot@act-europe.fr> * gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash package. * s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram. (Register_Receiving_Stub): Add Subp_Info formal parameter. Update API in placeholder implemetation of s-parint to reflect changes in distribution runtime library. * sem_ch3.adb (Expand_Derived_Record): Rename to Expand_Record_Extension. * sem_disp.adb (Check_Controlling_Formals): Improve error message for primitive operations of potentially distributed object types that have non-controlling anonymous access formals. * sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New subprogram. New implementation of expansion for remote access-to-subprogram types, based on the RACW infrastructure. This version of sem_dist is compatible with PolyORB/DSA as well as GLADE. * sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma Asynchrronous that applies to a remote access-to-subprogram type, mark the underlying RACW type as asynchronous. * link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and __gnat_using_gnu_linker to 1. * Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads, g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash package. * atree.adb: Minor reformatting * exp_ch3.adb (Expand_Derived_Record): Rename to Expand_Record_Extension. (Build_Record_Init_Proc.Build_Assignment): The default expression in a component declaration must remain attached at that point in the tree so New_Copy_Tree copies it if the enclosing record type is derived. It is therefore necessary to take a copy of the expression when building the corresponding assignment statement in the init proc. As a side effect, in the case of a derived record type, we now see the original expression, without any rewriting that could have occurred during expansion of the ancestor type's init proc, and we do not need to go back to Original_Node. * exp_ch3.ads (Expand_Derived_Record): Rename to Expand_Record_Extension. * exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram. Returns the RACW type used to implement a remote access-to-subprogram type. (Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type): New subprograms. Used to create a proxy tagged object for a remote subprogram. The proxy object is used as the designated object for RAS values on the same partition (unless All_Calls_Remote applies). (Build_Get_Unique_RP_Call): New subprogram. Build a call to System.Partition_Interface.Get_Unique_Remote_Pointer. (Add_RAS_Access_TSS, Add_RAS_Dereference_TSS): Renamed from Add_RAS_*_Attribute. (Add_Receiving_Stubs_To_Declarations): Generate a table of local subprograms. New implementation of expansion for remote access-to-subprogram types, based on the RACW infrastructure. * exp_dist.ads (Copy_Specification): Update comment to note that this function can copy the specification from either a subprogram specification or an access-to-subprogram type definition. 2004-09-09 Ed Schonberg <schonberg@gnat.com> * sem_type.adb (Disambiguate): Handle properly an accidental ambiguity in an instance, between an explicit subprogram an one inherited from a type derived from an actual. * exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not add a polling call if the subprogram is to be inlined by the back-end, to avoid repeated calls with multiple inlinings. * checks.adb (Apply_Alignment_Check): If the expression in the address clause is a call whose name is not a static entity (e.g. a dispatching call), treat as dynamic. 2004-09-09 Robert Dewar <dewar@gnat.com> * g-trasym.ads: Minor reformatting * exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except packed arrays, since unused bits are expected to be zero for a comparison. 2004-09-09 Eric Botcazou <ebotcazou@act-europe.fr> * exp_pakd.ads: Fix an inacurracy and a couple of typos in the head comment. 2004-09-09 Pascal Obry <obry@gnat.com> * mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to enable map file generation. Add the right option to generate the map file if Map_File is set to True. * gnatdll.adb (Gen_Map_File): New variable. (Syntax): Add info about new -m (Map_File) option. (Parse_Command_Line): Add support for -m option. (gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls. Minor reformatting. 2004-09-09 Laurent Pautet <pautet@act-europe.fr> * gnatls.adb: Add a very verbose mode -V. Such mode is required by the new gnatdist implementation. Define a subpackage isolating the output routines specific to this verbose mode. 2004-09-09 Joel Brobecker <brobecker@gnat.com> * Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta. * gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted. 2004-09-09 Cyrille Comar <comar@act-europe.fr> * opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile internal unit. * opt.ads: Add Ada_Version_Runtime constant used to decide which version of the language is used to compile the run time. 2004-09-09 Arnaud Charlet <charlet@act-europe.fr> * sem_util.adb (Requires_Transient_Scope): Re-enable handling of variable length temporaries for function return now that the back-end and gigi support it. From-SVN: r87435
2004-09-13fix spaces vs. tabs for scripts.Steven Bosscher1-9/+9
From-SVN: r87434