platform/upstream/linaro-gcc.git
16 years agoAdd CRIS v32 support. Fix -mcc-init.
hp [Sat, 15 Dec 2007 21:39:14 +0000 (21:39 +0000)]
Add CRIS v32 support.  Fix -mcc-init.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130973 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago * config/cris/cris-protos.h (cris_register_move_cost)
hp [Sat, 15 Dec 2007 21:38:34 +0000 (21:38 +0000)]
* config/cris/cris-protos.h (cris_register_move_cost)
(cris_cc0_user_requires_cmp, cris_asm_output_case_end): Declare.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130972 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago * gcc/config/cris/cris.md: Group related constants together, with
hp [Sat, 15 Dec 2007 21:38:19 +0000 (21:38 +0000)]
* gcc/config/cris/cris.md: Group related constants together, with
comments local.
(CRIS_UNSPEC_PLT_GOTREL, CRIS_UNSPEC_PLT_PCREL, CRIS_UNSPEC_PCREL)
(CRIS_UNSPEC_CASESI): New constants.
(CRIS_UNSPEC_PLT): Remove constant.
(CRIS_ACR_REGNUM): New constant.
("slottable"): New attr alternatives "has_return_slot" and
"has_call_slot".
("cc"): New attr alternatives "noov32" and "rev".
((eq_attr "slottable" "has_call_slot"))
((eq_attr "slottable" "has_return_slot")): New define_delays.
("movdi", "movsi"): Adjust operands for CRIS v32.
("tstdi", "cmpdi", "adddi3", "subdi3", "uminsi3")
("indirect_jump"): Ditto.  Make define_expand.
("*tstdi_non_v32", "*tstdi_v32", "*tst<mode>_cmp")
("*tst<mode>_non_cmp", "*cmpdi_non_v32", "*cmpdi_v32")
("*movdi_v32", "*adddi3_non_v32", "*adddi3_v32")
("*addsi3_non_v32", "*addsi3_v32", "*addhi3_non_v32")
("*addhi3_v32", "*addqi3_non_v32", "*addqi3_v32")
("*subdi3_non_v32", "*subdi3_v32", "*subsi3_non_v32")
("*subsi3_v32", "*sub<mode>3_nonv32", "*sub<mode>3_v32")
("*andqi3_non_v32", "*andqi3_v32", "*iorsi3_non_v32")
("*iorsi3_v32", "*iorhi3_non_v32", "*iorhi3_v32")
("*iorqi3_non_v32", "*iorqi3_v32", "*uminsi3_non_v32")
("*uminsi3_v32", "*indirect_jump_non_v32", "*indirect_jump_v32")
("*expanded_call_v32", "*expanded_call_value_v32"): New patterns,
for the corresponding standard name.
("tst<mode>"): Limit to BW and make define_expand.
("tstsi"): Make separate insn, adjusting for CRIS v32.
("*cmp_swapext<mode>"): Adjust for v32.  Specify "rev" for attr "cc".
("cmpsi", "cmp<mode>"): Remove special cases for zero.  Specify
attr "cc".
("*btst"): Don't match for TARGET_CCINIT.  Replace test of
register with compatible "cmpq 0".  Specify attr "cc".
("*movdi_insn_non_v32"): New pattern, replacing "*movdi_insn" and
define_split.
(define_split for DI move): Match CRIS v32 only.
("*movsi_got_load", "*movsi_internal", "*addi"): Adjust for CRIS
v32.
("load_multiple", "store_multiple", "*addsbw_v32", "*addubw_v32")
("*adds<mode>_v32", "*addu<mode>_v32", "*bound<mode>_v32")
("*casesi_jump_v32", "*expanded_andsi_v32", "*expanded_andhi_v32")
("*extop<mode>si_v32", "*extopqihi_v32", "*andhi_lowpart_v32")
("*andqi_lowpart_v32", "cris_casesi_v32"): New patterns.
("add<mode>3"): Make addsi3, addhi3 and addqi3 define_expand.
("sub<mode>3"): Ditto subsi3, subhi3 and subqi3.
("ior<mode>3"): Ditto iorsi3, iorhi3 and iorqi3.
("*extopqihi_non_v32"): Replace "*extopqihi".
("*extop<mode>si_non_v32"): Replace "*extop<mode>si".
("*addxqihi_swap_non_v32"): Rename from "*extopqihi_swap", make
non-v32 only.
("*extop<mode>si_swap_non_v32"): Ditto "*extop<mode>si_swap".
("*expanded_andsi_non_v32"): Ditto "*expanded_andsi".
("*expanded_andhi_non_v32"): Ditto "*expanded_andhi".
("*andhi_lowpart_non_v32"): Ditto "*andhi_lowpart".
("*andqi_lowpart_non_v32"): Ditto "*andqi_lowpart".
("*expanded_call_non_v32"): Ditto "*expanded_call".  Change from
"cris_general_operand_or_plt_symbol" to "general_operand".
("*expanded_call_value_non_v32") Ditto "*expanded_call_value".
("*casesi_adds_w", "mstep_shift", "mstep_mul")
("*expanded_call_side", "*expanded_call_value_side")
(op-extend-split, op-extend-split-rx=rz, op-extend-split-swapped)
(op-extend-split-swapped-rx=rz, op-extend, op-split-rx=rz)
(op-split-swapped, op-split-swapped-rx=rz): Make non-v32 only.
("dstep_mul", "xorsi3", "one_cmplsi2", "<shlr>si3")
("*expanded_<shlr><mode>", "*<shlr><mode>_lowpart", "ashl<mode>3")
("*ashl<mode>_lowpart", "abssi2", "clzsi2", "bswapsi2", "cris_swap_bits"): Specify "noov32" for
attr "cc".
("<su>mulsi3_highpart"): Ditto.  Correct operand 0 to
register_operand.
("andqi3"): Make define_expand.
("*return_expanded"): For attr "slottable", change from "has_slot"
to "has_return_slot".
("cris_casesi_non_v32"): New pattern, old contents of "casesi".
("casesi"): Divert into "cris_casesi_v32" and
"cris_casesi_non_v32".
(moversideqi, movemsideqi, mover2side): Require
TARGET_SIDE_EFFECT_PREFIXES.
(gotplt-to-plt, gotplt-to-plt-side): Change from CRIS_UNSPEC_PLT
to CRIS_UNSPEC_PLT_GOTREL.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130971 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago * config/cris/cris.h: Sanity-check TARGET_CPU_DEFAULT for contents.
hp [Sat, 15 Dec 2007 21:37:55 +0000 (21:37 +0000)]
* config/cris/cris.h: Sanity-check TARGET_CPU_DEFAULT for contents.
(CRIS_DEFAULT_TUNE, CRIS_ARCH_CPP_DEFAULT)
(CRIS_DEFAULT_ASM_ARCH_OPTION): New macros.
(CRIS_CC1_SUBTARGET_SPEC): Change default tuning to use
CRIS_DEFAULT_TUNE.
(CRIS_CPP_SUBTARGET_SPEC): Ditto.  Add CRIS_ARCH_CPP_DEFAULT.
(ASM_SPEC): Add sanity-check erroring out when both -march= and
-mcpu= are specified.  Pass on either as --march=v32.
(CRIS_ASM_SUBTARGET_SPEC): When neither -march= or -mcpu= are
specified, pass on CRIS_DEFAULT_ASM_ARCH_OPTION.
(CRIS_CPU_V32): New macro.
[!TARGET_CPU_DEFAULT]: Default-define as CRIS_CPU_BASE.
[!TARGET_DEFAULT, TARGET_CPU_DEFAULT == 32]: Move default
TARGET_DEFAULT definition after new TARGET_CPU_DEFAULT definition.
Define v32-adjusted TARGET_DEFAULT.
(CRIS_DEFAULT_CPU_VERSION): Change to TARGET_CPU_DEFAULT from
CRIS_CPU_BASE.
(TARGET_V32): New macro.
(REG_ALLOC_ORDER_V32): New macro.
(HARD_REGNO_MODE_OK): Do not allow larger-than-register-size modes
into CRIS_ACR_REGNUM.
(enum reg_class): New classes ACR_REGS, SPEC_ACR_REGS,
GENNONACR_REGS and SPEC_GENNONACR_REGS.
(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Adjust for new classes.
(REGNO_REG_CLASS): Give ACR_REGS for CRIS_ACR_REGNUM.
(MODE_CODE_BASE_REG_CLASS): Define, give for OCODE POST_INC
GENNONACR_REGS, BASE_REG_CLASS otherwise.
(REG_CLASS_FROM_LETTER): 'a' is for ACR_REGS.
(REGNO_MODE_CODE_OK_FOR_BASE_P): Define, refusing OCODE POST_INC
for CRIS_ACR_REGNUM.
(PREFERRED_RELOAD_CLASS): Keep ACR_REGS as preferred.
(HARD_REGNO_RENAME_OK): Refuse CRIS_ACR_REGNUM as TO.
(EXTRA_CONSTRAINT): New constraint 'U'.
(TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE)
(ASM_OUTPUT_ADDR_DIFF_ELT): Adjust for CRIS v32.
(BASE_OR_AUTOINCR_P): Refuse POST_INC for CRIS_ACR_REGNUM.
(SIMPLE_ADDRESS_P): Remove.
(GO_IF_LEGITIMATE_ADDRESS): Use BASE_OR_AUTOINCR_P, not redundant
SIMPLE_ADDRESS_P.  Make one chained if-else, finishing as
non-match after BASE_OR_AUTOINCR_P for TARGET_V32.
(REGISTER_MOVE_COST): Just call the new function
cris_register_move_cost.
(enum cris_pic_symbol_type): Rename cris_gotrel_symbol to
cris_rel_symbol.  All users changed.
(REGISTER_NAMES): Replace "pc" with "acr".
(ADDITIONAL_REGISTER_NAMES): Add "pc" for 15.
(ASM_OUTPUT_REG_PUSH): Change to v32-compatible sequence.
(ASM_OUTPUT_REG_POP): Change to v32-compatible syntax.
(ASM_OUTPUT_CASE_END): Just call the new function
cris_asm_output_case_end.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130970 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago * config/cris/linux.h: Sanity-check TARGET_CPU_DEFAULT for
hp [Sat, 15 Dec 2007 21:37:37 +0000 (21:37 +0000)]
* config/cris/linux.h: Sanity-check TARGET_CPU_DEFAULT for
presence and contents.
(CRIS_SUBTARGET_DEFAULT_ARCH): New macro, MASK_AVOID_GOTPLT for
v32, 0 otherwise.
(CRIS_CPP_SUBTARGET_SPEC, CRIS_CC1_SUBTARGET_SPEC,
CRIS_ASM_SUBTARGET_SPEC): Adjust for different
TARGET_CPU_DEFAULT.
(CRIS_SUBTARGET_DEFAULT): Add CRIS_SUBTARGET_DEFAULT_ARCH.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130969 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago * config/cris/predicates.md
hp [Sat, 15 Dec 2007 21:37:22 +0000 (21:37 +0000)]
* config/cris/predicates.md
("cris_general_operand_or_pic_source"): New predicate.
("cris_general_operand_or_plt_symbol"): Replace by...
("cris_nonmemory_operand_or_callable_symbol"): New predicate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130968 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago * config/cris/t-elfmulti: Add multilib v32 for -march=v32.
hp [Sat, 15 Dec 2007 21:37:10 +0000 (21:37 +0000)]
* config/cris/t-elfmulti: Add multilib v32 for -march=v32.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130967 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago * config/cris/cris.c (ASSERT_PLT_UNSPEC): Remove unused macro.
hp [Sat, 15 Dec 2007 21:36:30 +0000 (21:36 +0000)]
* config/cris/cris.c (ASSERT_PLT_UNSPEC): Remove unused macro.
(cris_movem_load_rest_p, cris_store_multiple_op_p): Remove FIXME.
Change regno_dir and regno only if !TARGET_V32.
(cris_conditional_register_usage): If TARGET_V32, set
reg_alloc_order as per REG_ALLOC_ORDER_V32 and make
CRIS_ACR_REGNUM non-fixed.
(cris_print_base): Add gcc_assert for post_inc on CRIS_ACR_REGNUM.
(cris_print_operand) <case 'Z', case 'u'>: New cases.
<case REG of case 'H'>: Allow for CRIS_SRP_REGNUM.
(cris_reload_address_legitimized): Always return false for
TARGET_V32.
(cris_register_move_cost): New function, guts from
REGISTER_MOVE_COST adjusted for CRIS v32.
(cris_normal_notice_update_cc): New function split out from...
(cris_notice_update_cc): Set cc_status.flags CC_REVERSED for
TARGET_CCINIT.  Call cris_normal_notice_update_cc for CC_REV,
CC_NOOV32 and CC_NORMAL, but set cc_status.flags CC_NO_OVERFLOW
for CC_NOOV32 and TARGET_V32.
(cris_simple_epilogue): Always return false for TARGET_V32 if
cris_return_address_on_stack yields true.
(cris_cc0_user_requires_cmp): New function.
(cris_valid_pic_const): Add argument ANY_OPERAND.  All callers
changed.  Handle CRIS_UNSPEC_PLT_PCREL and CRIS_UNSPEC_PCREL.
(cris_asm_output_case_end): New function, guts from
ASM_OUTPUT_CASE_END adjusted for CRIS v32.
(cris_override_options): Adjust for CRIS v32.  Mask out
TARGET_SIDE_EFFECT_PREFIXES and TARGET_MUL_BUG if v32.
(cris_asm_output_mi_thunk, cris_expand_epilogue)
(cris_gen_movem_load, cris_emit_movem_store)
(cris_expand_pic_call_address, cris_asm_output_symbol_ref)
(cris_asm_output_label_ref, cris_output_addr_const_extra): Adjust
for CRIS v32.
(cris_split_movdx): Copy re-used MEM.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130966 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago * config.gcc: Make crisv32-* have cpu_type cris. Handle
hp [Sat, 15 Dec 2007 21:35:32 +0000 (21:35 +0000)]
* config.gcc: Make crisv32-* have cpu_type cris.  Handle
crisv32-*-elf and crisv32-*-none like cris-*-elf and cris-*-none
but without multilibs and with target_cpu_default=32.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130965 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago * config.host (crisv32-*-elf, crisv32-*-none): New, same as
hp [Sat, 15 Dec 2007 21:34:23 +0000 (21:34 +0000)]
* config.host (crisv32-*-elf, crisv32-*-none): New, same as
cris-*-elf and cris-*-none.
(crisv32-*-linux*): Similar, as cris-*-linux*.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130964 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago * configure.host (try_cpu settings): Set try_cpu=cris for crisv32.
hp [Sat, 15 Dec 2007 21:33:45 +0000 (21:33 +0000)]
* configure.host (try_cpu settings): Set try_cpu=cris for crisv32.
* config/cpu/cris/atomicity.h (__exchange_and_add)
[__CRIS_arch_version >= 32]: Add support for CRIS v32.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130963 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago * gcc.target/cris/peep2-xsrand.c, gcc.target/cris/asmreg-1.c,
hp [Sat, 15 Dec 2007 21:31:18 +0000 (21:31 +0000)]
* gcc.target/cris/peep2-xsrand.c, gcc.target/cris/asmreg-1.c,
gcc.target/cris/peep2-andu1.c, gcc.target/cris/peep2-xsrand2.c,
gcc.target/cris/20011127-1.c: Drop redundant target-specifier.
* gcc.target/cris/peep2-andu2.c: Ditto.  Make dg-do assemble and
add -save-temps.
* gcc.target/cris/torture/cris-torture.exp,
gcc.target/cris/cris.exp: Run for crisv32-*-* too.
* gcc.target/cris/builtin_ctz_v3.c,
gcc.target/cris/builtin_ctz_v8.c,
gcc.target/cris/builtin_clz_v0.c,
gcc.target/cris/builtin_clz_v3.c,
gcc.target/cris/builtin_bswap_v3.c,
gcc.target/cris/builtin_bswap_v8.c, gcc.dg/sibcall-4.c,
gcc.dg/pr19340.c, gcc.dg/20020919-1.c, gcc.dg/pr31866.c,
gcc.dg/torture/cris-asm-mof-1.c, gcc.dg/torture/cris-volatile-1.c,
gcc.dg/weak/typeof-2.c, gcc.dg/tree-ssa/loop-1.c,
gcc.dg/tree-ssa/20040204-1.c, gcc.dg/sibcall-3.c,
lib/target-supports.exp: Adjust for crisv32-*-*.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130962 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-15 Sebastian Pop <sebastian.pop@amd.com>
spop [Sat, 15 Dec 2007 20:54:04 +0000 (20:54 +0000)]
2007-12-15  Sebastian Pop  <sebastian.pop@amd.com>

* MAINTAINERS: Update my email address.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130961 138bc75d-0d04-0410-961f-82ee72b054a4

16 years agogcc/ChangeLog:
aoliva [Sat, 15 Dec 2007 20:19:23 +0000 (20:19 +0000)]
gcc/ChangeLog:
PR debug/7081
* dwarf2out.c (dwarf_tag_name): Synchronize with dwarf2.h.
(is_type_die): Cover interface types.
(class_or_namespace_scope_p): Cover interface and class types.
(record_type_tag): New.
(gen_inlined_structure_type_die): Use it.
(gen_struct_or_union_type_die): Likewise.
(prune_unused_types_walk): Cover interface types.
* langhooks.h (classify_record): New enum.
(classify_record): New member in struct langhooks_for_types.
* langhooks-def.h (LANG_HOOKS_CLASSIFY_RECORD): New.
(LANGHOOKS_FOR_TYPES_INITIALIZER): Adjust.
gcc/cp/ChangeLog:
PR debug/7081
* cp-lang.c (cp_classify_record): New.
(LANG_HOOKS_CLASSIFY_RECORD): Override.
gcc/java/ChangeLog:
PR debug/7081
* lang.c (java_classify_record): New.
(LANG_HOOKS_CLASSIFY_RECORD): Override.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130960 138bc75d-0d04-0410-961f-82ee72b054a4

16 years agogcc/ChangeLog:
aoliva [Sat, 15 Dec 2007 20:16:03 +0000 (20:16 +0000)]
gcc/ChangeLog:
* dwarf2out.c (reference_to_unused): Don't emit strings in
initializers just because of debug information.
* tree.h (TREE_ASM_WRITTEN): Document use for STRING_CSTs.
gcc/testsuite/ChangeLog:
* gcc.dg/debug/const-3.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130959 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago * g++.dg/other/datasec1.C: Require named section support.
danglin [Sat, 15 Dec 2007 19:45:41 +0000 (19:45 +0000)]
* g++.dg/other/datasec1.C: Require named section support.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130958 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-15 Sebastian Pop <sebastian.pop@amd.com>
spop [Sat, 15 Dec 2007 18:35:23 +0000 (18:35 +0000)]
2007-12-15  Sebastian Pop  <sebastian.pop@amd.com>

* tree-scalar-evolution.c (number_of_iterations_for_all_loops): Replace
print_loop_ir with print_loops.
* tree-flow.h (dot_cfg, debug_loops, debug_loop, debug_loop_num,
print_loops, print_loops_bb): Declare.
* tree-cfg.c (print_loops_bb): New.
(print_loop): Print header, latch, bounds, estimation of iterations.
(print_loop_and_siblings): New.
(print_loop_ir): Renamed print_loops.
(debug_loop_ir): Renamed debug_loops.
(debug_loop, debug_loop_num): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130957 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-15 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Sat, 15 Dec 2007 16:19:37 +0000 (16:19 +0000)]
2007-12-15  Benjamin Kosnik  <bkoz@redhat.com>
    Paolo Carlini  <pcarlini@suse.de>

* include/parallel/partial_sum.h: Include new. Fix for DR 402.
* include/parallel/multiway_merge.h:Fix for DR 402.
* include/parallel/losertree.h: Same.
* include/parallel/quicksort.h: Same.
* include/parallel/random_shuffle.h: Same.
* include/parallel/multiway_mergesort.h: Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130956 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-15 Bernhard Fischer <aldot@gcc.gnu.org>
aldot [Sat, 15 Dec 2007 15:41:53 +0000 (15:41 +0000)]
2007-12-15  Bernhard Fischer  <aldot@gcc.gnu.org>

* MAINTAINERS: Update my email address.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130955 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-15 Bernhard Fischer <aldot@gcc.gnu.org>
aldot [Sat, 15 Dec 2007 15:35:32 +0000 (15:35 +0000)]
2007-12-15  Bernhard Fischer  <aldot@gcc.gnu.org>

* tree-flow-inline.h.c (next_readonly_imm_use): Fix typo in comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130954 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-15 Bernhard Fischer <>
aldot [Sat, 15 Dec 2007 15:25:41 +0000 (15:25 +0000)]
2007-12-15  Bernhard Fischer  <>

* toplev.c (process_options): Fix typo in warning.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130953 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago * Make-lang.in (gnat1, gnatbind): Pass ALL_CFLAGS on the link line.
jakub [Sat, 15 Dec 2007 07:52:23 +0000 (07:52 +0000)]
* Make-lang.in (gnat1, gnatbind): Pass ALL_CFLAGS on the link line.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130952 138bc75d-0d04-0410-961f-82ee72b054a4

16 years agoDaily bump.
gccadmin [Sat, 15 Dec 2007 00:17:22 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130950 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-14 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Fri, 14 Dec 2007 19:32:03 +0000 (19:32 +0000)]
2007-12-14  Benjamin Kosnik  <bkoz@redhat.com>

PR libstdc++/30127
PR libstdc++/34449
* include/bits/locale_classes.h (use_facet): Check facet hierarchy.
(has_facet): Same.
* testsuite/22_locale/global_templates/user_facet_hierarchies.cc: New.
* testsuite/22_locale/global_templates/
standard_facet_hierarchies.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130941 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago PR target/29978
jakub [Fri, 14 Dec 2007 18:00:39 +0000 (18:00 +0000)]
PR target/29978
* config/i386/i386.c (ix86_expand_branch): Optimize LE/LEU/GT/GTU
DImode comparisons against constant with all 1's in the lower word.

* gcc.target/i386/pr29978.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130938 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-14 Paolo Bonzini <bonzini@gnu.org>
bonzini [Fri, 14 Dec 2007 17:40:46 +0000 (17:40 +0000)]
2007-12-14  Paolo Bonzini  <bonzini@gnu.org>

* df-core.c: Update comments referring to removed features.
* df-problems.c: Likewise.
* df-scan.c: Likewise.
* df.h: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130937 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago * config/i386/sse.md (sse4_2_pcmpestr): Use reg_not_xmm0_operand
uros [Fri, 14 Dec 2007 15:33:34 +0000 (15:33 +0000)]
* config/i386/sse.md (sse4_2_pcmpestr): Use reg_not_xmm0_operand
constraint for operand2.  Use nonimm_not_xmm0_operand constraint
for operand 4.  Update arguments in the call to
gen_sse4_2_pcmpestr_cconly.
(sse_4_2_pcmpestr_cconly): Renumber insn operands and update insn
template accordingly.
(sse4_2_pcmpistr): Use reg_not_xmm0_operand constraint for operand2.
Use nonimm_not_xmm0_operand constraint for operand 3.  Update
arguments in the call to gen_sse4_2_pcmpistr_cconly.
(sse_4_2_pcmpistr_cconly): Renumber insn operands and update insn

testsuite/ChangeLog:

* gcc.target/i386/sse-12.c (dg-options): Use -msse4
instead of -msse4.1.
* gcc.target/i386/sse-12.c (dg-options): Ditto.
* g++.dg/other/i386-2.C (dg-options): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130934 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-14 Tobias Burnus <burnus@net-b.de>
burnus [Fri, 14 Dec 2007 15:14:29 +0000 (15:14 +0000)]
2007-12-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34438
        * resolve.c (resolve_symbol): Do not emit public-variable-
        of-private-derived-type error for non-module variables.

2007-12-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34438
        * gfortran.dg/private_type_10.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130933 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-14 Tobias Burnus <burnus@net-b.de>
burnus [Fri, 14 Dec 2007 15:11:17 +0000 (15:11 +0000)]
2007-12-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34398
        * expr.c (gfc_check_assign): Add range checks for assignments of
        * BOZs.
        * resolve.c (resolve_ordinary_assign): Ditto.
        * arith.c (gfc_range_check): Fix return value for complex
        * numbers.

2007-12-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34398
        * gfortran.dg/nan_4.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130932 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-14 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 14 Dec 2007 14:21:41 +0000 (14:21 +0000)]
2007-12-14  Richard Guenther  <rguenther@suse.de>

PR middle-end/34462
* tree-ssa-operands.h (create_ssa_artificial_load_stmt): Add
parameter to say whether to unlink immediate uses.
* tree-ssa-operands.c (create_ssa_artificial_load_stmt): Do not
mark the artificial stmt as modified.  Unlink immediate uses
only if requested.
* tree-ssa-dom.c (record_equivalences_from_stmt): Update caller.
* tree-ssa-pre.c (insert_fake_stores): Likewise.

* gcc.c-torture/compile/20071214-1.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130931 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago * gcc.target/i386/sse-14.c (test_1, test_2, test_2x, test_4): New
uros [Fri, 14 Dec 2007 12:43:57 +0000 (12:43 +0000)]
* gcc.target/i386/sse-14.c (test_1, test_2, test_2x, test_4): New
macros to test macroized SSE intrinsics.  Use new macros to test
macroized SSE intrinsics from ammintrin.h, smmintrin.h, tmmintrin.h,
emmintrin.h, xmmintrin.h and bmmintrin.h
* gcc.target/i386/sse-13.c (__builtin_ia32_pcmp?str*128): Redefine
to test with immediate operand.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130930 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-14 Daniel Franke <franke.daniel@gmail.com>
dfranke [Fri, 14 Dec 2007 10:25:12 +0000 (10:25 +0000)]
2007-12-14  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/34324
        * module.c (parse_atom): Fixed parsing of modules files whose
        lines are terminated by CRLF.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130928 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago PR target/34091
danglin [Fri, 14 Dec 2007 01:01:58 +0000 (01:01 +0000)]
PR target/34091
* gcc.c-torture/compile/pr34091.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130927 138bc75d-0d04-0410-961f-82ee72b054a4

16 years agoDaily bump.
gccadmin [Fri, 14 Dec 2007 00:17:21 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130925 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago PR middle-end/33088
ebotcazou [Thu, 13 Dec 2007 21:49:09 +0000 (21:49 +0000)]
PR middle-end/33088
* gimplify.c (gimplify_modify_expr_complex_part): Add note to comment.
* tree-complex.c (init_dont_simulate_again): Return true if there are
uninitialized loads generated by gimplify_modify_expr_complex_part.
* tree-gimple.c (is_gimple_reg_type): Return false for complex types
if not optimizing.
* tree-ssa.c (ssa_undefined_value_p): New predicate extracted from...
(warn_uninit): ...here.  Use ssa_undefined_value_p.
* tree-ssa-pre.c (is_undefined_value): Delete.
(phi_translate_1): Use ssa_undefined_value_p.
(add_to_exp_gen): Likewise.
(make_values_for_stmt): Likewise.
* tree-flow.h (ssa_undefined_value_p): Declare.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130917 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-13 Olga Golovanevsky <olga@il.ibm.com>
olga [Thu, 13 Dec 2007 20:50:38 +0000 (20:50 +0000)]
2007-12-13  Olga Golovanevsky  <olga@il.ibm.com>

* gcc.dg/struct/struct-reorg.exp: Replace
 DEFAULT_CFLAGS by STRUCT_REORG_CFLAFS.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130916 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-13 Anton Korobeynikov <asl@math.spbu.ru>
burnus [Thu, 13 Dec 2007 20:31:45 +0000 (20:31 +0000)]
2007-12-13  Anton Korobeynikov  <asl@math.spbu.ru>

        * trans-decl.c (gfc_build_builtin_function_decls): Correct decl
        construction for select_string() and internal_unpack()

2007-12-13  Duncan Sands  <baldrick@free.fr>
            Anton Korobeynikov  <asl@math.spbu.ru>

        * trans-expr.c (gfc_conv_structure): Make sure record
        * constructors
        for static variables are marked constant.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130914 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-13 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Thu, 13 Dec 2007 19:35:09 +0000 (19:35 +0000)]
2007-12-13  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR libfortran/34370
PR libfortran/34323
PR libfortran/34405
* io/io.h:  Add previous_nonadvancing_write to gfc_unit.
Add prototype for finish_last_advance_record.
* io/file_pos.c (st_backspace):  Generate error if backspace is
attempted for direct access or unformatted stream.
If there are bytes left from a previous ADVANCE="no", write
them out before performing the backspace.
(st_endfile):  Generate error if endfile is attempted for
direct access.
If there are bytes left from a previous ADVANCE="no", write
them out before performing the endfile.
(st_rewind):  Generate error if rewind is attempted for
direct access.
* unit.c (close_unit_1):  Move functionality to write
previously written bytes to...
(finish_last_advance_record):  ... here.
* transfer.c (data_transfer_init):  If reading, reset
previous_nonadvancing_write.
(finalize_transfer):  Set the previous_noadvancing_write
flag if we are writing and ADVANCE="no" was specified.
Only call next_record() if advance="no" wasn't specified.

2007-12-13  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR libfortran/34370
PR libfortran/34323
PR libfortran/34405
* gfortran.dg/advance_6.f90:  New test case.
* gfortran.dg/direct_io_7.f90:  New test case.
* gfortran.dg/streamio_13.f90:  New test case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130912 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-13 Douglas Gregor <doug.gregor@gmail.com>
dgregor [Thu, 13 Dec 2007 19:29:52 +0000 (19:29 +0000)]
2007-12-13  Douglas Gregor  <doug.gregor@gmail.com>

* g++.dg/cpp0x/__func__.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130911 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-13 Andrew Pinski <pinskia@gmail.com>
daney [Thu, 13 Dec 2007 19:19:17 +0000 (19:19 +0000)]
2007-12-13  Andrew Pinski  <pinskia@gmail.com>
    David Daney  <ddaney@avtrex.com>

PR bootstrap/34144
* system.h: Make -Wuninitialized non-fatal if ASSERT_CHECKING
is disabled.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130908 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago PR rtl-optimization/32636
jakub [Thu, 13 Dec 2007 19:05:37 +0000 (19:05 +0000)]
PR rtl-optimization/32636
* df-scan.c (df_get_entry_block_def_set): Set struct_value_rtx
regno in entry_block_defs even if HAVE_prologue && epilogue_completed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130907 138bc75d-0d04-0410-961f-82ee72b054a4

16 years agoFogot to commit ipa-struct-reorg.c
olga [Thu, 13 Dec 2007 18:59:44 +0000 (18:59 +0000)]
Fogot to commit ipa-struct-reorg.c

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130906 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago PR target/34435
uros [Thu, 13 Dec 2007 18:19:38 +0000 (18:19 +0000)]
    PR target/34435
        * config/i386/emmintrin.h (_mm_shuffle_pd, _mm_extract_epi16,
        _mm_insert_epi16, _mm_shufflehi_epi16, _mm_shufflelo_epi16,
        _mm_shuffle_epi32): Cast non-constant input values to either __m64,
        __m128, __m128i or __m128d in a macro version of the intrinsic.
        Cast constant input values to int.
        * config/i386/ammintrin.h (_mm_extracti_si64, _mm_inserti_si64): Ditto.
        * config/i386/bmmintrin.h (_mm_roti_epi8, _mm_roti_epi16,
        _mm_roti_epi32, _mm_roti_epi64): Ditto.
        * config/i386/smmintrin.h (_mm_blend_epi16, _mm_blend_ps, _mm_blend_pd,
        _mm_dp_ps, _mm_dp_pd, _mm_insert_ps, _mm_extract_ps, _mm_insert_epi8,
        _mm_insert_epi32, _mm_insert_epi64, _mm_extract_epi8, mm_extract_epi32,
        _mm_extract_epi64, _mm_mpsadbw_epu8, _mm_cmpistrm, _mm_cmpistri,
        _mm_cmpestrm, _mm_cmpestri, _mm_cmpistra, _mm_cmpistrc, _mm_cmpistro,
        _mm_cmpistrs, _mm_cmpistrz, _mm_cmpestra, _mm_cmpestrc, _mm_cmpestro,
        _mm_cmpestrs, _mm_cmpestrz): Ditto.
        * config/i386/tmmintrin.h (_mm_alignr_epi8, _mm_alignr_pi8): Ditto.
        * config/i386/xmmintrin.h (_mm_shuffle_ps, _mm_extract_pi16, _m_pextrw,
        _mm_insert_pi16, _m_pinsrw, _mm_shuffle_pi16, _m_pshufw): Ditto.
        * config/i386/mmintrin-common.h (_mm_round_pd, _mm_round_sd,
        _mm_round_ps, _mm_round_ss): Ditto.

testsuite/ChangeLog:

        PR target/34435
        * g++.dg/other/pr34435.C: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130904 138bc75d-0d04-0410-961f-82ee72b054a4

16 years agoRestore part of patch lost for PR ada/15805:
charlet [Thu, 13 Dec 2007 17:59:09 +0000 (17:59 +0000)]
Restore part of patch lost for PR ada/15805:
* sem_ch3.adb (Analyze_Object_Declaration): Signal an error
when an access to constant is used to initialize an access
value.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130903 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago gcc/ada/
sam [Thu, 13 Dec 2007 15:14:54 +0000 (15:14 +0000)]
gcc/ada/
PR ada/34360
* Makefile.in: Change two occurrences of mlib-tgt.adb by correct name
mlib-tgt-specific.adb.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130896 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-13 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 13 Dec 2007 14:22:23 +0000 (14:22 +0000)]
2007-12-13  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/34450
* params.def (PARAM_SCCVN_MAX_SCC_SIZE): New param.
* invoke.texi (sccvn-max-scc-size): Document.
* Makefile.in (tree-ssa-sccvn.o): Add $(PARAMS_H) dependency.
* tree-ssa-sccvn.h (run_scc_vn): Return true on success, false
on error.
* tree-ssa-sccvn.c (params.h): Include.
(DFS): Return true if all went well, return false as soon as
a SCC exceeds the size of PARAM_SCCVN_MAX_SCC_SIZE.
(run_scc_vn): Return true if all went well, return false if
we aborted during DFS.
* tree-ssa-pre.c (execute_pre): Check if SCCVN finished
successfully, otherwise bail out.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130895 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-13 Olga Golovanevsky <olga@il.ibm.com>
olga [Thu, 13 Dec 2007 13:58:18 +0000 (13:58 +0000)]
2007-12-13  Olga Golovanevsky  <olga@il.ibm.com>

* ipa-struct-reorg.c (is_candidate): Print information to dump
file when the type is initialized.
(get_stmt_accesses):  Likewise when a structure has bitfields
or field access is too complicate.
(safe_cond_expr_check): Likewise for unsafe condition expressions.
(exclude_cold_structs): Likewise for cold structures.
(collect_structures): Suppress redundant print when there are
no structures to transform.
(do_reorg): Print to dump file a number of structures that
will be transformed.
(dump_new_types): Print a number of new types to replace
an original structure type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130894 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-11-26 Olga Golovanevsky <olga@il.ibm.com>
olga [Thu, 13 Dec 2007 13:47:22 +0000 (13:47 +0000)]
2007-11-26  Olga Golovanevsky  <olga@il.ibm.com>

* gcc.dg/struct: New directory with tests
for struct-reorg optimizaion.
* gcc.dg/struct/struct-reorg.exp: New script.
* gcc.dg/struct/wo_prof_array_through_pointer.c: New test.
* gcc.dg/struct/wo_prof_malloc_size_var.c: Likewise.
* gcc.dg/struct/wo_prof_mult_field_peeling.c: Likewise.
* gcc.dg/struct/wo_prof_escape_arg_to_local.c: Likewise.
* gcc.dg/struct/wo_prof_escape_return.c: Likewise.
* gcc.dg/struct/wo_prof_escape_str_init.c: Likewise.
* gcc.dg/struct/wo_prof_escape_substr_array.c: Likewise.
* gcc.dg/struct/wo_prof_escape_substr_pointer.c: Likewise.
* gcc.dg/struct/wo_prof_escape_substr_value.c: Likewise.
* gcc.dg/struct/wo_prof_global_array.c: Likewise.
* gcc.dg/struct/wo_prof_global_var.c: Likewise.
* gcc.dg/struct/wo_prof_local_array.c: Likewise.
* gcc.dg/struct/wo_prof_local_var.c: Likewise.
* gcc.dg/struct/wo_prof_two_strs.c: Likewise.
* gcc.dg/struct/wo_prof_single_str_global.c: Likewise.
* gcc.dg/struct/wo_prof_single_str_local.c: Likewise.
* gcc.dg/struct/wo_prof_single_str_pointer.c: Likewise.
* gcc.dg/struct/w_prof_two_strs.c: Likewise.
* gcc.dg/struct/w_prof_global_array.c: Likewise.
* gcc.dg/struct/w_prof_global_var.c: Likewise.
* gcc.dg/struct/w_prof_local_array.c: Likewise.
* gcc.dg/struct/w_prof_local_var.c: Likewise.
* gcc.dg/struct/w_prof_single_str_global.c: Likewise.
* gcc.dg/struct/w_ratio_cold_str.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130893 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago (Attribute_to_gnu): Check for violations of the No_Implicit_Dynamic_Code
charlet [Thu, 13 Dec 2007 11:33:49 +0000 (11:33 +0000)]
(Attribute_to_gnu): Check for violations of the No_Implicit_Dynamic_Code
  restriction. This checking used to be done in the front end, but is
moved here so we can make it more accurate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130892 138bc75d-0d04-0410-961f-82ee72b054a4

16 years agoResync
charlet [Thu, 13 Dec 2007 11:27:52 +0000 (11:27 +0000)]
Resync

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130891 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-13 Golovanevsky Olga <olga@il.ibm.com>
olga [Thu, 13 Dec 2007 11:11:57 +0000 (11:11 +0000)]
2007-12-13  Golovanevsky Olga  <olga@il.ibm.com>

* doc/invoke.texi (Optimiza Options): Document new -fipa-struct-reorg
option and struct-reorg-cold-struct-ratio parameter.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130890 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-13 Tobias Burnus <burnus@net-b.de>
burnus [Thu, 13 Dec 2007 11:01:00 +0000 (11:01 +0000)]
2007-12-13  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34427
        * io/list_read.c (read_real): Fix unwinding for namelists.

2007-12-13  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34427
        * gfortran.dg/namelist_42.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130889 138bc75d-0d04-0410-961f-82ee72b054a4

16 years agoUpdate comments.
charlet [Thu, 13 Dec 2007 10:59:30 +0000 (10:59 +0000)]
Update comments.
Minor reformatting.
Kill new warnings.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130888 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago(Nkind_In): New functions.
charlet [Thu, 13 Dec 2007 10:56:34 +0000 (10:56 +0000)]
(Nkind_In): New functions.
Add support for new flags.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130887 138bc75d-0d04-0410-961f-82ee72b054a4

16 years agoRemoved, no longer used
charlet [Thu, 13 Dec 2007 10:53:49 +0000 (10:53 +0000)]
Removed, no longer used

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130886 138bc75d-0d04-0410-961f-82ee72b054a4

16 years agoNew file.
charlet [Thu, 13 Dec 2007 10:52:39 +0000 (10:52 +0000)]
New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130885 138bc75d-0d04-0410-961f-82ee72b054a4

16 years agoNew file.
charlet [Thu, 13 Dec 2007 10:50:30 +0000 (10:50 +0000)]
New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130884 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Javier Miranda <miranda@adacore.com>
charlet [Thu, 13 Dec 2007 10:48:09 +0000 (10:48 +0000)]
2007-12-06  Javier Miranda  <miranda@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.ads, sem_ch3.adb (Check_Abstract_Overriding): Avoid
generation of spurious error if parent is an interface type; caused
because predefined primitive bodies will be generated later by
Freeze_Record_Type.
(Process_Subtype): The subtype inherits the Known_To_Have_Preelab_Init
flag.
(Derive_Subprograms): Handle derivations of predefined primitives
after all the user-defined primitives to ensure that they are
found in proper order in instantiations.
(Add_Interface_Tag_Components, Inherit_Components): Update occurrences
of Related_Interface to Related_Type.
(Record_Type_Declaration): Minor reordering of calls to decorate the
Tag component because the entity must have set its Ekind attribute
before setting its Is_Tag attribute.
(Analyze_Subtype_Declaration): In the case of subtypes with
Private_Kind, inherit Known_To_Have_Preelab_Init from the parent.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130883 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago * i-vxwork.ads: Kill new warning on Convention C, since changing the
charlet [Thu, 13 Dec 2007 10:46:43 +0000 (10:46 +0000)]
* i-vxwork.ads: Kill new warning on Convention C, since changing the
spec would break code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130882 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Geert Bosch <bosch@adacore.com>
charlet [Thu, 13 Dec 2007 10:46:20 +0000 (10:46 +0000)]
2007-12-06  Geert Bosch  <bosch@adacore.com>

* s-parame-vxworks.adb:
Update comments to reflect usage of this package by Nucleus.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130881 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Vincent Celier <celier@adacore.com>
charlet [Thu, 13 Dec 2007 10:46:10 +0000 (10:46 +0000)]
2007-12-06  Vincent Celier  <celier@adacore.com>

* symbols-processing-vms-ia64.adb (Process.Skip_Half): New procedure
(Process.H): Remove variable. Replace Read_Half (H) with Skip_Half.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130880 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Gary Dismukes <dismukes@adacore.com>
charlet [Thu, 13 Dec 2007 10:45:44 +0000 (10:45 +0000)]
2007-12-06  Gary Dismukes  <dismukes@adacore.com>
    Arnaud Charlet  <charlet@adacore.com>

* make.adb (Scan_Make_Arg): Add test for -aamp_target switch, passing
it to the front end and setting the aamp_target environment variable
to the switch's argument to ensure that gnaampbind and gnaamplink will
take the specified library into account.
(Make): Only set Check_Object_Consistency to False for JVM, not for CIL
target, since the CIL compiler supports an "object" file (.il files).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130879 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Bob Duff <duff@adacore.com>
charlet [Thu, 13 Dec 2007 10:45:14 +0000 (10:45 +0000)]
2007-12-06  Bob Duff  <duff@adacore.com>

* itypes.ads, itypes.adb (Create_Itype): For access-to-subprogram
types, set Can_Use_Internal_Rep appropriately, based on
Always_Compatible_Rep_On_Target.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130878 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Robert Dewar <dewar@adacore.com>
charlet [Thu, 13 Dec 2007 10:44:45 +0000 (10:44 +0000)]
2007-12-06  Robert Dewar  <dewar@adacore.com>

* impunit.adb: Add entries for missing units

* Makefile.rtl: Add new run-time units.

* Make-lang.in:  Update dependencies.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130877 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Vasiliy Fofanov <fofanov@adacore.com>
charlet [Thu, 13 Dec 2007 10:44:32 +0000 (10:44 +0000)]
2007-12-06  Vasiliy Fofanov  <fofanov@adacore.com>
    Tristan Gingold  <gingold@adacore.com>

* g-socthi-vms.ads (Fd_Set_Access): make it 32-bit.

* s-osprim-vms.adb,
a-calend-vms.adb: Remove pragma warning off and add pragma
unreferenced.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130876 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Emmanuel Briot <briot@adacore.com>
charlet [Thu, 13 Dec 2007 10:43:51 +0000 (10:43 +0000)]
2007-12-06  Emmanuel Briot  <briot@adacore.com>

* s-os_lib.ads, s-os_lib.adb (Normalize_Pathname): Do not compute
Reference_Dir unless we actually need it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130875 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Olivier Hainque <hainque@adacore.com>
charlet [Thu, 13 Dec 2007 10:43:33 +0000 (10:43 +0000)]
2007-12-06  Olivier Hainque  <hainque@adacore.com>

* tb-gcc.c (uw_data_t, trace_callback): Only define if not GCC-SJLJ eh.
(__gnat_backtrace): Early return 0 if using GCC-SJLJ eh.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130874 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Matthew Heaney <heaney@adacore.com>
charlet [Thu, 13 Dec 2007 10:42:54 +0000 (10:42 +0000)]
2007-12-06  Matthew Heaney  <heaney@adacore.com>

* a-cohase.ads, a-cihama.ads, a-cihase.ads, a-cohama.ads: Document
which generic formal operations are called for each operation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130873 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Robert Dewar <dewar@adacore.com>
charlet [Thu, 13 Dec 2007 10:42:14 +0000 (10:42 +0000)]
2007-12-06  Robert Dewar  <dewar@adacore.com>
    Bob Duff  <duff@adacore.com>

* gnat_ugn.texi: Dcoument new rules for style check comment alignment
Document that suffixes may be terminations of each others
Add doc for -gnatw.a and -gnatw.A
Document gnatbind -Wx switch
Document BOM recognition
Document pragma Implemented_By_Entry.
Document new units.

* gnat_rm.texi: (Favor_Top_Level): Document new pragma.
Add doc for pragma Unreferenced suppressing no entities referenced msg
Add documentation of GNAT.Directory_Operations.Iteration
Add documentation of GNAT.Random_Numbers
Add documentation for pragma Shared.
Correct documentation for Bit_Order
Add documentation for the Pool_Address attribute.
Fix and improve documentation of pragma machine_attribute.
New pragma Fast_Math
Document BOM recognition

* vms_data.ads: Add entries for -gnatw.a -gnatw.A
Add /Wide_Character_Encoding for binder
Add qualifier for the new gnatpp option --no-separate-loop-then

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130872 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Vincent Celier <celier@adacore.com>
charlet [Thu, 13 Dec 2007 10:41:38 +0000 (10:41 +0000)]
2007-12-06  Vincent Celier  <celier@adacore.com>

* a-direct.adb (Create_Path): Always take '/' as a directory separator,
even on Windows

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130871 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Robert Dewar <dewar@adacore.com>
charlet [Thu, 13 Dec 2007 10:40:58 +0000 (10:40 +0000)]
2007-12-06  Robert Dewar  <dewar@adacore.com>

* xeinfo.adb: Remove warnings
* xnmake.adb: Remove warnings
* xsinfo.adb: Remove warnings
* xtreeprs.adb: Remove warnings
* xsnames.adb: Remove warnings

* a-ngcoar.adb: Fix typo.
* s-interr.adb: Minor reformatting
* env.c: Minor reformatting.
* g-bytswa.adb: Minor reformatting.
* g-rannum.ads: Minor documentation improvements
* s-tasinf-mingw.adb: Minor header fix
* a-clrefi.adb: Minor reformatting
* g-sttsne.ads: Minor documentation improvement
* g-sttsne-locking.ads: Minor documentation improvement
* g-soliop-solaris.ads: Minor documentation improvement
* g-soliop-mingw.ads: Minor documentation improvement
* g-soliop.ads: Minor documentation improvement
* exp_aggr.ads: Minor reformatting
* debug.adb: Add documentation for the gprbuild debug flags
* exp_ch2.adb: Use Nkind_In to simplify code throughout
* exp_pakd.adb: Minor reformatting

* g-altive.ads, g-alleve.adb: Remove assertions.
Add comment about minor differences between targets regarding
floating-point operations.

* g-thread.adb: Remove pragma unreferenced.
* lib.ads: Minor reformatting
* par-ch9.adb: Minor reformatting of error messages
* sem_case.adb: Minor reformatting
* s-fileio.adb: Minor reformattinng
* s-vmexta.ads: Minor typo
* vxaddr2line.adb:
Take into account 'Success' value as per new GNAT warning.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130870 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Robert Dewar <dewar@adacore.com>
charlet [Thu, 13 Dec 2007 10:37:34 +0000 (10:37 +0000)]
2007-12-06  Robert Dewar  <dewar@adacore.com>

* treepr.ads, treepr.adb: (pl): implement use of positive value
shorthands

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130869 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Robert Dewar <dewar@adacore.com>
charlet [Thu, 13 Dec 2007 10:37:00 +0000 (10:37 +0000)]
2007-12-06  Robert Dewar  <dewar@adacore.com>

* tbuild.ads, tbuild.adb:
Fix location of flag for unrecognized pragma message

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130868 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Olivier Hainque <hainque@adacore.com>
charlet [Thu, 13 Dec 2007 10:36:42 +0000 (10:36 +0000)]
2007-12-06  Olivier Hainque  <hainque@adacore.com>

* tb-alvms.c (struct tb_entry_t, __gnat_backtrace): Revert back to use
of Procedure Value instead of Frame Pointer as the invocation
identifier associated with the instruction pointer in each traceback
entry.

* g-trasym-vms-alpha.adb (Traceback_Entry, PV_For, FP_For,
TB_Entry_For): Revert back to use of Procedure Value instead of Frame
Pointer as the invocation identifier passed to tbk$symbolize.

* s-traent-vms.ads, s-traent-vms.adb
(Traceback_Entry, PV_For, FP_For, TB_Entry_For): Revert back to use of
Procedure Value instead of Frame Pointer as the invocation identifier
passed to tbk$symbolize.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130867 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Robert Dewar <dewar@adacore.com>
charlet [Thu, 13 Dec 2007 10:36:06 +0000 (10:36 +0000)]
2007-12-06  Robert Dewar  <dewar@adacore.com>

* styleg.adb (Check_Comment): More liberal rules for comment placement

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130866 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago * s-tassta.adb (Create_Task): Take into account tasks created by
charlet [Thu, 13 Dec 2007 10:35:41 +0000 (10:35 +0000)]
* s-tassta.adb (Create_Task): Take into account tasks created by
foreign threads.
Code clean up: use constants instead of hard coded values.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130865 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Robert Dewar <dewar@adacore.com>
charlet [Thu, 13 Dec 2007 10:35:02 +0000 (10:35 +0000)]
2007-12-06  Robert Dewar  <dewar@adacore.com>

* s-stoele.adb ("mod"): mod negative value raises Constraint_Error

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130864 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Olivier Hainque <hainque@adacore.com>
charlet [Thu, 13 Dec 2007 10:34:35 +0000 (10:34 +0000)]
2007-12-06  Olivier Hainque  <hainque@adacore.com>

* s-stausa.ads (Stack_Analyzer): Remove First_Is_Topmost, redundant
with Stack_Grows_Down in System.Parameters. Rename Array_Address into
Stack_Overlay_Address and document that we are using an internal
abstraction.
(Byte_Size, Unsigned_32_Size): Remove, now useless.
(Pattern_Type, Bytes_Per_Pattern): New subtype and constant, to be used
consistently throughout the various implementation pieces.

* s-stausa.adb (Stack_Slots): New type, abstraction for the stack
overlay we are using to fill the stack area with patterns.
(Top_Slot_Index_In, Bottom_Slot_Index_In): Operations on Stack_Slots.
(Push_Index_Step_For, Pop_Index_Step_For): Likewise.
(Fill_Stack, Compute_Result): Use the Stack_Slots abstraction.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130863 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Bob Duff <duff@adacore.com>
charlet [Thu, 13 Dec 2007 10:34:11 +0000 (10:34 +0000)]
2007-12-06  Bob Duff  <duff@adacore.com>

* s-soflin.ads: Apply new pragma Favor_Top_Level to all
access-to-subprogram types in this package.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130862 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Thomas Quinot <quinot@adacore.com>
charlet [Thu, 13 Dec 2007 10:33:25 +0000 (10:33 +0000)]
2007-12-06  Thomas Quinot  <quinot@adacore.com>

* sinput-l.adb (Load_File): Disable style checks when preprocessing.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130861 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Thomas Quinot <quinot@adacore.com>
charlet [Thu, 13 Dec 2007 10:32:56 +0000 (10:32 +0000)]
2007-12-06  Thomas Quinot  <quinot@adacore.com>

* sinput.adb (Get_Source_File_Index): Add assertion to guard against
an invalid access to an uninitialized slot in the
Source_File_Index_Table.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130860 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Bob Duff <duff@adacore.com>
charlet [Thu, 13 Dec 2007 10:32:45 +0000 (10:32 +0000)]
2007-12-06  Bob Duff  <duff@adacore.com>
    Javier Miranda  <miranda@adacore.com>
    Robert Dewar  <dewar@adacore.com>

* sem_util.ads, sem_util.adb (Is_Concurrent_Interface): New routine.
(Set_Convention): New procedure to set the Convention flag, and in
addition make sure the Favor_Top_Level flag is kept in sync (all
foreign-language conventions require Favor_Top_Level = True).
(Collect_Abstract_Interfaces): Update occurrences of Related_Interface
to Related_Type.
(Collect_Interfaces_Info): Minor update to handle the two secondary
dispatch tables. Update occurrence of Related_Interface to Related_Type.
(Generate_Parent_Ref): Add parameter to specify entity to check
(Is_Preelaborable_Expression): Allow the name of a discriminant to
initialize a component of a type with preelaborable initialization.
This includes the case of a discriminal used in such a context.
(Is_Dependent_Component_Of_Mutable_Object): Take into account the
latest Ada 2005 rules about renaming and 'Access of
discriminant-dependent components.
(Check_Nested_Access): Add handling when there are no enclosing
subprograms (e.g. case of a package body).
(Find_Parameter_Type): Factor routine from several other compiler files.
Remove routine from Find_Overridden_Synchronized_Primitive.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130859 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Thu, 13 Dec 2007 10:32:34 +0000 (10:32 +0000)]
2007-12-06  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_type.adb (Function_Interp_Has_Abstract_Op): Add guard to check
whether formal E is an entity which may have parameters.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130858 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Geert Bosch <bosch@adacore.com>
charlet [Thu, 13 Dec 2007 10:32:23 +0000 (10:32 +0000)]
2007-12-06  Geert Bosch  <bosch@adacore.com>

* sem_eval.adb (Eval_Real_Literal): N_Constant_Declaration is a static
context, so do not call Check_Non_Static_Context.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130857 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Ed Schonberg <schonberg@adacore.com>
charlet [Thu, 13 Dec 2007 10:32:11 +0000 (10:32 +0000)]
2007-12-06  Ed Schonberg  <schonberg@adacore.com>

* sem_disp.adb (Check_Dispatching_Call): If an actual in a call to an
inherited operation is a defaulted tag-indeterminate call, and there is
a statically tagged actual, use the static tag as a controlling actual
for the defaulted actual.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130856 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Thu, 13 Dec 2007 10:32:01 +0000 (10:32 +0000)]
2007-12-06  Hristian Kirtchev  <kirtchev@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>

* sem_ch9.adb (Analyze_Requeue): Add a local flag to capture whether a
requeue statement is dispatching. Do not emit an error when the name is
not an entry and the context is a dispatching select. Add code to
perform subtype conformance between the formals of the current entry
and those of the target interface primitive.
(Analyze_Asynchronous_Select, Analyze_Conditional_Entry_Call, Analyze_
Timed_Entry_Call): Analyze the triggering statement as the first step of
the processing. If this is a dispatching select, postpone the analysis
of all select statements until the Expander transforms the select. This
approach avoids generating duplicate identifiers after the Expander has
replicated some of the select statements. In case the Expander is
disabled, perform regular analysis.
(Check_Triggering_Statement): New routine.
(Analyze_Requeue): Exclude any interpretations that are not entries when
checking overloaded names in a requeue. Also test type conformance for
matching interpretations rather than requiring subtype conformance at
that point to conform with the RM's resolution rule for requeues.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130855 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Robert Dewar <dewar@adacore.com>
charlet [Thu, 13 Dec 2007 10:30:55 +0000 (10:30 +0000)]
2007-12-06  Robert Dewar  <dewar@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>

* sem_ch8.adb (Analyze_Subprogram_Renaming): Special error message for
renaming entry as subprogram using rename-as-body if subprogram spec
frozen.
(Use_One_Type): The clause is legal on an access type whose designated
type has a limited view.
(Find_Direct_Name): Use Namet.Sp.Is_Bad_Spelling_Of function
(Find_Expanded_Name): Use Namet.Sp.Is_Bad_Spelling_Of function
(Analyze_Renamed_Primitive_Operation): new procedure to determine the
operation denoted by a selected component.
(Analyze_Renamed_Entry): Resolve the prefix of the entry name, because
it can be an expression, possibly overloaded, that returns a task or
an access to one.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130854 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Thu, 13 Dec 2007 10:30:41 +0000 (10:30 +0000)]
2007-12-06  Hristian Kirtchev  <kirtchev@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Analyze_Selected_Component): Include the requeue
statement to the list of contexts where a selected component with a
concurrent tagged type prefix should yield a primitive operation.
(Find_Primitive_Operation): Handle case of class-wide types.
(Analyze_Overloaded_Selected_Component): If type of prefix is
class-wide, use visible components of base type.
(Resolve_Selected_Component): Ditto.
(Try_Primitive_Operation, Collect_Generic_Type_Ops): If the type is a
formal of a generic subprogram. find candidate interpretations by
scanning the list of generic formal declarations.:
(Process_Implicit_Dereference_Prefix): If the prefix has an incomplete
type from a limited_with_clause, and the full view is available, use it
for subsequent semantic checks.
(Check_Misspelled_Selector): Use Namet.Sp.Is_Bad_Spelling_Of function
(Find_Primitive_Operation): New function.
(Analyze_Overloaded_Selected_Component): insert explicit dereference
only once if several interpretations of the prefix yield an access type.
(Try_Object_Operation): Code and comment cleanup.
(Analyze_Selected_Component): Reorder local variables. Minot comment and
code reformatting. When the type of the prefix is tagged concurrent, a
correct interpretation might be available in the primitive and
class-wide operations of the type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130853 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Robert Dewar <dewar@adacore.com>
charlet [Thu, 13 Dec 2007 10:30:04 +0000 (10:30 +0000)]
2007-12-06  Robert Dewar  <dewar@adacore.com>

* s-imenne.adb, s-imenne.ads: New files.

* s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads, s-imgdec.adb,
s-imgdec.ads, s-imgenu.ads, s-imgint.adb, s-imgint.ads, s-imglld.adb,
s-imglld.ads, s-imglli.adb, s-imglli.ads, s-imgllu.adb, s-imgllu.ads,
s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads, s-imgwch.adb,
s-imgwch.ads: New calling sequence for Image routines to avoid sec
stack usage.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130852 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Ed Schonberg <schonberg@adacore.com>
charlet [Thu, 13 Dec 2007 10:29:52 +0000 (10:29 +0000)]
2007-12-06  Ed Schonberg  <schonberg@adacore.com>

* sem_ch12.adb (Instantiate_Formal_Subprogram): In the subprogram
renaming declaration, use the Slocs of the formal parameters from the
declaration of the formal subprogram when creating the formal parameter
entities in the renaming declaration.
(Analyze_Formal_Type_Declaration): Change the placement of the error
message concerning illegal known discriminants. It is now posted on the
type rather than on the first discriminant. This change ensures early
error report.
(Freeze_Subprogram_Body): If the generic subprogram is nested within
the package body that contains the instance, do not generate an
out-of-place freeze node for the enclosing package.
(Collect_Previous_Instantiations): Ignore internal instantiations
generated for formal packages.
(Validate_Derived_Type_Instance): Add a check that when a formal
derived type is Known_To_Have_Preelab_Init then the actual type must
have preelaborable initialization, and issue an error when this
condition is violated.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130851 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Thomas Quinot <quinot@adacore.com>
charlet [Thu, 13 Dec 2007 10:29:38 +0000 (10:29 +0000)]
2007-12-06  Thomas Quinot  <quinot@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>

* sem_ch10.adb (Check_Private_Child_Unit): A non-private library level
subprogram body that acts as its own spec may not have a non-private
WITH clause on a private sibling.
(Build_Unit_Name): If the parent unit in the name in a with_clause on a
child unit is a renaming, create an implicit with_clause on that
parent, and not on the unit it renames, to prevent visibility errors
in the current unit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130850 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Robert Dewar <dewar@adacore.com>
charlet [Thu, 13 Dec 2007 10:29:24 +0000 (10:29 +0000)]
2007-12-06  Robert Dewar  <dewar@adacore.com>

* g-byorma.adb, g-byorma.ads, g-decstr.adb, g-decstr.ads,
g-deutst.ads, g-encstr.adb, g-encstr.ads, g-enutst.ads: New files.

* scn.adb: Implement BOM recognition

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130849 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago * rtsfind.adb (Check_CRT): Take into account RTE_Available_Call
charlet [Thu, 13 Dec 2007 10:29:02 +0000 (10:29 +0000)]
* rtsfind.adb (Check_CRT): Take into account RTE_Available_Call
Fixes another case where RTE_Available_Call was ignored instead of being
taken into account.
(Load_Fail): Ditto.

* rtsfind.ads: Add new entries.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130848 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Bob Duff <duff@adacore.com>
charlet [Thu, 13 Dec 2007 10:28:48 +0000 (10:28 +0000)]
2007-12-06  Bob Duff  <duff@adacore.com>

* restrict.ads, restrict.adb (Check_Implicit_Dynamic_Code_Allowed): New
procedure to be called from the back end to check the
No_Implicit_Dynamic_Code restriction.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130847 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Emmanuel Briot <briot@adacore.com>
charlet [Thu, 13 Dec 2007 10:28:39 +0000 (10:28 +0000)]
2007-12-06  Emmanuel Briot  <briot@adacore.com>
    Vincent Celier  <celier@adacore.com>

* prj.ads, prj.adb (Is_A_Language): Now takes a Name_Id instead of a
string
(Must_Check_Configuration, Default_Language_Is_Ada): new flags in
prj.ads
(Hash): Move instantiation of System.HTable.Hash from spec to body
(prj-nmsc.adb): Optimize calls to Name_Find when on case sensitive
systems, since we do not need to recompute the Name_Id for the canonical
file name.
(Body_Suffix_Id_Of, Spec_Suffix_Id_Of): new version that takes a name_id
as a parameter. This parameter is in fact always "ada" in all calls, and
we were doing 160560 extra calls to Name_Find to convert it to Name_Ada
while loading a project with 40000 files

* prj-attr.adb: Fix name of attribute Dependency_Driver
Change the kind of indexing for attribute Root

* prj-dect.adb (Parse_Declarative_Items): Allow redeclarations of
variables already declared, in case constructions.

* prj-env.adb (Initialize): Reset Current_Source_Path_File and
Current_Object_Path_File to No_Path.

* prj-ext.adb (Initialize_Project_Path): In multi language mode, use
ADA_PROJECT_PATH if value of GPR_PROJECT_PATH is empty.

* prj-makr.adb: new parameter Current_Dir

* prj-nmsc.ads, prj-nmsc.adb (Find_Explicit_Sources): Do not look for
Ada sources when language is not Ada.
Change Opt.Follow_Links to Opt.Follow_Links_For_Files.
(Find_Excluded_Sources, Find_Explicit_Sources): new subprograms
(Must_Check_Configuration, Default_Language_Is_Ada): new flags.
(Locate_Directory): Always resolve links when computing Canonical_Path
(Look_For_Sources): Make sure that Name_Buffer contains the file name
in Source_Files before checking for the presence of a directory
separator.
Optimize calls to Name_Find when on case sensitive systems.
(Body_Suffix_Id_Of, Spec_Suffix_Id_Of): new version that takes a name_id
as a parameter.
(Prj.Nmsc.Check): new parameter Current_Dir
(Check_Ada_Naming_Schemes): Restrictions on suffixes are relaxed. They
cannot be empty and the spec suffix cannot be the same as the body or
separate suffix.
(Get_Unit): When a file name can be of several unit kinds (spec, body or
subunit), always consider the longest suffix.
(Check_Configuration): Do not issue an error if there is no compiler
for a language. Just issue a warning and ignore the sources for the
language.
(Check_Library_Attributes): Only check Library_Dir if Library_Name is
not empty.
(Check_Naming_Schemes.Maked_Unit): Only output message if high verbosity
(Unit_Exceptions): New hash table
(Check_Naming_Schemes): Check if a file that could be a unit because of
the naming scheme is not in fact a source because there is an exception
for the unit.
(Look_For_Sources): Put the unit exceptions in hash table
Unit_Exceptions
(Get_Unit_Exceptions): Give initial value No_Source to local variable
Other_Part to avoid exception when code is compiled with validity
checking.
(Get_Sources_From_File): Check that there is no directory information
in the file names.
(Look_For_Sources): Check that there is no directory information in the
list of file names in Source_Files.
(Look_For_Sources): In multi-language mode, do not allow exception file
names that are excluded.
(Excluded_Sources_Htable): New hash table
(Search_Directories.Check_File): New procedure to simplify
Search_Directories.
(Search_Directories): Do not consider excluded sources
(Look_For_Sources): Populate Excluded_Sources_Htable before calling
Search_Directories.
(Get_Exceptions): Set component Lang_Kind of Source_Data
(Get_Unit_Exceptions): Ditto
(Search_Directories): Ditto

* prj-pars.adb: new parameter Current_Dir

* prj-part.ads, prj-part.adb:
Change Opt.Follow_Links to Opt.Follow_Links_For_Files.
(Opt.Follow_Links_For_Dirs): New flag
(Project_Path_Name_Of): Cache information returned by this routine as
Locate_Regular_File is a costly routine. The code to output a log
information and the effective call to Locate_Regular_File is now
factorized into a routine (code clean-up).
(Parse, Parse_Single_Project): new parameter Current_Dir
When main project file cannot be found, indicate in the error
message the project path that was used to do the search.

* prj-proc.ads, prj-proc.adb (Opt.Follow_Links_For_Dirs): New flag
(Prj.Proc.Process*): new parameter Current_Dir

* switch-m.adb: Change Opt.Follow_Links to Opt.Follow_Links_For_Files

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130846 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Robert Dewar <dewar@adacore.com>
charlet [Thu, 13 Dec 2007 10:28:24 +0000 (10:28 +0000)]
2007-12-06  Robert Dewar  <dewar@adacore.com>

* inline.adb (Back_End_Cannot_Inline): Use new flag
Has_Pragma_Inline_Always instead of obsolete function Is_Always_Inlined

* sem_ch6.ads, sem_ch6.adb (Analyze_Subprogram_Body): Use new flag
Has_Pragma_Inline_Always instead.
of obsolete function Is_Always_Inlined
(Build_Body_To_Inline): Same change
(Cannot_Inline): Same change
Do not give warning on exception raise in No_Return function

* sem_ch13.adb (Analyze_Record_Representation_Clause): If an inherited
component has two inconsistent component clauses in the same record
representation clause, favor the message that complains about
duplication rather than inconsistency.
Update comments.
(Record_Representation_Clause): Do not warn on missing component
clauses for inherited components of a type extension.
(Rep_Item_Too_Late): Do not attempt to link pragma into rep chain for
an overloadable item if it is a pragma that can apply to multiple
overloadable entities (e.g. Inline) because a pragma cannot be on
more than one chain at a time.
(Validate_Unchecked_Conversion): Add code to warn on unchecked
conversion where one of the operands is Ada.Calendar.Time.
(Analyze_Attribute_Definition_Clause): Fix typo in error message.
For now, ignore Component_Size clause on VM targets, as done for
pragma Pack.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130845 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Robert Dewar <dewar@adacore.com>
charlet [Thu, 13 Dec 2007 10:28:10 +0000 (10:28 +0000)]
2007-12-06  Robert Dewar  <dewar@adacore.com>

* g-spipat.adb (Break): Fix accessibility error (vsn taking not null
access Vstring)

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130844 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Robert Dewar <dewar@adacore.com>
charlet [Thu, 13 Dec 2007 10:27:58 +0000 (10:27 +0000)]
2007-12-06  Robert Dewar  <dewar@adacore.com>

* g-spchge.ads, g-spchge.adb, g-u3spch.adb, g-u3spch.ads,
g-wispch.adb, g-wispch.ads, g-zspche.adb, g-zspche.ads,
namet-sp.adb, namet-sp.ads: New files.

* g-speche.adb: Use generic routine in g-spchge

* s-wchcnv.ads, s-wchcnv.adb:
Minor code cleanup (make formal type consistent with spec)

* namet.adb: Update comments.

* par-endh.adb (Evaluate_End_Entry): Use new
Namet.Sp.Is_Bad_Spelling_Of function

* par-load.adb (Load): Use new Namet.Sp.Is_Bad_Spelling_Of function

* sem_aggr.adb (Resolve_Record_Aggregate): If a component of an
ancestor is an access type initialized with a box, set its type
explicitly, for use in subsequent expansion.
(Check_Misspelled_Component): Use new Namet.Sp.Is_Bad_Spelling_Of
function

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130843 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Vasiliy Fofanov <fofanov@adacore.com>
charlet [Thu, 13 Dec 2007 10:27:42 +0000 (10:27 +0000)]
2007-12-06  Vasiliy Fofanov  <fofanov@adacore.com>

* g-regist.ads, g-regist.adb (Set_Value): new parameter Expand; when
set to True this procedure will create the value of type REG_EXPAND_SZ.
It was only possible to create REG_SZ values before.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130842 138bc75d-0d04-0410-961f-82ee72b054a4

16 years ago2007-12-06 Vincent Celier <celier@adacore.com>
charlet [Thu, 13 Dec 2007 10:27:32 +0000 (10:27 +0000)]
2007-12-06  Vincent Celier  <celier@adacore.com>

* gnatcmd.adb (GNATCmd): Do not issue -d= switch to gnatmetric when
object directory of main project does not exist.
On VMS, correctly set then environment variable for the source
directories.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130841 138bc75d-0d04-0410-961f-82ee72b054a4