75924 Commits

Author SHA1 Message Date
Mark Mitchell
fc4297484b re PR c++/28048 (ICE on accessing member of dependent name)
PR c++/28048
	* semantics.c (check_accessibility_of_qualified_id): Robustify.
	PR c++/28048
	* g++.dg/template/defarg9.C: New test.

From-SVN: r115579
2006-07-19 05:14:25 +00:00
Roger Sayle
cb2eb96f4d re PR middle-end/28283 (SuperH: Very unoptimal code generated for 64-bit ints)
PR middle-end/28283
	* expmed.c (expand_shift): Additionally check that the shift_cost
	is not MAX_COST and that INTVAL(op1) is less than MAX_BITS_PER_WORD
	before implementing a LSHIFT_EXPR as a sequence of additions.
	* config/sh/sh.c (shift_costs): Return MAX_COST to inform the
	middle-end that DImode shifts need to be synthesized by expand.

From-SVN: r115578
2006-07-19 05:13:56 +00:00
Mark Mitchell
f604fc3b2e re PR c++/28235 (ICE with static const member as default parameter in template)
PR c++/28235
	* pt.c (tsubst_decl): Handling substitutions into a static data
	member from within the scope of the tempalte itself.
	PR c++/28235
	* g++.dg/template/static27.C: New test.

From-SVN: r115576
2006-07-19 00:22:43 +00:00
GCC Administrator
437a9eba68 Daily bump.
From-SVN: r115574
2006-07-19 00:17:28 +00:00
Phillip Jordan
b240d8c3cc Added myself (pmj) to MAINTAINERS file under write-after-approval
From-SVN: r115570
2006-07-18 22:22:07 +00:00
Diego Novillo
548a6c6d0e re PR tree-optimization/28410 (Wrong aliasing with global var grouping during call clobbering)
PR 28410
	* tree-ssa-operands.c (access_can_touch_variable): Update
	comment.
	Return true if ALIAS is .GLOBAL_VAR.

testsuite/ChangeLog

	PR 28410
	* gcc.dg/tree-ssa/pr28410.c: New test.

From-SVN: r115564
2006-07-18 13:27:57 -04:00
Lee Millward
492b73bda9 re PR c++/28258 (ICE with invalid constructor)
PR c++/28258
	* method.c (locate_copy): Check for non_reference
	returning error_mark_node.

        PR c++/28260
	* decl.c (duplicate_decls): Return error_mark_node
	on ambiguous declaration.

	PR c++/28258
	* g++/dg/other/error13.C: New test.

	PR c++/28260
	* g++.dg/template/friend44.C: New test.

From-SVN: r115561
2006-07-18 17:22:39 +00:00
Steve Ellcey
1e76e76b47 re PR c++/27495 (ICE using "." instead of "->")
PR c++/27495
	* g++.dg/other/pr27495.C: New.

From-SVN: r115558
2006-07-18 17:03:38 +00:00
Steve Ellcey
9c23e505d8 re PR c++/27495 (ICE using "." instead of "->")
PR c++/27495
	* search.c (adjust_result_of_qualified_name_lookup): Change
	assert to part of if statement.

From-SVN: r115557
2006-07-18 17:01:19 +00:00
David Daney
b3cccd5850 * gcc.c (display_help): Fix typo in help text.
From-SVN: r115555
2006-07-18 16:07:44 +00:00
Olivier Hainque
fe24d4852e tree.h (categorize_ctor_elements): Adjust prototype and add descriptive comment...
* tree.h (categorize_ctor_elements): Adjust prototype and add
	descriptive comment, both in accordance with the interface change
	described below.
	* varasm.c (constructor_static_from_elts_p): New function.
	Whether a constructor node is a valid static constant initializer
	if all its elements are.
	(initializer_constant_valid_p) <CONSTRUCTOR value>: Use it.
	* output.h: Declare it.	
	* expr.c (categorize_ctor_elements_1): Return whether the constructor
	is a valid constant initializer instead of computing the number of
	non-constant elements.  Use constructor_static_from_elts_p for this
	purpose.  Replace the head comment with an indication that this is a
	helper for categorize_ctor_elements.
	(categorize_ctor_elements): Same interface change as for the _1
	helper.  Former head comment from this helper moved here, adjusted to
	account for the interface changes.
	(mostly_zeros_p): Adjust call to categorize_ctor_elements.
	(all_zeros_p): Likewise.	
	* gimplify.c (gimplify_init_constructor): Decide whether we can make
	static versions of the constructor from the categorize_ctor_elements
	return value instead of the formerly computed number of non-constant
	elements.

	* gnat.dg/outer_agg_bitfield_constructor.adb: New test.
	* gnat.dg/nested_agg_bitfield_constructor.adb: New test.

From-SVN: r115553
2006-07-18 13:07:28 +00:00
Paolo Bonzini
57255173da Makefile.tpl (configure-stageN-MODULE): Pass --with-build-libsubdir for stages after the first.
2006-07-18  Paolo Bonzini  <bonzini@gnu.org>

        * Makefile.tpl (configure-stageN-MODULE): Pass --with-build-libsubdir
        for stages after the first.

config:
2006-07-18  Paolo Bonzini  <bonzini@gnu.org>

        * acx.m4: Support --with-build-libsubdir and AC_SUBST
        build_libsubdir.

gcc:
2006-07-18  Paolo Bonzini  <bonzini@gnu.org>

        * configure: Regenerate.
        * Makefile.in (build_libsubdir): New configure substitution
        (build_libobjdir): New variable.
        (BUILD_LIBIBERTY): Use it.

libgfortran:
2006-07-18  Paolo Bonzini  <bonzini@gnu.org>

        * configure: Regenerate.

libjava:
2006-07-18  Paolo Bonzini  <bonzini@gnu.org>

        * configure: Regenerate.

libobjc:
2006-07-18  Paolo Bonzini  <bonzini@gnu.org>

        * configure: Regenerate.

From-SVN: r115552
2006-07-18 11:48:36 +00:00
Gary Benson
834c81642a File.java (deleteOnExit): Fix security check.
2006-07-18  Gary Benson  <gbenson@redhat.com>

	* java/io/File.java (deleteOnExit): Fix security check.

From-SVN: r115551
2006-07-18 11:23:39 +00:00
Volker Reichelt
12050e4423 re PR c/28286 (ICE with invalid value in #pragma pack)
PR c/28286
	* c-pragma.c (handle_pragma_pack): Handle invalid constants.

	* gcc.dg/pragma-pack-4.c: New test.

From-SVN: r115548
2006-07-18 10:08:22 +00:00
Alexandre Oliva
e1cf56b1d9 re PR c/26993 (ICE on invalid code with weakref)
PR c/26993
* c-common.c (handle_weakref_attribute): Ignore attribute in
the same conditions the alias attribute is ignored.

From-SVN: r115545
2006-07-18 06:41:13 +00:00
Carlos O'Donell
e098f3a586 dbxout.c (dbxout_function_end): Do not increment scope_labelno.
2006-07-17  Carlos O'Donell  <carlos@codesourcery.com>

	* dbxout.c (dbxout_function_end): Do not increment scope_labelno.
	(dbxout_begin_prologue): Increment scope_labelno.

From-SVN: r115544
2006-07-18 04:16:02 +00:00
Richard Henderson
8bcbc00026 re PR middle-end/27889 (ICE on complex assignment in nested function)
PR 27889
        * tree-nested.c (create_tmp_var_for): Set DECL_COMPLEX_GIMPLE_REG_P
        if needed.

From-SVN: r115541
2006-07-17 18:17:52 -07:00
Roger Sayle
4f5afe7d1a gmon-sol2.c: Silence compilation warnings by partially synchronizing code with...
* config/i386/gmon-sol2.c: Silence compilation warnings by partially
	synchronizing code with config/sparc/gmon-sol2.c.  Remove #if 0
	blocks.  #include "tconfig.h" and "tsystem.h" to prototype system
	functions such as sbrk, write, etc..  Add function prototypes.
	Convert function declarations from K&R to ISO C.  Cast pointers
	to "long" and "unsigned long" instead of "int" and "unsigned int".
	Convert tokens following #endif into comments.


Co-Authored-By: Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>

From-SVN: r115540
2006-07-18 00:29:20 +00:00
GCC Administrator
d4bc44eadf Daily bump.
From-SVN: r115538
2006-07-18 00:17:18 +00:00
Roger Sayle
582454753d errno.h: New file.
* tests/base/errno.h: New file.
	* tests/base/architecture/ppc/math.h: Likewise.
	* tests/base/ia64/sys/getppdp.h: Likewise.

From-SVN: r115534
2006-07-17 23:54:22 +00:00
Toon Moene
dc5abe7709 invoke.texi: Remove mention of f77...
2006-07-17  Toon Moene  <toon@moene.indiv.nluug.nl>

	* invoke.texi: Remove mention of f77; Reformat table for
	inline parameter options correctly; mention that -malign-double
	is default on x86-64 targets.

From-SVN: r115529
2006-07-17 18:05:39 +00:00
Zdenek Dvorak
64a7ab5f16 tree-chrec.c (avoid_arithmetics_in_type_p): New.
* tree-chrec.c (avoid_arithmetics_in_type_p): New.
	(convert_affine_scev, chrec_convert_aggressive): Use
	avoid_arithmetics_in_type_p.  Do not check for the subtypes
	separately.

From-SVN: r115528
2006-07-17 17:09:39 +00:00
Jakub Jelinek
9fbe658520 Makefile.def: Add dependencies for configure-opcodes on configure-intl and all-opcodes on...
* Makefile.def: Add dependencies for configure-opcodes
	on configure-intl and all-opcodes on all-intl.
	* Makefile.in: Regenerated.

From-SVN: r115527
2006-07-17 19:06:27 +02:00
Steve Ellcey
512380a199 re PR c++/28291 (ICE on invalid designated initializer)
PR c++/28291
	* g++.dg/ext/pr28291.C: New test.

From-SVN: r115526
2006-07-17 15:33:14 +00:00
Richard Sandiford
2763a67eff re PR middle-end/28403 (Missed argument pop after doubleword shift)
gcc/
	PR middle-end/28403
	* optabs.c (expand_doubleword_shift): Wrap the call to
	do_compare_rtx_and_jump with NO_DEFER_POP and OK_DEFER_POP.

gcc/testsuite/
	PR middle-end/28403
	* gcc.c-torture/execute/pr28403.c: New test.

From-SVN: r115525
2006-07-17 15:31:12 +00:00
Richard Sandiford
f8bdb931a9 re PR middle-end/28402 (Doubleword shifts implemented using word_mode libcalls)
gcc/
	PR middle-end/28402
	* optabs.c (expand_binop): Pass next_methods rather than methods
	to expand_doubleword_shift.

gcc/testsuite/
	PR middle-end/28402
	* gcc.dg/pr28402.c: New test.

From-SVN: r115524
2006-07-17 15:29:19 +00:00
Steve Ellcey
77bffd4cee re PR c++/28291 (ICE on invalid designated initializer)
PR c++/28291
	* decl.c (reshape_init_class): Return error_mark_node on error.

From-SVN: r115523
2006-07-17 15:28:17 +00:00
Steve Ellcey
81a5e9526b re PR c++/28304 (ICE looking up invalid member template)
PR c++/28304
	* g++.dg/other/pr28304.C: New test.

From-SVN: r115522
2006-07-17 15:23:37 +00:00
Steve Ellcey
f566cc1b14 re PR c++/28304 (ICE looking up invalid member template)
PR c++/28304
	* decl2.c (check_classfn): Return NULL_TREE on error.

From-SVN: r115521
2006-07-17 15:21:42 +00:00
Carlos O'Donell
1c1534e9e3 ChangeLog: Correct formatting for 2006-07-10 changes, by Carlos O'Donell.
gcc/

2006-07-17  Carlos O'Donell  <carlos@codesourcery.com>

	* ChangeLog: Correct formatting for 2006-07-10 changes,
	by Carlos O'Donell.

From-SVN: r115520
2006-07-17 15:20:43 +00:00
J"orn Rennecke
24a7799ea4 re PR other/28251 (dumped addresses makes diffing dumps unusable)
gcc:
	PR other/28251
	* tree.h (dump_addr): Declare.
	* print-tree.c (dump_addr): New function.
	(print_node_brief, print_node): Use it.
	* print-rtl.c (print_rtx): Likewise.
	* common.opt (-fdump-noaddr): New option.
	* doc/invoke.texi (-fdump-noaddr): Document.
	* loop-unroll.c (si_info_hash): Make hash independent of addresses.
	(ve_info_hash): Likewise.
gcc/testsuite:
	PR other/28251
	gcc.c-torture/unsorted/dump-noaddr.c: New test.
	gcc.c-torture/unsorted/dump-noaddr.x: New driver.

From-SVN: r115519
2006-07-17 15:44:48 +01:00
Andrew Haley
9d335249c9 re PR tree-optimization/19505 (java bytecode to native ICE in remove_unreachable_regions)
2006-07-13  Andrew Haley  <aph@redhat.com>

        PR tree-optimization/19505
        * tree-cfgcleanup.c (tree_forwarder_block_p): If we have an EH
        edge leaving this block, make sure that the destination of this
        block has only one predecessor.

From-SVN: r115518
2006-07-17 13:14:38 +00:00
Richard Guenther
2b65dae54e re PR tree-optimization/28238 (verify_stmts failed (invalid operand to unary operator))
2006-07-17  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/28238
	* tree-inline.c (copy_bb): Check if we produced valid
	gimple copying and substituting a stmt.  If not, gimplify
	it.

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

From-SVN: r115517
2006-07-17 08:04:25 +00:00
Volker Reichelt
2a50edcd0f re PR c++/28250 (ICE with invalid catch)
PR c++/28250
	* name-lookup.c (pushdecl_maybe_friend): Return early on
	error_mark_node.
	* except.c (expand_start_catch_block): Use error_mark_node instead
	of NULL_TREE for invalid decls.
	* parser.c (cp_parser_exception_declaration): Return error_mark_node
	on invalid catch parameter. Simplify.

	* g++.dg/eh/catch1.C: New test.
	* g++.dg/eh/catch2.C: New test.

From-SVN: r115516
2006-07-17 04:42:24 +00:00
GCC Administrator
23be7a6691 Daily bump.
From-SVN: r115509
2006-07-17 00:17:24 +00:00
Jakub Jelinek
742fae059b re PR fortran/28390 (Broken !$omp parallel do lastprivate(iterationvar))
PR fortran/28390
	* trans-openmp.c (gfc_trans_omp_do): Look for LASTPRIVATE in
	code->exp.omp_clauses rather than in the 3rd function argument.

	* testsuite/libgomp.fortran/pr28390.f: New test.

From-SVN: r115504
2006-07-16 22:19:27 +02:00
Jakub Jelinek
42ccbf3d11 re PR c++/28370 (undefined reference to template class static variable in an anonymous namespace)
PR c++/28370
	* decl2.c (note_vague_linkage_var): Removed.
	(finish_static_data_member_decl): Add decl to pending_statics vector
	directly.  Do it even for non-public decls.

	* g++.dg/template/anon3.C: New test.

From-SVN: r115503
2006-07-16 22:17:20 +02:00
Paolo Carlini
22d67c60fa PR libstdc++/28277 (partial: valarray bits)
2006-07-16  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28277 (partial: valarray bits)
	* include/std/std_valarray.h (valarray<>::shift(int),
	valarray<>::cshift(int)): Avoid __builtin_alloca with no limit,
	do the work in place.
	* testsuite/26_numerics/valarray/28277.cc: New.

From-SVN: r115501
2006-07-16 15:38:59 +00:00
Andrew Pinski
d9f392cf04 Fix fomating on Carlos's last changelog entry
and fix the email address too.

From-SVN: r115500
2006-07-16 08:17:22 -07:00
Paul Thomas
b8ea6dbcbd re PR fortran/28384 (ICE on non-existent COMMON block)
2006-07-16  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/28384
	* trans-common.c (translate_common): If common_segment is NULL
	emit error that common block does not exist.

	PR fortran/20844
	* io.c (check_io_constraints): It is an error if an ADVANCE
	specifier appears without an explicit format.

	PR fortran/28201
	* resolve.c (resolve_generic_s): For a use_associated function,
	do not search for an alternative symbol in the parent name
	space.

	PR fortran/20893
	* resolve.c (resolve_elemental_actual): New function t combine
	all the checks of elemental procedure actual arguments. In
	addition, check of array valued optional args(this PR) has
	been added.
	(resolve_function, resolve_call): Remove parts that treated
	elemental procedure actual arguments and call the above.

2006-07-16  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/20844
	* gfortran.dg/io_constaints_2.f90: Add the test for ADVANCE
	specifiers requiring an explicit format tag..

	PR fortran/28201
	* gfortran.dg/generic_5: New test.

	PR fortran/20893
	* gfortran.dg/elemental_optional_args_1.f90: New test.

From-SVN: r115499
2006-07-16 15:01:59 +00:00
Eric Botcazou
3e27aa84ef optabs.c (maybe_encapsulate_block): New function extracted from...
* optabs.c (maybe_encapsulate_block): New function extracted from...
	(emit_libcall_block): ...here.  Invoke it on the block of insns to
	maybe emit REG_LIBCALL/REG_RETVAL notes around the block.
	(emit_no_conflict_block): Likewise.

From-SVN: r115498
2006-07-16 14:31:05 +00:00
Eric Botcazou
c5ee132b44 Fix latest entry.
From-SVN: r115493
2006-07-16 05:59:54 +00:00
Eric Botcazou
bb2ffd7fc9 invoke.texi (sparc-sun-solaris2*): Add GMP version number.
* doc/invoke.texi (sparc-sun-solaris2*): Add GMP version number.

From-SVN: r115492
2006-07-16 05:57:11 +00:00
GCC Administrator
a3bf161fb5 Daily bump.
From-SVN: r115490
2006-07-16 00:18:35 +00:00
Paolo Carlini
6f0cb13801 PR libstdc++/28277 (partial: ostream bits 1)
2006-07-15  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28277 (partial: ostream bits 1)
	* include/bits/ostream.tcc (operator<<(basic_ostream<_CharT>&,
	const char*)): Avoid __builtin_alloca with no limit in the
	widening.
	* testsuite/27_io/basic_ostream/inserters_character/wchar_t/
	28277-1.cc: New.

From-SVN: r115485
2006-07-15 20:30:50 +00:00
Roger Sayle
b0d5d5de78 tree-gimple.c (is_gimple_stmt): Sink test of IS_EMPTY_STMT into a new NOP_EXPR case of the switch statement.
* tree-gimple.c (is_gimple_stmt): Sink test of IS_EMPTY_STMT into
	a new NOP_EXPR case of the switch statement.

From-SVN: r115480
2006-07-15 17:19:18 +00:00
Mike Stump
9c93098153 revert: re PR c/28280 (bogus "statement with no effect" warning with VLA and typeof)
Revert:
        PR c/28280
        * c-parser.c (c_parser_typeof_specifier): Don't use
        c_finish_expr_stmt, open code desired semantics instead.

From-SVN: r115479
2006-07-15 17:03:44 +00:00
Steven G. Kargl
8daa14ad2a etime.c: Remove etime_
2006-07-15  Steven G. Kargl  <kargls@comcast.net>

    * intrinsics/etime.c: Remove etime_
    * libtool-version: Bump from libgfortran.so.1 to libgfortran.so.2

From-SVN: r115478
2006-07-15 16:12:15 +00:00
Lee Millward
31b29c620e re PR c++/28269 (ICE on attribute for invalid template)
PR c++/28269
	* parser.c (cp_parser_elaborated_type_specifier):
	Return early if an invalid type was detected.

	* g++.dg/template/crash54.C: New test.

From-SVN: r115475
2006-07-15 15:00:28 +00:00
Lee Millward
662c2e83b1 re PR c++/28292 (ICE in acceptable_java_type)
PR c++/28292
	* decl2.c (acceptable_java_type): Robustify. Use
	proper Boolean return type instead of return 1.
	(check_java_method): Don't issue error about
	type not being an acceptable Java parameter if 
	it's error_mark_node.

	* g++.dg/other/error12.C: New test.

From-SVN: r115474
2006-07-15 14:44:48 +00:00