platform/upstream/gcc.git
18 years agore PR c++/23624 (ICE: internal compiler error: in invert_truthvalue, at fold-const...
Richard Guenther [Fri, 9 Sep 2005 09:00:42 +0000 (09:00 +0000)]
re PR c++/23624 (ICE: internal compiler error: in invert_truthvalue, at fold-const.c:2697)

2005-09-09  Richard Guenther  <rguenther@suse.de>

PR c++/23624
* fold-const.c (fold_ternary): Check truth_value_p before
calling invert_truthvalue.

* g++.dg/tree-ssa/pr23624.C: New testcase.

From-SVN: r104083

18 years agoMakefile.in (LIBGCC_DEPS): Add libgcc2.h.
Nick Clifton [Fri, 9 Sep 2005 08:39:18 +0000 (08:39 +0000)]
Makefile.in (LIBGCC_DEPS): Add libgcc2.h.

* Makefile.in (LIBGCC_DEPS): Add libgcc2.h.
* libgcc2.c (__clz_tab[], __popcount_tab[]): Set the fixed dimension of
  these arrays.
* libgcc2.h (__clz_tab[], __popcount_tab[]): Add exports of these arrays.
* longlong.h: Only provide a prototype for the __clz_tab[] array if this
  header has not been included from libgcc2.h.
* config/stormy16/stormy16-lib2.c: Include libgcc2.h rather than defining
  own types.
  Provide prototypes for exported functions.
  Use the __clz_tab[] and __popcount_tab[] arrays provided by libgcc2.c.

From-SVN: r104081

18 years ago* match.h (gfc_match_equiv_variable): Declare.
Richard Sandiford [Fri, 9 Sep 2005 06:45:15 +0000 (06:45 +0000)]
* match.h (gfc_match_equiv_variable): Declare.

From-SVN: r104080

18 years agoFix filenames in last entry.
Richard Sandiford [Fri, 9 Sep 2005 06:35:55 +0000 (06:35 +0000)]
Fix filenames in last entry.

From-SVN: r104078

18 years agore PR fortran/19239 ([4.0 only] gfortran ICE on vector subscript expressions)
Richard Sandiford [Fri, 9 Sep 2005 06:34:08 +0000 (06:34 +0000)]
re PR fortran/19239 ([4.0 only] gfortran ICE on vector subscript expressions)

PR fortran/19239
* Makefile.in (fortran/trans-expr.o): Depend on dependency.h.
* dependency.h (gfc_ref_needs_temporary_p): Declare.
* dependency.c (gfc_ref_needs_temporary_p): New function.
(gfc_check_fncall_dependency): Use it instead of inlined check.
By so doing, take advantage of the fact that character substrings
within an array reference also need a temporary.
* trans.h (GFC_SS_VECTOR): Adjust comment.
* trans-array.c (gfc_free_ss): Remove GFC_SS_VECTOR case.
(gfc_set_vector_loop_bounds): New function.
(gfc_add_loop_ss_code): Call it after evaluating the subscripts of
a GFC_SS_SECTION.  Deal with the GFC_SS_VECTOR case by evaluating
the vector expression and caching its descriptor for use within
the loop.
(gfc_conv_array_index_ref, gfc_conv_vector_array_index): Delete.
(gfc_conv_array_index_offset): Handle scalar, vector and range
dimensions as separate cases of a switch statement.  In the vector
case, use the loop variable to calculate a vector index and use the
referenced element as the dimension's index.  Perform bounds checking
on this final index.
(gfc_conv_section_upper_bound): Return null for vector indexes.
(gfc_conv_section_startstride): Give vector indexes a start value
of 0 and a stride of 1.
(gfc_conv_ss_startstride): Adjust for new GFC_SS_VECTOR representation.
(gfc_conv_expr_descriptor): Expand comments.  Generalize the
handling of the !want_pointer && !direct_byref case.  Use
gfc_ref_needs_temporary_p to decide whether the variable case
needs a temporary.
(gfc_walk_variable_expr): Handle DIMEN_VECTOR by creating a
GFC_SS_VECTOR index.
* trans-expr.c: Include dependency.h.
(gfc_trans_arrayfunc_assign): Fail if the target needs a temporary.

2005-09-09  Richard Sandiford  <richard@codesourcery.com>

PR fortran/21104
* trans.h (gfc_interface_sym_mapping, gfc_interface_mapping): Moved
from trans-expr.c.
(gfc_init_interface_mapping, gfc_free_interface_mapping)
(gfc_add_interface_mapping, gfc_finish_interface_mapping)
(gfc_apply_interface_mapping): Declare.
* trans-array.h (gfc_set_loop_bounds_from_array_spec): Declare.
(gfc_trans_allocate_temp_array): Add pre and post block arguments.
* trans-array.c (gfc_set_loop_bounds_from_array_spec): New function.
(gfc_trans_allocate_array_storage): Replace loop argument with
separate pre and post blocks.
(gfc_trans_allocate_temp_array): Add pre and post block arguments.
Update call to gfc_trans_allocate_array_storage.
(gfc_trans_array_constructor, gfc_conv_loop_setup): Adjust for new
interface to gfc_trans_allocate_temp_array.
* trans-expr.c (gfc_interface_sym_mapping, gfc_interface_mapping):
Moved to trans.h.
(gfc_init_interface_mapping, gfc_free_interface_mapping)
(gfc_add_interface_mapping, gfc_finish_interface_mapping)
(gfc_apply_interface_mapping): Make extern.
(gfc_conv_function_call): Build an interface mapping for array
return values too.  Call gfc_set_loop_bounds_from_array_spec.
Adjust call to gfc_trans_allocate_temp_array so that code is
added to SE rather than LOOP.

From-SVN: r104077

18 years agore PR fortran/21104 (Segmentation fault on correct code)
Richard Sandiford [Fri, 9 Sep 2005 06:22:28 +0000 (06:22 +0000)]
re PR fortran/21104 (Segmentation fault on correct code)

PR fortran/21104
* trans.h (gfc_interface_sym_mapping, gfc_interface_mapping): Moved
from trans-expr.c.
(gfc_init_interface_mapping, gfc_free_interface_mapping)
(gfc_add_interface_mapping, gfc_finish_interface_mapping)
(gfc_apply_interface_mapping): Declare.
* trans-array.h (gfc_set_loop_bounds_from_array_spec): Declare.
(gfc_trans_allocate_temp_array): Add pre and post block arguments.
* trans-array.c (gfc_set_loop_bounds_from_array_spec): New function.
(gfc_trans_allocate_array_storage): Replace loop argument with
separate pre and post blocks.
(gfc_trans_allocate_temp_array): Add pre and post block arguments.
Update call to gfc_trans_allocate_array_storage.
(gfc_trans_array_constructor, gfc_conv_loop_setup): Adjust for new
interface to gfc_trans_allocate_temp_array.
* trans-expr.c (gfc_interface_sym_mapping, gfc_interface_mapping):
Moved to trans.h.
(gfc_init_interface_mapping, gfc_free_interface_mapping)
(gfc_add_interface_mapping, gfc_finish_interface_mapping)
(gfc_apply_interface_mapping): Make extern.
(gfc_conv_function_call): Build an interface mapping for array
return values too.  Call gfc_set_loop_bounds_from_array_spec.
Adjust call to gfc_trans_allocate_temp_array so that code is
added to SE rather than LOOP.

From-SVN: r104075

18 years agore PR fortran/12840 ([4.0 only] Unable to find scalarization loop specifier)
Richard Sandiford [Fri, 9 Sep 2005 06:00:40 +0000 (06:00 +0000)]
re PR fortran/12840 ([4.0 only] Unable to find scalarization loop specifier)

PR fortran/12840
* trans.h (gfor_fndecl_internal_realloc): Declare.
(gfor_fndecl_internal_realloc64): Declare.
* trans-decl.c (gfor_fndecl_internal_realloc): New variable.
(gfor_fndecl_internal_realloc64): New variable.
(gfc_build_builtin_function_decls): Initialize them.
* trans-array.h (gfc_trans_allocate_temp_array): Add a fourth argument.
* trans-array.c (gfc_trans_allocate_array_storage): Add an argument
to say whether the array can grow later.  Don't allocate the array
on the stack if so.  Don't call malloc for zero-sized arrays.
(gfc_trans_allocate_temp_array): Add a similar argument here.
Pass it along to gfc_trans_allocate_array_storage.
(gfc_get_iteration_count, gfc_grow_array): New functions.
(gfc_iterator_has_dynamic_bounds): New function.
(gfc_get_array_constructor_element_size): New function.
(gfc_get_array_constructor_size): New function.
(gfc_trans_array_ctor_element): Replace pointer argument with
a descriptor tree.
(gfc_trans_array_constructor_subarray): Likewise.  Take an extra
argument to say whether the variable-sized part of the constructor
must be allocated using realloc.  Grow the array when this
argument is true.
(gfc_trans_array_constructor_value): Likewise.
(gfc_get_array_cons_size): Delete.
(gfc_trans_array_constructor): If the loop bound has not been set,
split the allocation into a static part and a dynamic part.  Set
loop->to to the bounds for static part before allocating the
temporary.  Adjust call to gfc_trans_array_constructor_value.
(gfc_conv_loop_setup): Allow any constructor to determine the
loop bounds.  Check whether the constructor has a dynamic size
and prefer to use something else if so.  Expect the loop bound
to be set later.  Adjust call to gfc_trans_allocate_temp_array.
* trans-expr.c (gfc_conv_function_call): Adjust another call here.

From-SVN: r104073

18 years agore PR c++/23180 (Segfault on const initializer with bogus pointer arithmetics)
Josh Conner [Fri, 9 Sep 2005 01:39:36 +0000 (01:39 +0000)]
re PR c++/23180 (Segfault on const initializer with bogus pointer arithmetics)

        PR c++/23180
        * g++.dg/init/pr23180-1.C: New test.
        * g++.dg/init/pr23180-2.C: New test.

From-SVN: r104070

18 years agore PR c++/23180 (Segfault on const initializer with bogus pointer arithmetics)
Josh Conner [Fri, 9 Sep 2005 01:37:29 +0000 (01:37 +0000)]
re PR c++/23180 (Segfault on const initializer with bogus pointer arithmetics)

        PR c++/23180
        * expr.c (expand_expr_addr_expr_1): Don't invoke
        expand_simple_binop for EXPAND_INITIALIZER.

From-SVN: r104069

18 years agore PR debug/23190 (debug info omitted for uninitialized variables (stabs))
Richard Henderson [Fri, 9 Sep 2005 00:47:05 +0000 (17:47 -0700)]
re PR debug/23190 (debug info omitted for uninitialized variables (stabs))

        PR debug/23190
        * toplev.c (wrapup_global_declaration_1): Split out ...
        (wrapup_global_declaration_2): ... from ...
        (wrapup_global_declarations): ... here.  Return bool.
        (check_global_declaration_1): Split out ...
        (check_global_declarations): from here.
        (emit_debug_global_declarations): New.
        * toplev.h (wrapup_global_declaration_1, wrapup_global_declaration_2,
        check_global_declaration_1, emit_debug_global_declarations): Declare.
        * c-decl.c (c_write_global_declarations_1): Don't create a vector
        of decls.  Call wrapup_global_declaration_1,
        wrapup_global_declaration_2, check_global_declaration_1 directly.
        (c_write_global_declarations_2): New.
        (ext_block): New.
        (c_write_global_declarations): Call c_write_global_declarations_2.
        * langhooks.c (write_global_declarations): Call
        emit_debug_global_declarations.
        * cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Don't
        remove decls that have DECL_RTL_SET_P.
        * passes.c (rest_of_decl_compilation): Invoke
        cgraph_varpool_finalize_decl for all but functions.
cp/
        * decl.c (wrapup_globals_for_namespace): Call
        emit_debug_global_declarations.
        * decl2.c (cp_finish_file): Likewise.

From-SVN: r104065

18 years ago19990905-0.f: Remove XFAIL...
Paul Thomas [Fri, 9 Sep 2005 00:27:21 +0000 (00:27 +0000)]
19990905-0.f: Remove XFAIL...

2005-09-09  Paul Thomas  <pault@gcc.gnu.org>

* gfortran.dg/g77/19990905-0.f: Remove XFAIL, rearrange
equivalences and add comment to connect the test with
the PR. - forgotten in previous.

From-SVN: r104061

18 years agore PR fortran/18878 ([4.0 only] erronous error message on vaild USE statement)
Paul Thomas [Fri, 9 Sep 2005 00:23:09 +0000 (00:23 +0000)]
re PR fortran/18878 ([4.0 only] erronous error message on vaild USE statement)

2005-09-09  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/18878
* module.c (find_use_name_n): Based on original
find_use_name. Either counts number of use names for a
given real name or returns use name n.
(find_use_name, number_use_names): Interfaces to the
function find_use_name_n.
(read_module): Add the logic and calls to these functions,
so that mutiple reuses of the same real name are loaded.

2005-09-09  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/22304
PR fortran/23270
PR fortran/18870
PR fortran/16511
PR fortran/17917
* gfortran.h: Move definition of BLANK_COMMON_NAME from trans-
common.c so that it is accessible to module.c. Add common_head
field to gfc_symbol structure. Add field for the equivalence
name AND new attr field, in_equivalence.
* match.c (gfc_match_common, gfc_match_equivalence): In loops
that flag common block equivalences, emit an error if the
common blocks are different, using sym->common_head as the
common block identifier. Ensure that symbols that are equivalence
associated with a common block are marked as being in_common.
* module.c (write_blank_common): New.
(write_common): Use unmangled common block name.
(load_equiv): New function ported from g95.
(read_module): Call load_equiv.
(write_equiv): New function ported from g95. Correct
string referencing for gfc functions. Give module
equivalences a unique name.
(write_module): Call write_equiv and write_blank_common.
* primary.c (match_variable) Old gfc_match_variable, made
static and third argument provided to indicate if parent
namespace to be visited or not.
(gfc_match_variable) New. Interface to match_variable.
(gfc_match_equiv_variable) New. Interface to match_variable.
* trans-common.c (finish_equivalences): Provide the call
to create_common with a gfc_common_header so that
module equivalences are made external, rather than local.
(find_equivalences): Ensure that all members in common block
equivalences are marked as used. This prevents the subsequent
call to this function from making local unions.
* trans-decl.c (gfc_generate_function_code): Move the call to
gfc_generate_contained_functions to after the call to
gfc_trans_common so the use-associated, contained common
blocks produce the correct references.
(gfc_create_module_variable): Return for equivalenced symbols
with existing backend declaration.

2005-09-09  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/18878
* gfortran.dg/module_double_reuse.f90: New.

2005-09-09  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/23270
PR fortran/22304
PR fortran/18870
PR fortran/17917
PR fortran/16511
* gfortran.dg/common_equivalence_1.f: New.
* gfortran.dg/common_equivalence_2.f: New.
* gfortran.dg/common_equivalence_3.f: New.
* gfortran.dg/contained_equivalence_1.f90: New.
* gfortran.dg/module_blank_common.f90: New.
* gfortran.dg/module_commons_1.f90: New.
* gfortran.dg/module_equivalence_1.f90: New.
* gfortran.dg/nested_modules_1.f90: New.
* gfortran.dg/g77/19990905-0.f: Remove XFAIL, rearrange
equivalences and add comment to connect the test with
the PR.

From-SVN: r104060

18 years agoDaily bump.
GCC Administrator [Fri, 9 Sep 2005 00:17:06 +0000 (00:17 +0000)]
Daily bump.

[[Split portion of a mixed commit.]]

From-SVN: r104056.2

18 years agore PR fortran/23765 (segfault with syntactically wrong common declaration)
Tobias Schlüter [Thu, 8 Sep 2005 21:55:59 +0000 (23:55 +0200)]
re PR fortran/23765 (segfault with syntactically wrong common declaration)

fortran/
PR fortran/23765
* match.c (gfc_match_common): Remove unnecessary / wrong special
cases for end-of-statement.
testsuite/
PR fortran/23765
* gfortran.dg/common_6.f90: New test.

From-SVN: r104046

18 years agore PR libgcj/23761 (java.library.path doesn't affect module loading path)
Thomas Fitzsimmons [Thu, 8 Sep 2005 21:26:25 +0000 (21:26 +0000)]
re PR libgcj/23761 (java.library.path doesn't affect module loading path)

2005-09-08  Thomas Fitzsimmons  <fitzsim@redhat.com>

PR libgcj/23761
* include/java-props.h (_Jv_Module_Load_Path): Declare variable.
* java/lang/natRuntime.cc (init): Call lt_dlsetsearchpath after
lt_dlinit.
* gnu/classpath/natSystemProperties.cc (_Jv_Module_Load_Path):
Define variable.
(_Jv_SetDLLSearchPath): Do not call lt_dlsetsearchpath.  Set
_Jv_Module_Load_Path.

From-SVN: r104044

18 years agogfortran.texi: Add section about implemented F2003 features.
Janne Blomqvist [Thu, 8 Sep 2005 19:42:59 +0000 (22:42 +0300)]
gfortran.texi: Add section about implemented F2003 features.

2005-09-08  Janne Blomqvist  <jblomqvi@cc.hut.fi>

* gfortran.texi: Add section about implemented F2003 features.

From-SVN: r104043

18 years agore PR c++/23691 (`mpl_::bool_<false>::value' is not a valid template argument for...
Mark Mitchell [Thu, 8 Sep 2005 18:56:42 +0000 (18:56 +0000)]
re PR c++/23691 (`mpl_::bool_<false>::value' is not a valid template argument for type `bool' because it is a non-constant expression)

PR c++/23691
* decl2.c (mark_used): Instantiate static data members initialized
by constants, even in a template.

PR c++/23691
* g++.dg/template/static16.C: New test.

From-SVN: r104041

18 years agore PR fortran/15326 ([4.0 only] ICE with assumed length character strings)
Richard Sandiford [Thu, 8 Sep 2005 18:46:06 +0000 (18:46 +0000)]
re PR fortran/15326 ([4.0 only] ICE with assumed length character strings)

PR fortran/15326
* trans-array.c (gfc_add_loop_ss_code): Set ss->string_length in
the GFC_SS_FUNCTION case too.
* trans-expr.c (gfc_conv_function_val): Allow symbols to be bound
to function pointers as well as function decls.
(gfc_interface_sym_mapping, gfc_interface_mapping): New structures.
(gfc_init_interface_mapping, gfc_free_interface_mapping)
(gfc_get_interface_mapping_charlen, gfc_get_interface_mapping_array)
(gfc_set_interface_mapping_bounds, gfc_add_interface_mapping)
(gfc_finish_interface_mapping, gfc_apply_interface_mapping_to_cons)
(gfc_apply_interface_mapping_to_ref)
(gfc_apply_interface_mapping_to_expr)
(gfc_apply_interface_mapping): New functions.
(gfc_conv_function_call): Evaluate the arguments before working
out where the result should go.  Make the null pointer case provide
the string length in parmse.string_length.  Cope with non-constant
string lengths, using the above functions to evaluate such lengths.
Use a temporary typespec; don't assign to sym->cl->backend_decl.
Don't assign to se->string_length when returning a cached array
descriptor.

From-SVN: r104040

18 years agotree-vrp.c (extract_range_from_unary_expr): Do not set the range for the result of...
Eric Botcazou [Thu, 8 Sep 2005 16:37:20 +0000 (18:37 +0200)]
tree-vrp.c (extract_range_from_unary_expr): Do not set the range for the result of a conversion if...

* tree-vrp.c (extract_range_from_unary_expr): Do not set the range for
the result of a conversion if the new min and max cannot be compared.

From-SVN: r104036

18 years agore PR fortran/19928 (Reference of constant derived type component causes failure)
Richard Sandiford [Thu, 8 Sep 2005 16:06:54 +0000 (16:06 +0000)]
re PR fortran/19928 (Reference of constant derived type component causes failure)

PR fortran/19928
* trans-array.c (gfc_conv_array_ref): Call gfc_advance_se_ss_chain
after handling scalarized references.  Make "indexse" inherit from
"se" when handling AR_ELEMENTs.
(gfc_walk_variable_expr): Add GFC_SS_SCALAR entries for each
substring or scalar reference that follows an array section.
* trans-expr.c (gfc_conv_variable): When called from within a
scalarization loop, start out with "ref" pointing to the scalarized
part of the reference.  Don't call gfc_advance_se_ss_chain here.

From-SVN: r104035

18 years agos390.c (s390_sr_alias_set): Variable removed.
Andreas Krebbel [Thu, 8 Sep 2005 13:55:30 +0000 (13:55 +0000)]
s390.c (s390_sr_alias_set): Variable removed.

2005-09-08  Andreas Krebbel  <krebbel1@de.ibm.com>

* config/s390/s390.c (s390_sr_alias_set): Variable removed.
(override_options): Setting s390_sr_alias_set removed.
(save_fpr, save_gprs): Set alias set to vararg or frame.
(restore_fpr, restore_gprs, s390_emit_prologue): Replace
s390_sr_alias_set with get_frame_alias_set ().
(s390_gimplify_va_arg): Replace s390_sr_alias_set with
get_varargs_alias_set ().

From-SVN: r104034

18 years agore PR objc++/16816 (obj-c++ parser error with multi-colon selectors)
Andrew Pinski [Thu, 8 Sep 2005 13:14:41 +0000 (13:14 +0000)]
re PR objc++/16816 (obj-c++ parser error with multi-colon selectors)

2005-09-08  Andrew Pinski  <pinskia@physics.uc.edu>

        PR obj-c++/16816
        * obj-c++.dg/selector-5.mm: New test.
        * obj-c++.dg/selector-6.mm: New test.
2005-09-08  Andrew Pinski  <pinskia@physics.uc.edu>

        PR obj-c++/16816
        * parser.c (cp_parser_objc_selector_expression): Treat CPP_SCOPE as
        two CPP_COLON.

From-SVN: r104033

18 years agore PR objc/20574 (weird error message after a parse error)
Andrew Pinski [Thu, 8 Sep 2005 13:09:49 +0000 (13:09 +0000)]
re PR objc/20574 (weird error message after a parse error)

2005-09-08  Andrew Pinski  <pinskia@physics.uc.edu>

        PR objc/20574
        PR objc/19324
        * c-parser.c (c_parser_objc_method_definition): If the next
        token is not "{", error out and don't start the function.

2005-09-08  Andrew Pinski  <pinskia@physics.uc.edu>

        PR objc/20574
        PR objc/19324
        * objc.dg/error-1.m: New test.

From-SVN: r104032

18 years agore PR fortran/23373 ([4.0 only] Functions returning pointers with pointer argument)
Richard Sandiford [Thu, 8 Sep 2005 09:20:07 +0000 (09:20 +0000)]
re PR fortran/23373 ([4.0 only] Functions returning pointers with pointer argument)

PR fortran/23373
* trans-expr.c (gfc_trans_pointer_assignment): Assign to a temporary
descriptor if the rhs is not a null pointer or variable.

From-SVN: r104029

18 years agore PR libfortran/23760 (gfortran incorrectly succeeds on record overflow)
Jerry DeLisle [Thu, 8 Sep 2005 06:52:04 +0000 (06:52 +0000)]
re PR libfortran/23760 (gfortran incorrectly succeeds on record overflow)

2005-09-07  Jerry DeLisle  <jvdelisle@verizon.net>

PR libfortran/23760
* gfortran.dg/g77/1832.f: Remove long string in write statement
to allow the test to pass on correct list directed output with
prepended space.

From-SVN: r104027

18 years agoFix xscale-elf gcc testsuite failure.
James E Wilson [Thu, 8 Sep 2005 00:30:48 +0000 (17:30 -0700)]
Fix xscale-elf gcc testsuite failure.

* gcc.dg/intmax_t-1.c: Disable for xscale*-*-elf*.

From-SVN: r104022

18 years agoDaily bump.
GCC Administrator [Thu, 8 Sep 2005 00:16:16 +0000 (00:16 +0000)]
Daily bump.

[[Split portion of a mixed commit.]]

From-SVN: r104019.2

18 years agoparameter+save.f90: Rename to
Thomas Koenig [Wed, 7 Sep 2005 21:32:21 +0000 (21:32 +0000)]
parameter+save.f90: Rename to

2005-09-07  Thomas Koenig  <Thomas.Koenig@online.de>

* gfortran.dg/parameter+save.f90:  Rename to
* gfortran.dg/parameter_save.f90: .. this.

From-SVN: r104011

18 years agore PR libfortran/23262 ([mingw32] rewind truncates file)
Francois-Xavier Coudert [Wed, 7 Sep 2005 21:25:40 +0000 (23:25 +0200)]
re PR libfortran/23262 ([mingw32] rewind truncates file)

PR libfortran/23262
* acinclude.m4 (LIBGFOR_CHECK_CRLF): New check.
* configure.ac: Use new check.
* configure.in: Regenerate.
* config.h.in: Regenerate.
* configure: Regenerate.
* io/transfer.c (next_record_w): Add case for CRLF as line
terminator.
* io/unix.c (tempfile, regular_file): Open files with
O_BINARY on systems with CRLF.

From-SVN: r104009

18 years agore PR fortran/20848 (PARAMETER and SAVE attribute conflict)
Thomas Koenig [Wed, 7 Sep 2005 21:08:24 +0000 (21:08 +0000)]
re PR fortran/20848 (PARAMETER and SAVE attribute conflict)

2005-09-07  Thomas Koenig  <Thomas.Koenig@online.de>

PR fortran/20848
* symbol.c(check_conflict):  Add conflict for parameter/save,

2005-09-07  Thomas Koenig  <Thomas.Koenig@online.de>

PR fortran/20848
* gfortran.dg/parameter+save.f90:  New test case.

From-SVN: r104005

18 years agotree-vrp.c (extract_range_from_expr): Move the check for non nullness after the check...
Andrew Pinski [Wed, 7 Sep 2005 20:35:19 +0000 (20:35 +0000)]
tree-vrp.c (extract_range_from_expr): Move the check for non nullness after the check for gimple invariant.

2005-09-08  Andrew Pinski  <pinskia@physics.uc.edu>

        * tree-vrp.c (extract_range_from_expr): Move the check for non
        nullness after the check for gimple invariant.

From-SVN: r104002

18 years agore PR libfortran/23419 (unformatted complex I/O with kind=10)
Steve Ellcey [Wed, 7 Sep 2005 20:16:47 +0000 (20:16 +0000)]
re PR libfortran/23419 (unformatted complex I/O with kind=10)

PR libfortran/23419
* io/write.c (extract_int): Use memcpy to access buffer.
(extract_uint): Ditto.
(extract_real): Ditto.

From-SVN: r104000

18 years ago* tree.c (host_integerp, tree_low_cst): Correct function comment.
Richard Kenner [Wed, 7 Sep 2005 12:39:03 +0000 (12:39 +0000)]
* tree.c (host_integerp, tree_low_cst): Correct function comment.

From-SVN: r103989

18 years agore PR target/23747 (ICE with -O2, -O3 execute/builtins/memcpy-chk.c)
Kazuhiro Inaoka [Wed, 7 Sep 2005 11:57:47 +0000 (11:57 +0000)]
re PR target/23747 (ICE with -O2, -O3 execute/builtins/memcpy-chk.c)

PR target/23747
* config/m32r.md (movmemsi_internal): Canonicalize order of operands in
  PLUS component of template.

From-SVN: r103987

18 years agoreload1.c (fixup_eh_region_note): Remove assertion.
Andreas Krebbel [Wed, 7 Sep 2005 07:52:48 +0000 (07:52 +0000)]
reload1.c (fixup_eh_region_note): Remove assertion.

2005-09-07  Andreas Krebbel  <krebbel1@de.ibm.com>

* reload1.c (fixup_eh_region_note): Remove assertion.
(fixup_abnormal_edges): Reverted removal of call to
find_many_sub_basic_blocks made on 2005-08-31.

From-SVN: r103984

18 years agofunction.c (ARG_POINTER_CFA_OFFSET): Move ...
Richard Henderson [Wed, 7 Sep 2005 07:47:15 +0000 (00:47 -0700)]
function.c (ARG_POINTER_CFA_OFFSET): Move ...

        * function.c (ARG_POINTER_CFA_OFFSET): Move ...
        * defaults.h (ARG_POINTER_CFA_OFFSET): ... here.
        (INCOMING_FRAME_SP_OFFSET): Move from dwarf2out.c.
        * dwarf2out.c (struct cfa_loc): Change reg to unsigned int,
        rearrange for better packing.
        (INCOMING_FRAME_SP_OFFSET): Move to defaults.h.
        (lookup_cfa_1): Remove inline marker.
        (cfa_equal_p): Split out of ...
        (def_cfa_1): ... here.  Use INVALID_REGNUM.
        (build_cfa_loc): Handle !cfa->indirect.
        (frame_pointer_cfa_offset): New.
        (dbx_reg_number): Assert register elimination performed; do
        leaf register remapping.
        (reg_loc_descriptor): Avoid calling dbx_reg_number when unused.
        (eliminate_reg_to_offset): New.
        (based_loc_descr): Remove can_use_fbreg argument.  Use fbreg only
        for verifiably local stack frame addresses; re-base to CFA.
        (mem_loc_descriptor): Remove can_use_fbreg argument.
        (concat_loc_descriptor, loc_descriptor): Likewise.
        (containing_function_has_frame_base): Remove.
        (rtl_for_decl_location): Don't do register elimination or
        leaf register remapping here.
        (secname_for_decl): Split out from ..
        (add_location_or_const_value_attribute): ... here.
        (convert_cfa_to_loc_list): New.
        (compute_frame_pointer_to_cfa_displacement): New.
        (gen_subprogram_die): Use them.
        * tree.h (frame_base_decl): Remove.
        * var-tracking.c (frame_base_decl, frame_stack_adjust): Remove.
        (prologue_stack_adjust): Remove.
        (vt_stack_adjustments): Use INCOMING_FRAME_SP_OFFSET.
        (adjust_stack_reference): Re-base memories to arg_pointer_rtx.
        (set_frame_base_location): Remove.
        (compute_bb_dataflow, emit_notes_in_bb): Don't call it.
        (dump_attrs_list, dump_dataflow_set): Use string concatenation.
        (vt_add_function_parameters): Don't eliminate_regs.
        (vt_initialize): Don't create frame_base_decl.

From-SVN: r103983

18 years agore PR fortran/19269 (transpose(reshape(...)) of character array segfaults.)
Richard Sandiford [Wed, 7 Sep 2005 07:36:12 +0000 (07:36 +0000)]
re PR fortran/19269 (transpose(reshape(...)) of character array segfaults.)

PR fortran/19269
* simplify.c (gfc_simplify_transpose): Set the result's typespec from
the source, not the first element of the return value.

From-SVN: r103982

18 years agocp-gimplify.c (cp_gimplify_expr): Create empty CONSTRUCTOR for EMPTY_CLASS_EXPR.
Richard Guenther [Wed, 7 Sep 2005 07:20:58 +0000 (07:20 +0000)]
cp-gimplify.c (cp_gimplify_expr): Create empty CONSTRUCTOR for EMPTY_CLASS_EXPR.

2005-09-07  Richard Guenther  <rguenther@suse.de>

* cp-gimplify.c (cp_gimplify_expr): Create empty CONSTRUCTOR
for EMPTY_CLASS_EXPR.

From-SVN: r103981

18 years agoinstall.texi (*-*-solaris2*): Clarify wording on the recommended version of GNU binut...
Eric Botcazou [Wed, 7 Sep 2005 06:19:57 +0000 (08:19 +0200)]
install.texi (*-*-solaris2*): Clarify wording on the recommended version of GNU binutils for 4.x and later.

* doc/install.texi (*-*-solaris2*): Clarify wording on the recommended
version of GNU binutils for 4.x and later.

From-SVN: r103980

18 years agoggc-page.c (ggc_push_context): Remove.
Mark Mitchell [Wed, 7 Sep 2005 03:50:08 +0000 (03:50 +0000)]
ggc-page.c (ggc_push_context): Remove.

* ggc-page.c (ggc_push_context): Remove.
(ggc_pop_context): Likewise.
* ggc.h (ggc_push_context): Remove.
(ggc_pop_context): Likewise.

From-SVN: r103979

18 years agoDaily bump.
GCC Administrator [Wed, 7 Sep 2005 00:16:46 +0000 (00:16 +0000)]
Daily bump.

[[Split portion of a mixed commit.]]

From-SVN: r103975.2

18 years agore PR target/8973 ([arc-7-elf] the interupt handler does not return properly, uses...
Saurabh Verma [Tue, 6 Sep 2005 22:29:45 +0000 (22:29 +0000)]
re PR target/8973 ([arc-7-elf] the interupt handler does not return properly, uses j.d insted of j.d.f)

2005-09-06  Saurabh Verma  <saurabh.verma@codito.com>

        PR target/8973
        * config/arc/arc.c (arc_output_function_epilogue): Update flags while
        returning from an interrupt handler.

From-SVN: r103972

18 years agore PR target/8972 ([arc-7-elf] the c code ' x << i' causes infinite loop when i = 0)
Saurabh Verma [Tue, 6 Sep 2005 22:26:59 +0000 (22:26 +0000)]
re PR target/8972 ([arc-7-elf] the c code ' x << i' causes infinite loop when i = 0)

2005-09-06  Saurabh Verma  <saurabh.verma@codito.com>

        PR target/8972
        * config/arc/arc.c (output_shift): Add check for loop count when
        optimizing.

From-SVN: r103971

18 years agotree-ssa-phiopt.c (conditional_replacement): Construct proper SSA form manually.
Steven Bosscher [Tue, 6 Sep 2005 22:06:29 +0000 (22:06 +0000)]
tree-ssa-phiopt.c (conditional_replacement): Construct proper SSA form manually.

* tree-ssa-phiopt.c (conditional_replacement): Construct proper SSA
form manually.
(abs_replacement): Likewise.
(pass_phiopt): Remove TODO_update_ssa.

From-SVN: r103970

18 years agore PR c/23075 (Redundant / bogus warning)
Jakub Jelinek [Tue, 6 Sep 2005 20:07:13 +0000 (22:07 +0200)]
re PR c/23075 (Redundant / bogus warning)

PR c/23075
* c-typeck.c (c_finish_return): Set TREE_NO_WARNING on RETURN_EXPR
if "return with no value, in function returning non-void" warning
has been issued.
   * tree-cfg.c (execute_warn_function_return): Don't look at
RETURN_EXPRs with TREE_NO_WARNING set.

* typeck.c (check_return_expr): Add no_warning argument.  Set
*no_warning to true if "return-statement with no value, in function
returning" warning has been issued.
* cp-tree.h (check_return_expr): Adjust prototype.
* semantics.c (finish_return_stmt): Set TREE_NO_WARNING if
check_return_expr set *no_warning to true.

* gcc.dg/pr23075.c: New test.
* g++.dg/warn/pr23075.C: New test.

From-SVN: r103967

18 years agore PR target/22362 (static function calls and global register variables)
Jakub Jelinek [Tue, 6 Sep 2005 19:57:57 +0000 (21:57 +0200)]
re PR target/22362 (static function calls and global register variables)

PR target/22362
* config/i386/i386.c (ix86_function_regparm): Make sure automatic regparm
for internal functions doesn't use registers used by global registers
variables.  Use fewer register parameters if there are global register
variables.

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

From-SVN: r103964

18 years agore PR middle-end/14997 (ncurses build fails with Ada)
Olivier Hainque [Tue, 6 Sep 2005 19:46:58 +0000 (19:46 +0000)]
re PR middle-end/14997 (ncurses build fails with Ada)

PR middle-end/14997
* expr.c (expand_expr_real) <normal_inner_ref>: Force op0 to mem
when we would be extracting outside its bit span (bitpos+bitsize
larger than its mode), possible with some VIEW_CONVERT_EXPRs from
Ada unchecked conversions.

Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
From-SVN: r103963

18 years agore PR rtl-optimization/23098 (store of 0.0 to float)
Jakub Jelinek [Tue, 6 Sep 2005 19:38:58 +0000 (21:38 +0200)]
re PR rtl-optimization/23098 (store of 0.0 to float)

PR rtl-optimization/23098
* gcc.target/i386/pr23098.c: Add dg-require-effective-target ilp32.

From-SVN: r103959

18 years agodwarf-char1.c: Further regex fixes.
Jakub Jelinek [Tue, 6 Sep 2005 19:27:05 +0000 (21:27 +0200)]
dwarf-char1.c: Further regex fixes.

* gcc.dg/debug/dwarf2/dwarf-char1.c: Further regex fixes.
* gcc.dg/debug/dwarf2/dwarf-char2.c: Likewise.
* gcc.dg/debug/dwarf2/dwarf-char3.c: Likewise.

From-SVN: r103957

18 years agotree-ssa-pre.c (try_look_through_load): New function.
Steven Bosscher [Tue, 6 Sep 2005 18:51:26 +0000 (18:51 +0000)]
tree-ssa-pre.c (try_look_through_load): New function.

* tree-ssa-pre.c (try_look_through_load): New function.
(compute_avail): Use it to try to look through loads for some
more useful expressions.

From-SVN: r103956

18 years agosimplify-rtx.c (simplify_binary_operation_1): Correct the condition for detecting...
Saurabh Verma [Tue, 6 Sep 2005 17:51:48 +0000 (17:51 +0000)]
simplify-rtx.c (simplify_binary_operation_1): Correct the condition for detecting cases like (a&a) and (a^a).

* simplify-rtx.c (simplify_binary_operation_1): Correct the
condition for detecting cases like (a&a) and (a^a).

From-SVN: r103955

18 years agore PR libgcj/23739 (JNI: IsAssignableFrom reverses arguments)
Tom Tromey [Tue, 6 Sep 2005 16:01:31 +0000 (16:01 +0000)]
re PR libgcj/23739 (JNI: IsAssignableFrom reverses arguments)

PR libgcj/23739:
* testsuite/libjava.jni/pr23739.c: New file.
* testsuite/libjava.jni/pr23739.java: New file.
* testsuite/libjava.jni/pr23739.out: New file.
* jni.cc (_Jv_JNI_IsAssignableFrom): Reversed arguments.
* java/lang/reflect/natMethod.cc (invoke): Updated.
* java/lang/natClass.cc (isAssignableFrom): Updated.
(isInstance): Likewise.
(_Jv_IsAssignableFrom): Reversed arguments.
(_Jv_IsInstanceOf): Updated.
(_Jv_CheckCast): Likewise.
(_Jv_CheckArrayStore): Likewise.
(_Jv_IsAssignableFromSlow): Reversed arguments.
(_Jv_InterfaceAssignableFrom): Likewise.
* link.cc (verify_type_assertions): Updated.
* prims.cc (_Jv_CheckAccess): Updated.

From-SVN: r103953

18 years agojava-gimplify.c (java_gimplify_block): NULL out the old BLOCK's BLOCK_EXPR_BODY befor...
Andrew Pinski [Tue, 6 Sep 2005 15:22:34 +0000 (15:22 +0000)]
java-gimplify.c (java_gimplify_block): NULL out the old BLOCK's BLOCK_EXPR_BODY before returning the new BIND_EXPR.

2005-09-06  Andrew Pinski  <pinskia@physics.uc.edu>

        * java-gimplify.c (java_gimplify_block): NULL out the old BLOCK's
        BLOCK_EXPR_BODY before returning the new BIND_EXPR.

From-SVN: r103950

18 years agore PR c++/9782 (constructor not called on higher-dimensional arrays of template types)
Mark Mitchell [Tue, 6 Sep 2005 14:55:06 +0000 (14:55 +0000)]
re PR c++/9782 (constructor not called on higher-dimensional arrays of template types)

* cp-tree.h (rvalue): New function.
* call.c (build_conditional_expr): Use it.
* init.c (build_new_1): Likewise.
* rtti.c (build_dynamic_cast_1): Likewise.
* tree.c (rvalue): New function.
* typeck.c (build_unary_op): Use it.
(build_static_cast_1): Likewise.

* g++.dg/expr/cast6.C: New test.

PR c++/9782
* init.c (build_new_1): Make sure the entire array type is
complete, not just its element types.

PR c++/9782
* g++.dg/init/new15.C: New test.

From-SVN: r103947

18 years agore PR boehm-gc/23662 (Binaries generated by arm-linux-gcj segfault on execution on...
Tom Tromey [Tue, 6 Sep 2005 14:22:01 +0000 (14:22 +0000)]
re PR boehm-gc/23662 (Binaries generated by arm-linux-gcj segfault on execution on arm target)

PR libgcj/23662:
* include/private/gcconfig.h (LINUX_STACKBOTTOM): Use instead of
HEURISTIC1 on ARM.

From-SVN: r103946

18 years agoOs-vect-95.c: New test.
Keith Besaw [Tue, 6 Sep 2005 11:09:01 +0000 (11:09 +0000)]
Os-vect-95.c: New test.

        * gcc.dg/vect/Os-vect-95.c: New test.
        * gcc.dg/vect/vect-95.c: Same.

From-SVN: r103942

18 years agocommon.opt: Add option ftree-vect-loop-version.
Keith Besaw [Tue, 6 Sep 2005 10:59:58 +0000 (10:59 +0000)]
common.opt: Add option ftree-vect-loop-version.

        * common.opt: Add option ftree-vect-loop-version.
        * params.def: Add --param vect-max-version-checks.
        * doc/invoke.texi: Document ftree-vect-loop-version and
        --param vect-max-version-checks.
        * tree-vectorizer.h (_loop_vec_info): Add ptr_mask and
        may_misalign_stmts and defines for accessors.
        * tree-vectorizer.c : (new_loop_vec_info): VEC_alloc for
        LOOP_VINFO_MAY_MISALIGN_STMTS.
        (destroy_loop_vec_info): VEC_free for
        LOOP_VINFO_MAY_MISALIGN_STMTS.
        * tree-vect-analyze.c (vect_compute_data_ref_alignment):
        Update documentation.
        (vect_update_misalignment_for_peel): New.
        (vect_enhance_data_refs_alignment): Update to choose loop
        peeling or loop versioning if appropriate for the (potentially)
        unaligned data references in the loop.
        (vect_analyze_data_refs_alignment): Remove call to
        vect_enhance_data_refs_alignment so the checks can be done
        earlier.
        (vect_analyze_loop): Add call to vect_enhance_data_refs_alignment
        and move up call to vect_analyze_data_refs_alignment.
        * tree-vect-transform.c (vect_create_cond_for_align_checks): New.
        (vect_transform_loop): Add call to loop_version.

From-SVN: r103941

18 years ago* decl.c (check_elaborated_type_specifier): Remove redundant check.
Volker Reichelt [Tue, 6 Sep 2005 10:30:09 +0000 (10:30 +0000)]
* decl.c (check_elaborated_type_specifier): Remove redundant check.

From-SVN: r103939

18 years agodwarf-char1.c: Accept more assembler comment start strings.
Jakub Jelinek [Tue, 6 Sep 2005 09:08:07 +0000 (11:08 +0200)]
dwarf-char1.c: Accept more assembler comment start strings.

* gcc.dg/debug/dwarf2/dwarf-char1.c: Accept more assembler comment
start strings.
* gcc.dg/debug/dwarf2/dwarf-char2.c: Likewise.
* gcc.dg/debug/dwarf2/dwarf-char3.c: Likewise.

From-SVN: r103937

18 years agore PR c++/23056 (ICE in write_template_arg_literal, at cp/mangle.c)
Jakub Jelinek [Tue, 6 Sep 2005 08:55:37 +0000 (10:55 +0200)]
re PR c++/23056 (ICE in write_template_arg_literal, at cp/mangle.c)

PR c++/23056
* typeck.c (ignore_overflows): New helper function.
(build_static_cast_1): Use it.

* g++.dg/opt/pr23056.C: New test.

From-SVN: r103936

18 years agore PR rtl-optimization/23098 (store of 0.0 to float)
Jakub Jelinek [Tue, 6 Sep 2005 08:53:11 +0000 (10:53 +0200)]
re PR rtl-optimization/23098 (store of 0.0 to float)

PR rtl-optimization/23098
* cse.c (fold_rtx_mem): Call delegitimize_address target hook.
* simplify-rtx.c (constant_pool_reference_p): New function.
* rtl.h (constant_pool_reference_p): New prototype.
* config/i386/i386.md (pushf split, mov[sdx]f split): Use
constant_pool_reference_p in condition and
avoid_constant_pool_reference in preparation statements.

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

From-SVN: r103935

18 years agogcse.c (try_replace_reg): Disallow REG_EQUAL notes for STRICT_LOW_PART SETs.
Andreas Krebbel [Tue, 6 Sep 2005 08:15:35 +0000 (08:15 +0000)]
gcse.c (try_replace_reg): Disallow REG_EQUAL notes for STRICT_LOW_PART SETs.

2005-09-06  Andreas Krebbel  <krebbel1@de.ibm.com>

* gcse.c (try_replace_reg): Disallow REG_EQUAL notes for
STRICT_LOW_PART SETs.

From-SVN: r103934

18 years agore PR middle-end/21460 (sjlj_emit_function_enter adds rtl to wrong block)
Alan Modra [Tue, 6 Sep 2005 04:53:53 +0000 (04:53 +0000)]
re PR middle-end/21460 (sjlj_emit_function_enter adds rtl to wrong block)

PR middle-end/21460
* except.c (sjlj_emit_function_enter): Find the function begin
note even when it's not in first basic block.

From-SVN: r103930

18 years agoacinclude.m4: Renamed from aclocal.m4.
Kelley Cook [Tue, 6 Sep 2005 03:23:48 +0000 (03:23 +0000)]
acinclude.m4: Renamed from aclocal.m4.

2005-09-06  Kelley Cook  <kcook@gcc.gnu.org>

* acinclude.m4: Renamed from aclocal.m4.  Delete AM_LANGINFO_CODESET,
AM_PROG_CC_C_O, and AM_AUX_DIR_EXPAND.
* aclocal.m4: Regenerate.

From-SVN: r103929

18 years agom32c.h (TRAMPOLINE_ALIGNMENT): Correct misspelling of macro.
DJ Delorie [Tue, 6 Sep 2005 02:32:26 +0000 (22:32 -0400)]
m32c.h (TRAMPOLINE_ALIGNMENT): Correct misspelling of macro.

* config/m32c/m32c.h (TRAMPOLINE_ALIGNMENT): Correct misspelling
of macro.

From-SVN: r103928

18 years agocheck-init.c, [...]: Fix comment typos.
Kazu Hirata [Tue, 6 Sep 2005 02:25:00 +0000 (02:25 +0000)]
check-init.c, [...]: Fix comment typos.

* check-init.c, decl.c, expr.c, gcj.texi, java-tree.h,
jcf-parse.c, jcf.h, parse.h, parse.y, typeck.c: Fix comment
typos.  Follow spelling conventions.

From-SVN: r103927

18 years agocp-tree.h, [...]: Fix comment typos.
Kazu Hirata [Tue, 6 Sep 2005 02:12:30 +0000 (02:12 +0000)]
cp-tree.h, [...]: Fix comment typos.

* cp-tree.h, decl.c, decl2.c, semantics.c: Fix comment typos.
Follow spelling conventions.

From-SVN: r103926

18 years agogimplify.c, [...]: Fix comment typos.
Kazu Hirata [Tue, 6 Sep 2005 02:05:07 +0000 (02:05 +0000)]
gimplify.c, [...]: Fix comment typos.

* gimplify.c, ipa-prop.h, varasm.c, config/vxlib.c,
config/vxworks.h, config/crx/crx.c, config/ms1/ms1.c,
config/ms1/ms1.md, config/rs6000/rs6000.c: Fix comment typos.
Follow spelling conventions.
* doc/invoke.texi: Follow spelling conventions.

From-SVN: r103925

18 years agoDaily bump.
GCC Administrator [Tue, 6 Sep 2005 00:16:29 +0000 (00:16 +0000)]
Daily bump.

[[Split portion of a mixed commit.]]

From-SVN: r103922.2

18 years agolist_read.c: Adjust size of of value to 32 (to hold kind=16 complex values).
Thomas Koenig [Mon, 5 Sep 2005 21:13:39 +0000 (21:13 +0000)]
list_read.c: Adjust size of of value to 32 (to hold kind=16 complex values).

2005-09-05  Thomas Koenig  <Thomas.Koenig@online.de>

* io/list_read.c:  Adjust size of of value to 32 (to hold
kind=16 complex values).

From-SVN: r103918

18 years agortl.h (gen_frame_mem, [...]): Declare.
J"orn Rennecke [Mon, 5 Sep 2005 16:45:20 +0000 (16:45 +0000)]
rtl.h (gen_frame_mem, [...]): Declare.

* rtl.h (gen_frame_mem, gen_tmp_stack_mem): Declare.
* emit-rtl.c (gen_frame_mem, gen_tmp_stack_mem): New functions.
* builtins.c (expand_builtin_return_addr): Use gen_frame_mem.

From-SVN: r103917

18 years agore PR c++/23667 (tr1/6_containers/unordered/hashtable/23465.cc execution test times...
Mark Mitchell [Mon, 5 Sep 2005 16:12:15 +0000 (16:12 +0000)]
re PR c++/23667 (tr1/6_containers/unordered/hashtable/23465.cc execution test times out)

PR c++/23667
* pt.c (tsubst_decl): Clear DECL_TEMPLATE_INSTANTIATED when
copying a VAR_DECL.

PR c++/23667
* g++.dg/template/static15.C: New test.

From-SVN: r103914

18 years agore PR c++/21440 (ICE with statement-as-expression)
Mark Mitchell [Mon, 5 Sep 2005 15:59:31 +0000 (15:59 +0000)]
re PR c++/21440 (ICE with statement-as-expression)

PR c++/21440
* semantics.c (finish_stmt_expr_expr): Add an explicit
initialization to the last statement in the statement-expression.
* (finish_stmt_expr): Adjust accordingly.

PR c++/21440
* g++.dg/ext/stmtexpr5.C: New test.
* g++.dg/ext/stmtexpr6.C: Likewise.

From-SVN: r103911

18 years agoTestsuite changes for PR java/23431.
Ranjit Mathew [Mon, 5 Sep 2005 15:04:40 +0000 (15:04 +0000)]
Testsuite changes for PR java/23431.

* testsuite/libjava.jacks/jacks.xfail: Remove 8.1.1.1-12 and
  8.4.6.2-hiding-5.
* testsuite/libjava.compile/PR23431_1.java: New testcase.
* testsuite/libjava.compile/PR23431_2.java: Likewise.
* testsuite/libjava.compile/PR23431_1.xfail: New file.
* testsuite/libjava.compile/PR23431_2.xfail: Likewise.

From-SVN: r103910

18 years agore PR java/23431 (gcj allows overriding with more restrictive access)
Ranjit Mathew [Mon, 5 Sep 2005 14:57:25 +0000 (14:57 +0000)]
re PR java/23431 (gcj allows overriding with more restrictive access)

PR java/23431
* typeck.c (lookup_do): Look up interfaces for the original class,
not the base class.
* parse.y (java_check_regular_methods): Fix diagnostic message for
more restrictive overriding of a method from an interface.

From-SVN: r103909

18 years agodwarf-char1.c]: Allow '!' comment character.
Joern Rennecke [Mon, 5 Sep 2005 14:57:03 +0000 (15:57 +0100)]
dwarf-char1.c]: Allow '!' comment character.

* [gcc.dg/debug/dwarf2/dwarf-char1.c]: Allow '!' comment character.
* gcc.dg/debug/dwarf2/dwarf-char2.c: Likewise.
* gcc.dg/debug/dwarf2/dwarf-char3.c: Likewise.

From-SVN: r103908

18 years agodwarf-char1.c: Allow '!' comment character.
Joern Rennecke [Mon, 5 Sep 2005 14:56:37 +0000 (15:56 +0100)]
dwarf-char1.c: Allow '!' comment character.

* gcc.dg/debug/dwarf2/dwarf-char1.c: Allow '!' comment character.
* gcc.dg/debug/dwarf2/dwarf-char2.c: Likewise.
* gcc.dg/debug/dwarf2/dwarf-char3.c: Likewise.

From-SVN: r103907

18 years ago* gcc.dg/debug/dwarf2/dwarf-char1.c: Allow '!' comment character.
J"orn Rennecke [Mon, 5 Sep 2005 14:49:14 +0000 (14:49 +0000)]
* gcc.dg/debug/dwarf2/dwarf-char1.c: Allow '!' comment character.

From-SVN: r103906

18 years ago* gcc.dg/pr21255-1.c: Match different pattern for sh64.
J"orn Rennecke [Mon, 5 Sep 2005 14:20:27 +0000 (14:20 +0000)]
* gcc.dg/pr21255-1.c: Match different pattern for sh64.

From-SVN: r103905

18 years agore PR target/23683 (review all uses of gen_rtx_MEM in sh port)
J"orn Rennecke [Mon, 5 Sep 2005 12:45:48 +0000 (12:45 +0000)]
re PR target/23683 (review all uses of gen_rtx_MEM in sh port)

PR target/23683
* sh.c (sh_reorg, emit_load_ptr): Use gen_const_mem.
(output_stack_adjust): Use gen_tmp_stack_mem.
(sh_expand_prologue, sh_expand_epilogue): Use gen_frame_mem.
(sh_set_return_address, sh_allocate_initial_value): Likewise.
(sh_get_pr_initial_val): Likewise.
(sh_builtin_saveregs): Use gen_frame_mem and change_address.
(sh_initialize_trampoline): Likewise.  Also use adjust_address.
* sh.md (divsi_inv_m0): Use gen_const_mem.
(push_fpscr, pop_fpscr, load_ra): Use gen_frame_mem.
(movdf_i4+1): Use gen_tmp_stack_mem.
(reload_outdf+3, reload_outdf+4, fpu_switch+1): Use change_address.
(fpu_switch+2): Likewise.
(movv4sf_i, movv16sf_i): Use adjust_address.
(symGOT_load): Set MEM_NOTRAP_P bit.

From-SVN: r103904

18 years agoCommit entry left out by previous cvs ci.
Joern Rennecke [Mon, 5 Sep 2005 12:37:33 +0000 (13:37 +0100)]
Commit entry left out by previous cvs ci.

From-SVN: r103903

18 years agoMove entry from cp/ChangeLog to testsuite/ChangeLog.
Volker Reichelt [Mon, 5 Sep 2005 10:11:52 +0000 (10:11 +0000)]
Move entry from cp/ChangeLog to testsuite/ChangeLog.

From-SVN: r103902

18 years agoResync.
Arnaud Charlet [Mon, 5 Sep 2005 08:57:18 +0000 (10:57 +0200)]
Resync.

From-SVN: r103899

18 years agoRemoved, no longer used.
Arnaud Charlet [Mon, 5 Sep 2005 08:52:50 +0000 (10:52 +0200)]
Removed, no longer used.

From-SVN: r103898

18 years agoMinor reformatting.
Arnaud Charlet [Mon, 5 Sep 2005 08:12:54 +0000 (10:12 +0200)]
Minor reformatting.

Regenerated.

From-SVN: r103897

18 years agoMinor reformatting.
Arnaud Charlet [Mon, 5 Sep 2005 08:12:03 +0000 (10:12 +0200)]
Minor reformatting.

(Install_Null_Excluding_Check): Moved to the package specification
to use it from other packages to generate the run-time check
associated with the null-exclusion attribute.

From-SVN: r103896

18 years agoMinor reformatting.
Arnaud Charlet [Mon, 5 Sep 2005 08:11:07 +0000 (10:11 +0200)]
Minor reformatting.

From-SVN: r103895

18 years agoa-dirval-mingw.adb, [...]: Minor reformatting
Robert Dewar [Mon, 5 Sep 2005 08:07:00 +0000 (10:07 +0200)]
a-dirval-mingw.adb, [...]: Minor reformatting

2005-09-01  Robert Dewar  <dewar@adacore.com>

* a-dirval-mingw.adb, a-direct.adb, a-coinve.adb,
g-dynhta.adb, g-dynhta.ads, cstand.adb, exp_smem.adb, g-debuti.ads,
g-dirope.adb, g-table.adb, lib-sort.adb, sem_maps.adb,
exp_fixd.adb, exp_aggr.adb, a-intnam-mingw.ads, a-intnam-vxworks.ads,
g-arrspl.adb, g-arrspl.ads, g-awk.adb, g-awk.ads, g-boubuf.ads,
g-boubuf.ads, g-boubuf.ads, g-bubsor.ads, g-bubsor.adb, g-busora.adb,
g-busora.ads, g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads, g-cgi.adb,
g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads, g-cgideb.adb, g-cgideb.ads,
g-comlin.adb, g-comver.ads, g-semaph.ads, g-socthi.ads,
sem_ch7.adb, a-direio.adb, a-caldel.ads, i-cstrea-vms.adb,
a-ztedit.adb, a-ztenau.adb, g-socthi-vms.adb, g-socthi-vms.ads,
g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vxworks.ads,
a-intnam-irix.ads, a-intnam-irix.ads, a-intnam-hpux.ads,
a-intnam-os2.ads, a-intnam-os2.ads, a-caldel-vms.adb, a-calend-vms.adb,
a-calend-vms.ads, g-heasor.adb, g-heasor.ads, g-hesora.adb,
g-hesora.ads, g-hesorg.adb, g-hesorg.ads, g-htable.adb, g-htable.ads,
g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads, g-locfil.ads,
g-memdum.adb, g-memdum.ads, g-traceb.adb, g-traceb.ads, i-cobol.adb,
i-cobol.ads, i-cstrea.ads, i-cstrin.adb, a-wtedit.adb, a-tifiio.adb,
a-wtenau.adb, a-wtenau.adb, a-teioed.adb: Minor reformatting

From-SVN: r103894

18 years agoMakefile.in: Adjust the libgnat target pairs for Xscale to ARM.
Arnaud Charlet [Mon, 5 Sep 2005 08:06:37 +0000 (10:06 +0200)]
Makefile.in: Adjust the libgnat target pairs for Xscale to ARM.

2005-09-01  Arnaud Charlet  <charlet@adacore.com>

* Makefile.in: Adjust the libgnat target pairs for Xscale to ARM.
Note that the platform-specific version of g-soccon.ads for VMS is now
named g-soccon-vms.ads (it was previously g-soccon-vms.adb, although it
really is a package spec).
Replace s-taspri-linux.ads by s-taspri-posix.ads
Remove references to s-mastop-x86.adb

* system-vxworks-xscale.ads: Removed, no longer used.
* s-vxwork-xscale.ads: Removed, no longer used.

From-SVN: r103893

18 years agoa-cihase.adb, [...]: Synchronized with latest draft (Draft 13, August 2005) of Ada...
Matthew Heaney [Mon, 5 Sep 2005 08:05:32 +0000 (10:05 +0200)]
a-cihase.adb, [...]: Synchronized with latest draft (Draft 13, August 2005) of Ada Amendment 1.

2005-09-01  Matthew Heaney  <heaney@adacore.com>

* a-cihase.adb, a-coorse.ads, a-coorse.adb, a-cohama.adb,
a-ciorse.ads, a-ciorse.adb, a-cihama.adb, a-cdlili.adb,
a-cidlli.adb, a-chtgop.adb, a-cihase.adb, a-cihase.ads,
a-cohase.adb, a-cohase.adb, a-cohase.ads: Synchronized with latest
draft (Draft 13, August 2005) of Ada Amendment 1.

From-SVN: r103892

18 years agog-dirope.ads: Minor reformatting Document that bounds of result of Base_Name match...
Robert Dewar [Mon, 5 Sep 2005 08:04:55 +0000 (10:04 +0200)]
g-dirope.ads: Minor reformatting Document that bounds of result of Base_Name match the input...

2005-09-01  Robert Dewar  <dewar@adacore.com>
    Arnaud Charlet  <charlet@adacore.com>

* g-dirope.ads: Minor reformatting
Document that bounds of result of Base_Name match the input index
positions.
Add documentation on environment variable syntax for Expand_Path

* gnat_ugn.texi: Update documentation to include mention of -m switches
Document new treatment of wide characters in max line length
style check.
Remove -gnatL/-gnatZ switches, no longer used.
Add note on pragmas Assertion_Policy and Debug_Policy in discussion
of -gnata switch.

* gnat_rm.texi: Add doc for two argument form of pragma
Float_Representation.
Add documentation for pragma No_Strict_Aliasing
Add note that explicit component clause overrides pragma Pack.
Add documentation of pragma Debug_Policy

From-SVN: r103891

18 years agottypef.ads (VAXDF_Safe_First): Use correct value for constant.
Geert Bosch [Mon, 5 Sep 2005 08:04:20 +0000 (10:04 +0200)]
ttypef.ads (VAXDF_Safe_First): Use correct value for constant.

2005-09-01  Geert Bosch  <bosch@adacore.com>
    Robert Dewar  <dewar@adacore.com>

* ttypef.ads (VAXDF_Safe_First): Use correct value for constant.
(VAXGF_Safe_First): Idem.

From-SVN: r103890

18 years agosem_warn.adb (Warn_On_Known_Condition): Refine warning when applied to a variable...
Ed Schonberg [Mon, 5 Sep 2005 08:04:04 +0000 (10:04 +0200)]
sem_warn.adb (Warn_On_Known_Condition): Refine warning when applied to a variable that is statically known to be constant.

2005-09-01  Ed Schonberg  <schonberg@adacore.com>

* sem_warn.adb (Warn_On_Known_Condition): Refine warning when applied
to a variable that is statically known to be constant.

From-SVN: r103889

18 years agosem_util.ads, [...] (Gather_Components): Omit interface tags from the list of require...
Ed Schonberg [Mon, 5 Sep 2005 08:03:48 +0000 (10:03 +0200)]
sem_util.ads, [...] (Gather_Components): Omit interface tags from the list of required components.

2005-09-01  Ed Schonberg  <schonberg@adacore.com>

* sem_util.ads, sem_util.adb (Gather_Components): Omit interface tags
from the list of required components.
(Is_Controlling_Limited_Procedure): Determine whether an entity is a
primitive procedure of a limited interface with a controlling first
parameter.
(Is_Renamed_Entry): Determine whether an entry is a procedure renaming
of an entry.
(Safe_To_Capture_Value): A value (such as non_null) is not safe to
capture if it is generated in the second operand of a short-circuit
operation.
Do not capture values for variables with address clauses.
(Is_Object_Reference): Treat a function call as an object reference only
if its type is not Standard_Void_Type.

From-SVN: r103888

18 years agosem_type.adb (Add_One_Interp): If a candidate operation is an inherited interface...
Ed Schonberg [Mon, 5 Sep 2005 08:03:33 +0000 (10:03 +0200)]
sem_type.adb (Add_One_Interp): If a candidate operation is an inherited interface operation that has an...

2005-09-01  Ed Schonberg  <schonberg@adacore.com>
    Javier Miranda  <miranda@adacore.com>

* sem_type.adb (Add_One_Interp): If a candidate operation is an
inherited interface operation that has an implementation, use the
implementation to avoid spurious ambiguities.
(Interface_Present_In_Ancestor): In case of concurrent types we can't
use the Corresponding_Record_Typ attribute to look for the interface
because it is set by the expander (and hence it is not always
available). For this reason we traverse the list of interfaces
(available in the parent of the concurrent type).
(Interface_Present_In_Ancestor): Handle entities from the limited view

From-SVN: r103887

18 years agosem_res.adb (Resolve_Membership_Op): In case of the membership test "Iface_CW_Typ...
Javier Miranda [Mon, 5 Sep 2005 08:03:17 +0000 (10:03 +0200)]
sem_res.adb (Resolve_Membership_Op): In case of the membership test "Iface_CW_Typ in T'Class" we have nothing else...

2005-09-01  Javier Miranda  <miranda@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>

* sem_res.adb (Resolve_Membership_Op): In case of the membership test
"Iface_CW_Typ in T'Class" we have nothing else to do in the frontend;
the expander will generate the corresponding run-time check to evaluate
the expression.
(Resolve_Call): Check for legal type of procedure name or prefix that
appears as a trigger in a triggering alternative.
(Valid_Conversion): If expression is ambiguous and the context involves
an extension of System, remove System.Address interpretations.
(Resolve_Qualified_Expression): Reject the case of a specific-type
qualification applied to a class-wide argument. Enhance comment
to explain checking of Original_Node.
(Resolve_Type_Conversion): The location of the error message was not
general enough to handle the general case and hence it has been removed.
In addition, this patch improves the text of the message.
(Resolve_Type_Conversion): Add missing support for access to interface
types.
(Resolve_Type_Conversion): If the target is a class-wide interface type,
do not expand if the expression is the actual in a call, because proper
expansion will take place when the call itself is expanded.
(Resolve_Allocator): If the context is an unchecked conversion, the
allocator inherits its storage pool, if any, from the target type of
the conversion.

From-SVN: r103886

18 years agosem_disp.adb (Check_Controlling_Formals): Anonymous access types used in controlling...
Javier Miranda [Mon, 5 Sep 2005 08:03:00 +0000 (10:03 +0200)]
sem_disp.adb (Check_Controlling_Formals): Anonymous access types used in controlling parameters exclude null because it...

2005-09-01  Javier Miranda  <miranda@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>

* sem_disp.adb (Check_Controlling_Formals): Anonymous access types
used in controlling parameters exclude null because it is necessary to
read the tag to dispatch, and null has no tag.
(Override_Dispatching_Operation): If the previous operation is inherited
from an interface, it becomes hidden  and does not participate in later
name resolution.

From-SVN: r103885

18 years agosem_ch8.adb (Analyze_Renamed_Entry): For a renaming_as_declaration...
Ed Schonberg [Mon, 5 Sep 2005 08:02:37 +0000 (10:02 +0200)]
sem_ch8.adb (Analyze_Renamed_Entry): For a renaming_as_declaration...

2005-09-01  Ed Schonberg  <schonberg@adacore.com>

* sem_ch8.adb (Analyze_Renamed_Entry): For a renaming_as_declaration,
verify that the procedure and the entry are mode conformant.
(Analyze_Subprogram_Renaming): Emit a warning if an operator is renamed
as a different operator, which is often a cut-and-paste error.

From-SVN: r103884

18 years agosem_ch6.ads, [...] (Check_Conformance): In case of anonymous access types the null...
Javier Miranda [Mon, 5 Sep 2005 08:02:21 +0000 (10:02 +0200)]
sem_ch6.ads, [...] (Check_Conformance): In case of anonymous access types the null-exclusion and access-to-constant...

2005-09-01  Javier Miranda  <miranda@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>

* sem_ch6.ads, sem_ch6.adb (Check_Conformance): In case of anonymous
access types the null-exclusion and access-to-constant attributes must
also match.
(Analyze_Return_Statement): When the result type is an anonymous access
type, apply a conversion of the return expression to the access type
to ensure that appropriate accessibility checks are performed.
(Analyze_Return_Type): For the case of an anonymous access result type,
generate the Itype and set Is_Local_Anonymous_Access on the type.
Add ??? placeholder for check to disallow returning a limited object
in Ada 2005 unless it's an aggregate or a result of a function call.
Change calls from Subtype_Mark to Result_Definition.
(Analyze_Subprogram_Body): Change formal Subtype_Mark to
Result_Definition in call to Make_Function_Specification.
(Build_Body_To_Inline): Change Set_Subtype_Mark to
Set_Result_Definition.
(Make_Inequality_Operator): Change formal Subtype_Mark to
Result_Definition in call to Make_Function_Specification.
(Process_Formals): Create the new null-excluding itype if required.
(New_Overloaded_Entity): For an entity overriding an interface primitive
check if the entity also covers other abstract subprograms in the same
scope. This is required to handle the general case, that is, overriding
other interface primitives and overriding abstract subprograms inherited
from some abstract ancestor type.
(New_Overloaded_Entity): For an overriding entity that comes from
source, note the operation that it overrides.
(Check_Conformance, Type_Conformant): Addition of one new formal
to skip controlling formals in the analysis. This is used to
handle overloading of abstract interfaces.
(Base_Types_Match): Add missing case for types imported from
limited-with clauses
(New_Overloaded_Entity): Add barrier to protect the use of
the "alias" attribute.

From-SVN: r103883

18 years agosem_ch4.adb (Transform_Object_Operation): In a context off the form V (Obj.F)...
Ed Schonberg [Mon, 5 Sep 2005 08:01:04 +0000 (10:01 +0200)]
sem_ch4.adb (Transform_Object_Operation): In a context off the form V (Obj.F)...

2005-09-01  Ed Schonberg  <schonberg@adacore.com>
    Javier Miranda  <miranda@adacore.com>

* sem_ch4.adb (Transform_Object_Operation): In a context off the form
V (Obj.F), the rewriting does not involve the indexed component, but
only the selected component itself.
Do not apply the transformation if the analyzed node is an actual of a
call to another subprogram.
(Complete_Object_Operation): Retain the entity of the
dispatching operation in the selector of the rewritten node. The
entity will be used in the expansion of dispatching selects.
(Analyze_One_Call): Improve location of the error message associated
with interface.
(Analyze_Selected_Component): No need to resolve prefix when it is a
function call, resolution is done when parent node is resolved, as
usual.
(Analyze_One_Call): Add a flag to suppress analysis of the first actual,
when attempting to resolve a call transformed from its object notation.
(Try_Object_Operation, Transform_Object_Operastion): Avoid makind copies
of the argument list for each interpretation of the operation.
(Try_Object_Operation): The designated type of an access parameter may
be an incomplete type obtained through a limited_with clause, in which
case the primitive operations of the type are retrieved from its full
view.
(Analyze_Call): If this is an indirect call, and the return type of the
access_to_subprogram is incomplete, use its full view if available.

From-SVN: r103882