platform/upstream/gcc.git
17 years agotree-scalar-evolution.c (follow_ssa_edge_in_rhs, [...]): Keep more precise track...
Zdenek Dvorak [Sat, 9 Jun 2007 21:34:08 +0000 (23:34 +0200)]
tree-scalar-evolution.c (follow_ssa_edge_in_rhs, [...]): Keep more precise track of the size of the expression.

* tree-scalar-evolution.c (follow_ssa_edge_in_rhs,
follow_ssa_edge_in_condition_phi, follow_ssa_edge): Keep more precise
track of the size of the expression.
* cfghooks.c (merge_blocks): Remove block from loops structure only
after call of the merge_blocks hook.

* gcc.dg/tree-ssa/loop-28.c: New testcase.

From-SVN: r125595

17 years agodummyagent.c (Agent_OnLoad): Add missing return value.
Keith Seitz [Sat, 9 Jun 2007 17:32:42 +0000 (17:32 +0000)]
dummyagent.c (Agent_OnLoad): Add missing return value.

        * testsuite/libjava.jvmti/dummyagent.c (Agent_OnLoad):
        Add missing return value.

From-SVN: r125594

17 years agoc-decl.c (grokdeclarator): Added 'deprecated_state' argument.
Tom Tromey [Sat, 9 Jun 2007 16:48:47 +0000 (16:48 +0000)]
c-decl.c (grokdeclarator): Added 'deprecated_state' argument.

* c-decl.c (grokdeclarator): Added 'deprecated_state' argument.
(deprecated_state): Removed.
(start_decl): Update.
(enum deprecated_states): Moved earlier.
(groktypename): Update.
(push_parm_decl): Likewise.
(grokfield): Likewise.
(start_function): Likewise.

From-SVN: r125593

17 years agore PR tree-optimization/32169 (Ice in set_value_range, at tree-vrp.c:326)
Ian Lance Taylor [Sat, 9 Jun 2007 16:28:31 +0000 (16:28 +0000)]
re PR tree-optimization/32169 (Ice in set_value_range, at tree-vrp.c:326)

./: PR tree-optimization/32169
* tree-vrp.c (extract_range_from_unary_expr): For NOP_EXPR and
CONVERT_EXPR, check whether min and max both converted to an
overflow infinity representation.
testsuite/:
PR tree-optimization/32169
* gcc.c-torture/compile/pr32169.c: New test.

From-SVN: r125591

17 years agocppfiles.c (open_file): Account for the fact that on windows, opening a directory...
Vladimir Prus [Sat, 9 Jun 2007 10:16:52 +0000 (10:16 +0000)]
cppfiles.c (open_file): Account for the fact that on windows, opening a directory gives EACCES.

        * cppfiles.c (open_file): Account for the
        fact that on windows, opening a directory gives
        EACCES.

From-SVN: r125590

17 years agoinstall.html: Adjust consistently with libstdc++/31717.
Paolo Carlini [Sat, 9 Jun 2007 00:55:43 +0000 (00:55 +0000)]
install.html: Adjust consistently with libstdc++/31717.

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

* docs/html/install.html: Adjust consistently with libstdc++/31717.

From-SVN: r125587

17 years agoDaily bump.
GCC Administrator [Sat, 9 Jun 2007 00:17:00 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r125585

17 years agoreload1.c (fixup_abnormal_edges): Clear bb field for insns not inserted on the edge.
Eric Botcazou [Fri, 8 Jun 2007 23:22:46 +0000 (23:22 +0000)]
reload1.c (fixup_abnormal_edges): Clear bb field for insns not inserted on the edge.

* reload1.c (fixup_abnormal_edges): Clear bb field for insns
not inserted on the edge.

From-SVN: r125582

17 years ago* ChangeLog fix * ChangeLog fix.
Uros Bizjak [Fri, 8 Jun 2007 20:55:46 +0000 (22:55 +0200)]
* ChangeLog fix * ChangeLog fix.

From-SVN: r125578

17 years agolib1funcs.asm (__udivsi3): Use hardware divide instructions if they are supported.
Bob Wilson [Fri, 8 Jun 2007 16:49:23 +0000 (16:49 +0000)]
lib1funcs.asm (__udivsi3): Use hardware divide instructions if they are supported.

* config/xtensa/lib1funcs.asm (__udivsi3): Use hardware divide
instructions if they are supported.
(__divsi3, __umodsi3, __modsi3): Likewise.
(__ashldi3, __ashrdi3, __lshrdi3): New.
* config/xtensa/t-xtensa (LIB1ASMFUNCS): Add DImode shift functions.

From-SVN: r125577

17 years agoextend.texi: Add fvect-cost-model flag.
Harsha Jagasia [Fri, 8 Jun 2007 16:30:49 +0000 (16:30 +0000)]
extend.texi: Add fvect-cost-model flag.

gcc/ChangeLog:
2007-06-08  Harsha Jagasia <harsha.jagasia@amd.com>
            Tony Linthicum <tony.linthicum@amd.com>

* doc/extend.texi: Add fvect-cost-model flag.
* common.opt (fvect-cost-model): New flag.
* tree-vectorizer.c (new_stmt_vec_info): Initialize inside and outside
cost fields in stmt_vec_info struct for STMT.
* tree-vectorizer.h (stmt_vec_info): Define inside and outside cost
fields in stmt_vec_info struct and access functions for the same.
(TARG_COND_BRANCH_COST): Define cost of conditional branch.
(TARG_VEC_STMT_COST): Define cost of any vector operation, excluding
load, store and vector to scalar operation.
(TARG_VEC_TO_SCALAR_COST): Define cost of vector to scalar operation.
(TARG_VEC_LOAD_COST): Define cost of aligned vector load.
(TARG_VEC_UNALIGNED_LOAD_COST): Define cost of misasligned vector load.
(TARG_VEC_STORE_COST): Define cost of vector store.
(vect_estimate_min_profitable_iters): Define new function.
* tree-vect-analyze.c (vect_analyze_operations): Add a compile-time
check to evaluate if loop iterations are less than minimum profitable
iterations determined by cost model or minimum vect loop bound defined
by user, whichever is more conservative.
* tree-vect-transform.c (vect_do_peeling_for_loop_bound): Add a
run-time check to evaluate if loop iterations are less than minimum
profitable iterations determined by cost model or minimum vect loop
bound defined by user, whichever is more conservative.
(vect_estimate_min_profitable_iterations): New function to estimate
mimimimum iterartions required for vector version of loop to be
profitable over scalar version.
        (vect_model_reduction_cost): New function.
(vect_model_induction_cost): New function.
(vect_model_simple_cost): New function.
(vect_cost_strided_group_size): New function.
(vect_model_store_cost): New function.
(vect_model_load_cost): New function.
(vectorizable_reduction): Call vect_model_reduction_cost during
analysis phase.
(vectorizable_induction): Call vect_model_induction_cost during
analysis phase.
(vectorizable_load): Call vect_model_load_cost during analysis phase.
(vectorizable_store): Call vect_model_store_cost during analysis phase.
(vectorizable_call, vectorizable_assignment, vectorizable_operation,
vectorizable_promotion, vectorizable_demotion): Call
vect_model_simple_cost during analysis phase.

gcc/testsuite/ChangeLog:
2007-06-08  Harsha Jagasia <harsha.jagasia@amd.com>

* gcc.dg/vect/costmodel: New directory.
* gcc.dg/vect/costmodel/i386: New directory.
* gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp: New testsuite.
* gcc.dg/vect/costmodel/i386/costmodel-fast-math-vect-pr29925.c:
New test.
* gcc.dg/vect/costmodel/i386/costmodel-vect-31.c: New test.
* gcc.dg/vect/costmodel/i386/costmodel-vect-33.c: New test.
* gcc.dg/vect/costmodel/i386/costmodel-vect-68.c: New test.
* gcc.dg/vect/costmodel/i386/costmodel-vect-reduc-1char.c: New test.
* gcc.dg/vect/costmodel/x86_64: New directory.
* gcc.dg/vect/costmodel/x86_64/x86_64-costmodel-vect.exp:
New testsuite.
* gcc.dg/vect/costmodel/x86_64/costmodel-fast-math-vect-pr29925.c:
New test.
* gcc.dg/vect/costmodel/x86_64/costmodel-vect-31.c: New test.
* gcc.dg/vect/costmodel/x86_64/costmodel-vect-33.c: New test.
* gcc.dg/vect/costmodel/x86_64/costmodel-vect-68.c: New test.
* gcc.dg/vect/costmodel/x86_64/costmodel-vect-reduc-1char.c: New test.
* gcc.dg/vect/costmodel/x86_64/costmodel-pr30843.c: New test.

Co-Authored-By: Tony Linthicum <tony.linthicum@amd.com>
From-SVN: r125575

17 years agoreg-stack.c (get_true_reg): Readability change.
Simon Baldwin [Fri, 8 Jun 2007 16:17:01 +0000 (16:17 +0000)]
reg-stack.c (get_true_reg): Readability change.

* reg-stack.c (get_true_reg): Readability change.  Moved default case
label into direct switch statement scope.

From-SVN: r125574

17 years agotree-flow-inline.h (var_ann): Replaced erroneous '=' assignment in gcc_assert() with...
Simon Baldwin [Fri, 8 Jun 2007 16:15:41 +0000 (16:15 +0000)]
tree-flow-inline.h (var_ann): Replaced erroneous '=' assignment in gcc_assert() with '==' comparison.

* tree-flow-inline.h (var_ann): Replaced erroneous '=' assignment
in gcc_assert() with '==' comparison.

From-SVN: r125573

17 years agofstream: Add Table 92 in comment.
Francesco Palagi [Fri, 8 Jun 2007 13:16:38 +0000 (15:16 +0200)]
fstream: Add Table 92 in comment.

2007-06-08  Francesco Palagi  <palagi@arcetri.astro.it>

* include/std/fstream: Add Table 92 in comment.

From-SVN: r125571

17 years agoi386.c (override_options): Merge TARGET_SSE4_2 and TARGET_ABM handling of x86_popcnt...
Uros Bizjak [Fri, 8 Jun 2007 11:34:56 +0000 (13:34 +0200)]
i386.c (override_options): Merge TARGET_SSE4_2 and TARGET_ABM handling of x86_popcnt variable.

* config/i386/i386.c (override_options): Merge TARGET_SSE4_2 and
TARGET_ABM handling of x86_popcnt variable.

From-SVN: r125570

17 years agoextend.texi (X86 Built-in Functions): Document __builtin_fabsq, __builtin_copysignq...
Uros Bizjak [Fri, 8 Jun 2007 11:22:44 +0000 (13:22 +0200)]
extend.texi (X86 Built-in Functions): Document __builtin_fabsq, __builtin_copysignq and __builtin_infq built-in functions.

* doc/extend.texi (X86 Built-in Functions): Document __builtin_fabsq,
__builtin_copysignq and __builtin_infq built-in functions.

From-SVN: r125569

17 years agoextend.texi (X86 Built-in Functions): Add missing `@item's in SSE4.2 section.
Uros Bizjak [Fri, 8 Jun 2007 11:08:12 +0000 (13:08 +0200)]
extend.texi (X86 Built-in Functions): Add missing `@item's in SSE4.2 section.

* doc/extend.texi (X86 Built-in Functions): Add missing `@item's in
SSE4.2 section.  Correct built-in function names in SSE4A section.

From-SVN: r125568

17 years agore PR tree-optimization/32243 (ICE in vectorizable_type_promotion, at tree-vect-trans...
Uros Bizjak [Fri, 8 Jun 2007 09:06:46 +0000 (11:06 +0200)]
re PR tree-optimization/32243 (ICE in vectorizable_type_promotion, at tree-vect-transform.c:2890)

PR tree-optimization/32243
* tree-vect-transform.c (vectorizable_type_promotion): Move check
for ncopies after ratio check between nunits_out and nunits_in.
(vectorizable_type_demotion): Remove single-use variable "scalar_type".

testsuite/ChangeLog:

PR tree-optimization/32243
* gcc.dg/vect/vect.exp: Add support for -O3 tests.  Reset default
flags for -Os tests.
* gcc.dg/vect/03-vect-pr32243.c: New test.

From-SVN: r125567

17 years agore PR tree-optimization/32224 (ICE in vect_analyze_operations, at tree-vect-analyze...
Dorit Nuzman [Fri, 8 Jun 2007 08:57:54 +0000 (08:57 +0000)]
re PR tree-optimization/32224 (ICE in vect_analyze_operations, at tree-vect-analyze.c:374)

        PR tree-optimization/32224
        * tree-vect-analyze.c (vect_determine_vectorization_factor): Fail
        vectorization upon a non GIMPLE_MODIFY_STMT.

From-SVN: r125566

17 years ago* trans-intrinsic.c: Revert Lee's 2007-06-04 patch.
Francois-Xavier Coudert [Fri, 8 Jun 2007 08:01:10 +0000 (08:01 +0000)]
* trans-intrinsic.c: Revert Lee's 2007-06-04 patch.

From-SVN: r125565

17 years agore PR target/29953 ([SH-4] Perfomance regression in loops. cmp/eq used instead of dt)
Christian Bruel [Fri, 8 Jun 2007 07:58:41 +0000 (09:58 +0200)]
re PR target/29953 ([SH-4] Perfomance regression in loops. cmp/eq used instead of dt)

PR target/29953
* config/sh/sh.md (doloop_end): New pattern and splitter.
* loop-iv.c (simple_rhs_p): Check for hardware registers.

From-SVN: r125564

17 years agore PR middle-end/32209 (Boot failure Comparing stages 2 and 3 with --disable-checking)
Zdenek Dvorak [Fri, 8 Jun 2007 07:28:50 +0000 (09:28 +0200)]
re PR middle-end/32209 (Boot failure  Comparing stages 2 and 3 with --disable-checking)

PR middle-end/32209
* dominance.c (debug_dominance_tree, debug_dominance_tree_1): New
functions.
(verify_dominators): Do not change dominance tree.

From-SVN: r125563

17 years agoconstraints.md: New file.
Kaz Kojima [Fri, 8 Jun 2007 06:59:55 +0000 (06:59 +0000)]
constraints.md: New file.

* config/sh/constraints.md: New file.
* config/sh/sh.c: Include tm-constrs.h.
(reg_class_from_letter): Remove.
(prepare_cbranch_operands): Use satisfies_constraint_*
function instead of macro.
(andcosts, broken_move, sh_secondary_reload): Likewise.
* config/sh/predicates.md (trapping_target_operand): Likewise.
(and_operand, arith_operand, arith_reg_or_0_operand,
cmp_operand, logical_operand, target_operand,
ua_address_operand, ua_offset, xor_operand): Likewise.
* config/sh/sh.md: Include constraints.md.
(*movsicc_t_false): Use satisfies_constraint_* function
instead of macro.
(*movsicc_t_true, ashlsi3_std, ashlhi3_k, lshrsi3_m,
lshrsi3_k, movsi_const_16bit+2, *movhi_media+1,
movdi_const_16bit+1, beq, bne, *ptb): Likewise.
* config/sh/sh.h (reg_class_from_letter): Remove prototype.
(OVERRIDE_OPTIONS): Don't modify reg_class_from_letter.
(REG_CLASS_FROM_CONSTRAINT): Remove.
(CONSTRAINT_LEN, CONST_OK_FOR_I20, CONST_OK_FOR_I,
CONST_OK_FOR_J, CONST_OK_FOR_K16, CONST_OK_FOR_K,
CONST_OK_FOR_P27, CONST_OK_FOR_P, CONST_OK_FOR_M,
CONST_OK_FOR_N, CONST_OK_FOR_CONSTRAINT_P,
CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
(SECONDARY_INOUT_RELOAD_CLASS): Use satisfies_constraint_*
function instead of macro.
(SECONDARY_INPUT_RELOAD_CLASS): Likewise.
(EXTRA_CONSTRAINT_Q, EXTRA_CONSTRAINT_A,
EXTRA_CONSTRAINT_Bsc, EXTRA_CONSTRAINT_B,
EXTRA_CONSTRAINT_Css, EXTRA_CONSTRAINT_Csu): Remove.
(IS_PC_RELATIVE_LOAD_ADDR_P): New macro.
(IS_LITERAL_OR_SYMBOLIC_S16_P): Likewise.
(IS_LITERAL_OR_SYMBOLIC_U16_P): Likewise.
(IS_NON_EXPLICIT_CONSTANT_P): Likewise.
(EXTRA_CONSTRAINT_Csy, EXTRA_CONSTRAINT_Z, EXTRA_CONSTRAINT_W,
EXTRA_CONSTRAINT_Cpg, EXTRA_CONSTRAINT_C,
EXTRA_MEMORY_CONSTRAINT, EXTRA_CONSTRAINT_Sr0,
EXTRA_CONSTRAINT_Sua, EXTRA_CONSTRAINT_S,
EXTRA_CONSTRAINT_STR): Likewise.
(GO_IF_LEGITIMATE_INDEX): Fix indentation.

From-SVN: r125561

17 years agore PR fortran/32223 (Backslash handling inconsistent)
Steven G. Kargl [Fri, 8 Jun 2007 04:49:23 +0000 (04:49 +0000)]
re PR fortran/32223 (Backslash handling inconsistent)

2007-06-07  Steven G. Kargl  <kargl@gcc.gnu.org>
    Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/32223
* match.c (gfc_match_special_char): New function.  Match special char.
Add handling '\0'.
* match.h: Add prototype.
* io.c (next_char): Use it.
* primary.c (next_string_char): Ditto.

Co-Authored-By: Jerry DeLisle <jvdelisle@gcc.gnu.org>
From-SVN: r125557

17 years agocleanup-8.c: Run on i386-darwin9 and later.
Geoffrey Keating [Fri, 8 Jun 2007 03:29:00 +0000 (03:29 +0000)]
cleanup-8.c: Run on i386-darwin9 and later.

* g++.dg/ext/cleanup-8.c: Run on i386-darwin9 and later.
* g++.dg/ext/cleanup-9.c: Run on i386-darwin9 and later.
* g++.dg/ext/cleanup-10.c: Run on i386-darwin9 and later.
* g++.dg/ext/cleanup-11.c: Run on i386-darwin9 and later.

From-SVN: r125556

17 years agodarwin.h (STACK_BOUNDARY): Define.
Geoffrey Keating [Fri, 8 Jun 2007 03:22:56 +0000 (03:22 +0000)]
darwin.h (STACK_BOUNDARY): Define.

* config/i386/darwin.h (STACK_BOUNDARY): Define.

Co-Authored-By: Hui-May Chang <hm.chang@apple.com>
From-SVN: r125555

17 years agoDaily bump.
GCC Administrator [Fri, 8 Jun 2007 00:17:07 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r125549

17 years agore PR c++/32177 (g++ crashes on some valid OpenMP code)
Jakub Jelinek [Thu, 7 Jun 2007 23:11:23 +0000 (01:11 +0200)]
re PR c++/32177 (g++ crashes on some valid OpenMP code)

PR c++/32177
* semantics.c (finish_omp_for): Call fold_build_cleanup_point_expr
on init, the non-decl cond operand and increment value.

* g++.dg/gomp/pr32177.C: New test.

From-SVN: r125544

17 years agore PR testsuite/25241 ([C++] DejaGNU does not distinguish between errors and warnings)
Manuel López-Ibáñez [Thu, 7 Jun 2007 21:01:41 +0000 (21:01 +0000)]
re PR testsuite/25241 ([C++] DejaGNU does not distinguish between errors and warnings)

2007-06-07  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

PR testsuite/25241

testsuite/
* gcc.dg/parm-mismatch-1.c: Use dg-message for notes.
* gcc.dg/Wfatal.c: Use dg-message for output that is neither a
warning nor an error.
* gcc.dg/Wfatal-2.c: Likewise.
* gcc.dg/Werror-1.c: Likewise.
* gcc.dg/Werror-5.c: Likewise.
* gcc.dg/Werror-7.c: Likewise.
* gcc.dg/Werror-10.c: Likewise.
* gcc.dg/Werror-11.c: Likewise.

From-SVN: r125543

17 years agoteam.c (gomp_team_start): Fix setting up thread_attr stack size.
Jakub Jelinek [Thu, 7 Jun 2007 20:16:53 +0000 (22:16 +0200)]
team.c (gomp_team_start): Fix setting up thread_attr stack size.

* team.c (gomp_team_start): Fix setting up thread_attr
stack size.

From-SVN: r125542

17 years agore PR c++/30759 (initializer-list accepted for object of non-POD type)
Simon Martin [Thu, 7 Jun 2007 19:59:33 +0000 (19:59 +0000)]
re PR c++/30759 (initializer-list accepted for object of non-POD type)

gcc/

2007-06-07  Simon Martin  <simartin@users.sourceforge.net>

PR c++/30759
* c-common.h (flag_cpp0x): Replaced by...
(cxx_dialect): ... this new variable specifying the C++ dialect that
is used.
* c-common.c (flag_cpp0x): Removed.
(cxx_dialect): Defined.
* c-cppbuiltin.c (c_cpp_builtins): flag_cpp0x rewritten in terms of
cxx_dialect.
* c-opts.c (c_common_post_options): Likewise.
(set_std_cxx98): Set cxx_dialect to cxx98.
(set_std_cxx0x): Set cxx_dialect to cxx0x.

gcc/cp/

2007-06-07  Simon Martin  <simartin@users.sourceforge.net>

PR c++/30759
* decl.c (check_initializer): Report an error when a brace enclosed
initializer is used for a non-aggregate type in C++98.
(redeclaration_error_message): Rewrote flag_cpp0x in terms of
cxx_dialect.
(grokdeclarator): Likewise.
(move_fn_p): Likewise.
* typeck.c (check_return_expr): Likewise.
* call.c (reference_binding): Likewise.
* error.c (cp_cpp_error): Likewise.
* pt.c (check_default_tmpl_args): Likewise.
(tsubst): Likewise.
* lex.c (init_reswords): Likewise.
* parser.c (p_parser_primary_expression): Likewise.
(TOKEN_PRECEDENCE): Likewise.
(cp_parser_init_declarator): Likewise.
(cp_parser_ptr_operator): Likewise.
(cp_parser_parameter_declaration): Likewise.
(cp_parser_enclosed_template_argument_list): Likewise.
(cp_parser_skip_to_end_of_template_parameter_list): Likewise.
(cp_parser_next_token_ends_template_argument_p): Likewise.

gcc/testsuite/

2007-06-07  Simon Martin  <simartin@users.sourceforge.net>

PR c++/30759
* g++.dg/init/brace6.C: New test.

From-SVN: r125539

17 years agoattr-weakref-1-darwin.c: Run on all Darwin platforms.
Geoffrey Keating [Thu, 7 Jun 2007 19:04:02 +0000 (19:04 +0000)]
attr-weakref-1-darwin.c: Run on all Darwin platforms.

* gcc.dg/attr-weakref-1-darwin.c: Run on all Darwin platforms.
* gcc.dg/20050826-1.c: Run on all Darwin platforms.
* gcc.dg/darwin-ld-2.c: Run on all Darwin platforms.
* gcc.dg/darwin-ld-4.c: Run on all Darwin platforms.
* gcc.dg/cleanup-8.c: Run on i386-darwin9 and later.
* gcc.dg/cleanup-9.c: Run on i386-darwin9 and later.
* gcc.dg/cleanup-10.c: Run on i386-darwin9 and later.
* gcc.dg/cleanup-11.c: Run on i386-darwin9 and later.

From-SVN: r125538

17 years agoIndex: ChangeLog
Geoffrey Keating [Thu, 7 Jun 2007 18:56:51 +0000 (18:56 +0000)]
Index: ChangeLog
2007-06-06  Geoffrey Keating  <geoffk@apple.com>
    Hui-May Chang <hm.chang@apple.com>

* doc/invoke.texi (Darwin Options): Update documentation for
-mmacosx-version-min.
* config.gcc (*-*-darwin*): Set extra_gcc_objs.
* config/darwin-driver.c: New file.
* config/darwin.h (GCC_DRIVER_HOST_INITIALIZATION): New.
* config/t-darwin (darwin-driver.o): New rule.

* config/darwin-c.c (version_as_macro): Ignore low digit.

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

* gcc.dg/darwin-minversion-3.c: New.

Co-Authored-By: Hui-May Chang <hm.chang@apple.com>
From-SVN: r125537

17 years agoconfigure.ac: Non-default multilibs can be cross compilations.
Geoffrey Keating [Thu, 7 Jun 2007 18:42:47 +0000 (18:42 +0000)]
configure.ac: Non-default multilibs can be cross compilations.

* configure.ac: Non-default multilibs can be cross compilations.
* configure: Regenerate

From-SVN: r125536

17 years agoi386.md (standard sse constant splitter): Handle TFmode.
Uros Bizjak [Thu, 7 Jun 2007 18:31:40 +0000 (20:31 +0200)]
i386.md (standard sse constant splitter): Handle TFmode.

        * config/i386/i386.md (standard sse constant splitter): Handle TFmode.
        (negtf2, abstf2, *absnegtf2_sse): New insn patterns.
        (CSGNMODE): New mode macro.
        (CSGNVMODE): New mode attribute.
        (copysign<mode>3): Rename from copysingsf3 and copysigndf3.  Macroize
        expander using CSGNMODE mode macro.  Handle TFmode.
        (copysign<mode>3_const): Rename from copysignsf3_const and
        copysigndf3_const.  Macroize pattern using CSGNMODE mode macro.
        Handle TFmode.
        (copysign<mode>3_var): Rename from copysignsf3_var and
        copysigndf3_var.  Macroize pattern using CSGNMODE mode macro.
        Handle TFmode.
        (copysign<mode>3_var splitter): Macroize pattern using CSGNMODE
        mode macro.  Handle TFmode.
        * config/i386/sse.md (andtf3, *andtf3, *nandtf3): New insn patterns.
        (iortf3, *iortf3): Ditto.
        (xortf3, *xortf3): Ditto.
        * config/i386/i386.c (ix86_build_signbit_mask): Create scalar
        TFmode and TImode masks.
        (ix86_expand_copysign): Expand TFmode copysign insn.
        (IX86_BUILTIN_INFQ): New.
        (IX86_BUILTIN_FABSQ): Ditto.
        (IX86_BUILTIN_COPYSIGNQ): Ditto.
        (ix86_init_mmx_sse_builtins) [__builtin_infq]: New builtin definition.
        [__builtin_fabsq]: Ditto.
        [__builtin_copysignq]: Ditto.
        (ix86_expand_builtin) [IX86_BUILTIN_INFQ]: Expand builtin.
        [IX86_BUILTIN_FABSQ]: Expand builtin using ix86_expand_unop_builtin().
        [IX86_BUILTIN_COPYSIGNQ]: Expand builtin using
        ix86_expand_unop_builtin().

testsuite/ChangeLog:

        * gcc.target/i386/builtin-copysign.c: New test.

From-SVN: r125535

17 years ago* config/xtensa/lib1funcs.asm: Clean up whitespace.
Bob Wilson [Thu, 7 Jun 2007 18:27:42 +0000 (18:27 +0000)]
* config/xtensa/lib1funcs.asm: Clean up whitespace.

From-SVN: r125534

17 years agodecl.c: Miscellaneous whitespace fixes.
Steven G. Kargl [Thu, 7 Jun 2007 18:10:31 +0000 (18:10 +0000)]
decl.c: Miscellaneous whitespace fixes.

* decl.c: Miscellaneous whitespace fixes.
* expr.c: Likewise.
* gfortran.h: Likewise.
* interface.c : Likewise.
* io.c: Likewise.
* match.c: Likewise.
* match.h: Likewise.
* module.c: Likewise.
* parse.c: Likewise.
* resolve.c: Likewise.
* symbol.c: Likewise.
* trans-array.c: Likewise.
* trans-common.c: Likewise.
* trans-decl.c: Likewise.
* trans-intrinsic.c: Likewise.
* trans-io.c: Likewise.
* trans-stmt.c: Likewise.
* trans-types.c: Likewise.

From-SVN: r125533

17 years agore PR target/31850 (gcc.c-torture/compile/limits-fnargs.c is slow at compiling for...
Steve Ellcey [Thu, 7 Jun 2007 16:46:26 +0000 (16:46 +0000)]
re PR target/31850 (gcc.c-torture/compile/limits-fnargs.c is slow at compiling for spu-elf)

PR target/31850
* rtl.h (push_to_sequence2): New.
* emit-rtl.c (push_to_sequence2): New.
* function.c (assign_parm_data_all): Add new fields.
(assign_parm_setup_block): Call push_to_sequence2 instead of
push_to_sequence.
(assign_parm_setup_reg): Ditto.
(assign_parm_setup_stack): Ditto.
(assign_parms_unsplit_complex): Ditto.
(assign_parms): Change field name.

From-SVN: r125532

17 years agore PR tree-optimization/32220 (internal compiler error: in eliminate_temp_copies...
Zdenek Dvorak [Thu, 7 Jun 2007 15:34:40 +0000 (17:34 +0200)]
re PR tree-optimization/32220 (internal compiler error: in eliminate_temp_copies, at tree-predcom.c:1937)

PR tree-optimization/32220
* tree-predcom.c (eliminate_temp_copies): Handle the case that loop
phi node is reached before defining statement.

* gfortran.dg/predcom-2.f: New testcase.

From-SVN: r125531

17 years agoAdd new tests
Arnaud Charlet [Thu, 7 Jun 2007 13:44:58 +0000 (15:44 +0200)]
Add new tests

From-SVN: r125529

17 years agore PR libgcj/32227 (../gcc/libjava/classpath/include/config-int.h:7:20: error: stdint...
Matthias Klose [Thu, 7 Jun 2007 13:38:49 +0000 (13:38 +0000)]
re PR libgcj/32227 (../gcc/libjava/classpath/include/config-int.h:7:20: error: stdint.h: No such file or directory)

2007-06-07  Matthias Klose  <doko@ubuntu.com>

        PR libgcj/32227
        * include/config-int.h: Delete, it is a generated file.

From-SVN: r125528

17 years agoAdd new tests
Arnaud Charlet [Thu, 7 Jun 2007 11:04:02 +0000 (13:04 +0200)]
Add new tests

From-SVN: r125527

17 years agore PR tree-optimization/32231 (Segfault in verify_ssa_name)
Andrew Pinski [Thu, 7 Jun 2007 02:12:31 +0000 (02:12 +0000)]
re PR tree-optimization/32231 (Segfault in verify_ssa_name)

2007-06-06  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/32231
        * tree-vect-transform.c (vectorizable_call): Call update_stmt
        after changing the right hand side of the assignment.

2007-06-06  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/32231
        * gcc.target/i386/vectorize4.c: New test.

From-SVN: r125521

17 years agoDaily bump.
GCC Administrator [Thu, 7 Jun 2007 00:16:54 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r125514

17 years ago* config.sub, config.guess: Update from upstream sources.
Ben Elliston [Wed, 6 Jun 2007 23:23:20 +0000 (23:23 +0000)]
* config.sub, config.guess: Update from upstream sources.

From-SVN: r125511

17 years ago* gfortran.dg/integer_exponentiation_3.F90: Use approx. check.
Steve Ellcey [Wed, 6 Jun 2007 23:11:06 +0000 (23:11 +0000)]
* gfortran.dg/integer_exponentiation_3.F90: Use approx. check.

From-SVN: r125510

17 years agoMakefile.tpl: Fix spelling error.
Ben Elliston [Wed, 6 Jun 2007 23:02:22 +0000 (23:02 +0000)]
Makefile.tpl: Fix spelling error.

* Makefile.tpl: Fix spelling error.
* Makefile.in: Regenerate.

From-SVN: r125509

17 years agoconfig.gcc (i?86-*-darwin*): Remove arch parameter.
Eric Christopher [Wed, 6 Jun 2007 22:43:49 +0000 (22:43 +0000)]
config.gcc (i?86-*-darwin*): Remove arch parameter.

2007-06-06  Eric Christopher  <echristo@apple.com>

    * config.gcc (i?86-*-darwin*): Remove arch parameter.
    (x86_64-*-darwin*): Ditto.
    * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Define.
    (TARGET_SUBTARGET64_ISA_DEFAULT): Ditto.

From-SVN: r125508

17 years agore PR testsuite/25241 ([C++] DejaGNU does not distinguish between errors and warnings)
Manuel López-Ibáñez [Wed, 6 Jun 2007 20:49:09 +0000 (20:49 +0000)]
re PR testsuite/25241 ([C++] DejaGNU does not distinguish between errors and warnings)

2007-06-06  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

PR testsuite/25241

testsuite/
* gcc.dg/simd-5.c: Mark output as a note.
* gcc.dg/simd-6.c: Mark output as a note. Fix incorrect use of
dg-message.
* gcc.dg/simd-1.c: Likewise.
* gcc.dg/always_inline.c: Mark output as a sorry.
* gcc.dg/always_inline2.c: Likewise.
* gcc.dg/always_inline3.c: Likewise.

From-SVN: r125505

17 years agotree-ssa-alias-warnings.c (maybe_add_match): Cast according to the coding conventions.
Thomas Neumann [Wed, 6 Jun 2007 20:18:47 +0000 (20:18 +0000)]
tree-ssa-alias-warnings.c (maybe_add_match): Cast according to the coding conventions.

* tree-ssa-alias-warnings.c (maybe_add_match): Cast according to the
coding conventions.
(add_key): Likewise.
* tree-ssa.c (init_tree_ssa): Use type safe memory macros.
* tree-ssa-ccp.c (ccp_fold_builtin): Avoid using C++ keywords as
variable names.
* tree-ssa-coalesce.c (find_coalesce_pair): Use type safe memory macros.
(add_cost_one_coalesce): Likewise.
* tree-ssa-copy.c (merge_alias_info): Avoid using C++ keywords as
variable names. Rename orig to orig_name for consistency.
* tree-ssa-dom.c (dom_thread_across_edge): Cast according to the coding
conventions.
(cprop_into_successor_phis): Avoid using C++ keywords as variable names.
(record_equivalences_from_stmt): Likewise.
* tree-ssa-dse.c (dse_initialize_block_local_data): Cast according to
the coding conventions.
(memory_ssa_name_same): Likewise.
(dse_optimize_stmt): Likewise.
(dse_record_phis): Likewise.
(dse_finalize_block): Likewise.
* tree-ssa-loop-im.c (outermost_invariant_loop_expr): Avoid using C++
keywords as variable names.
(may_move_till): Cast according to the coding conventions.
(force_move_till_expr): Avoid using C++ keywords as variable names.
(force_move_till): Cast according to the coding conventions.
(memref_hash): Likewise.
(memref_eq): Likewise.
(gather_mem_refs_stmt): Likewise.
* tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Avoid using C++
keywords as variable names.
(idx_find_step): Cast according to the coding conventions.
(idx_record_use): Likewise.
(find_depends): Likewise.
(prepare_decl_rtl): Likewise.
(mbc_entry_hash): Likewise.
(mbc_entry_eq): Likewise.
* tree-ssa-loop-niter.c (SWAP): Use the correct the type for tmp.
(simplify_replace_tree): Avoid using C++ keywords as variable names.
(idx_infer_loop_bounds): Cast according to the coding conventions.
* tree-ssa-loop-prefetch.c (idx_analyze_ref): Likewise.
* tree-ssa-math-opts.c (occ_new ): Likwise.
* tree-ssanames.c (duplicate_ssa_name_ptr_info): Use type safe memory
macros.
* tree-ssa-operands.c (add_def_op): Avoid using C++ keywords as variable
names.
(add_use_op): Likewise.
(add_vop): Likewise.
(add_vuse_op): Likewise.
(add_vdef_op): Likewise.
(get_expr_operands): Likewise.
(push_stmt_changes): Use type safe memory macros.
* tree-ssa-phiopt.c (replace_phi_edge_with_variable): Avoid using C++
keywords as variable names.
(conditional_replacement): Likewise.
(minmax_replacement): Likewise.
(abs_replacement): Likewise.
* tree-ssa-pre.c (create_expression_by_pieces): Cast according to the
coding conventions.
(insert_fake_stores): Avoid using C++ keywords as variable names.
* tree-ssa-reassoc.c (add_to_ops_vec): Cast according to the coding
conventions.
* tree-ssa-structalias.c (heapvar_lookup): Likewise.
(heapvar_insert): Use type safe memory macros.
(new_var_info): Cast according to the coding conventions.
(new_constraint): Likewise.
(remove_preds_and_fake_succs): Use type safe memory macros.
* tree-ssa-threadupdate.c (thread_block): Cast according to the coding
conventions.
(thread_single_edge): Likewise.

From-SVN: r125504

17 years agore PR libstdc++/32233 (warning in stl_vector.h:832)
Paolo Carlini [Wed, 6 Jun 2007 18:44:02 +0000 (18:44 +0000)]
re PR libstdc++/32233 (warning in stl_vector.h:832)

2007-06-06  Paolo Carlini  <pcarlini@suse.de>

PR libstdc++/32233
* include/bits/stl_vector.h (_M_fill_initialize): Fix return type.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Adjust dg-error line.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
Likewise.

From-SVN: r125499

17 years agoi386.c (override_options): Move handling of TARGET_SUBTARGET* earlier.
Eric Christopher [Wed, 6 Jun 2007 18:39:25 +0000 (18:39 +0000)]
i386.c (override_options): Move handling of TARGET_SUBTARGET* earlier.

2007-06-06  Eric Christopher  <echristo@apple.com>

        * config/i386/i386.c (override_options): Move handling
        of TARGET_SUBTARGET* earlier.

From-SVN: r125497

17 years agore PR testsuite/31828 (FAIL: gcc.dg/float-range-[3-5].c (test for excess errors))
Steve Ellcey [Wed, 6 Jun 2007 17:48:03 +0000 (17:48 +0000)]
re PR testsuite/31828 (FAIL: gcc.dg/float-range-[3-5].c (test for excess errors))

PR testsuite/31828
* inclhack.def (hppa_hpux_fp_macros): New.
* fixincl.x: Regenerate.
* * tests/base/math.h: Update.

From-SVN: r125496

17 years agogenmodes.c (tagged_printf, [...]): Don't use %n on printf.
Paolo Bonzini [Wed, 6 Jun 2007 15:43:29 +0000 (15:43 +0000)]
genmodes.c (tagged_printf, [...]): Don't use %n on printf.

2007-06-06  Paolo Bonzini  <bonzini@gnu.org>

* genmodes.c (tagged_printf, emit_insn_modes_h): Don't
use %n on printf.

From-SVN: r125494

17 years agohaifa-sched.c (restore_bb_notes): Clear bb field of the notes emited outside of basic...
Zdenek Dvorak [Wed, 6 Jun 2007 14:46:34 +0000 (16:46 +0200)]
haifa-sched.c (restore_bb_notes): Clear bb field of the notes emited outside of basic block.

* haifa-sched.c (restore_bb_notes): Clear bb field of the notes
emited outside of basic block.
* cfgbuild.c (find_bb_boundaries): Clear bb field for insns between
the created blocks.
* rtl.h (delete_insn_chain): Declaration changed.
* cfgrtl.c (delete_insn_chain): Add option to clear bb field for
non-removed insns.
(rtl_delete_block, rtl_merge_blocks): Pass true to delete_insn_chain.
(delete_insn_chain_and_edges, try_redirect_by_replacing_jump,
rtl_tidy_fallthru_edge, cfg_layout_merge_blocks): Pass false
to delete_insn_chain.
(rtl_verify_flow_info_1): Verify that the insns in header and footer
do not have bb field set.
(rtl_verify_flow_info): Verify that insns between basic blocks do not
have bb field set.
* recog.c (peephole2_optimize): Add argument to delete_insn_chain call.
* cfgcleanup.c (try_optimize_cfg): Ditto.

From-SVN: r125492

17 years agolambda-code.c (struct lambda_lattice_s): Add a name to the struct.
Thomas Neumann [Wed, 6 Jun 2007 14:33:57 +0000 (14:33 +0000)]
lambda-code.c (struct lambda_lattice_s): Add a name to the struct.

* lambda-code.c (struct lambda_lattice_s): Add a name to the struct.
(lambda_body_vector_new): Use type safe memory macros.
(lambda_linear_expression_new): Likewise.
(lambda_loopnest_new): Likewise.
(lambda_lattice_new): Likewise.
(replace_uses_equiv_to_x_with_y): Cast according to the coding
conventions. Use type safe memory macros.
* lambda.h (struct lambda_trans_matrix_s): Add a name to the struct.
(lambda_body_vector_s): Likewise.
* lambda-mat.c (lambda_matrix_new): Use type safe memory macros.
* lambda-trans.c (lambda_trans_matrix_new): Likewise.

From-SVN: r125491

17 years agotree-ssa-forwprop.c (forward_propagate_into_cond): Return 2 if we need to schedule...
Richard Biener [Wed, 6 Jun 2007 13:58:41 +0000 (13:58 +0000)]
tree-ssa-forwprop.c (forward_propagate_into_cond): Return 2 if we need to schedule cfg_cleanup.

2007-06-06  Richard Guenther  <rguenther@suse.de>

* tree-ssa-forwprop.c (forward_propagate_into_cond): Return 2
if we need to schedule cfg_cleanup.
(tree_ssa_forward_propagate_single_use_vars): Do so.

From-SVN: r125490

17 years agodebug.html: Correct link.
Benjamin Kosnik [Wed, 6 Jun 2007 13:57:00 +0000 (13:57 +0000)]
debug.html: Correct link.

2007-06-06  Benjamin Kosnik  <bkoz@redhat.com>
    Frank Mori Hess  <frank.hess@nist.gov>

    * docs/html/debug.html: Correct link.

From-SVN: r125488

17 years agofold-const.c (merge_ranges): If range_successor or range_predecessor fail, just return 0.
Ian Lance Taylor [Wed, 6 Jun 2007 13:56:00 +0000 (13:56 +0000)]
fold-const.c (merge_ranges): If range_successor or range_predecessor fail, just return 0.

./: * fold-const.c (merge_ranges): If range_successor or
range_predecessor fail, just return 0.
testsuite/:
* g++.dg/conversion/enum1.C: New test.

From-SVN: r125486

17 years ago2007-06-06 Benjamin Kosnik <bkoz@redhat.com>
Benjamin Kosnik [Wed, 6 Jun 2007 13:54:44 +0000 (13:54 +0000)]
2007-06-06  Benjamin Kosnik  <bkoz@redhat.com>
    Frank Mori Hess  <frank.hess@nist.gov>

Co-Authored-By: Frank Mori Hess <frank.hess@nist.gov>
From-SVN: r125485

17 years agoconfigure.ac: Update TOOLS_TARGET_PAIRS configuration to match gcc/ada/Makefile.in.
Arnaud Charlet [Wed, 6 Jun 2007 13:18:52 +0000 (13:18 +0000)]
configure.ac: Update TOOLS_TARGET_PAIRS configuration to match gcc/ada/Makefile.in.

        * configure.ac: Update TOOLS_TARGET_PAIRS configuration to match
        gcc/ada/Makefile.in.

        * configure: Regenerated.

From-SVN: r125484

17 years agore PR tree-optimization/32216 (ICE: verify_stmts failed (invalid reference prefix...
Uros Bizjak [Wed, 6 Jun 2007 12:12:32 +0000 (14:12 +0200)]
re PR tree-optimization/32216 (ICE: verify_stmts failed (invalid reference prefix) with -ftree-vectorize)

PR tree-optimization/32216
* tree-vectorizer.c (supportable_widening_operation): Determine
signedness of FIX_TRUNC_EXPR from output operand.
(supportable_narrowing_operation): Ditto.
* tree-vect-generic.c (expand_vector_operations_1): Determine
signedness of VEC_UNPACK_FLOAT_HI_EXPR and VEC_UNPACK_FLOAT_LO_EXPR
from input operand.

testsuite/ChangeLog:

PR tree-optimization/32216
* gcc.dg/vect/pr32216.c: New test.

From-SVN: r125482

17 years agoResync
Arnaud Charlet [Wed, 6 Jun 2007 11:07:47 +0000 (13:07 +0200)]
Resync

From-SVN: r125481

17 years agoAdd new tests
Arnaud Charlet [Wed, 6 Jun 2007 10:54:25 +0000 (12:54 +0200)]
Add new tests

From-SVN: r125480

17 years agoMinor editing.
Arnaud Charlet [Wed, 6 Jun 2007 10:54:04 +0000 (12:54 +0200)]
Minor editing.

Update constants.
Update copyright notice.

From-SVN: r125479

17 years agoa-reatim.adb: Documentation addition
Robert Dewar [Wed, 6 Jun 2007 10:52:32 +0000 (12:52 +0200)]
a-reatim.adb: Documentation addition

2007-04-20  Robert Dewar  <dewar@adacore.com>

* a-reatim.adb: Documentation addition

* g-cgideb.adb: Minor code reorganization

* tree_io.adb, treepr.adb, cstand.adb, krunch.adb, par.adb,
mdll-utl.adb, par-ch5.adb, par-tchk.adb, s-exctab.ads, s-memory.ads,
s-osprim.ads, s-restri.ads, s-soflin.ads: Minor reformatting.

* debug.ads, debug.adb (Get_Debug_Flag_K): Remove unused obsolete
function.  Change name New_Scope to Push_Scope
(Get_Debug_Flag_K): Remove unused obsolete function.

* exp_ch8.adb, inline.adb, sem_ch8.ads: Change name New_Scope to
Push_Scope.

* makeusg.adb: Update Copyright notice
Add line for switch -aP

* makeusg.adb: Fix wording of some usage messages

* s-assert.adb (Raise_Assert_Failure): Add call to
Debug_Raise_Assert_Failure.

* s-unstyp.ads (type Packed_Bytes2): Change alignment to use 'Min
(2, Standard'Alignment) for compatibility with AAMP (where alignment
is restricted to 1).

* s-wchjis.adb: Remove use of System.Pure_Exceptions

* tbuild.ads, tbuild.adb (Make_Implicit_Exception_Handler): Set the
node location to No_Location when we're not debugging the expanded
code.

From-SVN: r125478

17 years agoa-cidlli.ads, [...] (Empty_Vector, [...]): Move this object declaration after freezin...
Javier Miranda [Wed, 6 Jun 2007 10:52:10 +0000 (12:52 +0200)]
a-cidlli.ads, [...] (Empty_Vector, [...]): Move this object declaration after freezing point of all its associated tagged...

2007-04-20  Javier Miranda  <miranda@adacore.com>

* a-cidlli.ads, a-cdlili.ads, a-cohama.ads, a-coinve.ads,
a-convec.ads (Empty_Vector, Empty_Map, Empty_List): Move this object
declaration after freezing point of all its associated tagged types;
otherwise such types are frozen too early.

From-SVN: r125477

17 years agomakegpr.adb (Add_Archive_Path): Use untouched object and library dirs and library...
Pascal Obry [Wed, 6 Jun 2007 10:51:56 +0000 (12:51 +0200)]
makegpr.adb (Add_Archive_Path): Use untouched object and library dirs and library name.

2007-04-20  Pascal Obry  <obry@adacore.com>
    Vincent Celier  <celier@adacore.com>

* makegpr.adb (Add_Archive_Path): Use untouched object and library
dirs and library name.
(Build_Global_Archive): Idem. Minor code clean-up. Removes duplicate
comments.
(Build_Library): Idem.
(Compile_Individual_Sources): Idem.
(Compile_Link_With_Gnatmake): Idem.
(Compile_Sources): Idem.
(Get_Imported_Directories): Idem.
(Link_Executables): Idem. Same change for the executable dir.
(Check_Compilation_Needed): C_Source_Path new variable containing
the canonical form of Source_Path to check against the source names
in the dependency file.
(Build_Global_Archive, Compile_Individual_Sources, Compile_Sources): In
verbose mode, display the name of the object directory we're changing
to.
(Saved_Switches): New name of table X_Switches
(Scan_Arg): Recognize new switch -aP and save in table Saved_Switches
(Usage): New line for switch -aP
(Get_Imported_Directories.Add): Make sure that Add_Arg is True before
testing if a directory should be added to the search path.

From-SVN: r125476

17 years agoxgnatugn.adb: Allow dots to be used in ug_words (-gnatw.c and -gnatw.C)
Vincent Celier [Wed, 6 Jun 2007 10:51:44 +0000 (12:51 +0200)]
xgnatugn.adb: Allow dots to be used in ug_words (-gnatw.c and -gnatw.C)

2007-04-20  Vincent Celier  <celier@adacore.com>
    Robert Dewar  <dewar@adacore.com>

* xgnatugn.adb: Allow dots to be used in ug_words (-gnatw.c and
-gnatw.C)

* gnat_ugn.texi: Fix ordering of -g switch for gnatmake
Document gnatbind switch -a
(case Constructions): Document that variables declarations are allowed
for previously declared variables.
Fix external lib project example
-gnatg: Indicate new VMS qualifier /GNAT_INTERNAL
Indicate that "#if not X or Y then" is not allowed in input files to
gnatprep.
Document gnatw.x and gnatw.X warning flags
Mention -Winline switch to activate warnings when back-end inlining is
ineffective.
Add gnatcheck rule descriptions
Describe how to use the GNAT driver to call a tool on a closure.
Describe how to run project-wide checks or metrics.
Document gnatbind's -R option
Updated to account for Ada 2005 support

* gnat_rm.texi (Case Construction): Allow variable declarations for
previously declared variables.
(Representation Clauses and Pragmas): Lift restriction on alignment
clauses for record types.
(Ada.Characters.*): Fix typo in reference to A.3.3(27).
Document No_Exception_Propagation restriction
Document No_Body pragma
Updated to account for Ada 2005 support; corrected some typos
(Implementation Defined Pragmas): Document pragma Universal_Aliasing.

* gnat-style.texi: Make it clear that we never use mode IN for
procedures or functions

* ug_words: Add entries for -gnatw.x and -gnatw.X
Add entries for -gnatw.c/.C

From-SVN: r125475

17 years agovms_conv.adb (Process_Argument): Keep arguments starting with '+' as is.
Vincent Celier [Wed, 6 Jun 2007 10:51:19 +0000 (12:51 +0200)]
vms_conv.adb (Process_Argument): Keep arguments starting with '+' as is.

2007-04-20  Vincent Celier  <celier@adacore.com>

* vms_conv.adb (Process_Argument): Keep arguments starting with '+' as
is.

* vms_data.ads: Add entries for -gnatw.x and -gnatw.X
/STYLE_CHECKS=GNAT: Change meaning to -gnatyg
/GNAT_INTERNAL: New compiler qualifier corresponding to -gnatg
Add missing comment for /OPTIMIZE=SPACE
Add entry for OPTIMIZE=SPACE
Add new qualifier /ALL_PROJECTS (= -U) for GNAT LIST
Add documentation for new qualifiers corresponding to -gnatw.c/.C

From-SVN: r125474

17 years agotypes.h, types.ads: Rename PE_Illegal_CW_Actual_E_4_18 to PE_Non_Transportable_Actual.
Thomas Quinot [Wed, 6 Jun 2007 10:50:59 +0000 (12:50 +0200)]
types.h, types.ads: Rename PE_Illegal_CW_Actual_E_4_18 to PE_Non_Transportable_Actual.

2007-04-20  Thomas Quinot  <quinot@adacore.com>

* types.h, types.ads: Rename PE_Illegal_CW_Actual_E_4_18 to
PE_Non_Transportable_Actual.
(By_Descriptor_Last): New constant.
(By_Copy_Return): Likewise.

From-SVN: r125473

17 years agotracebak.c (FRAME_OFFSET): Add parameter FP.
Eric Botcazou [Wed, 6 Jun 2007 10:50:46 +0000 (12:50 +0200)]
tracebak.c (FRAME_OFFSET): Add parameter FP.

2007-04-20  Eric Botcazou  <ebotcazou@adacore.com>

* tracebak.c (FRAME_OFFSET): Add parameter FP. On SPARC/Solaris, do not
add the stack bias if the offset is computed from a frame address.
(__gnat_backtrace): Adjust for above change.

From-SVN: r125472

17 years agos-stchop-vxworks.adb (Set_Stack_Info): Instead of trying to map the VxWorks task...
Matthew Gingell [Wed, 6 Jun 2007 10:50:30 +0000 (12:50 +0200)]
s-stchop-vxworks.adb (Set_Stack_Info): Instead of trying to map the VxWorks task descriptor in the Ada run time...

2007-04-20  Matthew Gingell  <gingell@adacore.com>
    Jose Ruiz  <ruiz@adacore.com>

* s-stchop-vxworks.adb (Set_Stack_Info): Instead of trying to map the
VxWorks task descriptor in the Ada run time, call a C subprogram
(__gnat_get_stack_info) that extracts the required information.

* sysdep.c: Back out temporary lynxos workaround.
(__gnat_get_stack_info): Add this procedure that passes to the Ada run
time the stack information associated to the currently executing task.
Only VxWorks systems require this function.

From-SVN: r125471

17 years agoswitch-b.adb (Scan_Binder_Switches): Add processing for new switches -R and -Z
Vincent Celier [Wed, 6 Jun 2007 10:50:04 +0000 (12:50 +0200)]
switch-b.adb (Scan_Binder_Switches): Add processing for new switches -R and -Z

2007-04-20  Vincent Celier  <celier@adacore.com>

* switch-b.adb (Scan_Binder_Switches): Add processing for new
switches -R and -Z

* switch-m.adb (Normalize_Compiler_Switches): Do not record switch -E
(Scan_Make_Switches): Recognize new switch -aP

From-SVN: r125470

17 years agostylesw.ads, [...] (Set_GNAT_Style_Check): New procedure
Robert Dewar [Wed, 6 Jun 2007 10:49:42 +0000 (12:49 +0200)]
stylesw.ads, [...] (Set_GNAT_Style_Check): New procedure

2007-04-20  Robert Dewar  <dewar@adacore.com>

* stylesw.ads, stylesw.adb (Set_GNAT_Style_Check): New procedure
(Set_Style_Check_Options): Recognize new -gnatyg style switch

* switch-c.adb (Scan_Front_End_Switches, case -gnatg): Set
Warn_On_Non_Local_Exception to False, to turn off warnings for
No_Exception_Propagation in ZFP runtime.
(Scan_Front_End_Switches): Fix handling of --RTS switch for non GCC
back-ends.
(Scan_Front_End_Switches): For 'g', call Set_GNAT_Style_Checks

From-SVN: r125469

17 years agoa-dirval-vms.adb, [...] (Windows): New Boolean function.
Vincent Celier [Wed, 6 Jun 2007 10:49:20 +0000 (12:49 +0200)]
a-dirval-vms.adb, [...] (Windows): New Boolean function.

2007-04-20  Vincent Celier  <celier@adacore.com>

* a-dirval-vms.adb, a-dirval.ads, a-dirval.adb (Windows): New Boolean
function.

* a-dirval-mingw.adb (Is_Valid_Path_Name): Forbid a path with a drive
letter if it is not followed by a '/' or a '\'.
(Windows): New Boolean function

* a-direct.ads, a-direct.adb: Remove unnecessary and misplaced pragma
Ada 2005.
(Containing_Directory): On Windows, keep at least one '/' or '\' after a
drive letter.
(Containing_Directory): Raise Use_Error when the directory is a root
directory.
(Extension): When returning the result, use a conversion to Result_Type,
not a qualification.

From-SVN: r125468

17 years agos-stoele.ads, [...]: Move inline_always subprograms earlier than their first call.
Eric Botcazou [Wed, 6 Jun 2007 10:49:08 +0000 (12:49 +0200)]
s-stoele.ads, [...]: Move inline_always subprograms earlier than their first call.

2007-04-20  Eric Botcazou  <ebotcazou@adacore.com>

* s-stoele.ads, s-stoele.adb: Move inline_always subprograms earlier
than their first call.
Add type Dummy_Communication_Block used in the generation of the pre-
defined dispatching primitive _disp_asynchronous_select.
(Storage_Element): Put Pragma Universal_Aliasing on it.

From-SVN: r125467

17 years agog-soccon-darwin.ads, [...]: Add new constant Thread_Blocking_IO...
Thomas Quinot [Wed, 6 Jun 2007 10:48:51 +0000 (12:48 +0200)]
g-soccon-darwin.ads, [...]: Add new constant Thread_Blocking_IO...

2007-04-20  Thomas Quinot  <quinot@adacore.com>

* g-soccon-darwin.ads, gen-soccon.c: Add new constant
Thread_Blocking_IO, always True by default, set False on a per-runtime
basis.
Add Windows-specific constants
Add new constant Need_Netdb_Buffer.
Add new macros to indicate whether getXXXbyYYY is thread safe and, if
not, whether to use getXXXbyYYY_r.

* gsocket.h: Add new constant Need_Netdb_Buffer.
Add new macros to indicate whether getXXXbyYYY is thread safe and, if
not, whether to use getXXXbyYYY_r.

From-SVN: r125466

17 years agos-stausa.ads, [...] (Initialize_Analyzer): Added parameter "Overflow_Guard".
Quentin Ochem [Wed, 6 Jun 2007 10:48:27 +0000 (12:48 +0200)]
s-stausa.ads, [...] (Initialize_Analyzer): Added parameter "Overflow_Guard".

2007-04-20  Quentin Ochem  <ochem@adacore.com>

* s-stausa.ads, s-stausa.adb (Initialize_Analyzer): Added parameter
"Overflow_Guard".
(Stack_Analyzer): Added field "Overflow_Guard"
(Task_Result): Added field "Overflow_Guard".
(Index_Str): New constant.
(Task_Name_Str): New constant.
(Actual_Size_Str): New constant.
(Pattern_Array_Element_Size): New constant.
(Get_Usage_Range): New subprogram.
(Output_Result): Added parameter Max_Size_Len and Max_Actual_Use_Len.
Now align the output.
Added comments.
(Initialize): Added value for Overflow_Guard.
(Fill_Stack): Use constant Pattern_Array_Elem_Size when relevant.
Update the value of the overflow guard according to the actual
beginning of the pattern array.
(Initialize_Analyzer): Added parameter Overflow_Guard.
Take this parameter into accound when computing the max size.
(Compute_Result): Use constant Pattern_Array_Elem_Size when relevant.
(Report_Result): Removed extra useless procedure.
Updated call to Output_Result.
Moved full computation of the Task_Result here.

From-SVN: r125465

17 years agos-secsta.adb (Chunk): Ensure this object has a static size known at compile time...
Arnaud Charlet [Wed, 6 Jun 2007 10:48:07 +0000 (12:48 +0200)]
s-secsta.adb (Chunk): Ensure this object has a static size known at compile time...

2007-04-20  Arnaud Charlet  <charlet@adacore.com>

* s-secsta.adb (Chunk): Ensure this object has a static size known at
compile time, to avoid dynamic memory allocation
(Elaboration code): Only use dynamic memory allocation when needed.

From-SVN: r125464

17 years agosprint.ads, sprint.adb (Sprint_Node_Actual): Output aggregate for exceptions.
Ed Schonberg [Wed, 6 Jun 2007 10:47:54 +0000 (12:47 +0200)]
sprint.ads, sprint.adb (Sprint_Node_Actual): Output aggregate for exceptions.

2007-04-20  Ed Schonberg  <schonberg@adacore.com>
    Robert Dewar  <dewar@adacore.com>

* sprint.ads, sprint.adb (Sprint_Node_Actual): Output aggregate for
exceptions.
(Write_Itype): Handle case of string literal subtype, which
comes up in this context.
(Update_Itype): when debugging expanded code, update sloc of itypes
associated with defining_identifiers and ranges, for gdb use.
(Sprint_Node_Actual): Add static keyword to object or exception
declaration output if Is_Statically_Allocated is True.
(Sprint_End_Label): Set entity of end marker for a subprogram, package,
or task body, so that the tree carries the proper Sloc information for
debugging use.
(Write_Indent): In Dump_Source_Text mode, ignore implicit label nodes

From-SVN: r125463

17 years agosinput-l.ads, [...]: implement a new pragma No_Body
Robert Dewar [Wed, 6 Jun 2007 10:47:30 +0000 (12:47 +0200)]
sinput-l.ads, [...]: implement a new pragma No_Body

2007-04-20  Robert Dewar  <dewar@adacore.com>

* sinput-l.ads, sinput-l.adb: implement a new pragma No_Body

From-SVN: r125462

17 years agosem_smem.adb (Check_Shared_Var): Check explicitly for as task object, to prevent...
Ed Schonberg [Wed, 6 Jun 2007 10:47:17 +0000 (12:47 +0200)]
sem_smem.adb (Check_Shared_Var): Check explicitly for as task object, to prevent subsequent expansion.

2007-04-20  Ed Schonberg  <schonberg@adacore.com>

* sem_smem.adb (Check_Shared_Var): Check explicitly for as task object,
to prevent subsequent expansion.

From-SVN: r125461

17 years agosem_eval.adb (Eval_Relational_Op): nothing to do if an operand is an illegal aggregat...
Robert Dewar [Wed, 6 Jun 2007 10:47:02 +0000 (12:47 +0200)]
sem_eval.adb (Eval_Relational_Op): nothing to do if an operand is an illegal aggregate and the type is still...

2007-04-20  Robert Dewar  <dewar@adacore.com>

* sem_eval.adb (Eval_Relational_Op): nothing to do if an operand is an
illegal aggregate and the type is still Any_Composite.
(Subtypes_Statically_Match): Fix problem of empty discriminant list

From-SVN: r125460

17 years agos-finroo.ads, [...] (Read, Write): Use null procedure declarations instead of an...
Thomas Quinot [Wed, 6 Jun 2007 10:46:39 +0000 (12:46 +0200)]
s-finroo.ads, [...] (Read, Write): Use null procedure declarations instead of an explicit null body, for conciseness.

2007-04-20  Thomas Quinot  <quinot@adacore.com>

* s-finroo.ads, s-finroo.adb (Read, Write): Use null procedure
declarations instead of an explicit null body, for conciseness.

From-SVN: r125459

17 years agos-taprob.adb (Unlock): Change the ceiling priority of the underlying lock, if needed.
Jose Ruiz [Wed, 6 Jun 2007 10:46:22 +0000 (12:46 +0200)]
s-taprob.adb (Unlock): Change the ceiling priority of the underlying lock, if needed.

2007-04-20  Jose Ruiz  <ruiz@adacore.com>
    Arnaud Charlet  <charlet@adacore.com>

* s-taprob.adb (Unlock): Change the ceiling priority of the underlying
lock, if needed.

* s-taprop.ads (Set_Ceiling): Add this procedure to change the ceiling
priority associated to a lock.

* s-tpoben.adb ([Vulnerable_]Complete_Task, Lock_Entries): Relax
assertion to take into account case of no abort restriction.
(Initialize_Protection_Entries): Add initialization for the field
New_Ceiling associated to the protected object.
(Unlock_Entries): Change the ceiling priority of the underlying lock, if
needed.

* s-solita.adb (Get_Current_Excep): Moved back to s-tasini/s-tarest,
since this function needs to be set consistently with Update_Exception.

* s-tarest.adb (Get_Current_Excep): Moved back to s-tasini/s-tarest,
since this function needs to be set consistently with Update_Exception.

* s-taskin.ads: Update comments on
Interrupt_Server_Blocked_On_Event_Flag.
(Unbind_Handler): Fix handling of server_task wakeup
(Server_Task): Set self's state so that Unbind_Handler can take
appropriate actions.
(Common_ATCB): Now use a constant from System.Parameters to determine
the max size of the Task_Image field.

* s-tassta.adb (Task_Wrapper): Now pass the overflow guard to the
Initialize_Analyzer function.
([Vulnerable_]Complete_Task, Lock_Entries): Relax assertion to
take into account case of no abort restriction.
([Vulnerable_]Complete_Master): Modify assertion.

* s-tataat.adb (Finalize): Use the nestable versions of
Defer/Undefer_Abort.

* s-tpobop.adb (Protected_Entry_Call): Relax assertion.

* s-tpobop.ads: Update comments.

* s-tposen.adb (Protected_Single_Entry_Call): Call Lock_Entry instead
of locking the object manually, to avoid inconsistencies between
Lock/Unlock_Entry assertions.

* s-interr.ads, s-interr.adb (Server_Task): Fix race condition when
terminating
application and System.Parameters.No_Abort is True.
Update comments on Interrupt_Server_Blocked_On_Event_Flag.
(Unbind_Handler): Fix handling of server_task wakeup
(Server_Task): Set self's state so that Unbind_Handler can take
appropriate actions.

From-SVN: r125458

17 years ago2007-04-20 Thomas Quinot <quinot@adacore.com>
Thomas Quinot [Wed, 6 Jun 2007 10:46:09 +0000 (12:46 +0200)]
2007-04-20  Thomas Quinot  <quinot@adacore.com>
    Olivier Hainque  <hainque@adacore.com>

* a-except-2005.ads, a-except-2005.adb
(Raise_From_Controlled_Operation): New procedure in
(private part of) Ada.Exceptions (standard runtime version). Used to
provide informational exception message when Program_Error is raised as
a result of an Adjust or Finalize operation propagating an exception.
(Rmsg_28): Fix description for E.4(18) check.
(Raise_Current_Excep): Call Debug_Raise_Exception just before
propagation starts, to let debuggers know about the event in a reliable
fashion.
Take the address of E and dereference to make sure it is homed on stack
and prevent the stores from being deleted, necessary for proper
debugger behavior on "break exception" hits.
(Local_Raise): Moved to System.Exceptions

* s-finimp.adb (Raise_From_Finalize): Code to construct an appropriate
exception message from the current occurrence and raise Program_Error
has been moved to Ada.Exceptions.Raise_From_Controlled_Operation.

From-SVN: r125457

17 years agosocket.c (__gnat_close_signalling_fd): New function.
Thomas Quinot [Wed, 6 Jun 2007 10:45:42 +0000 (12:45 +0200)]
socket.c (__gnat_close_signalling_fd): New function.

2007-04-20  Thomas Quinot  <quinot@adacore.com>

* socket.c (__gnat_close_signalling_fd): New function.
(__gnat_safe_gethostbyaddr, __gnat_safe_gethostbyname,
__gnat_safe_getservbyname, __gnat_safe_getservbyport):
New supporting functions for task safe Netdb operations.

From-SVN: r125456

17 years agoraise-gcc.c (__gnat_eh_personality): Tweak the signature and add special code on...
Olivier Hainque [Wed, 6 Jun 2007 10:45:25 +0000 (12:45 +0200)]
raise-gcc.c (__gnat_eh_personality): Tweak the signature and add special code on ia64-vms to handle major...

2007-04-20  Olivier Hainque  <hainque@adacore.com>

* raise-gcc.c (__gnat_eh_personality): Tweak the signature and add
special code on ia64-vms to handle major incompatibilities between the
GCC unwinding ABI and the VMS Condition Handling Facility, both calling
this routine with a very different set of arguments and expectations on
the return value.

From-SVN: r125455

17 years agosem_elab.adb (Check_A_Call): Specialize elaboration warnings on elaboration model
Robert Dewar [Wed, 6 Jun 2007 10:45:10 +0000 (12:45 +0200)]
sem_elab.adb (Check_A_Call): Specialize elaboration warnings on elaboration model

2007-04-20  Robert Dewar  <dewar@adacore.com>

* sem_elab.adb (Check_A_Call): Specialize elaboration warnings on
elaboration model
(Check_A_Call): Add check for entry call which was causing blowup

From-SVN: r125454

17 years agosem_util.ads, [...] (May_Be_Lvalue): A prefix of an attribute reference acts as an...
Hristian Kirtchev [Wed, 6 Jun 2007 10:44:43 +0000 (12:44 +0200)]
sem_util.ads, [...] (May_Be_Lvalue): A prefix of an attribute reference acts as an lvalue when...

2007-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>
    Robert Dewar  <dewar@adacore.com>
    Javier Miranda  <miranda@adacore.com>

* sem_util.ads, sem_util.adb (May_Be_Lvalue): A prefix of an attribute
reference acts as an lvalue when the attribute name modifies the prefix
(Is_Coextension_Root): New routine.
(Mark_Static_Coextensions): New routine.
(Type_Access_Level): Revise code for checking the level of the
anonymous access type of a return object.
(Safe_To_Capture_Value): Not safe to capture if Address_Taken
(Matches_Prefixed_View_Profile): Remove the no longer necessary
retrieval of the corresponding controlling record type.
(Find_Overridden_Synchronized_Primitive): Code cleanup. Add handling of
concurrent types declared within a generic as well as class wide types.
Emit a mode incompatibility error whenever a protected entry or routine
override an interface routine whose first parameter is not of mode
"out", "in out" or access to variable.
(Overrides_Synchronized_Primitive): Rename to
Find_Overridden_Synchronized_Primitive.
(Collect_Interface_Components): New subprogram that collects all the
components of a tagged record containing tags of secondary dispatch
tables.
(Add_Global_Declaration): New procedure
(Abstract_Interface_List): Handle properly the case of a subtype of a
private extension.
(Type_Access_Level): In the case of a type whose parent scope is a
return statement, call Type_Access_Level recursively on the enclosing
function's result type to determine the level of the return object's
type.
(Build_Elaboration_Entity): Build name of elaboration entity from the
scope chain of the entity, rather than the unit name of the file name.
(Check_Nested_Access): New procedure.
(Has_Up_Level_Access, Set_Has_Up_Level_Access): New procedures.
(Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access.
(Get_Renamed_Entity): Utility routine for performing common operation
of chasing the Renamed_Entity field of an entity.

From-SVN: r125453

17 years agosem_ch7.adb (Check_Anonymous_Access_Types): Fix error for null body
Robert Dewar [Wed, 6 Jun 2007 10:44:24 +0000 (12:44 +0200)]
sem_ch7.adb (Check_Anonymous_Access_Types): Fix error for null body

2007-04-20  Robert Dewar  <dewar@adacore.com>
    Javier Miranda  <miranda@adacore.com>

* sem_ch7.adb (Check_Anonymous_Access_Types): Fix error for null body
(Derive_Inherited_Private_Subprogram): Code cleanup. In case of explicit
overriding of an inherited private subprogram now there is no need to
inherit its dispatching slot and reduce the size of the dispatch table.
Set_All_DT_Position now ensures that the same slot is now assigned to
both entities. This is required to statically build the dispatch table.
(Declare_Inherited_Private_Subprograms): Rewriten to avoid the need
of calling Set_All_DT_Position to re-evaluate the position of the
entries in the dispatch table. Such reevaluation is not desired if
the tagged type is already frozen.

From-SVN: r125452

17 years agosem_res.ads, [...] (Process_Allocator): Do not propagate the chain of coextensions...
Hristian Kirtchev [Wed, 6 Jun 2007 10:43:57 +0000 (12:43 +0200)]
sem_res.ads, [...] (Process_Allocator): Do not propagate the chain of coextensions when...

2007-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>
    Robert Dewar  <dewar@adacore.com>
    Javier Miranda  <miranda@adacore.com>

* sem_res.ads, sem_res.adb (Process_Allocator): Do not propagate the
chain of coextensions when an allocator serves as the root of such a
chain.
(Propagate_Coextensions): Remove the test for the root being an
allocator.
(Resolve_Allocator): Add condition to ensure that all future decoration
occurs on an allocator node. Add processing and cleanup for static
coextensions.
(Valid_Conversion): If the operand type is the limited view of a
class-wide type, use the non-limited view is available to determine
legality of operation.
(Ambiguous_Character): move to spec, for use elsewhere.
(Ambiguous_Character): Handle Wide_Wide_Character in Ada 2005 mode
(Resolve_Range): Diagnose properly an ambiguous range whose bounds are
character literals.
(Resolve_Arithmetic_Op): Call Activate_Division_Check instead of setting
Do_Division_Check flag explicitly.
(Resolve_Actuals): If the actual is of a synchronized type, and the
formal is of the corresponding record type, this is a call to a
primitive operation of the type, that is declared outside of the type;
the actual must be unchecked-converted to the type of the actual
(Resolve_Call): Kill all current values for any subprogram call if
flag Suppress_Value_Tracking_On_Call is set.
(Resolve_Type_Conversion): Generate error message the the operand
or target of interface conversions come from a limited view.
(Check_Infinite_Recursion): Ignore generated calls
(Check_Allocator_Discrim_Accessibility): New procedure for checking
that an expression that constrains an access discriminant in an
allocator does not denote an object with a deeper level than the
allocator's access type.
(Resolve_Allocator): In the case of an allocator initialized by an
aggregate of a discriminated type, check that associations for any
access discriminants satisfy accessibility requirements by calling
Check_Allocator_Discrim_Accessibility.
(Resolve_Equality_Op): Handle comparisons of anonymous access to
subprogram types in the same fashion as other anonymous access types.
(Resolve_Concatenation_Arg): Remove initial character '\' in an error
message that is not a continuation message.
(Resolve_Type_Conversion): Add missing support for conversion to
interface type.
(Resolve_Actuals): Introduce a transient scope around the call if an
actual is a call to a function returning a limited type, because the
resulting value must be finalized after the call.
(Resolve_Actuals): If the call was given in prefix notations, check
whether an implicit 'Access reference or implicit dereference must be
added to make the actual conform to the controlling formal.

From-SVN: r125451

17 years ago2007-04-20 Robert Dewar <dewar@adacore.com>
Robert Dewar [Wed, 6 Jun 2007 10:43:37 +0000 (12:43 +0200)]
2007-04-20  Robert Dewar  <dewar@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>

* sem_ch5.adb
(Find_Var): Do not consider function call in test for infinite loop
warning if warnings set off for function entity.
(One_Bound): Do not create a temporary for a loop bound if it is a
character literal.
(Analyze_Assignment): Traverse the right hand side of an assignment and
mark all allocators as static coextensions.
(Analyze_Assignment): Exempt assignments involving a dispatching call
to a function with a controlling access result from the check requiring
the target to be class-wide.

From-SVN: r125450

17 years agosem_ch13.adb (Analyze_Attribute_Definition_Clause, [...]): Check for restriction...
Robert Dewar [Wed, 6 Jun 2007 10:43:09 +0000 (12:43 +0200)]
sem_ch13.adb (Analyze_Attribute_Definition_Clause, [...]): Check for restriction No_Implementation_Attributes if in Ada 95 mode.

2007-04-20  Robert Dewar  <dewar@adacore.com>
    Arnaud Charlet  <charlet@adacore.com>

* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Stream_Size):
Check for restriction No_Implementation_Attributes if in Ada 95 mode.
(Storage_Pool): Do not crash when RE_Stack_Bounded_Pool is not available
(Analyze_Attribute_Definition_Clause [External_Tag]): Generate error
message when using a VM, since this attribute is not supported.
(Analyze_Record_Representation_Clause): Give unrepped component warnings

* usage.adb: Add new warning for renaming of function return objects
Indicate that -gnatwp and -gnatwP concern front-end inlining
Add line for -gnatyg
Add usage information for -gnatw.c/C

From-SVN: r125449

17 years agosem_ch11.adb (Analyze_Exception_Handlers): Add barrier to avoid the use of entity...
Javier Miranda [Wed, 6 Jun 2007 10:42:51 +0000 (12:42 +0200)]
sem_ch11.adb (Analyze_Exception_Handlers): Add barrier to avoid the use of entity Exception_Occurrence if...

2007-04-20  Javier Miranda  <miranda@adacore.com>
    Hristian Kirtchev  <kirtchev@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>

* sem_ch11.adb (Analyze_Exception_Handlers): Add barrier to avoid the
use of entity Exception_Occurrence if it is not available in the
target run-time.

* sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): When
concurrent types are declared within an Ada 2005 generic, build their
corresponding record types since they are needed for overriding-related
semantic checks.
(Analyze_Protected_Type): Rearrange and simplify code for testing that a
protected type does not implement a task interface or a nonlimited
interface.
(Analyze_Task_Type): Rearrange and simplify code for testing that a task
type does not implement a protected interface or a nonlimited interface.
(Single_Task_Declaration, Single_Protected_Declaration): use original
entity for variable declaration, to ensure that debugging information
is correcty generated.
(Analyze_Protected_Type, Analyze_Task_Type): Do not call expander
routines if the expander is not active.
(Analyze_Task_Body): Mark all handlers to stop optimization of local
raise, since special things happen for task exception handlers.

* sem_disp.adb (Check_Controlling_Formals): Add type retrieval for
concurrent types declared within a generic.
(Check_Dispatching_Operation): Do not emit warning about late interface
operations in the context of an instance.
(Check_Dispatching_Call): Remove restriction against calling a
dispatching operation with a limited controlling result.
(Check_Dispatching_Operation): Replace calls to Fill_DT_Entry and
Register_Interface_DT_Entry by calls to Register_Primitive.
(Check_Dispatching_Formals): Handle properly a function with a
controlling access result.

From-SVN: r125448

17 years agosem_ch10.ads, [...] (Analyze_Compilation_Unit): Disable check on obsolescent withed...
Javier Miranda [Wed, 6 Jun 2007 10:42:36 +0000 (12:42 +0200)]
sem_ch10.ads, [...] (Analyze_Compilation_Unit): Disable check on obsolescent withed unit in case of limited-withed units.

2007-04-20  Javier Miranda  <miranda@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>
    Robert Dewar  <dewar@adacore.com>

* sem_ch10.ads, sem_ch10.adb (Analyze_Compilation_Unit): Disable check
on obsolescent withed unit in case of limited-withed units.
(Analyze_Compilation_Unit): Add guard to code that removed an
instantiation from visibility, to prevent compiler aborts when
instantiation is abandoned early on.
(Install_Limited_Withed_Unit): Recognize a limited-with clause on the
current unit being analyzed, and Distinguish local incomplete types
from limited views of types declared elsewhere.
(Build_Limited_Views.Decorate_Tagged_Type): Add documentation
to state that the class-wide entity is shared by the limited-view
and the full-view.
(Analyze_With_Clause): Improve placement of flag for case of
unimplemented unit.
(Analyze_With_Clause): Recognize use of GNAT.Exception_Traces in a
manner similar to GNAT.Current_Exception. This is a violation of
restriction (No_Exception_Propagation), and also inhibits the
optimization of local raise to goto.
(Analyze_With_Clause): Check for Most_Recent_Exception being with'ed,
and if so set Most_Recent_Exception_Used flag in Opt, and also check
for violation of restriction No_Exception_Propagation.

From-SVN: r125447

17 years agosem.ads, sem.adb (Semantics): Save and restore Global_Discard_Names Remove no longer...
Robert Dewar [Wed, 6 Jun 2007 10:42:10 +0000 (12:42 +0200)]
sem.ads, sem.adb (Semantics): Save and restore Global_Discard_Names Remove no longer used nodes.

2007-04-20  Robert Dewar  <dewar@adacore.com>

* sem.ads, sem.adb (Semantics): Save and restore Global_Discard_Names
Remove no longer used nodes.

From-SVN: r125446

17 years agoscng.adb: (Check_End_Of_Line): Deal with very long lines
Robert Dewar [Wed, 6 Jun 2007 10:41:57 +0000 (12:41 +0200)]
scng.adb: (Check_End_Of_Line): Deal with very long lines

2007-04-20  Robert Dewar  <dewar@adacore.com>

* scng.adb: (Check_End_Of_Line): Deal with very long lines

From-SVN: r125445

17 years agos-bitops.adb: Get rid of System.Pure_Exceptions.
Arnaud Charlet [Wed, 6 Jun 2007 10:41:35 +0000 (12:41 +0200)]
s-bitops.adb: Get rid of System.Pure_Exceptions.

2007-04-20  Arnaud Charlet  <charlet@adacore.com>

* s-bitops.adb: Get rid of System.Pure_Exceptions.
Replace UC by Ada.UC

From-SVN: r125444