Commit Graph

85347 Commits

Author SHA1 Message Date
Jakub Jelinek
de4af523c5 re PR middle-end/34668 (ICE in find_compatible_field with -combine)
2008-01-16  Jakub Jelinek  <jakub@redhat.com>
	Richard Guenther  <rguenther@suse.de>

	PR c/34668
	* gimplify.c (fold_indirect_ref_rhs): Rename to ...
	(gimple_fold_indirect_ref_rhs): ... this.
	(gimple_fold_indirect_ref): New function with foldings
	that preserve lvalueness.
	(gimplify_modify_expr_rhs): Call gimple_fold_indirect_ref_rhs.
	* tree-flow.h (gimple_fold_indirect_ref): Declare.
	* tree-inline.c (copy_body_r): Use gimple_fold_indirect_ref
	to fold an INDIRECT_REF, fall back to the old use of
	fold_indirect_ref_1.

	* gcc.dg/pr34668-1.c: New test.
	* gcc.dg/pr34668-2.c: Likewise.

Co-Authored-By: Richard Guenther <rguenther@suse.de>

From-SVN: r131572
2008-01-16 13:41:13 +00:00
Sebastian Pop
6935bae779 tree-data-ref.c (subscript_dependence_tester_1): Call free_conflict_function.
2008-01-16  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-data-ref.c (subscript_dependence_tester_1): Call 
	free_conflict_function.
	(compute_self_dependence): Same.

From-SVN: r131571
2008-01-16 13:16:50 +00:00
Uros Bizjak
a4b6974e6b re PR debug/34249 (FAIL: gcc.dg/tree-prof/bb-reorg.c compilation, -fprofile-use -D_PROFILE_USE)
PR debug/34249
	* debug.h (dwarf2out_switch_text_section): Move declaration from ...
	* dwarf2out.c (dwarf2out_switch_text_section): ... here.  Make
	function global.
	* final.c (final_scan_insn) [NOTE_INSN_SWITCH_TEXT_SECTIONS]:
	Depending on dwarf2out_do_frame, call dwarf2out_switch_text_section
	for DWARF2_UNWIND_INFO targets.

From-SVN: r131570
2008-01-16 12:10:27 +01:00
Richard Guenther
be2b548394 re PR c++/33819 (Miscompiled shift of C++ bitfield)
2008-01-16  Richard Guenther  <rguenther@suse.de>

	PR c++/33819
	* typeck.c (is_bitfield_expr_with_lowered_type): Recurse
	for conversions to type variants.

	* g++.dg/torture/pr33819.C: New testcase.

From-SVN: r131569
2008-01-16 09:46:29 +00:00
Richard Guenther
eb1387a051 re PR c/34768 (Wrong code with conditional function invocation)
2008-01-16  Richard Guenther  <rguenther@suse.de>

	PR c/34768
	* c-typeck.c (common_pointer_type): Do not merge inconsistent
	type qualifiers for function types.

	* gcc.c-torture/execute/pr34768-1.c: New testcase.
	* gcc.c-torture/execute/pr34768-2.c: Likewise.

From-SVN: r131568
2008-01-16 09:44:23 +00:00
Steven Bosscher
4349e29287 re PR libfortran/34669 (libgfortran doesn't build with -pipe)
2008-01-16  Steven Bosscher  <steven@gcc.gnu.org>

        PR libfortran/34669
        * mk-kinds-h.sh: Compile with -S to avoid calling the assembler,
        to avoid piping the -fdump-parse-tree output to the assembler
        when configuring with -pipe.
        * mk-sik-inc.sh: Likewise.
        * mk-srk-inc.sh: Likewise.

From-SVN: r131567
2008-01-16 10:13:39 +01:00
Tobias Burnus
6da0839af3 re PR fortran/34796 (Too strict error checking for assumed-shaped array)
2008-01-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34796
        * interface.c (compare_parameter): Allow AS_DEFERRED array
        elements and reject attr.pointer array elemenents.
        (get_expr_storage_size): Return storage size of elements of
        assumed-shape and pointer arrays.

2008-01-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34796
        * gfortran.dg/argument_checking_13.f90: New.
        * gfortran.dg/argument_checking_14.f90: New.

From-SVN: r131566
2008-01-16 08:12:00 +01:00
Sebastian Pop
e6fbb140ba tree-parloops (gen_parallel_loop): Revert my fix.
2008-01-15  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-parloops (gen_parallel_loop): Revert my fix.

From-SVN: r131565
2008-01-16 04:17:49 +00:00
Sebastian Pop
85734eda1a tree-parloops.c (gen_parallel_loop): Fix previous change, declare li.
2008-01-15  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-parloops.c (gen_parallel_loop): Fix previous change, declare li.

From-SVN: r131564
2008-01-16 04:14:21 +00:00
Jerry DeLisle
9326236d4d tree-parloops.c (gen_parallel_loop): Fix ommision of declaration for loop_iterator li from previous commit.
2008-01-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	* tree-parloops.c (gen_parallel_loop): Fix ommision of declaration for
	loop_iterator li from previous commit.

From-SVN: r131563
2008-01-16 04:04:37 +00:00
Sebastian Pop
92a6bdbd10 tree-parloops.c (gen_parallel_loop): Free loop bound estimations.
2008-01-12  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-parloops.c (gen_parallel_loop): Free loop bound estimations.

From-SVN: r131562
2008-01-16 02:46:46 +00:00
Sebastian Pop
1d4af1e827 tree-parloops.c (loop_has_blocks_with_irreducible_flag): New.
2008-01-12  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-parloops.c (loop_has_blocks_with_irreducible_flag): New.
	(parallelize_loops): Don't parallelize irreducible components.

From-SVN: r131561
2008-01-16 02:44:04 +00:00
GCC Administrator
8c87e2452f Daily bump.
From-SVN: r131559
2008-01-16 00:17:28 +00:00
Sebastian Pop
e0e8ce7a38 f95-lang.c (gfc_init_builtin_functions): Initialize GOMP builtins for flag_tree_parallelize_loops.
2008-01-15  Sebastian Pop  <sebastian.pop@amd.com>

	* f95-lang.c (gfc_init_builtin_functions): Initialize GOMP builtins
	for flag_tree_parallelize_loops.

From-SVN: r131556
2008-01-15 23:45:28 +00:00
Andreas Tobler
cde7bfee90 parser.c (cp_parser_template_parameter): Fix C90 issue with mixing declaration and code.
2008-01-15  Andreas Tobler  <a.tobler@schweiz.org>

        * parser.c (cp_parser_template_parameter): Fix C90 issue with mixing
        declaration and code.  Update copyright year.

From-SVN: r131555
2008-01-15 22:58:02 +00:00
Thomas Koenig
90469382c0 re PR libfortran/34671 (any(kind=1) and all(kind=1))
2008-01-15  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/34671
	* gfortran.am: Added _gfortran_all_l1, _gfortran_all_l2,
	_gfortran_any_l1, _gfortran_any_l2, -28,15 _gfortran_count_1_l,
	_gfortran_count_16_l, _gfortran_count_2_l, _gfortran_count_4_l and
	_gfortran_count_8_l Removed _gfortran_count_16_l16,
	_gfortran_count_16_l4, _gfortran_count_16_l8,
	_gfortran_count_4_l16, _gfortran_count_4_l4, _gfortran_count_4_l8,
	_gfortran_count_8_l16, _gfortran_count_8_l4 and
	_gfortran_count_8_l8.
	* Makefile.am: Added generated/any_l1.c and generated/any_l2.c to
	i_any_c.  Added generated/all_l1. and generated/all_l2.c to
	i_all_c.  Removed generated/count_4_l4.c, generated/count_8_l4.c,
	generated/count_16_l4.c, generated/count_4_l8.c,
	generated/count_8_l8.c, generated/count_16_l8.c,
	generated/count_4_l16.c, generated/count_8_l16.c, and
	generated/count_16_l16.c from i_count_c.  Added count_1_l.c,
	count_2_l.c, count_4_l.c, count_8_l.c and count_16_l.c to
	i_count_c.  I_M4_DEPS2 depends on ifunction_logical.m4, for
	any of the files generated from all.m4, any.m4 and count.m4.
	* Makefile.in:  Regenerated.
	* m4/ifunction_logical.m4:  New file.  Use
	GFC_LOGICAL_1 pointer for access to source arrays.
	* m4/any.m4:  Include ifunction_logical.m4 instead of
	ifunction.m4.  Don't check atype_name.
	* m4/all.m4:  Likewise.
	* m4/count.m4:  Likewise.
	* generated/any_l1.c:  New file.
	* generated/any_l2.c:  New file.
	* generated/all_l1.c:  New file.
	* generated/count_1_l.c:  New file.
	* generated/count_2_l.c:  New file.
	* generated/count_4_l.c:  New file.
	* generated/count_8_l.c:  New file.
	* generated/count_16_l.c:  New file.
	* generated/any_l4.c:  Regenerated.
	* generated/any_l8.c:  Regenerated.
	* generated/any_l16.c:  Regenerated.
	* generated/all_l4.c: Regenerated.
	* generated/all_l8.c: Regenerated.
	* generated/all_l16.c: Regenerated.
	* generated/count_4_l4.c:  Removed.
	* generated/count_4_l8.c:  Removed.
	* generated/count_4_l16.c:  Removed.
	* generated/count_8_l4.c:  Removed.
	* generated/count_8_l8.c:  Removed.
	* generated/count_8_l16.c:  Removed.
	* generated/count_16_l4.c:  Removed.
	* generated/count_16_l8.c:  Removed.
	* generated/count_16_l16.c:  Removed.

2008-01-15  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/34671
	* iresolve.c (gfc_resolve_all):  Call resolve_mask_arg.
	(gfc_resolve_any):  Likewise.
	(gfc_resolve_count):  Likewise.  Don't append kind of
	argument to function name.

2008-01-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
	
	PR libfortran/34671
	* gfortran.dg/anyallcount_1.f90:  New test.

From-SVN: r131553
2008-01-15 21:22:07 +00:00
Douglas Gregor
ac90ae18fb re PR c++/34399 (ICE on invalid friend declaration of variadic template)
2008-01-15  Douglas Gregor  <doug.gregor@gmail.com>

	PR c++/34399
	* friend.c (do_friend): Don't query TYPE_BEING_DEFINED unless we
	know we have a class type.

2008-01-15  Douglas Gregor  <doug.gregor@gmail.com>

	PR c++/34399
	* g++.dg/cpp0x/vt-34399.C: New.
	* g++.dg/template/friend50.C: New.

From-SVN: r131552
2008-01-15 20:56:55 +00:00
Bruce Korb
44b962f21c Clarify the second argument usage for "c-fix"-es.
From-SVN: r131550
2008-01-15 19:44:03 +00:00
Bruce Korb
5af3679c8c Clarify the second argument usage for "c-fix"-es.
From-SVN: r131549
2008-01-15 19:14:28 +00:00
Douglas Gregor
cdcae7450e re PR c++/34751 (ICE with pointer to member and variadic templates)
2008-01-15  Douglas Gregor  <doug.gregor@gmail.com>

	PR c++/34751
	* pt.c (coerce_template_parameter_pack): When substituting into
	the type of a non-type template parameter pack. use the
	deduced/substituted arguments.
	* parser.c (declarator_can_be_parameter_pack): A pointer-to-member
	can be a parameter pack with the ellipsis following it.  When we
	have an erroneous declaration, allow it to be a parameter pack.
	(cp_parser_template_parameter): Complain about default
	arguments on non-type template parameter packs, and parse them
	using the new cp_parser_default_argument.
	(cp_parser_parameter_declaration): Complain about parameter packs
	with default arguments. Move parsing of default arguments into a
	new function, cp_parser_default_argument.
	(cp_parser_default_argument): New; extracted from
	cp_parser_parameter_declaration.

2008-01-15  Douglas Gregor  <doug.gregor@gmail.com>

	PR c++/34751
	* g++.dg/cpp0x/vt-34751.C: New.

From-SVN: r131548
2008-01-15 18:49:47 +00:00
Douglas Gregor
4439d02f0f re PR c++/34051 (ICE in dependent_type_p with variadic templates)
2008-01-15  Douglas Gregor  <doug.gregor@gmail.com>

	PR c++/34051
	PR c++/34055
	PR c++/34102
	PR c++/34103
	* typeck.c (check_return_expr): If there are bare parameter packs
	in the return value, set it to error_mark_node.
	* tree.c (cp_walk_subtrees): Walk USING_DECL nodes.
	* pt.c (find_parameter_packs_r): Look at the type of
	IDENTIFIER_NODEs (e.g., for user-defined conversions).
	(check_for_bare_parameter_packs): Flip the result: now returns
	TRUE when there were bare parameter packs, FALSE otherwise.
	(push_template_decl_real): Deal with flipped result of
	check_for_bare_parameter_packs.
	* semantics.c (finish_cond): If there are bare parameter packs in
	the conditional, set it to error_mark_node.
	(finish_expr_stmt): If there are bare parameter packs in the
	expression, set it to error_mark_node.
	(finish_for_expr): Ditto.
	(finish_switch_cond): If there are bare parameter packs in
	the conditional, set it to error_mark_node.
	(finish_mem_initializers): If there are bare parameter packs in
	the member initializer, set it to error_mark_node.
	(finish_member_declaration): Check the attributes of the
	declaration for bare parameter packs, and remove the attributes if
	any have bare parameter packs.
	* parser.c (cp_parser_using_declaration): Check the using
	declaration for bare parameter packs.
	(cp_parser_base_clause): If there are bare parameter packs in a
	base specifier, don't add it to the chain.

2008-01-15  Douglas Gregor  <doug.gregor@gmail.com>

	PR c++/34051
	PR c++/34055
	PR c++/34102
	PR c++/34103
	* g++.dg/cpp0x/vt-34051-2.C: New.
	* g++.dg/cpp0x/vt-34102.C: New.
	* g++.dg/cpp0x/vt-34051.C: New.
	* g++.dg/cpp0x/vt-34055.C: New.
	* g++.dg/cpp0x/vt-34103.C: New.

From-SVN: r131547
2008-01-15 18:08:00 +00:00
Douglas Gregor
a022041e4c re PR c++/34314 (ICE on invalid code (with variadic templates): tree check: expected class ‘type’, have ‘exceptional’ (error_mark) in template_class_depth)
2008-01-15  Douglas Gregor  <doug.gregor@gmail.com>

       PR c++/34314
       * error.c (dump_simple_decl): Display ellipsis for template
       non-type parameter packs.
       (dump_decl): Display ellipsis for template type parameter packs.
       (dump_template_decl): Display ellipsis for template template
       parameter packs.
       * pt.c (redeclare_class_template): When redeclaring a class
       template, check for collisions between template parameters and
       template parameter packs.

2008-01-15  Douglas Gregor  <doug.gregor@gmail.com>

       PR c++/34314
       * g++.dg/cpp0x/vt-34314.C: New.
       * g++.dg/cpp0x/variadic79.C: Fix the error message to reflect
       reality (the error message was wrong previously).

From-SVN: r131546
2008-01-15 17:59:44 +00:00
Douglas Gregor
c095a4f848 re PR c++/33964 (internal compiler error: in dependent_type_p, at cp/pt.c:15319 (vararg templates))
2008-01-15  Douglas Gregor  <doug.gregor@gmail.com>

       PR c++/33964
       * pt.c (process_partial_specialization): Don't mark template
       parameters that occur in non-deduced contexts.
       (struct pair_fn_data): Add include_nondeduced_p.
       (for_each_template_parm_r): Only visit non-deduced contexts if
       include_nondeduced_p is set.
       (for_each_template_parm): Added parameter include_nondeduced_p,
       which states whether template parameters found in non-deduced
       contexts should be visited.
       (uses_template_parms): Visit all template parameters, even those
       in non-deduced contexts.

2008-01-15  Douglas Gregor  <doug.gregor@gmail.com>

       PR c++/33964
       * g++.dg/cpp0x/vt-33964.C: New.
       * g++.dg/template/partial5.C: New.

From-SVN: r131544
2008-01-15 16:09:28 +00:00
Douglas Gregor
85d852346c re PR c++/34052 (Trouble with variadic templates as template-template parameter)
2008-01-15  Douglas Gregor  <doug.gregor@gmail.com>

       PR c++/34052
       * pt.c (check_default_tmpl_args): Check for parameter packs that
       aren't at the end of a primary template.
       (push_template_decl_real): Remove check for parameter packs that
       aren't at the end of a primary template; that now happens in
       check_default_tmpl_args.
       * semantics.c (finish_template_template_parm): Use
       check_default_tmpl_args to check for errors in the template
       parameter list.

2008-01-15  Douglas Gregor  <doug.gregor@gmail.com>

       PR c++/34052
       * g++.dg/cpp0x/vt-34052.C: New.
       * g++.dg/template/ttp26.C: New.

From-SVN: r131543
2008-01-15 16:06:48 +00:00
Paolo Carlini
a4797b349c list_partition.h: Formatting fixes, inline tweaks.
2008-01-14  Paolo Carlini  <pcarlini@suse.de>

	* include/parallel/list_partition.h: Formatting fixes, inline tweaks.
	* include/parallel/numeric: Likewise.
	* include/parallel/balanced_quicksort.h: Likewise.
	* include/parallel/unique_copy.h: Likewise.
	* include/parallel/algobase.h: Likewise.
	* include/parallel/algo.h: Likewise.

From-SVN: r131542
2008-01-15 02:06:31 +00:00
GCC Administrator
ac10b0e16f Daily bump.
From-SVN: r131540
2008-01-15 00:17:35 +00:00
Seongbae Park
b9b38620f0 crossconfig.m4: Add missing header checks, C99 TR1 check, and sigsetjmp check.
2008-01-14  Seongbae Park <seongbae.park@gmail.com>

	* crossconfig.m4: Add missing header checks, C99 TR1 check,
	and sigsetjmp check.

From-SVN: r131537
2008-01-15 00:15:43 +00:00
Eric Botcazou
0fa8f2bcd4 Fix oversight.
From-SVN: r131532
2008-01-14 19:33:47 +00:00
Eric Botcazou
052cec9b0e decl.c (gnat_to_gnu_entity): Process renamings before converting the expression to the type of the object.
* decl.c (gnat_to_gnu_entity) <object>: Process renamings
	before converting the expression to the type of the object.
	* trans.c (maybe_stabilize_reference) <CONSTRUCTOR>: New case.
	Stabilize constructors for special wrapping types.

From-SVN: r131531
2008-01-14 19:32:10 +00:00
Manuel López-Ibáñez
8103eebfb7 re PR c++/24924 (front end and preprocessor pedantic_errors settings should agree)
2008-01-14  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR c++/24924
	* c-opts (c_common_post_options): Do not enable CPP
	flag_pedantic_errors by default.
testsuite/
	* g++.dg/cpp/pedantic-errors.C: Delete.
	* g++.dg/cpp/permissive.C: Delete.

From-SVN: r131530
2008-01-14 19:21:38 +00:00
Paolo Carlini
eeb77d993d tree.h: Remove.
2008-01-14  Paolo Carlini  <pcarlini@suse.de>

	* include/parallel/tree.h: Remove.
	* include/Makefile.am: Update.
	* include/Makefile.in: Rebuild.

	* src/Makefile.am: Remove spurious trailing backslash.
	* src/Makefile.in: Rebuild.
	* po/Makefile.in: Likewise.
	* libmath/Makefile.in: Likewise.
	* testsuite/Makefile.in: Likewise.
	* libsupc++/Makefile.in: Likewise.
	* aclocal.m4: Likewise.
	* Makefile.in: Likewise.
	* configure: Likewise.

From-SVN: r131529
2008-01-14 18:08:39 +00:00
Eric Botcazou
d556d1813e re PR rtl-optimization/31944 (Endless loop while building a 64-bit 2.6.20 kernel)
PR rtl-optimization/31944
	* cse.c (remove_pseudo_from_table): New function.
	(merge_equiv_classes): Use above function to remove pseudo-registers.
	(invalidate): Likewise.

From-SVN: r131522
2008-01-14 12:16:58 +00:00
Andreas Schwab
6bf4cbe817 Remove control characters.
From-SVN: r131521
2008-01-14 10:22:43 +00:00
GCC Administrator
c4c9651163 Daily bump.
From-SVN: r131517
2008-01-14 00:17:26 +00:00
Thomas Koenig
ccacefc7a6 re PR libfortran/34746 (wrong formats in libgfortran's runtime_error)
2008-01-13  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/34746
	* m4/iforeach.m4 (name`'rtype_qual`_'atype_code):  Use %ld
	in printf format for all bounds checking; cast all
	integer-like arguments to runtime_error() to long int.
	(`m'name`'rtype_qual`_'atype_code):  Likewise.
	(`s'name`'rtype_qual`_'atype_code):  Likewise.
	* m4/ifunction.m4 (name`'rtype_qual`_'atype_code):  Likewise.
	(`m'name`'rtype_qual`_'atype_code):  Likewise.
	(`s'name`'rtype_qual`_'atype_code):  Likewise.
	* generated/all_l16.c: Regenerated.
	* generated/all_l4.c: Regenerated.
	* generated/all_l8.c: Regenerated.
	* generated/any_l16.c: Regenerated.
	* generated/any_l4.c: Regenerated.
	* generated/any_l8.c: Regenerated.
	* generated/count_16_l16.c: Regenerated.
	* generated/count_16_l4.c: Regenerated.
	* generated/count_16_l8.c: Regenerated.
	* generated/count_4_l16.c: Regenerated.
	* generated/count_4_l4.c: Regenerated.
	* generated/count_4_l8.c: Regenerated.
	* generated/count_8_l16.c: Regenerated.
	* generated/count_8_l4.c: Regenerated.
	* generated/count_8_l8.c: Regenerated.
	* generated/maxloc0_16_i1.c: Regenerated.
	* generated/maxloc0_16_i16.c: Regenerated.
	* generated/maxloc0_16_i2.c: Regenerated.
	* generated/maxloc0_16_i4.c: Regenerated.
	* generated/maxloc0_16_i8.c: Regenerated.
	* generated/maxloc0_16_r10.c: Regenerated.
	* generated/maxloc0_16_r16.c: Regenerated.
	* generated/maxloc0_16_r4.c: Regenerated.
	* generated/maxloc0_16_r8.c: Regenerated.
	* generated/maxloc0_4_i1.c: Regenerated.
	* generated/maxloc0_4_i16.c: Regenerated.
	* generated/maxloc0_4_i2.c: Regenerated.
	* generated/maxloc0_4_i4.c: Regenerated.
	* generated/maxloc0_4_i8.c: Regenerated.
	* generated/maxloc0_4_r10.c: Regenerated.
	* generated/maxloc0_4_r16.c: Regenerated.
	* generated/maxloc0_4_r4.c: Regenerated.
	* generated/maxloc0_4_r8.c: Regenerated.
	* generated/maxloc0_8_i1.c: Regenerated.
	* generated/maxloc0_8_i16.c: Regenerated.
	* generated/maxloc0_8_i2.c: Regenerated.
	* generated/maxloc0_8_i4.c: Regenerated.
	* generated/maxloc0_8_i8.c: Regenerated.
	* generated/maxloc0_8_r10.c: Regenerated.
	* generated/maxloc0_8_r16.c: Regenerated.
	* generated/maxloc0_8_r4.c: Regenerated.
	* generated/maxloc0_8_r8.c: Regenerated.
	* generated/maxloc1_16_i1.c: Regenerated.
	* generated/maxloc1_16_i16.c: Regenerated.
	* generated/maxloc1_16_i2.c: Regenerated.
	* generated/maxloc1_16_i4.c: Regenerated.
	* generated/maxloc1_16_i8.c: Regenerated.
	* generated/maxloc1_16_r10.c: Regenerated.
	* generated/maxloc1_16_r16.c: Regenerated.
	* generated/maxloc1_16_r4.c: Regenerated.
	* generated/maxloc1_16_r8.c: Regenerated.
	* generated/maxloc1_4_i1.c: Regenerated.
	* generated/maxloc1_4_i16.c: Regenerated.
	* generated/maxloc1_4_i2.c: Regenerated.
	* generated/maxloc1_4_i4.c: Regenerated.
	* generated/maxloc1_4_i8.c: Regenerated.
	* generated/maxloc1_4_r10.c: Regenerated.
	* generated/maxloc1_4_r16.c: Regenerated.
	* generated/maxloc1_4_r4.c: Regenerated.
	* generated/maxloc1_4_r8.c: Regenerated.
	* generated/maxloc1_8_i1.c: Regenerated.
	* generated/maxloc1_8_i16.c: Regenerated.
	* generated/maxloc1_8_i2.c: Regenerated.
	* generated/maxloc1_8_i4.c: Regenerated.
	* generated/maxloc1_8_i8.c: Regenerated.
	* generated/maxloc1_8_r10.c: Regenerated.
	* generated/maxloc1_8_r16.c: Regenerated.
	* generated/maxloc1_8_r4.c: Regenerated.
	* generated/maxloc1_8_r8.c: Regenerated.
	* generated/maxval_i1.c: Regenerated.
	* generated/maxval_i16.c: Regenerated.
	* generated/maxval_i2.c: Regenerated.
	* generated/maxval_i4.c: Regenerated.
	* generated/maxval_i8.c: Regenerated.
	* generated/maxval_r10.c: Regenerated.
	* generated/maxval_r16.c: Regenerated.
	* generated/maxval_r4.c: Regenerated.
	* generated/maxval_r8.c: Regenerated.
	* generated/minloc0_16_i1.c: Regenerated.
	* generated/minloc0_16_i16.c: Regenerated.
	* generated/minloc0_16_i2.c: Regenerated.
	* generated/minloc0_16_i4.c: Regenerated.
	* generated/minloc0_16_i8.c: Regenerated.
	* generated/minloc0_16_r10.c: Regenerated.
	* generated/minloc0_16_r16.c: Regenerated.
	* generated/minloc0_16_r4.c: Regenerated.
	* generated/minloc0_16_r8.c: Regenerated.
	* generated/minloc0_4_i1.c: Regenerated.
	* generated/minloc0_4_i16.c: Regenerated.
	* generated/minloc0_4_i2.c: Regenerated.
	* generated/minloc0_4_i4.c: Regenerated.
	* generated/minloc0_4_i8.c: Regenerated.
	* generated/minloc0_4_r10.c: Regenerated.
	* generated/minloc0_4_r16.c: Regenerated.
	* generated/minloc0_4_r4.c: Regenerated.
	* generated/minloc0_4_r8.c: Regenerated.
	* generated/minloc0_8_i1.c: Regenerated.
	* generated/minloc0_8_i16.c: Regenerated.
	* generated/minloc0_8_i2.c: Regenerated.
	* generated/minloc0_8_i4.c: Regenerated.
	* generated/minloc0_8_i8.c: Regenerated.
	* generated/minloc0_8_r10.c: Regenerated.
	* generated/minloc0_8_r16.c: Regenerated.
	* generated/minloc0_8_r4.c: Regenerated.
	* generated/minloc0_8_r8.c: Regenerated.
	* generated/minloc1_16_i1.c: Regenerated.
	* generated/minloc1_16_i16.c: Regenerated.
	* generated/minloc1_16_i2.c: Regenerated.
	* generated/minloc1_16_i4.c: Regenerated.
	* generated/minloc1_16_i8.c: Regenerated.
	* generated/minloc1_16_r10.c: Regenerated.
	* generated/minloc1_16_r16.c: Regenerated.
	* generated/minloc1_16_r4.c: Regenerated.
	* generated/minloc1_16_r8.c: Regenerated.
	* generated/minloc1_4_i1.c: Regenerated.
	* generated/minloc1_4_i16.c: Regenerated.
	* generated/minloc1_4_i2.c: Regenerated.
	* generated/minloc1_4_i4.c: Regenerated.
	* generated/minloc1_4_i8.c: Regenerated.
	* generated/minloc1_4_r10.c: Regenerated.
	* generated/minloc1_4_r16.c: Regenerated.
	* generated/minloc1_4_r4.c: Regenerated.
	* generated/minloc1_4_r8.c: Regenerated.
	* generated/minloc1_8_i1.c: Regenerated.
	* generated/minloc1_8_i16.c: Regenerated.
	* generated/minloc1_8_i2.c: Regenerated.
	* generated/minloc1_8_i4.c: Regenerated.
	* generated/minloc1_8_i8.c: Regenerated.
	* generated/minloc1_8_r10.c: Regenerated.
	* generated/minloc1_8_r16.c: Regenerated.
	* generated/minloc1_8_r4.c: Regenerated.
	* generated/minloc1_8_r8.c: Regenerated.
	* generated/minval_i1.c: Regenerated.
	* generated/minval_i16.c: Regenerated.
	* generated/minval_i2.c: Regenerated.
	* generated/minval_i4.c: Regenerated.
	* generated/minval_i8.c: Regenerated.
	* generated/minval_r10.c: Regenerated.
	* generated/minval_r16.c: Regenerated.
	* generated/minval_r4.c: Regenerated.
	* generated/minval_r8.c: Regenerated.
	* generated/product_c10.c: Regenerated.
	* generated/product_c16.c: Regenerated.
	* generated/product_c4.c: Regenerated.
	* generated/product_c8.c: Regenerated.
	* generated/product_i1.c: Regenerated.
	* generated/product_i16.c: Regenerated.
	* generated/product_i2.c: Regenerated.
	* generated/product_i4.c: Regenerated.
	* generated/product_i8.c: Regenerated.
	* generated/product_r10.c: Regenerated.
	* generated/product_r16.c: Regenerated.
	* generated/product_r4.c: Regenerated.
	* generated/product_r8.c: Regenerated.
	* generated/sum_c10.c: Regenerated.
	* generated/sum_c16.c: Regenerated.
	* generated/sum_c4.c: Regenerated.
	* generated/sum_c8.c: Regenerated.
	* generated/sum_i1.c: Regenerated.
	* generated/sum_i16.c: Regenerated.
	* generated/sum_i2.c: Regenerated.
	* generated/sum_i4.c: Regenerated.
	* generated/sum_i8.c: Regenerated.
	* generated/sum_r10.c: Regenerated.
	* generated/sum_r16.c: Regenerated.
	* generated/sum_r4.c: Regenerated.
	* generated/sum_r8.c: Regenerated.

From-SVN: r131514
2008-01-13 22:13:52 +00:00
Tobias Burnus
5ad6345e92 re PR fortran/34665 (Cannot pass scalar to array argument 'a')
2008-01-13  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34665
        * resolve.c (resolve_actual_arglist): For expressions,
        also check for assume-sized arrays.
        * interface.c (compare_parameter): Move F2003 character checks
        here, print error messages here, reject elements of
        assumed-shape array as argument to dummy arrays.
        (compare_actual_formal): Update for the changes above.

2008-01-13  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34665
        * gfortran.dg/argument_checking_11.f90: New.
        * gfortran.dg/argument_checking_12.f90: New.
        * gfortran.dg/used_dummy_types_4.f90: Update dg-error.
        * gfortran.dg/c_assoc_2.f03: Update dg-error.
        * gfortran.dg/argument_checking_3.f90: Ditto.
        * gfortran.dg/pointer_intent_2.f90: Ditto.
        * gfortran.dg/import2.f90: Ditto.
        * gfortran.dg/assumed_shape_ranks_1.f90: Ditto.
        * gfortran.dg/implicit_actual.f90: Ditto.
        * gfortran.dg/used_dummy_types_3.f90: Ditto.
        * gfortran.dg/derived_comp_array_ref_6.f90: Ditto.

From-SVN: r131513
2008-01-13 22:35:33 +01:00
Tobias Burnus
083de129c8 re PR fortran/34763 (bare END not allowed in an interface block in a module procedure)
2008-01-13  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34763
        * decl.c (contained_procedure): Only check directly preceeding
        * state.

2008-01-13  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34763
        * gfortran.dg/interface_proc_end.f90: New.

From-SVN: r131512
2008-01-13 22:29:49 +01:00
Tobias Burnus
86288ff05f re PR fortran/34759 (Assumed size array reference not allowed in SHAPE intrinsic, even though last subscript specified)
2008-01-13  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34759
        * check.c (gfc_check_shape): Accept array ranges of
        assumed-size arrays.

2008-01-13  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34759
        * gfortran.dg/assumed_size_refs_4.f90: New.

From-SVN: r131511
2008-01-13 22:28:30 +01:00
Eric Botcazou
08ffbdad7e * trans.c (call_to_gnu):Invoke the addressable_p predicate only
when necessary.  Merge some conditional statements.  Update comments.
	Rename unchecked_convert_p local variable to suppress_type_conversion.
	Do not suppress conversions in the In case.
	(addressable_p) <VIEW_CONVERT_EXPR>: Do not take alignment issues
	into account on non strict-alignment platforms.

From-SVN: r131510
2008-01-13 21:00:39 +00:00
Richard Guenther
2cb207f7f3 struct-ret-3.c: Adjust testcase to make stack readable and writable again before exiting.
2008-01-13  Richard Guenther  <rguenther@suse.de>

        * gcc.dg/struct-ret-3.c: Adjust testcase to make stack
        readable and writable again before exiting.

From-SVN: r131509
2008-01-13 19:50:04 +00:00
Eric Botcazou
92140ff9cc Fix nit.
From-SVN: r131507
2008-01-13 16:51:26 +00:00
Richard Guenther
726612d29a re PR c/34601 (ICE with undefined enum)
2008-01-13  Richard Guenther  <rguenther@suse.de>

	PR middle-end/34601
	* emit-rtl.c (set_reg_attrs_for_decl_rtl): Use DECL_MODE
	instead of TYPE_MODE to deal with calls from expand_one_error_var.

	* gcc.dg/noncompile/incomplete-4.c: New testcase.

From-SVN: r131506
2008-01-13 16:30:51 +00:00
Uros Bizjak
51134e52b5 gcse.c (cprop_jump): Call validate_unshare_change instead of validate_change to unshare the source...
* gcse.c (cprop_jump): Call validate_unshare_change instead of
        validate_change to unshare the source of the PC set.

From-SVN: r131505
2008-01-13 13:13:35 +01:00
Jan Hubicka
3097760b30 re PR middle-end/32135 (bogus array-ref fold triggering array overflow warning)
PR middle-end/32135
	* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Do not construct
	references above array bounds.  This might trigger bounds checks for
	pointers to arrays.

From-SVN: r131502
2008-01-13 11:18:08 +00:00
Sebastian Pop
42b22da884 tree-ssa-ter.c (free_temp_expr_table): Free num_in_part and new_replaceable_dependencies.
2008-01-12  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-ssa-ter.c (free_temp_expr_table): Free num_in_part and
	new_replaceable_dependencies.

From-SVN: r131501
2008-01-13 04:27:46 +00:00
Paolo Carlini
a4c07f2d9f re PR libstdc++/34730 (Legal program doesn't compile with -D_GLIBCXX_DEBUG)
2008-01-12  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/34730
	* include/debug/functions.h (__check_sorted_set,
	__check_sorted_set_aux): Add.
	(__check_sorted): Check StrictWeakOrdering.
	* include/debug/macros.h (__glibcxx_check_strict_weak_ordering,
	__glibcxx_check_strict_weak_ordering_pred): Remove.
	(__glibcxx_check_sorted, __glibcxx_check_sorted_pred): Adjust.
	(__glibcxx_check_sorted_set, __glibcxx_check_sorted_set_pred): Add.
	* include/debug/debug.h (__glibcxx_requires_sorted_set,
	__glibcxx_requires_sorted_set_pred): Add.
	* include/bits/stl_algo.h (merge, includes, set_union,
	set_intersection, set_difference, set_symmetric_difference):
	Adjust, use __glibcxx_requires_sorted_set* instead. 
	* testsuite/25_algorithms/set_intersection/34730.cc: New.

From-SVN: r131500
2008-01-13 01:34:58 +00:00
Doug Kwan
5db2e9ca7d c-decl.c: (grokdeclarator): Use OPT_Wignored_qualifiers instead of OPT_Wreturn_type in...
ChangeLog:

2008-01-12  Doug Kwan  <dougkwan@google.com>

	* c-decl.c: (grokdeclarator): Use OPT_Wignored_qualifiers
	instead of OPT_Wreturn_type in warning due to ignored return type
	qualifiers.
	* c-opt.c (c_common_post_option): Add -Wignored-qualifiers to
	options included in -Wextra.
	* c.opt: New option -Wignored_qualifiers.
	* doc/invoke.texi (Warning Options, -Wextra): Add new option
	-Wignore_qualifiers.
	(-Wignored-qualifiers): Document.
	(-Wreturn-type): Remove description of functionality now handled
	by -Wignored-qualifiers.

cp/ChangeLog:

2008-01-12  Doug Kwan  <dougkwan@google.com>

	* decl.c: (grokdeclarator): Use OPT_Wignored_qualifiers
	instead of OPT_Wreturn_type in warning due to ignored return type
	qualifiers.
	* pt.c: (tsubst_function_type): Use OPT_Wignored_qualifiers
	instead of OPT_Wreturn_type in warning due to ignored return type
	qualifiers.

testsuite/ChangeLog:

2008-01-12  Doug Kwan  <dougkwan@google.com>

	* gcc.dg/qual-return-1.c: Add -Wignored-qualifiers.
	* g++.dg/warn/Wreturn-type-4.C: Replace -Wreturn-type by
	-Wignored-qualifiers.

From-SVN: r131499
2008-01-13 00:22:38 +00:00
Eric Botcazou
7219c2c7d3 utils.c (aggregate_type_contains_array_p): New predicate.
* utils.c (aggregate_type_contains_array_p): New predicate.
	(create_field_decl): In a packed record, force byte alignment
	for fields without specified position that contain an array.

From-SVN: r131498
2008-01-13 00:17:45 +00:00
GCC Administrator
074e135529 Daily bump.
From-SVN: r131496
2008-01-13 00:17:18 +00:00
Eric Botcazou
52ef2874d2 re PR ada/33788 (GNAT bug box in expand_expr_addr_expr_1, at expr.c:6862)
PR ada/33788
	* fold-const.c (fold_unary) <VIEW_CONVERT_EXPR>: Fold an existing
	NOP_EXPR if it is between integral types with the same precision.

From-SVN: r131493
2008-01-12 22:39:49 +00:00