OSDN Git Service
rsandifo [Sat, 18 Feb 2006 22:06:53 +0000 (22:06 +0000)]
* cselib.c (cselib_init): Change RTX_SIZE to RTX_CODE_SIZE.
* emit-rtl.c (copy_rtx_if_shared_1): Use shallow_copy_rtx.
(copy_insn_1): Likewise. Don't copy each field individually.
Reindent.
* read-rtl.c (apply_macro_to_rtx): Use RTX_CODE_SIZE instead
of RTX_SIZE.
* reload1.c (eliminate_regs): Use shallow_copy_rtx.
* rtl.c (rtx_size): Rename variable to...
(rtx_code_size): ...this.
(rtx_size): New function.
(rtx_alloc_stat): Use RTX_CODE_SIZE instead of RTX_SIZE.
(copy_rtx): Use shallow_copy_rtx. Don't copy each field individually.
Reindent.
(shallow_copy_rtx_stat): Use rtx_size instead of RTX_SIZE.
* rtl.h (rtx_code_size): New variable.
(rtx_size): Change from a variable to a function.
(RTX_SIZE): Rename to...
(RTX_CODE_SIZE): ...this.
PR target/9703
PR tree-optimization/17106
* doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Document.
(Anchored Addresses): New section.
* doc/invoke.texi (-fsection-anchors): Document.
* doc/rtl.texi (SYMBOL_REF_IN_BLOCK_P, SYMBOL_FLAG_IN_BLOCK): Likewise.
(SYMBOL_REF_ANCHOR_P, SYMBOL_FLAG_ANCHOR): Likewise.
(SYMBOL_REF_BLOCK, SYMBOL_REF_BLOCK_OFFSET): Likewise.
* hooks.c (hook_bool_mode_rtx_false): New function.
* hooks.h (hook_bool_mode_rtx_false): Declare.
* gengtype.c (create_optional_field): New function.
(adjust_field_rtx_def): Add the "block_sym" field for SYMBOL_REFs when
SYMBOL_REF_IN_BLOCK_P is true.
* target.h (output_anchor, use_blocks_for_constant_p): New hooks.
(min_anchor_offset, max_anchor_offset): Likewise.
(use_anchors_for_symbol_p): New hook.
* toplev.c (compile_file): Call output_object_blocks.
(target_supports_section_anchors_p): New function.
(process_options): Check that -fsection-anchors is only used on
targets that support it and when -funit-at-a-time is in effect.
* tree-ssa-loop-ivopts.c (prepare_decl_rtl): Only create DECL_RTL
if the decl doesn't have one.
* dwarf2out.c: Remove instantiations of VEC(rtx,gc).
* expr.c (emit_move_multi_word, emit_move_insn): Pass the result
of force_const_mem through use_anchored_address.
(expand_expr_constant): New function.
(expand_expr_addr_expr_1): Call it. Use the same modifier when
calling expand_expr for INDIRECT_REF.
(expand_expr_real_1): Pass DECL_RTL through use_anchored_address
for all modifiers except EXPAND_INITIALIZER. Use expand_expr_constant.
* expr.h (use_anchored_address): Declare.
* loop-unroll.c: Don't declare rtx vectors here.
* explow.c: Include output.h.
(validize_mem): Call use_anchored_address.
(use_anchored_address): New function.
* common.opt (-fsection-anchors): New switch.
* varasm.c (object_block_htab, anchor_labelno): New variables.
(hash_section, object_block_entry_eq, object_block_entry_hash)
(use_object_blocks_p, get_block_for_section, create_block_symbol)
(use_blocks_for_decl_p, change_symbol_section): New functions.
(get_variable_section): New function, split out from assemble_variable.
(make_decl_rtl): Create a block symbol if use_object_blocks_p and
use_blocks_for_decl_p say so. Use change_symbol_section if the
symbol has already been created.
(assemble_variable_contents): New function, split out from...
(assemble_variable): ...here. Don't output any code for
block symbols; just pass them to place_block_symbol.
Use get_variable_section and assemble_variable_contents.
(get_constant_alignment, get_constant_section, get_constant_size): New
functions, split from output_constant_def_contents.
(build_constant_desc): Create a block symbol if use_object_blocks_p
says so. Or into SYMBOL_REF_FLAGS.
(assemble_constant_contents): New function, split from...
(output_constant_def_contents): ...here. Don't output any code
for block symbols; just pass them to place_section_symbol.
Use get_constant_section and get_constant_alignment.
(force_const_mem): Create a block symbol if use_object_blocks_p and
use_blocks_for_constant_p say so. Or into SYMBOL_REF_FLAGS.
(output_constant_pool_1): Add an explicit alignment argument.
Don't switch sections here.
(output_constant_pool): Adjust call to output_constant_pool_1.
Switch sections here instead. Don't output anything for block symbols;
just pass them to place_block_symbol.
(init_varasm_once): Initialize object_block_htab.
(default_encode_section_info): Keep the old SYMBOL_FLAG_IN_BLOCK.
(default_asm_output_anchor, default_use_aenchors_for_symbol_p)
(place_block_symbol, get_section_anchor, output_object_block)
(output_object_block_htab, output_object_blocks): New functions.
* target-def.h (TARGET_ASM_OUTPUT_ANCHOR): New macro.
(TARGET_ASM_OUT): Include it.
(TARGET_USE_BLOCKS_FOR_CONSTANT_P): New macro.
(TARGET_MIN_ANCHOR_OFFSET, TARGET_MAX_ANCHOR_OFFSET): New macros.
(TARGET_USE_ANCHORS_FOR_SYMBOL_P): New macro.
(TARGET_INITIALIZER): Include them.
* rtl.c (rtl_check_failed_block_symbol): New function.
* rtl.h: Include vec.h. Declare heap and gc rtx vectors.
(block_symbol, object_block): New structures.
(rtx_def): Add a block_symbol field to the union.
(BLOCK_SYMBOL_CHECK): New macro.
(rtl_check_failed_block_symbol): Declare.
(SYMBOL_FLAG_IN_BLOCK, SYMBOL_FLAG_ANCHOR): New SYMBOL_REF flags.
(SYMBOL_REF_IN_BLOCK_P, SYMBOL_REF_ANCHOR_P): New predicates.
(SYMBOL_FLAG_MACH_DEP_SHIFT): Bump by 2.
(SYMBOL_REF_BLOCK, SYMBOL_REF_BLOCK_OFFSET): New accessors.
* output.h (output_section_symbols): Declare.
(object_block): Name structure.
(place_section_symbol, get_section_anchor, default_asm_output_anchor)
(default_use_anchors_for_symbol_p): Declare.
* Makefile.in (RTL_BASE_H): Add vec.h.
(explow.o): Depend on output.h.
* config/rs6000/rs6000.c (TARGET_MIN_ANCHOR_OFFSET): Override default.
(TARGET_MAX_ANCHOR_OFFSET): Likewise.
(TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise.
(rs6000_use_blocks_for_constant_p): New function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111254
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Sat, 18 Feb 2006 21:32:06 +0000 (21:32 +0000)]
* doc/install.texi (hppa*-hp-hpux*): Update for 4.1.0.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111253
138bc75d-0d04-0410-961f-
82ee72b054a4
pinskia [Sat, 18 Feb 2006 21:09:35 +0000 (21:09 +0000)]
2006-02-18 Andrew Pinski <pinskia@physics.uc.edu>
PR tree-opt/25680
* tree-ssa-ccp.c (ccp_fold): Handle store CCP of REALPART_EXPR and
IMAGPART_EXPR.
2006-02-18 Andrew Pinski <pinskia@physics.uc.edu>
PR tree-opt/25680
* testsuite/gcc.dg/tree-ssa/complex-3.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111251
138bc75d-0d04-0410-961f-
82ee72b054a4
pinskia [Sat, 18 Feb 2006 21:04:57 +0000 (21:04 +0000)]
2006-02-18 Andrew Pinski <pinskia@physics.uc.edu>
* gcc.dg/tree-ssa/
20031106-1.c: Fix the final scan of the
variable to take into account the variable name in the
function header.
* gcc.dg/tree-ssa/
20031106-2.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111250
138bc75d-0d04-0410-961f-
82ee72b054a4
dnovillo [Sat, 18 Feb 2006 20:31:28 +0000 (20:31 +0000)]
* tree-flow.h (struct var_ann_d): Rename field is_alias_tag to
is_aliased.
Update all users.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111249
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Sat, 18 Feb 2006 18:58:42 +0000 (18:58 +0000)]
PR middle-end/26334
* stmt.c (decl_overlaps_hard_reg_set_p): Use DECL_HARD_REGISTER
instead of DECL_REGISTER.
* gcc.c-torture/compile/
20060217-1.c: New test.
* gcc.dg/
20060218-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111247
138bc75d-0d04-0410-961f-
82ee72b054a4
sayle [Sat, 18 Feb 2006 17:26:35 +0000 (17:26 +0000)]
* trans-stmt.c (struct temporary_list): Delete.
(gfc_trans_where_2): Major reorganization. Remove no longer needed
TEMP argument. Allocate and deallocate the control mask and
pending control mask locally.
(gfc_trans_forall_1): Delete TEMP local variable, and update
call to gfc_trans_where_2. No need to deallocate arrays after.
(gfc_evaluate_where_mask): Major reorganization. Change return
type to void. Pass in parent execution mask, MASK, and two
already allocated mask arrays CMASK and PMASK. On return
CMASK := MASK & COND, PMASK := MASK & !COND. MASK, CMASK and
CMASK may all be NULL, or refer to the same temporary arrays.
(gfc_trans_where): Update call to gfc_trans_where_2. We no
longer need a TEMP variable or to deallocate temporary arrays
allocated by gfc_trans_where_2.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111245
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Sat, 18 Feb 2006 16:15:07 +0000 (16:15 +0000)]
PR ada/13408
* pa.h (WIDEST_HARDWARE_FP_SIZE): Define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111241
138bc75d-0d04-0410-961f-
82ee72b054a4
kargl [Sat, 18 Feb 2006 16:10:59 +0000 (16:10 +0000)]
2006-02-18 Danny Smith <dannysmith@users.sourceforeg.net>
* gfortran.h (gfc_add_attribute): Change uint to unsigned int.
* symbol.c (gfc_add_attribute): Likewise for definition.
* resolve.c (resolve_global_procedure): Likewise for variable 'type'.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111239
138bc75d-0d04-0410-961f-
82ee72b054a4
sje [Sat, 18 Feb 2006 15:58:06 +0000 (15:58 +0000)]
PR target/26189
* inclhack.def (hpux_spu_info): New.
* fixincl.x: Regenerate
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111237
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Sat, 18 Feb 2006 11:12:51 +0000 (11:12 +0000)]
PR target/24837
* config.gcc: Define UCLIBC_DEFAULT to 0 or 1.
* opth-gen.awk: Handle Var and InverseMask together.
* config/linux.opt (muclibc, mglibc): Use Var(linux_uclibc).
* config/linux.h: Use #if not #ifdef for testing UCLIBC_DEFAULT.
(TARGET_C99_FUNCTIONS): Test OPTION_GLIBC not TARGET_GLIBC.
(CHOOSE_DYNAMIC_LINKER): Give an error for -mglibc and -muclibc
used together.
(UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define.
* config/alpha/linux-elf.h (GLIBC_DYNAMIC_LINKER,
UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER,
LINUX_DYNAMIC_LINKER): Define.
(ELF_DYNAMIC_LINKER): Define to LINUX_DYNAMIC_LINKER.
* config/alpha/linux.h (TARGET_C99_FUNCTIONS): Define to
TARGET_GLIBC.
* config/cris/linux.h (GLIBC_DYNAMIC_LINKER): Define.
(CRIS_LINK_SUBTARGET_SPEC): Pass a -dynamic-linker option.
* config/frv/linux.h (GLIBC_DYNAMIC_LINKER): Define.
(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
(TARGET_C99_FUNCTIONS): Don't define.
* config/i386/linux.h (DYNAMIC_LINKER): Rename to
GLIBC_DYNAMIC_LINKER.
(SUBTARGET_EXTRA_SPECS): Use LINUX_DYNAMIC_LINKER.
* config/i386/linux64.h (GLIBC_DYNAMIC_LINKER32,
GLIBC_DYNAMIC_LINKER64): Define.
(LINK_SPEC): Use LINUX_DYNAMIC_LINKER32 and
LINUX_DYNAMIC_LINKER64.
* config/ia64/linux.h (GLIBC_DYNAMIC_LINKER): Define.
(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
* config/m32r/linux.h (GLIBC_DYNAMIC_LINKE): Define.
(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
* config/m68k/linux.h (GLIBC_DYNAMIC_LINKER): Define.
(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
* config/mips/linux64.h (GLIBC_DYNAMIC_LINKER32,
GLIBC_DYNAMIC_LINKER64, GLIBC_DYNAMIC_LINKERN32,
UCLIBC_DYNAMIC_LINKERN32, LINUX_DYNAMIC_LINKERN32): Define.
(LINK_SPEC): Use LINUX_DYNAMIC_LINKERN32, LINUX_DYNAMIC_LINKER64
and LINUX_DYNAMIC_LINKER32.
* config/mn10300/linux.h (GLIBC_DYNAMIC_LINKER): Define.
(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
* config/pa/pa-linux.h (GLIBC_DYNAMIC_LINKER): Define.
(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
* config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define to
TARGET_GLIBC.
* config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Likewise.
(GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64,
UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
CHOOSE_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER,
LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define.
(LINK_OS_LINUX_SPEC32): Use LINUX_DYNAMIC_LINKER32.
(LINK_OS_LINUX_SPEC64): Use LINUX_DYNAMIC_LINKER64.
* config/rs6000/sysv4.h (GLIBC_DYNAMIC_LINKER,
UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER,
LINUX_DYNAMIC_LINKER): Define.
(LINK_OS_LINUX_SPEC): Use LINUX_DYNAMIC_LINKE.
* config/s390/linux.h (GLIBC_DYNAMIC_LINKER32,
GLIBC_DYNAMIC_LINKER64): Define.
(LINK_SPEC): Use LINUX_DYNAMIC_LINKER32 and
LINUX_DYNAMIC_LINKER64.
* config/sh/linux.h (GLIBC_DYNAMIC_LINKER): Define.
(SUBTARGET_LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
* config/sparc/linux.h (GLIBC_DYNAMIC_LINKER,
UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER,
LINUX_DYNAMIC_LINKER): Define.
(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
(TARGET_C99_FUNCTIONS): Define to TARGET_GLIBC.
* config/sparc/linux64.h (GLIBC_DYNAMIC_LINKER32,
GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER32,
UCLIBC_DYNAMIC_LINKER64, CHOOSE_DYNAMIC_LINKER,
LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define.
(LINK_ARCH32_SPEC): Use LINUX_DYNAMIC_LINKER32.
(LINK_ARCH64_SPEC, LINK_SPEC): Use LINUX_DYNAMIC_LINKER64.
(TARGET_C99_FUNCTIONS): Define to TARGET_GLIBC.
* config/xtensa/linux.h (GLIBC_DYNAMIC_LINKER): Define.
(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
* doc/invoke.texi (-muclibc): Remove caveat about supported
targets.
testsuite:
* gcc.dg/glibc-uclibc-1.c, gcc.dg/glibc-uclibc-2.c: New tests.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111235
138bc75d-0d04-0410-961f-
82ee72b054a4
dalecki [Sat, 18 Feb 2006 09:25:31 +0000 (09:25 +0000)]
2006-02-17 Grigory Zagorodnev <grigory_zagorodnev@linux.intel.com>
gcc/ChangeLog:
* doc/cpp.texi (__TIMESTAMP__): Document.
libcpp/ChangeLog:
* macro.c (_cpp_builtin_macro_text): Handle BT_TIMESTAMP.
* files.c (_cpp_get_file_stat): New function.
* include/cpplib.h (builtin_type): Add BT_TIMESTAMP.
* init.c (builtin_array): Add support for __TIMESTAMP__/BT_TIMESTAMP.
* internal.h (_cpp_get_file_stat): Prototype.
(struct cpp_buffer): Add timestamp.
gcc/testsuite/ChangeLog:
* gcc.dg/cpp/undef3.c: New test.
* gcc.dg/cpp/trad/builtins2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111232
138bc75d-0d04-0410-961f-
82ee72b054a4
mmitchel [Sat, 18 Feb 2006 08:37:11 +0000 (08:37 +0000)]
PR c++/26266
* g++.dg/template/static22.C: New test.
* g++.dg/template/static23.C: New test.
* g++.dg/template/static24.C: New test.
* g++.dg/template/non-dependent13.C: New test.
* g++.dg/init/member1.C: Tweak error markers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111230
138bc75d-0d04-0410-961f-
82ee72b054a4
mmitchel [Sat, 18 Feb 2006 08:36:11 +0000 (08:36 +0000)]
PR c++/26266
* cp-tree.h (cp_finish_decl): Adjust declaration.
(grokbitfield): Likewise.
(finish_static_data_member_decl): Likewise.
* init.c (constant_value_1): Ensure processing_template_decl when
folding non-dependent initializers for static data members of
dependent types. Return error_mark_node for erroneous
initailizers.
* class.c (get_vtable_decl): Use finish_decl, not cp_finish_decl.
* decl.c (cp_make_fname_decl): Adjust call to cp_finish_decl.
(cp_finish_decl): Add init_const_expr_p parameter. Set
DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P here.
(finish_decl): Adjust call to cp_finish_decl.
(compute_array_index_type): Robustify.
(start_method): Use finish_decl, not cp_finish_decl.
* rtti.c (emit_tinfo_decl): Likewise.
* except.c (initialize_handler_parm): Adjust call to
cp_finish_decl.
(expand_start_catch_block): Likewise.
* cvt.c (build_up_reference): Adjust call to cp_finish_decl.
* pt.c (instantiate_class_template): Adjust call to
finish_static_data_member_decl.
(tsubst_expr): Use finish_decl, not cp_finish_decl.
(instantiate_decl): Adjust call to cp_finish_decl.
* name-lookup.c (pushdecl_top_level_1): Use finish_decl, not
cp_finish_decl.
* decl2.c (finish_static_data_member_decl): Add init_const_expr_p
parameter.
(grokfield): Likewise.
* parser.c (cp_parser_condition): Check for constant initializers.
(cp_parser_init_declarator): Adjust calls to grokfield and
cp_finish_decl. Don't set
DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P here.
(cp_parser_member_declaration): Likewise.
(cp_parser_objc_class_ivars): Likewise.
PR c++/26266
* g++.dg/template/static22.C: New test.
* g++.dg/template/static23.C: New test.
* g++.dg/template/static24.C: New test.
* g++.dg/template/non-dependent13.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111229
138bc75d-0d04-0410-961f-
82ee72b054a4
sayle [Sat, 18 Feb 2006 05:22:46 +0000 (05:22 +0000)]
PR middle-end/25600
* fold-const.c (fold_binary): Fold (X >> C) != 0 into X < 0 when
C is one less than the width of X (and related transformations).
* simplify_rtx.c (simplify_unary_operation_1): Transform
(neg (lt x 0)) into either (ashiftrt X C) or (lshiftrt X C)
depending on STORE_FLAG_VALUE, were C is one less then the
width of X.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111226
138bc75d-0d04-0410-961f-
82ee72b054a4
kkojima [Sat, 18 Feb 2006 00:35:13 +0000 (00:35 +0000)]
* src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
and cast integer to void * if needed. Update the pointer to
the FP register saved area correctly.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111225
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 18 Feb 2006 00:17:32 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111223
138bc75d-0d04-0410-961f-
82ee72b054a4
dberlin [Sat, 18 Feb 2006 00:09:51 +0000 (00:09 +0000)]
2006-02-17 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/26341
* tree-ssa-operands.c (add_virtual_operand): Remove assert
about NAME_MEMORY_TAG's.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111217
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Fri, 17 Feb 2006 22:19:05 +0000 (22:19 +0000)]
PR target/26255
* pa.md: Create separate HI and QI move patterns for 32-bit and 64-bit
with hardware float support, and software float support. Add fcpy
alternative to hardware patterns. Add alternatives to copy between
general and floating-point registers to the 32-bit pattern.
* pa.c (pa_secondary_reload): Don't abort if reload tries to find a
secondary reload to load a QI or HI mode constant into a floating
point register.
* pa32-regs.h (VALID_FP_MODE_P): Allow QImode and HImode.
* pa64-regs.h (VALID_FP_MODE_P): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111214
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Fri, 17 Feb 2006 22:09:58 +0000 (22:09 +0000)]
PR target/26255
* gcc.c-torture/compile/pr26255.c: New test case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111213
138bc75d-0d04-0410-961f-
82ee72b054a4
andreast [Fri, 17 Feb 2006 20:52:38 +0000 (20:52 +0000)]
2006-02-17 Andreas Tobler <a.tobler@schweiz.ch>
* testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
is fixed.
* testsuite/libffi.call/nested_struct4.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111208
138bc75d-0d04-0410-961f-
82ee72b054a4
pinskia [Fri, 17 Feb 2006 19:52:28 +0000 (19:52 +0000)]
2006-02-17 Andrew Pinski <pinskia@physics.uc.edu>
PR target/26272
* config/rs6000/darwin.md (load_macho_picbase_si): Add
pc to the pattern.
(load_macho_picbase_di): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111206
138bc75d-0d04-0410-961f-
82ee72b054a4
fxcoudert [Fri, 17 Feb 2006 19:01:04 +0000 (19:01 +0000)]
PR bootstrap/26161
* configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
for the other pthread check.
* configure: Regenerate.
* config.h.in: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111205
138bc75d-0d04-0410-961f-
82ee72b054a4
sayle [Fri, 17 Feb 2006 18:11:30 +0000 (18:11 +0000)]
* gfortran.fortran-torture/execute/where_10.f90: New test case.
* gfortran.fortran-torture/execute/where_11.f90: Likewise.
* gfortran.fortran-torture/execute/where_12.f90: Likewise.
* gfortran.fortran-torture/execute/where_13.f90: Likewise.
* gfortran.fortran-torture/execute/where_14.f90: Likewise.
* gfortran.fortran-torture/execute/where_15.f90: Likewise.
* gfortran.fortran-torture/execute/where_16.f90: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111204
138bc75d-0d04-0410-961f-
82ee72b054a4
fxcoudert [Fri, 17 Feb 2006 18:08:57 +0000 (18:08 +0000)]
* MAINTAINERS (Write After Approval): Remove myself.
(Language Front End Maintainers): Add myself as fortran 95
maintainer.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111203
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 17 Feb 2006 16:09:32 +0000 (16:09 +0000)]
Resync.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111200
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 17 Feb 2006 16:09:11 +0000 (16:09 +0000)]
2006-02-17 Ramon Fernandez <fernandez@adacore.com>
Thomas Quinot <quinot@adacore.com>
Robert Dewar <dewar@adacore.com>
Javier Miranda <miranda@adacore.com>
* expander.adb: Fix typo in comment
* exp_pakd.adb: Fix typo
Minor comment reformatting.
* g-dyntab.adb: Minor reformatting
* exp_ch6.adb (Register_Interface_DT_Entry): Traverse the list of
aliased subprograms to look for the abstract interface subprogram.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111199
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 17 Feb 2006 16:08:58 +0000 (16:08 +0000)]
2006-02-17 Robert Dewar <dewar@adacore.com>
* s-wchcnv.adb: Document handling of [ on output (we do not change
this to ["5B"] and the new comments say why not.
* gnat_ugn.texi:
Add note for -gnatVo that this now includes the cases of type
conversions and qualified expressions.
Add comments on handling of brackets encoding for Text_IO
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111198
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 17 Feb 2006 16:08:48 +0000 (16:08 +0000)]
2006-02-17 Matthew Heaney <heaney@adacore.com>
* a-convec.ads, a-convec.adb:
(operator "&"): handle potential overflow for large index types
(Insert): removed Contraint_Error when using large index types
(Insert_Space): removed Constraint_Error for large index types
(Length): moved constraint check from Length to Insert
* a-coinve.ads, a-coinve.adb: Stream attribute procedures are declared
as not null access.
Explicit raise statements now include an exception message.
(operator "&"): handle potential overflow for large index types
(Insert): removed Contraint_Error when using large index types
(Insert_Space): removed Constraint_Error for large index types
(Length): moved constraint check from Length to Insert
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111197
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 17 Feb 2006 16:08:38 +0000 (16:08 +0000)]
2006-02-17 Vincent Celier <celier@adacore.com>
* snames.ads, snames.adb: New standard names for new project attributes:
archive_builder, archive_indexer, compiler_pic_option,
config_body_file_name, config_body_file_name_pattern,
config_file_switches, config_file_unique, config_spec_file_name,
config_spec_file_name_pattern, default_builder_switches,
default_global_compiler_switches, default_language,
dependency_file_kind, global_compiler_switches, include_path,
include_path_file, language_kind, linker_executable_option,
linker_lib_dir_option, linker_lib_name_option, mapping_file_switches,
roots, runtime_project.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111196
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 17 Feb 2006 16:08:28 +0000 (16:08 +0000)]
2006-02-17 Javier Miranda <miranda@adacore.com>
* sem_res.adb (Resolve_Type_Conversion): In case of conversion to an
abstract interface type, the static analysis is not enough to know if
the interface is implemented or not by the source tagged type. Hence
we must pass the work to the expander to generate the required code to
evaluate the conversion at run-time.
(Resolve_Equality_Op): Do not apply previous
transformation if expansion is disasbled, to prevent anomalies when
locating global references in a generic unit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111195
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 17 Feb 2006 16:08:18 +0000 (16:08 +0000)]
2006-02-17 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Build_Body_To_Inline): Enforce the rule that in order
to inline a function that returns an unconstrained type, the return
expression must be the first variable declared in the body of the
function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111194
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 17 Feb 2006 16:08:08 +0000 (16:08 +0000)]
2006-02-17 Javier Miranda <miranda@adacore.com>
Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Build_Discriminated_Subtype): In case of concurrent
type we cannot inherit the primitive operations; we inherit the
Corresponding_Record_Type (which has the list of primitive operations).
(Check_Anonymous_Access_Types): When creating anonymous access types for
access components, use Rewrite in order to preserve the tree structure,
for ASIS use.
(Analyze_Object_Declaration): For limited types with access
discriminants with defaults initialized by an aggregate, obtain
subtype from aggregate as for other mutable types.
(Derived_Type_Declaration): If the derived type is a limited interface,
set the corresponding flag (Is_Limited_Record is not sufficient).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111193
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 17 Feb 2006 16:07:56 +0000 (16:07 +0000)]
2006-02-17 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Analyze_Package_Instantiation): Inline_Now is false if
the current instance is nested within another instance in a child unit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111192
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 17 Feb 2006 16:07:43 +0000 (16:07 +0000)]
2006-02-17 Ed Schonberg <schonberg@adacore.com>
* sem_ch10.adb (Analyze_With_Clause): If the unit is a subprogram
instantiation, the corresponding entity is the related_instance of the
wrapper package created for the instance.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111191
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 17 Feb 2006 16:07:32 +0000 (16:07 +0000)]
2006-02-17 Vasiliy Fofanov <fofanov@adacore.com>
* Makefile.in: Use VMS64 specialized versions of several units in
Interfaces.C hierarchy to be compatible with HP C default size choices.
Use the default version of Ada.Synchronous_Task_Control for VxWorks 653.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111190
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 17 Feb 2006 16:07:22 +0000 (16:07 +0000)]
2006-02-17 Vasiliy Fofanov <fofanov@adacore.com>
* init.c (facility_resignal_table): new array
(__gnat_default_resignal_p): enhance default predicate to resignal if
VMS condition has one of the predefined facility codes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111189
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 17 Feb 2006 16:07:10 +0000 (16:07 +0000)]
2006-02-17 Robert Dewar <dewar@adacore.com>
* g-os_lib.adb (Copy_File): Make sure that if From has an Invalid_FD,
then we close To if it is valid.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111188
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 17 Feb 2006 16:06:57 +0000 (16:06 +0000)]
2006-02-17 Ed Schonberg <schonberg@adacore.com>
* freeze.adb (Statically_Discriminated_Components): Return false if
the bounds of the type of the discriminant are not static expressions.
* sem_aggr.adb (Check_Static_Discriminated_Subtype): Return false if
the bounds of the discriminant type are not static.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111187
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 17 Feb 2006 16:06:28 +0000 (16:06 +0000)]
2006-02-17 Ed Schonberg <schonberg@adacore.com>
* exp_dbug.adb (Debug_Renaming_Declaration): Indicate that the entity
must be materialized when the renamed expression is an explicit
dereference.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111186
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 17 Feb 2006 16:06:16 +0000 (16:06 +0000)]
2006-02-17 Javier Miranda <miranda@adacore.com>
Robert Dewar <dewar@adacore.com>
* exp_ch4.adb (Expand_N_Allocator): If the allocated object is accessed
through an access to class-wide interface we force the displacement of
the pointer to the allocated object to reference the corresponding
secondary dispatch table.
(Expand_N_Op_Divide): Allow 64 bit divisions by small power of 2,
if Long_Shifts are supported on the target, even if 64 bit divides
are not supported (configurable run time mode).
(Expand_N_Type_Conversion): Do validity check if validity checks on
operands are enabled.
(Expand_N_Qualified_Expression): Do validity check if validity checks
on operands are enabled.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111185
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 17 Feb 2006 16:06:01 +0000 (16:06 +0000)]
2006-02-17 Jose Ruiz <ruiz@adacore.com>
* s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb,
s-taprop-posix.adb, s-taprop-vxworks.adb, s-taprop-lynxos.adb,
s-taprop-tru64.adb (Set_False, Set_True, Suspend_Until_True): Add
Abort_Defer/Undefer pairs to avoid the possibility of a task being
aborted while owning a lock.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111184
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 17 Feb 2006 16:05:46 +0000 (16:05 +0000)]
2006-02-17 Eric Botcazou <botcazou@adacore.com>
PR ada/26315
* utils2.c (find_common_type): If both input types are BLKmode and
have the same constant size, keep using the first one.
* bindgen.adb: (Gen_Versions_Ada): Revert previous workaround.
* decl.c (gnat_to_gnu_entity): Only check TREE_OVERFLOW for a constant.
* misc.c (gnat_handle_option): New case for -Woverlength-strings.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111183
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 17 Feb 2006 16:05:24 +0000 (16:05 +0000)]
2006-02-17 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Find_Boolean_Types): If one of the operands is an
aggregate, check the interpretations of the other operand to find one
that may be a boolean array.
(Analyze_Selected_Component): Fix flow-of-control typo in case where
the prefix is a private extension.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111182
138bc75d-0d04-0410-961f-
82ee72b054a4
aph [Fri, 17 Feb 2006 13:01:40 +0000 (13:01 +0000)]
2006-02-16 Andrew Haley <aph@redhat.com>
* stacktrace.cc (GetStackTraceElements): Call
gnu::gcj::runtime::NameFinder::removeUnknown() to determine if
non-Java frames should be removed from a printed stack trace.
Pass methodName to getLineNumberForFrame().
(getLineNumberForFrame): Set method_name from info.dli_sname.
* gnu/gcj/runtime/NameFinder.java (removeUnknown): New method.
(remove_unknown): New variable.
* include/java-stack.h (_Jv_StackTrace::getLineNumberForFrame):
Add methodName arg.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111181
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Fri, 17 Feb 2006 11:06:17 +0000 (11:06 +0000)]
gcc/fortran/
* trans-common.c: Include rtl.h earlier.
* trans-decl.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111178
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Fri, 17 Feb 2006 10:46:57 +0000 (10:46 +0000)]
2006-02-17 Paolo Carlini <pcarlini@suse.de>
Howard Hinnant <hhinnant@apple.com>
PR libstdc++/26250
* include/bits/sstream.tcc (basic_stringbuf<>::overflow): Tweak
to leave epgtr() just past the new write position, as per the
relevant bits of 27.7.1.3/8 (not changed by DR 432).
* testsuite/27_io/basic_stringbuf/overflow/char/26250.cc: New.
* testsuite/27_io/basic_stringbuf/overflow/wchar_t/26250.cc: Same.
* docs/html/ext/howto.html: Add entries for DR 169 and DR 432.
* include/std/std_sstream.h (basic_stringbuf<>::_M_sync): Move out
of line...
* include/bits/sstream.tcc: ... here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111177
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Fri, 17 Feb 2006 04:15:32 +0000 (04:15 +0000)]
* tree-vrp.c (set_value_range_to_nonnegative): New function.
(vrp_expr_computes_nonnegative, ssa_name_nonnegative_p): Likewise.
(ssa_name_nonzero_p): Likewise.
(get_value_range): Return NULL if VRP is not running.
(extract_range_from_expr): Fallback to tree_expr_XXX_p if
VRP routines do not discover a range.
(vrp_finalize): Clear VR_VALUE to indicate VRP is not running.
* tree.h (ssa_name_nonzero_p, ssa_name_nonnegative_p): Prototype.
* fold-const.c (tree_expr_nonzero_p): For SSA_NAMEs, query VRP.
(tree_expr_nonnegative_p): Similarly.
* tree-ssa-dom.c (nonzero_vars, nonzero_vars_stack): Remove.
(restore_nonzero_vars_to_original_value): Remove.
(unsafe_associative_fp_binop): Remove.
(tree_ssa_dominator_optimize): Remove initialization and
finalization of nonzero_vars and nonzero_vars_stack.
(dom_opt_initialize_block): No longer push marker on
nonzero_vars_stack.
(dom_opt_finalize_block): No longer call
restore_nonzero_vars_to_original_value.
(record_equivalences_from_phis): No longer look for
nonzero PHI arguments.
(cprop_into_successor_phis): No longer propagate nonzero
property into PHI arguments. Lose unused argument. Caller
updated.
(record_equivalences_from_stmt): No longer record nonzero
values for SSA_NAMEs.
(lookup_avail_expr): No longer use nonzero_vars.
* gcc.dg/tree-ssa/vrp24.c: Update expected output.
* gcc.dg/tree-ssa/vrp26.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111175
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Fri, 17 Feb 2006 00:18:03 +0000 (00:18 +0000)]
* stor-layout.c (set_sizetype): Set TYPE_MAX_VALUE properly
for sizetype when sizetype is unsigned.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111170
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 17 Feb 2006 00:17:29 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111168
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Fri, 17 Feb 2006 00:03:06 +0000 (00:03 +0000)]
2006-02-16 Denis Nagorny <denis_nagorny@linux.intel.com>
PR rtl-optimization/25603
* reload.c (reg_inc_found_and_valid_p): New. Check REG_INC note.
(regno_clobbered_p): Use it. Reusing SETS argument for REG_INC case.
* reload1.c (choose_reload_regs): Added call of regno_clobbered_p
with new meaning of SETS.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111162
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Thu, 16 Feb 2006 23:29:10 +0000 (23:29 +0000)]
gcc:
PR target/20353
PR target/24578
PR target/24837
* config/linux.opt: New file.
* config/linux.h (CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
LINUX_DYNAMIC_LINKER): Define.
(TARGET_C99_FUNCTIONS): Define depending on TARGET_GLIBC.
* config.gcc (*-*-linux*): Define extra_options.
(*-*-*uclibc*): Define UCLIBC_DEFAULT.
(arm*-*-linux-gnueabi): Change to arm*-*-linux-*eabi.
* config/arm/linux-eabi.h (LINUX_TARGET_INTERPRETER): Change to
GLIBC_DYNAMIC_LINKER.
* config/arm/linux-elf.h (LINUX_TARGET_INTERPRETER): Likewise.
(LINUX_TARGET_LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
* config/mips/linux.h (GLIBC_DYNAMIC_LINKER): Define.
(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
* doc/invoke.texi (GNU/Linux Options): New section.
gcc/testsuite:
* gcc.dg/builtins-config.h (HAVE_C99_RUNTIME): Don't define if
__UCLIBC__ is defined.
libstdc++-v3:
PR libstdc++/14939
* config/os/uclibc/ctype_base.h, config/os/uclibc/ctype_inline.h,
config/os/uclibc/ctype_noninline.h, config/os/uclibc/os_defines.h:
New.
* acinclude.m4 (GLIBCXX_CONFIGURE): Test whether using uClibc.
* configure.host: Use os/uclibc for uClibc.
* crossconfig.m4 (*-linux*): Use link tests. Don't hardcode
presence of math functions.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111160
138bc75d-0d04-0410-961f-
82ee72b054a4
andreast [Thu, 16 Feb 2006 22:29:01 +0000 (22:29 +0000)]
2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
* testsuite/libffi.call/return_dbl.c: New test case.
* testsuite/libffi.call/return_dbl1.c: Likewise.
* testsuite/libffi.call/return_dbl2.c: Likewise.
* testsuite/libffi.call/return_fl.c: Likewise.
* testsuite/libffi.call/return_fl1.c: Likewise.
* testsuite/libffi.call/return_fl2.c: Likewise.
* testsuite/libffi.call/return_fl3.c: Likewise.
* testsuite/libffi.call/closure_fn6.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111156
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Thu, 16 Feb 2006 22:06:06 +0000 (22:06 +0000)]
* env.c (__gnat_setenv): Use size_t.
(__gnat_unsetenv): Likewise.
(__gnat_clearenv): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111155
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Thu, 16 Feb 2006 21:41:23 +0000 (21:41 +0000)]
* config/sparc/sparc.md (setjmp): Rewrite.
(setjmp_32): Delete.
(setjmp_64): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111154
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 16 Feb 2006 21:35:38 +0000 (21:35 +0000)]
PR fortran/26224
* parse.c (parse_omp_do, parse_omp_structured_block): Call
gfc_commit_symbols and gfc_warning_check.
* gfortran.dg/gomp/pr26224.f: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111153
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 16 Feb 2006 21:31:20 +0000 (21:31 +0000)]
* openmp.c (resolve_omp_clauses): Add a dummy case label to workaround
PR middle-end/26316.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111152
138bc75d-0d04-0410-961f-
82ee72b054a4
andreast [Thu, 16 Feb 2006 21:03:16 +0000 (21:03 +0000)]
2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
* testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
definition.
* testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
here to be used by other test cases too.
* testsuite/libffi.call/nested_struct10.c: New test case.
* testsuite/libffi.call/nested_struct9.c: Likewise.
* testsuite/libffi.call/nested_struct8.c: Likewise.
* testsuite/libffi.call/nested_struct7.c: Likewise.
* testsuite/libffi.call/nested_struct6.c: Likewise.
* testsuite/libffi.call/nested_struct5.c: Likewise.
* testsuite/libffi.call/nested_struct4.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111151
138bc75d-0d04-0410-961f-
82ee72b054a4
dberlin [Thu, 16 Feb 2006 20:29:19 +0000 (20:29 +0000)]
2006-02-16 Daniel Berlin <dberlin@dberlin.org>
* tree-ssa-operands.c (access_can_touch_variable): Fix typo in
previous change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111148
138bc75d-0d04-0410-961f-
82ee72b054a4
rakdver [Thu, 16 Feb 2006 15:59:00 +0000 (15:59 +0000)]
* loop-invariant.c (invariant_for_use, check_dependencies): Fail for
read-write uses.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111141
138bc75d-0d04-0410-961f-
82ee72b054a4
rakdver [Thu, 16 Feb 2006 15:47:20 +0000 (15:47 +0000)]
PR rtl-optimization/26296
* Makefile.in (loop-invariant.c): Add except.h dependency.
* loop-invariant.c: Include except.h.
(find_invariant_insn): Ignore insns satisfying can_throw_internal.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111139
138bc75d-0d04-0410-961f-
82ee72b054a4
pbrook [Thu, 16 Feb 2006 15:14:23 +0000 (15:14 +0000)]
2005-02-16 Paul Brook <paul@codesourcery.com>
* reload1.c (emit_reload_insns): Invalidate dead input registers used
for reloads.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111137
138bc75d-0d04-0410-961f-
82ee72b054a4
victork [Thu, 16 Feb 2006 09:59:00 +0000 (09:59 +0000)]
testsuite/
2006-02-16 Victor Kaplansky <victork@il.ibm.com>
PR tree-opt/25918
* lib/target-supports.exp
(check_effective_target_vect_short_mult): New.
(check_effective_target_vect_char_mult): New.
(check_effective_target_vect_widen_sum_qi_to_si): New.
(check_effective_target_vect_widen_sum_qi_to_hi): New.
(check_effective_target_vect_widen_sum_hi_to_si): New.
* gcc.dg/vect/vect-reduc-dot-s16.c: Remove, split into
vect-reduc-dot-s16a.c and vect-reduc-dot-s16b.c
* vect-reduc-dot-s16a.c: New, split from vect-reduc-dot-s16.c.
* vect-reduc-dot-s16b.c: New, split from vect-reduc-dot-s16.c.
* gcc.dg/vect/vect-reduc-pattern-2.c: Remove, split into
vect-reduc-pattern-2a.c, vect-reduc-pattern-2b.c and
vect-reduc-pattern-2c.c
* gcc.dg/vect/vect-reduc-pattern-1.c: Remove, split into
vect-reduc-pattern-1a.c, vect-reduc-pattern-1b.c and
vect-reduc-pattern-1c.c
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111135
138bc75d-0d04-0410-961f-
82ee72b054a4
victork [Thu, 16 Feb 2006 09:30:51 +0000 (09:30 +0000)]
* MAINTAINERS (Write After Approval): Add myself.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111134
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 16 Feb 2006 08:54:12 +0000 (08:54 +0000)]
* opt.ads (Ada_Version_Default): Set to Ada 2005 by default.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111133
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 16 Feb 2006 08:48:59 +0000 (08:48 +0000)]
Remove test which is invalid Ada 2005.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111132
138bc75d-0d04-0410-961f-
82ee72b054a4
fxcoudert [Thu, 16 Feb 2006 07:52:22 +0000 (07:52 +0000)]
PR libfortran/24903
* m4/dotprodc.m4: Use __builtin_conj instead of assigning real
and imaginary parts separately.
* generated/dotprod_c4.c: Regenerated.
* generated/dotprod_c8.c: Regenerated.
* generated/dotprod_c10.c: Regenerated.
* generated/dotprod_c16.c: Regenerated.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111131
138bc75d-0d04-0410-961f-
82ee72b054a4
pault [Thu, 16 Feb 2006 07:04:13 +0000 (07:04 +0000)]
2005-02-16 Paul Thomas <pault@gcc.gnu.org>
PR fortran/24557
* trans-expr.c (gfc_add_interface_mapping): Use the actual argument
for character(*) arrays, rather than casting to the type and kind
parameters of the formal argument.
2005-02-16 Paul Thomas <pault@gcc.gnu.org>
PR fortran/24557
* gfortran.dg/assumed_charlen_needed_1.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111130
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Thu, 16 Feb 2006 01:26:54 +0000 (01:26 +0000)]
PR rtl-optimization/25636
* local-alloc.c (update_equiv_regs): Lose a bogus rtx_equal_p test
when deciding whether an insn is an initializing insn.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111129
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 16 Feb 2006 00:17:27 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111127
138bc75d-0d04-0410-961f-
82ee72b054a4
dberlin [Wed, 15 Feb 2006 22:47:38 +0000 (22:47 +0000)]
Add a little whitespace
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111121
138bc75d-0d04-0410-961f-
82ee72b054a4
dberlin [Wed, 15 Feb 2006 22:09:45 +0000 (22:09 +0000)]
2006-02-15 Daniel Berlin <dberlin@dberlin.org>
* tree.c (init_ttree): Add STRUCT_FIELD_TAG handling.
(tree_code_size): Ditto.
* tree.h (struct tree_memory_tag): Remove parent_var.
(struct tree_struct_field_tag): New.
(SFT_OFFSET): New.
(SFT_SIZE): New.
(union tree_node): Add sft member.
* tree-ssa-alias.c (get_tmt_for): Don't handle TYPE_READONLY
specially here.
(create_sft): Add size and offset argument, set SFT_OFFSET and
SFT_SIZE.
(create_overlap_variables_for): Update for SFT_OFFSET/SFT_SIZE.
* treestruct.def: Add TS_STRUCT_FIELD_TAG.
* tree-flow-inline.h (get_subvar_at): Update for
SFT_OFFSET/SFT_SIZE.
(var_can_have_subvars): Ditto.
(overlap_subvar): Ditto.
* print-tree.c (print_node): Print out interesting things for
SFT's.
* tree-flow.h (struct subvar): Remove offset and size members.
* tree-ssa-operands.c (get_expr_operands): Update for
get_indirect_ref_operands changes.
(get_indirect_ref_operands): Call add_virtual_operand instead of
add_stmt_operand. Only recurse on base var if requested.
(access_can_touch_variable): New function.
(add_stmt_operand): Split virtual operand handling into ...
(add_virtual_operand): Here. Add offset, size, and for_clobber
arguments. Prune alias sets.
(add_call_clobber_ops): Call add_virtual_operand.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111120
138bc75d-0d04-0410-961f-
82ee72b054a4
toon [Wed, 15 Feb 2006 21:06:58 +0000 (21:06 +0000)]
2006-02-15 Toon Moene <toon@moene.indiv.nluug.nl>
PR fortran/26054
* fortran/options.c: Do not warn for Fortran 2003 features
by default.
* testsuite/gfortran.dg/enum_8.f90: Remove check for warning.
* testsuite/gfortran.dg/iomsg_1.f90: Ditto.
* testsuite/gfortran.dg/enum_1.f90: Ditto.
* testsuite/gfortran.dg/enum_9.f90: Ditto.
* testsuite/gfortran.dg/enum_2.f90: Ditto.
* testsuite/gfortran.dg/enum_10.f90: Ditto.
* testsuite/gfortran.dg/enum_3.f90: Ditto.
* testsuite/gfortran.dg/flush_1.f90: Ditto.
* testsuite/gfortran.dg/enum_4.f90: Ditto.
* testsuite/gfortran.dg/array_constructor_1.f90: Ditto.
* testsuite/gfortran.dg/enum_5.f90: Ditto.
* testsuite/gfortran.dg/enum_6.f90: Ditto.
* testsuite/gfortran.dg/enum_7.f90: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111117
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 15 Feb 2006 20:41:03 +0000 (20:41 +0000)]
PR middle-end/26300
* combine.c (make_extraction): Bail out if ORIG_POS is negative.
* gcc.c-torture/compile/
20060215-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111116
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 15 Feb 2006 20:38:59 +0000 (20:38 +0000)]
* tree.h (struct tree_omp_clause): Use OMP_CLAUSE_CODE rather
than TREE_CODE as index into omp_clause_num_ops array.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111115
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Wed, 15 Feb 2006 19:33:33 +0000 (19:33 +0000)]
2006-02-15 Uttam Pawar <uttamp@us.ibm.com>
PR rtl-optimization/26184
* modulo-sched.c (generate_reg_moves): Free bitmap vector
uses_of_defs.
* modulo-sched.c (sms_schedule): Free g_arr pointer.
* modulo-sched.c (sms_schedule_by_order): Free bitmap pointers
must_precede, must_follow and tobe_scheduled.
PR other/26147
* opts.c (common_handle_option): Free new_option pointer.
* df-core.c (df_analyze): Free postorder pointer.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111114
138bc75d-0d04-0410-961f-
82ee72b054a4
espindola [Wed, 15 Feb 2006 18:46:57 +0000 (18:46 +0000)]
* gcc/Makefile.in: Fix the examples about the use of stamps
M gcc/ChangeLog
M gcc/Makefile.in
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111113
138bc75d-0d04-0410-961f-
82ee72b054a4
tobi [Wed, 15 Feb 2006 12:42:16 +0000 (12:42 +0000)]
* check.c: Update copyright years.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111110
138bc75d-0d04-0410-961f-
82ee72b054a4
matz [Wed, 15 Feb 2006 12:19:49 +0000 (12:19 +0000)]
PR middle-end/22275
* stor-layout.c (layout_decl): Zero-width bitfields aren't
influenced by maximum_field_alignment or DECL_PACKED.
(update_alignment_for_field): Ditto.
(place_field): Ditto.
* doc/extend.texi (<#pragma pack>, <Type Attributes>): Document
this behaviour.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111109
138bc75d-0d04-0410-961f-
82ee72b054a4
tobi [Wed, 15 Feb 2006 11:02:21 +0000 (11:02 +0000)]
* check.c (gfc_check_minloc_maxloc, check_reduction): Don't call
dim_range_check on not-present optional dim argument.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111108
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 15 Feb 2006 09:58:27 +0000 (09:58 +0000)]
Resync
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111107
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 15 Feb 2006 09:51:54 +0000 (09:51 +0000)]
(Eval_Relational_Op): Use new Is_Known_Null flag to deal with case
of null = null, now known true.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111106
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 15 Feb 2006 09:48:56 +0000 (09:48 +0000)]
Add section for gnatcheck.
Add documentation for restriction No_Dispatching_Calls
Add documentation for pragma Ada_2005
Remove mention of obsolete pragma Propagate_Exceptions
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111105
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 15 Feb 2006 09:47:23 +0000 (09:47 +0000)]
2006-02-13 Arnaud Charlet <charlet@adacore.com>
Ben Brosgol <brosgol@adacore.com>
Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Remove limitations with sparc m64 support.
Document that gnatbind -M option is for cross environments only.
Added description of using gnatmem to trace gnat rtl allocs and deallocs
Add note on use of $ to label implicit run time calls
Add documentation for -gnatyI (check mode IN)
Updated chapter on compatibility with HP Ada
VMS-oriented edits.
Ran spell and corrected errors
Add documentation for gnatbind -d and rework documentation of -D
at the same time.
Add subprogram/data elimination section.
Minor editing of annex A.
Add section for gnatcheck.
Add documentation for restriction No_Dispatching_Calls
Add documentation for pragma Ada_2005
Remove mention of obsolete pragma Propagate_Exceptions
Document that pragma Unreferenced can appear after DO in ACCEPT
Clarify Pure_Function for library level units
Mention Max/Min in connection with No_Implicit_Conditionals
No_Wide_Characters restriction is no longer partition-wide
Add a nice example for Universal_Literal_String attribute
Document that pragma No_Return can take multiple arguments
* ug_words: Added entry for gnatcheck
* g-ctrl_c.ads (Install_Handler): Enhance comments
* g-os_lib.ads: Add comments to OS_Exit that it is abrupt termination
* g-trasym.ads: Add documentation on how to do off line symbolic
traceback computation.
* s-fatgen.adb: Add comments for Unaligned_Valid
* stand.ads: Fix typo in comment
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111104
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 15 Feb 2006 09:47:09 +0000 (09:47 +0000)]
2006-02-13 Eric Botcazou <ebotcazou@adacore.com>
* tracebak.c (PPC AIX/Darwin): Define FORCE_CALL to 1.
(PPC VxWorks): Likewise.
(Generic unwinder): Define FORCE_CALL to 0 if not already defined.
(forced_callee): Make non-inlinable and non-pure.
(__gnat_backtrace): Call forced_callee if FORCE_CALL is set to 1.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111103
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 15 Feb 2006 09:46:58 +0000 (09:46 +0000)]
2006-02-13 Robert Dewar <dewar@adacore.com>
* s-wchjis.adb (JIS_To_EUC): Raise Constraint_Error for invalid value
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111102
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 15 Feb 2006 09:46:41 +0000 (09:46 +0000)]
2006-02-13 Bob Duff <duff@adacore.com>
* s-valint.adb (Scan_Integer): Call Scan_Raw_Unsigned instead of
Scan_Unsigned, so we do not scan leading blanks and sign twice.
Integer'Value("- 5") and Integer'Value("-+5") now correctly
raise Constraint_Error.
* s-vallli.adb (Scan_Long_Long_Integer): Call
Scan_Raw_Long_Long_Unsigned instead of Scan_Long_Long_Unsigned, so we
do not scan leading blanks and sign twice.
Integer'Value("- 5") and Integer'Value("-+5") now correctly
raise Constraint_Error.
* s-valllu.ads, s-valllu.adb (Scan_Raw_Long_Long_Unsigned,
Scan_Long_Long_Unsigned): Split out most of the processing from
Scan_Long_Long_Unsigned out into
Scan_Raw_Long_Long_Unsigned, so that Val_LLI can call the Raw_ version.
This prevents scanning leading blanks and sign twice.
Also fixed a bug: Modular'Value("-0") should raise Constraint_Error
See RM-3.5(44).
* s-valuns.ads, s-valuns.adb (Scan_Raw_Unsigned, Scan_Unsigned): Split
out most of the processing from Scan_Unsigned out into
Scan_Raw_Unsigned, so that Val_LLI can call the Raw_ version.
This prevents scanning leading blanks and sign twice.
* s-valuti.ads, s-valuti.adb (Scan_Plus_Sign): Add Scan_Plus_Sign, for
use with Modular'Value attribute.
(Scan_Plus_Sign): Add Scan_Plus_Sign, for use with Modular'Value
attribute.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111101
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 15 Feb 2006 09:46:17 +0000 (09:46 +0000)]
2006-02-13 Quentin Ochem <ochem@adacore.com>
* s-stausa.adb (Initialize_Analyzer): fixed error in assignment of
task name.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111100
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 15 Feb 2006 09:46:08 +0000 (09:46 +0000)]
2006-02-13 Ed Schonberg <schonberg@adacore.com>
Robert Dewar <dewar@adacore.com>
* sprint.adb (Write_Itype): Preserve Sloc of declaration, if any, to
preserve the source unit where the itype is declared, and prevent a
backend abort.
(Note_Implicit_Run_Time_Call): New procedure
(Write_Itype): Handle missing cases (E_Class_Wide_Type and
E_Subprogram_Type)
* sprint.ads: Document use of $ for implicit run time routine call
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111099
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 15 Feb 2006 09:45:56 +0000 (09:45 +0000)]
2006-02-13 Thomas Quinot <quinot@adacore.com>
* sinput-d.adb (Write_Line): Update the Source_Index_Table after each
line. This is necessary to allow In_Extended_Main_Unit to provide
correct results for itypes while writing out expanded source.
(Close_File): No need to update the source_index_table here since it's
now done for each line.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111098
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 15 Feb 2006 09:45:43 +0000 (09:45 +0000)]
2006-02-13 Ed Schonberg <schonberg@adacore.com>
* sem_warn.adb (Check_One_Unit): If the unit appears in a limited_with
clause, use the limited view to determine whether any entity from it
is referenced.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111097
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 15 Feb 2006 09:45:29 +0000 (09:45 +0000)]
2006-02-13 Ed Schonberg <schonberg@adacore.com>
Javier Miranda <miranda@adacore.com>
* sem_type.adb (Write_Overloads): Improve display of candidate
interpretations.
(Add_One_Interp): Do not add to the list of interpretations aliased
entities corresponding with an abstract interface type that is an
immediate ancestor of a tagged type; otherwise we have a dummy
conflict between this entity and the aliased entity.
(Disambiguate): The predefined equality on universal_access is not
usable if there is a user-defined equality with the proper signature,
declared in the same declarative part as the designated type.
(Find_Unique_Type): The universal_access equality operator defined under
AI-230 does not cover pool specific access types.
(Covers): If one of the types is a generic actual subtype, check whether
it matches the partial view of the other type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111096
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 15 Feb 2006 09:45:12 +0000 (09:45 +0000)]
2006-02-13 Ed Schonberg <schonberg@adacore.com>
Robert Dewar <dewar@adacore.com>
* sem_elab.adb (Same_Elaboration_Scope): A package that is a
compilation unit is an elaboration scope.
(Add_Task_Proc): Add '\' in 2-line warning message.
(Activate_All_Desirable): Deal with case of unit with'ed by parent
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111095
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 15 Feb 2006 09:45:00 +0000 (09:45 +0000)]
2006-02-13 Javier Miranda <miranda@adacore.com>
* sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): Check that
if this is the full-declaration associated with a private declaration
that implement interfaces, then the private type declaration must be
limited.
(Analyze_Single_Protected, Analyze_Single_Task): Do not mark the object
as aliased. The use of the 'access attribute is not available for such
object (for this purpose the object should be explicitly marked as
aliased, but being an anonymous type this is not possible).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111094
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 15 Feb 2006 09:44:48 +0000 (09:44 +0000)]
2006-02-13 Bob Duff <duff@adacore.com>
* sem_ch8.adb (Note_Redundant_Use): Suppress unhelpful warning about
redundant use clauses.
In particular, if the scope of two use clauses overlaps, but one is not
entirely included in the other, we should not warn. This can happen
with nested packages.
(Analyze_Subprogram_Renaming): Protect the compiler against previously
reported errors. The bug was reported when the compiler was built
with assertions enabled.
(Find_Type): If the node is a 'Class reference and the prefix is a
synchronized type without a corresponding record, return the type
itself.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111093
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 15 Feb 2006 09:44:37 +0000 (09:44 +0000)]
2006-02-13 Ed Schonberg <schonberg@adacore.com>
Javier Miranda <miranda@adacore.com>
* sem_ch4.adb (Remove_Abstract_Interpretations): Even if there are no
abstract interpretations on an operator, remove interpretations that
yield Address or a type derived from it, if one of the operands is an
integer literal.
(Try_Object_Operation.Try_Primitive_Operation,
Try_Object_Operation.Try_Class_Wide_Operation): Set proper source
location when creating the new reference to a primitive or class-wide
operation as a part of rewriting a subprogram call.
(Try_Primitive_Operations): If context requires a function, collect all
interpretations after the first match, because there may be primitive
operations of the same type with the same profile and different return
types. From code reading.
(Try_Primitive_Operation): Use the node kind to choose the proper
operation when a function and a procedure have the same parameter
profile.
(Complete_Object_Operation): If formal is an access parameter and prefix
is an object, rewrite as an Access reference, to match signature of
primitive operation.
(Find_Equality_Type, Find_One_Interp): Handle properly equality given
by an expanded name with prefix Standard, when the operands are of an
anonymous access type.
(Remove_Abstract_Operations): If the operation is abstract because it is
inherited by a user-defined type derived from Address, remove it as
well from the set of candidate interpretations of an overloaded node.
(Analyze_Membership_Op): Membership test not applicable to cpp-class
types.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111092
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 15 Feb 2006 09:44:24 +0000 (09:44 +0000)]
2006-02-13 Thomas Quinot <quinot@adacore.com>
Robert Dewar <dewar@adacore.com>
Ed Schonberg <schonberg@adacore.com>
Javier Miranda <miranda@adacore.com>
* sem_ch12.adb (Inline_Instance_Body): Remove erroneous assumption
that Scope_Stack.First = 1.
Properly handle Ada_Version_Explicit and Ada_Version_Config, which
were not always properly handled previously.
(Formal_Entity): Complete rewrite, to handle properly some complex case
with multiple levels of parametrization by formal packages.
(Analyze_Formal_Derived_Type): Propagate Ada 2005 "limited" indicator
to the corresponding derived type declaration for proper semantics.
* sem_prag.adb (Analyze_Pragma): Remove '!' in warning message.
(Check_Component): Enforce restriction on components of
unchecked_unions: a component in a variant cannot contain tasks or
controlled types.
(Unchecked_Union): Allow nested variants and multiple discriminants, to
conform to AI-216.
Add pragma Ada_2005 (synonym for Ada_05)
Properly handle Ada_Version_Explicit and Ada_Version_Config, which
were not always properly handled previously.
Document that pragma Propagate_Exceptions has no effect
(Analyze_Pragma, case Pure): Set new flag Has_Pragma_Pure
(Set_Convention_From_Pragma): Check that if a convention is
specified for a dispatching operation, then it must be
consistent with the existing convention for the operation.
(CPP_Class): Because of the C++ ABI compatibility, the programmer is no
longer required to specify an vtable-ptr component in the record. For
compatibility reasons we leave the support for the previous definition.
(Analyze_Pragma, case No_Return): Allow multiple arguments
* sem_ch3.ads, sem_ch3.adb (Check_Abstract_Overriding): Flag a
non-overrideen inherited operation with a controlling result as
illegal only its implicit declaration comes from the derived type
declaration of its result's type.
(Check_Possible_Deferred_Completion): Relocate the object definition
node of the subtype indication of a deferred constant completion rather
than directly analyzing it. The analysis of the generated subtype will
correctly decorate the GNAT tree.
(Record_Type_Declaration): Check whether this is a declaration for a
limited derived record before analyzing components.
(Analyze_Component_Declaration): Diagnose record types not explicitly
declared limited when a component has a limited type.
(Build_Derived_Record_Type): Code reorganization to check if some of
the inherited subprograms of a tagged type cover interface primitives.
This check was missing in case of a full-type associated with a private
type declaration.
(Constant_Redeclaration): Check that the subtypes of the partial and the
full view of a constrained deferred constant statically match.
(Mentions_T): A reference to the current type in an anonymous access
component declaration must be an entity name.
(Make_Incomplete_Type_Declaration): If type is tagged, set type of
class_wide type to refer to full type, not to the incomplete one.
(Add_Interface_Tag_Components): Do nothing if RE_Interface_Tag is not
available. Required to give support to the certified run-time.
(Analyze_Component_Declaration): In case of anonymous access components
perform missing checks for AARM 3.9.2(9) and 3.10.2 (12.2).
(Process_Discriminants): For an access discriminant, use the
discriminant specification as the associated_node_for_itype, to
simplify accessibility checks.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111091
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 15 Feb 2006 09:44:09 +0000 (09:44 +0000)]
2006-02-13 Hristian Kirtchev <kirtchev@adacore.com>
Ed Schonberg <schonberg@adacore.com>
Gary Dismukes <dismukes@adacore.com>
* sem_ch10.adb (Check_Redundant_Withs): New procedure in
Analyze_Compilation_Unit.
Detect and warn on redundant with clauses detected in a package spec
and/or body when -gnatwr is used.
(Analyze_Context): Analyze config pragmas before other items
(Install_Context_Items): Don't analyze config pragmas here
(Install_Limited_Withed_Unit): Set limited entity of package in
with_clause so that cross-reference information or warning messages on
unused packages can be properly generated
(Is_Visible_Through_Renamings): Return false if the limited_with_clause
has Error_Posted set. Prevent infinite loops in illegal programs.
(Check_Private_Child_Unit): Move test for a nonprivate with clause down
to the point of the error test requiring the current unit to be private.
This ensures that private with clauses are not exempted from the basic
checking for being a descendant of the same library unit parent as a
withed private descendant unit.
(Check_Private_Limited_Withed_Unit): Revise the checking algorithm to
handle private with clauses properly, as well as to account for cases
where the withed unit is a public descendant of a private ancestor
(in which case the current unit must be a descendant of the private
ancestor's parent). The spec comments were updated accordingly. Also,
the old error message in this subprogram was replaced with error
messages that mirror the errors tested and reported by
Check_Private_Child_Unit.
Parameter and variable names improved for readability.
(Install_Limited_Context_Clauses): Remove test for a withed unit being
private as the precondition for calling
Check_Private_Limited_Withed_Unit since that subprogram has been
revised to test public units as well as private units.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111090
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 15 Feb 2006 09:43:54 +0000 (09:43 +0000)]
2006-02-13 Javier Miranda <miranda@adacore.com>
Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb (Analyze_Attribute): In case of 'Class applied to an
abstract interface type call analyze_and_resolve to expand the type
conversion into the corresponding displacement of the
reference to the base of the object.
(Eval_Attribute, case Width): For systems where IEEE extended precision
is supported, the maximum exponent occupies 4 decimal digits.
(Accessibility_Message): Add '\' in 2-line warning message.
(Resolve_Attribute): Likewise.
(case Attribute_Access): Significantly revise checks
for illegal access-to-subprogram Access attributes to properly enforce
the rules of 3.10.2(32/2).
Diagnose use of current instance with an illegal attribute.
* sem_util.ads, sem_util.adb (Enclosing_Generic_Body): Change formal
to a Node_Id.
(Enclosing_Generic_Unit): New function to return a node's innermost
enclosing generic declaration node.
(Compile_Time_Constraint_Error): Remove '!' in warning messages.
(Type_Access_Level): The accessibility level of anonymous acccess types
associated with discriminants is that of the current instance of the
type, and that's deeper than the type itself (AARM 3.10.2 (12.3.21)).
(Compile_Time_Constraint_Error): Handle case of conditional expression.
(Kill_Current_Values_For_Entity): New function
(Enter_Name): Change formal type to Entity_Id
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111089
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 15 Feb 2006 09:43:43 +0000 (09:43 +0000)]
2006-02-13 Javier Miranda <miranda@adacore.com>
* sem_aggr.adb (Resolve_Record_Aggregate): Restructure the code that
handles default-initialized components to keep separate the management
of this feature but also avoid the unrequired resolution and
expansion of components that do not have partially initialized
values.
(Collect_Aggr_Bounds): Add '\' in 2-line warning message.
(Check_Bounds): Likewise.
(Check_Length): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111088
138bc75d-0d04-0410-961f-
82ee72b054a4