84283 Commits

Author SHA1 Message Date
Tom Tromey
17bfa461cf re PR preprocessor/30805 (Internal compiler error when using "x##,##__VA_ARGS__" in macro)
PR preprocessor/30805:
	* gcc.dg/cpp/pr30805.c: Use -std=gnu89.

From-SVN: r129838
2007-11-01 23:38:52 +00:00
Jakub Jelinek
3e7eb73400 re PR rtl-optimization/33648 (ICE in verify_flow_info for -fmodulo-sched -freorder-blocks-and-partition)
PR rtl-optimization/33648
	* cfgrtl.c (cfg_layout_split_edge): Initialize BB_PARTITION of
	the newly created basic block.

	* gcc.dg/pr33648.c: New test.

From-SVN: r129837
2007-11-02 00:27:23 +01:00
Jakub Jelinek
e426bd2cc8 re PR c++/32384 (Pseudo-dtor in template class rejected)
PR c++/32384
	* parser.c (cp_parser_postfix_dot_deref_expression): If
	POSTFIX_EXPRESSION is type dependent, try to parse it as pseudo dtor
	first and if that succeeds and type is SCALAR_TYPE_P, create
	PSEUDO_DTOR_EXPR.

	* g++.dg/template/pseudodtor1.C: New test.
	* g++.dg/template/pseudodtor2.C: New test.

From-SVN: r129836
2007-11-01 23:54:39 +01:00
Jakub Jelinek
3a44f39543 re PR c++/32260 (too many warning: dereferencing type-punned pointer will break strict-aliasing rules)
PR c++/32260
	* rtti.c (enum_tinfo_kind): Fix TK_TYPE_INFO_TYPE comment.
	(typeid_ok_p): Use the same alias set for abi::__type_info_pseudo
	as for std::type_info.

	* g++.dg/rtti/typeid7.C: New test.

From-SVN: r129835
2007-11-01 23:50:32 +01:00
Richard Guenther
945bfaca2e ggc-page.c (extra_order_size_tab): Add bitmap_head size.
2007-11-01  Richard Guenther  <rguenther@suse.de>

        * ggc-page.c (extra_order_size_tab): Add bitmap_head size.

From-SVN: r129833
2007-11-01 22:20:29 +00:00
Steven Bosscher
f8423fea8d re PR rtl-optimization/33828 (Issues with code hoisting implementation in gcse.c)
PR rtl-optimization/33828
	* gcse.c (compute_code_hoist_vbeinout): Fix order of computation
	of VBEIN and VBEOUT.

From-SVN: r129832
2007-11-01 21:03:50 +00:00
Eric Botcazou
ba8a73e9fb optabs.c (prepare_cmp_insn): Merge a couple of conditional blocks.
* optabs.c (prepare_cmp_insn): Merge a couple of conditional blocks.
	* sched-rgn.c (compute_trg_info): Zero 'el' local variable.
	* tree-if-conv.c (process_phi_nodes): Zero 'cond' local variable.

From-SVN: r129830
2007-11-01 20:48:21 +00:00
Tom Tromey
cff75efa57 Make-lang.in (java/jcf-dump.o): Depend on zipfile.h.
* Make-lang.in (java/jcf-dump.o): Depend on zipfile.h.
	(java/jcf-parse.o): Depend on jcf-reader.c, zipfile.h, and jcf.h.
	(java/jcf-io.o): Depend on zipfile.h.

From-SVN: r129829
2007-11-01 19:37:32 +00:00
Tom Tromey
f373b44d28 re PR preprocessor/30805 (Internal compiler error when using "x##,##__VA_ARGS__" in macro)
libcpp
	PR preprocessor/30805:
	* macro.c (paste_tokens): Handle padding token.
	(paste_tokens): Don't abort unless padding has PASTE_LEFT flag.
gcc/testsuite
	PR preprocessor/30805:
	* gcc.dg/cpp/pr30805.c: New file.

From-SVN: r129827
2007-11-01 18:20:48 +00:00
Eric Botcazou
233a722b41 lang-specs.h: Move translation of -fRTS= after -gnatez switch.
* lang-specs.h: Move translation of -fRTS= after -gnatez switch.

From-SVN: r129826
2007-11-01 18:06:47 +00:00
Nathan Sidwell
5557813a4e gcc.c (getenv_spec_function): Escape the environment variable's value.
* gcc.c (getenv_spec_function): Escape the environment variable's
	value.

From-SVN: r129825
2007-11-01 16:42:39 +00:00
Janis Johnson
d6a64b9df9 invoke.texi (Optimize Options): Under -fcse-follow-jumps, show that CSE means common subexpression elimination.
* doc/invoke.texi (Optimize Options): Under -fcse-follow-jumps,
	show that CSE means common subexpression elimination.  Change wording
	for -fsee and define LCM.  Remove capitalization of optimizations
	for -ftree-reassoc, -ftree-pre, and -ftree-fre.

From-SVN: r129824
2007-11-01 16:34:48 +00:00
Janis Johnson
fdaea7e286 re PR testsuite/25352 (xfail within dg-do command has no effect)
gcc/
	PR testsuite/25352
	* doc/sourcebuild.texi (Test Directives): Document that xfail
	has no effect for dg-do except when dg-do-what is "run".

libstdc++-v3/
	PR testsuite/25352
	* testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
	Remove xfail from dg-do and add dg-skip-if.

gcc/testsuite/
	PR testsuite/25352
	* gcc.c-torture/compile/20000804-1.c: Remove xfail from dg-do and
	add dg-skip-if.
	* gcc.c-torture/compile/20001205-1.c: Ditto.
	* gcc.c-torture/compile/20001226-1.c: Ditto.
	* gcc.c-torture/compile/20020312-1.c: Ditto.
	* gcc.c-torture/compile/20020604-1.c: Ditto.
	* gcc.c-torture/compile/920501-12.c: Ditto.
	* gcc.c-torture/compile/920501-4.c: Ditto.
	* gcc.c-torture/compile/920520-1.c: Ditto.
	* gcc.c-torture/compile/980506-1.c: Ditto.
	* gcc.c-torture/compile/990617-1.c: Ditto.
	* gcc.dg/compare6.c: Ditto.
	* g++.old-deja/g++.brendan/crash43.C: Ditto.
	* g++.old-deja/g++.brendan/synth1.C: Ditto.
	* g++.old-deja/g++.oliva/dwarf2.C: Ditto.
	* g++.old-deja/g++.oliva/dwarf3.C: Ditto.
	* g++.old-deja/g++.pt/static6.C: Ditto.
	* g++.old-deja/g++.pt/crash16.C: Ditto.
	* g++.old-deja/g++.mike/p10416.C: Ditto.
	* g++.old-deja/g++.mike/ns15.C: Ditto.
	* g++.old-deja/g++.mike/eh46.C: Ditto.

From-SVN: r129823
2007-11-01 16:22:36 +00:00
Tom Tromey
5af28c7452 c-decl.c (grokdeclarator): Set decl source locations.
gcc
	* c-decl.c (grokdeclarator): Set decl source locations.
	* c-parser.c (c_parser_enum_specifier): Set location.
	(c_parser_struct_or_union_specifier): Likewise.
gcc/testsuite
	* gcc.dg/redecl-1.c: Update.
	* gcc.dg/pr20368-3.c: Update.
	* gcc.dg/inline-14.c: Update.
	* gcc.dg/builtins-30.c: Update.
	* gcc.dg/dremf-type-compat-4.c: Update.
	* gcc.dg/pr20368-2.c: Update.

From-SVN: r129822
2007-11-01 15:31:12 +00:00
Tom Tromey
18aa09d195 * print-tree.c (print_node): Print column number.
From-SVN: r129821
2007-11-01 15:06:11 +00:00
Jakub Jelinek
611cd333cd re PR debug/33537 (C++ arguments passed by invisible reference have wrong type)
PR debug/33537
	* dwarf2out.c (gen_formal_parameter_die, gen_variable_die,
	gen_decl_die): Use TREE_TYPE (TREE_TYPE (decl)) as type
	rather than TREE_TYPE (decl) if DECL_BY_REFERENCE (decl).

From-SVN: r129820
2007-11-01 11:17:42 +01:00
Jakub Jelinek
d0a55efc84 re PR rtl-optimization/33673 (ICE in verify_flow_info, missing barrier, when multiple tree opts disabled)
PR rtl-optimization/33673
	* gcse.c (cprop_jump): If a conditional jump has been optimized
	into unconditional jump, make the remaining normal edge fallthru
	and delete the jump insn.

	* gcc.dg/pr33673.c: New test.

From-SVN: r129819
2007-11-01 09:48:05 +01:00
Ben Elliston
895a813643 emit-rtl.c (set_reg_attrs_from_mem): Clarify function comment.
* emit-rtl.c (set_reg_attrs_from_mem): Clarify function comment.
	(set_mem_attrs_from_reg): Likewise.

From-SVN: r129818
2007-11-01 16:57:02 +11:00
Michael Matz
e08f02f0bb re PR tree-optimization/33961 (gcc 4.3 causes crash valid code to crash)
PR tree-optimization/33961
        * tree-ssa-phiopt.c (struct name_to_bb.store): New member.
        (name_to_bb_hash, name_to_bb_eq): Consider and check it.
        (add_or_mark_expr): New argument 'store', using it to search
        the hash table.
        (nt_init_block): Adjust calls to add_or_mark_expr.

        * gcc.dg/pr33961.c: New test.

From-SVN: r129817
2007-11-01 03:06:38 +00:00
Paolo Carlini
42e2a99953 re PR c++/33494 (Broken diagnostic: 'modop_expr' not supported by dump_expr)
/cp
2007-10-31  Paolo Carlini  <pcarlini@suse.de>

	PR c++/33494
	* cxx-pretty-print.c (pp_cxx_typeid_expression,
	pp_cxx_delete_expression): Change to static linkage.
	* cxx-pretty-print.h: Adjust declarations.
	* error.c (dump_expr, case EXPR_PACK_EXPANSION, TYPEID_EXPR,
	MEMBER_REF, DOTSTAR_EXPR, DELETE_EXPR, VEC_DELETE_EXPR,
	MODOP_EXPR): Forward to pp_expression.

	* cxx-pretty-print.c (pp_cxx_expression, case NON_DEPENDENT_EXPR):
	Fix typo.

/testsuite
2007-10-31  Paolo Carlini  <pcarlini@suse.de>

	PR c++/33494
	* g++.dg/template/error35.C: New.

From-SVN: r129816
2007-11-01 02:18:44 +00:00
Paolo Carlini
066f956c80 re PR c++/33494 (Broken diagnostic: 'modop_expr' not supported by dump_expr)
/cp
2007-10-31  Paolo Carlini  <pcarlini@suse.de>

	PR c++/33494
	* cxx-pretty-print.c (pp_cxx_typeid_expression,
	pp_cxx_delete_expression): Change to static linkage.
	* cxx-pretty-print.h: Adjust declarations.
	* error.c (dump_expr, case EXPR_PACK_EXPANSION, TYPEID_EXPR,
	MEMBER_REF, DOTSTAR_EXPR, DELETE_EXPR, VEC_DELETE_EXPR,
	MODOP_EXPR): Forward to pp_expression.

	* cxx-pretty-print.c (pp_cxx_expression, case NON_DEPENDENT_EXPR):
	Fix typo.

/testsuite
2007-10-31  Paolo Carlini  <pcarlini@suse.de>

	PR c++/33494
	* g++.dg/template/error35.C: New.

From-SVN: r129815
2007-11-01 02:17:02 +00:00
Paolo Carlini
c54171fee6 stl_queue.h (queue<>::push(value_type&&)): Replace with "emplace" version per DR 756.
2007-10-31  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_queue.h (queue<>::push(value_type&&)): Replace
	with "emplace" version per DR 756.
	(priority_queue<>::push(value_type&&)): Likewise.
	* include/bits/stl_stack.h (stack<>::push(value_type&&)): Likewise.

From-SVN: r129814
2007-11-01 01:40:56 +00:00
GCC Administrator
e52e300091 Daily bump.
From-SVN: r129811
2007-11-01 00:17:19 +00:00
Jakub Jelinek
a7efdc8427 re PR target/31507 (libffi regression, many.c, closure_fn2/fn3.c with -Os)
PR target/31507
	* config/i386/i386.md (pushsf_rex64): Use X instead of < constraints
	for the first push_operand.

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

From-SVN: r129807
2007-10-31 23:35:01 +01:00
Thiago Jung Bauermann
b1237e1315 configure.ac: Add ADDITIONAL_OBJS variable.
2007-10-31  Thiago Jung Bauermann  <bauerman@br.ibm.com>

	* configure.ac: Add ADDITIONAL_OBJS variable.
	* Makefile.in (bid_OBS): New.
	(libdecnumber_a_OBJS): Add ADDITIONAL_OBJS, remove condition
	on enable_decimal_float.
	* configure: Regenerate.

From-SVN: r129804
2007-10-31 17:54:43 +00:00
Revital Eres
e2e95f45a8 Enable auto-vectorization for PowerPC 750CL paired-single instructions
From-SVN: r129803
2007-10-31 17:04:42 +00:00
Tobias Burnus
1e4c40729a [multiple changes]
2007-10-31  Tobias Burnus  <burnus@net-b.de>

        PR fortran/33941
        * modules.c (intrinsics): Use only alphabetic names for
        intrinsic operators.


2007-10-31  Dominique d'Humieres  <dominiq@lps.ens.fr>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/33941
        * gfortran.dg/module_read_1.f90: New.

From-SVN: r129801
2007-10-31 16:10:12 +01:00
Tom Tromey
5b9a40df4e re PR preprocessor/30786 (ICE on _Pragma at end of file)
gcc/testsuite
	PR preprocessor/30786:
	* gcc.dg/cpp/pr30786.c: New file.
libcpp
	PR preprocessor/30786:
	* macro.c (builtin_macro): Return result of _cpp_do__Pragma.
	* directives.c (_cpp_do__Pragma): Return error status.
	* internal.h (_cpp_do__Pragma): Update.
	* directives.c (get__Pragma_string): Back up if EOF seen.

From-SVN: r129800
2007-10-31 14:50:13 +00:00
Jerry DeLisle
69d10e15fb re PR fortran/33162 (INTRINSIC functions as ACTUAL argument)
2007-10-31  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/33162
	* gfortran.dg/interface_19.f90: New.
	* gfortran.dg/interface_20.f90: New.
	* gfortran.dg/interface_21.f90: New.

From-SVN: r129799
2007-10-31 14:30:48 +00:00
Jerry DeLisle
26033479fb re PR fortran/33162 (INTRINSIC functions as ACTUAL argument)
2007-10-31  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/33162
	* interface.c (compare_intr_interfaces): New function to check intrinsic
	function arguments against formal arguments. (compare_interfaces): Fix
	logic in comparison of function and subroutine attributes.
	(compare_parameter): Use new function for intrinsic as argument.
	* resolve.c (resolve_actual_arglist): Allow an intrinsic without
	function attribute to be checked further.  Set function attribute if
	intrinsic symbol is found, return FAILURE if not.

From-SVN: r129798
2007-10-31 14:26:57 +00:00
Sebastian Pop
2c26cbfd23 re PR tree-optimization/32377 (can't determine dependence (source/destination overlap without more than size))
2007-10-31  Sebastian Pop  <sebastian.pop@amd.com>

	PR tree-optimization/32377
	* tree-data-ref.c (compute_overlap_steps_for_affine_univar): Make it
	work also for unknown number of iterations.
	(analyze_subscript_affine_affine): Clean up.  Don't fail when the 
	number of iterations is not known.

	* gfortran.dg/vect/pr32377.f90: New.

From-SVN: r129797
2007-10-31 13:53:03 +00:00
Richard Guenther
ac029795f3 re PR middle-end/33779 (folds unsigned multiplication == 0 to true)
2007-10-31  Richard Guenther  <rguenther@suse.de>

	PR middle-end/33779
	* fold-const.c (extract_muldiv_1): Make sure to not introduce
	new undefined integer overflow.
	(fold_binary): Avoid useless conversion.

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

From-SVN: r129796
2007-10-31 12:33:05 +00:00
Paul Thomas
182393f4f7 re PR fortran/33897 (Incorrect host association in module)
2007-10-31  Paul Thomas  <pault@gcc.gnu.org>

        PR fortran/33897
        * decl.c (gfc_match_entry): Do not make ENTRY name
        global for contained procedures.
        * parse.c (gfc_fixup_sibling_symbols): Fix code for
        determining whether a procedure is external.

2007-10-31  Paul Thomas  <pault@gcc.gnu.org>

        PR fortran/33897
        * gfortran.dg/contained_3.f90: New.

From-SVN: r129795
2007-10-31 10:59:16 +01:00
Richard Sandiford
a3d977243d re PR target/33948 (Bootstrap broken on mips-sgi-irix6.5)
gcc/
	PR target/33948
	* config/mips/mips.c (mips_fpr_return_fields): Fix SCALAR_TYPE_P
	check.

From-SVN: r129794
2007-10-31 08:23:30 +00:00
Andreas Krebbel
47d94c1a50 rs6000.opt: Rename -mdfp option to -mhard-dfp.
2007-10-31  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/rs6000/rs6000.opt: Rename -mdfp option to -mhard-dfp.

	* config/s390/s390.c: (override_options): Replace -mhard-dfp/-msoft-dfp
	with -mhard-dfp/-mno-hard-dfp.
	* config/s390/s390.opt: Likewise.
	* config/s390/s390.h: Add MASK_HARD_DFP to the TARGET_DEFAULT
	definition.

From-SVN: r129793
2007-10-31 07:56:01 +00:00
Christian Bruel
0e95aec103 fix PR c++/19531: NRV is performed on volatile temporary
Co-Authored-By: Mark Mitchell <mark@codesourcery.com>

From-SVN: r129792
2007-10-31 08:55:46 +01:00
GCC Administrator
4ac4ec1822 Daily bump.
From-SVN: r129790
2007-10-31 00:17:17 +00:00
Janis Johnson
ba927a8b4c * tree-ssa.c (execute_update_addresses_taken): Initialize update_vops.
From-SVN: r129787
2007-10-30 22:47:38 +00:00
Janis Johnson
0c166d0f1c invoke.texi (Option Summary): Add -fdce and -fdse to list of optimization options.
* doc/invoke.texi (Option Summary): Add -fdce and -fdse to list of
	optimization options.
	(Optimize Options): Add -fdce and -fdse to the list of optimizations
	enabled by -O.  Document -fdce and -fdse.

From-SVN: r129786
2007-10-30 22:45:00 +00:00
Jakub Jelinek
33a49c17e8 re PR c++/33709 (Type verification failure with new expression)
PR c++/33709
	* fold-const.c (fold_binary): If one argument is COMPOUND_EXPR,
	convert second operand of COMPOUND_EXPR to the original type of
	that argument.

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

From-SVN: r129785
2007-10-30 23:40:13 +01:00
Jakub Jelinek
4c38e99eb4 re PR c++/33616 ("lvalue required as unary '&' operand" with template pmf)
PR c++/33616
	* decl2.c (build_offset_ref_call_from_tree): Call
	build_non_dependent_expr on object prior to building ADDR_EXPR from it
	if FN is DOTSTAR_EXPR.

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

From-SVN: r129784
2007-10-30 23:37:53 +01:00
Francois-Xavier Coudert
e1332188a4 re PR fortran/33596 (ICE with simplified ISNAN)
PR fortran/33596

	* trans-intrinsic.c (gfc_conv_intrinsic_isnan): Strip NOP_EXPR
	from the result of build_call_expr.

	* gfortran.dg/isnan_2.f90: New test.

From-SVN: r129782
2007-10-30 21:48:23 +00:00
Ed Schouten
7e79298c1d re PR tree-optimization/32500 (Loop optimization limits range to size of array used inside loop)
PR tree-optimization/32500
	* gcc.c-torture/execute/pr32500.c: Fix buffer overflow in testcase.

From-SVN: r129781
2007-10-30 20:30:47 +00:00
H.J. Lu
26796ffd3b Remove ">>>>>>> .r129772".
From-SVN: r129777
2007-10-30 10:54:29 -07:00
Doug Gregor
9c6fc6c6e5 Revert accidental change to crash36.C
From-SVN: r129774
2007-10-30 13:38:10 +00:00
Doug Gregor
88b823145e re PR c++/31993 (ICE with template class in variadic template class)
2007-10-30  Douglas Gregor  <doug.gregor@gmail.com>

	PR c++/31993
	PR c++/32252
	* pt.c (find_parameter_packs_r): Fix typo in comment.
	(convert_template_argument): Look at the pattern of a pack
	expansion to determine what kind of entity we're converting.
	(coerce_template_parameter_pack): When we have coerced a non-type
	template parameter pack, substitute into the type of that pack.
	(tsubst_pack_expansion): When our substitution of a parameter pack
	is a "trivial" substitution of itself, just substitute into the
	pack expansion rather than actually expanding.

2007-10-30  Douglas Gregor  <doug.gregor@gmail.com>

	PR c++/31993
	PR c++/32252
	* g++.dg/cpp0x/pr31993.C: New
	* g++.dg/cpp0x/pr32252.C: New

From-SVN: r129773
2007-10-30 13:36:34 +00:00
Jakub Jelinek
310750d8ec re PR tree-optimization/33723 (Inefficient code with compound literals)
PR tree-optimization/33723
	* gcc.dg/tree-ssa/pr33723.c (T): Decrease size of field s.

From-SVN: r129772
2007-10-30 14:29:57 +01:00
Richard Guenther
e0734f6239 tree-ssa-operands.c (add_vars_for_offset): Fix exit test of loop adding SFTs as virtual operands.
2007-10-30  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-operands.c (add_vars_for_offset): Fix exit test
	of loop adding SFTs as virtual operands.

	* gcc.c-torture/execute/20071030-1.c: New testcase copied from
	gcc.target/i386/loop-3.c.

From-SVN: r129770
2007-10-30 13:22:36 +00:00
Paolo Carlini
ebb82e2751 re PR libstdc++/33815 (tr1::uniform_int isn't uniform)
2007-10-19  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/33815
	* include/tr1_impl/random
	(uniform_int<>::_M_call(_UniformRandomNumberGenerator&, result_type,
	result_type, true_type)): Avoid the modulo (which uses the low-order
	bits).

From-SVN: r129769
2007-10-30 13:05:26 +00:00
Richard Guenther
19d8eb46e3 Makefile.in (dse.o): Add $(OPTABS_H) and $(RECOG_H)
2007-10-30  Richard Guenther  <rguenther@suse.de>

        * Makefile.in (dse.o): Add $(OPTABS_H) and $(RECOG_H)
        * dependencies.

From-SVN: r129768
2007-10-30 09:05:44 +00:00