Commit graph

78112 commits

Author SHA1 Message Date
Andrew MacLeod
79f99d4276 Add memory reuse to virtual operands in the operand scanner.
2006-12-18  Andrew MacLeod  <amacleod@redhat.com>

	* tree-ssa-operands.h (struct vdef_optype_d): Rename to voptype_d.
	(struct vuse_optype_d): Delete.
	(SSA_OPERAND_MEMORY_SIZE): Delete.
	(struct ssa_operand_memory_d): Change mem array to size one.
	(NUM_VOP_FREE_BUCKETS): Define.
	(free_vuses, free_vdefs): Replace with vop_free_buckets array.
	(vdef_ops, vuse_ops, struct ssa_operand_iterator_d): Use voptype_d type.
	* tree-pretty-print.c (dump_vops): Use voptype_d type.
	* tree-ssa-operands.c (vop_free_bucket_size): New.  Number of operands
	which fit into a chunk of memory from a specific bucket.
	(vop_free_bucket_index): New.  Find correct size memory bucket.
	(init_vop_buckets): New.  Initialize VOP free memory buckets.
	(add_vop_to_freelist): New.  Add a VOP to the correct free list.
	(ssa_operand_mem_size): New.  Current size of an operand memory chunk.
	(init_ssa_operands): Initialize operand memory and free lists.
	(fini_ssa_operands): Remove references to free_vuses and free_vdefs.
	(ssa_operand_alloc): Use graduated size memory allocation.
	(APPEND_OP_AFTER, MOVE_HEAD_AFTER, MOVE_HEAD_TO_FREELIST, 
	INITIALIZE_USE): Remove.
	(alloc_vop): New.  Allocate a virtual operand.
	(alloc_vdef, alloc_vuse): Delete.
	(add_def_op, add_use_op): Directly setup pointers.
	(add_vop): New.  Add a virtual operand.
	(add_vuse_op, add_vdef_op): Call add_vop.
	(realloc_vop): New.  Reallocate a virtual operand.
	(realloc_vdef, realloc_vuse): Call realloc_vop.
	(finalize_ssa_def_ops): Delete.  Move content to finalize_ssa_defs.
	(finalize_ssa_defs): Optimize for common case, remove code based on
	sorted pointers which was a waste of time.
	(finalize_ssa_use_ops): Delete.  Move content to finalize_ssa_uses.
	(finalize_ssa_uses): Update last pointer.
	(finalize_ssa_vdef_ops): Delete.  Move content to finalize_ssa_vdefs.
	(finalize_ssa_vdefs, finalize_ssa_vuse_ops): Use voptype_d and
	directly manipulate pointers.
	(copy_virtual_operands): Use voptype_d, and no need to update pointers.

From-SVN: r120009
2006-12-18 16:21:08 +00:00
Adam Megacz
85bf4c61f4 Makefile.am: remove @X_CFLAGS@ from AM_CXXFLAGS...
2006-12-18  Adam Megacz <megacz@cs.berkeley.edu>

        * Makefile.am: remove @X_CFLAGS@ from AM_CXXFLAGS; it causes
        -I/usr/include to wind up in cross-builds
        * configure: Regenerate.

From-SVN: r120006
2006-12-18 15:00:00 +00:00
Nathan Sidwell
2284bd2b66 rs6000.md (*movdf_hardfloat32): Use %X format to determine if memory operand is an indexed address or not.
* config/rs6000/rs6000.md (*movdf_hardfloat32): Use %X format to
	determine if memory operand is an indexed address or not.

From-SVN: r120003
2006-12-18 09:53:33 +00:00
GCC Administrator
3b4212c1eb Daily bump.
From-SVN: r120000
2006-12-18 00:18:03 +00:00
Steven Bosscher
757bbef814 cselib.c (struct cselib_val_struct): Make val_rtx its own field, remove the union that contained it.
* cselib.c (struct cselib_val_struct): Make val_rtx its
	own field, remove the union that contained it.
	* cselib.c: Update accordingly where necessary.

From-SVN: r119994
2006-12-17 22:57:04 +00:00
Steven Bosscher
a7582f7c6d cse.c (have_eh_succ_edges): New function.
* cse.c (have_eh_succ_edges): New function.
	(cse_insn): Don't remove dead EH edges here
	(cse_extended_basic_block): Do it here.
	(rest_of_handle_cse, rest_of_handle_cse2): Don't assert
	that we have removed all dead edges.

From-SVN: r119993
2006-12-17 20:27:25 +00:00
Eric Botcazou
d3f1be5dcd pr27528.c: Use empty templates.
* gcc.c-torture/compile/pr27528.c: Use empty templates.

From-SVN: r119991
2006-12-17 19:58:27 +00:00
Roger Sayle
fcd443200b re PR fortran/30207 (ICE in gfc_dep_resolver with where (a < 0) a(:) = 1)
2006-12-17  Roger Sayle  <roger@eyesopen.com>
	    Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/30207
	* dependency.c (gfc_full_array_ref_p): New function to test whether
	the given array ref specifies the entire array.
	(gfc_dep_resolver): Use gfc_full_array_ref_p to analyze AR_FULL
	array refs against AR_SECTION array refs, and vice versa.
	* dependency.h (gfc_full_array_ref_p): Prototype here.
	* trans-array.c (gfc_conv_expr_descriptor): Use gfc_full_array_ref_p.

	* gfortran.fortran-torture/execute/where21.f90: New test.

From-SVN: r119990
2006-12-17 18:28:07 +00:00
Tobias Burnus
2ef73bb4ef associated.c: Check for associated(NULL,NULL).
2006-12-17  Tobias Burnus  <burnus@net-b.de>

    * intrinsics/associated.c: Check for associated(NULL,NULL).

2006-12-17  Tobias Burnus  <burnus@net-b.de>

    * gfortran.dg/associated_2.f90: Add test for associated(NULL,NULL).

From-SVN: r119989
2006-12-17 19:00:46 +01:00
Matthias Klose
23f351630b re PR libstdc++/11953 (_REENTRANT defined when compiling non-threaded code.)
2006-12-17  Matthias Klose  <doko@debian.org>

        PR libstdc++/11953
        * gcc/config/mips/linux.h (SUBTARGET_CPP_SPEC): Extend.

From-SVN: r119986
2006-12-17 13:46:58 +00:00
Steven Bosscher
27511c652d cse.c (cse_find_path): Don't wrap a gcc_assert in ENABLE_CHECKING.
* cse.c (cse_find_path): Don't wrap a gcc_assert in ENABLE_CHECKING.
	(cse_extended_basic_block): When truncating a path while processing
	it, make sure to clear the visited bit on the basic blocks in the
	truncated part of the path.
	(cse_main): Use reverse completion order, not DFS order, to walk
	the CFG.
	(gate_handle_cse): Revert erroneous commit of a counter.

From-SVN: r119985
2006-12-17 13:12:37 +00:00
Steven Bosscher
96fb470d74 cse.c (this_insn_cc0, [...]): New global variables, moved out from cse_insn.
* cse.c (this_insn_cc0, this_insn_cc0_mode): New global
	variables, moved out from cse_insn.
	(prev_insn): Remove this global variable).
	(new_basic_block): Don't set it.
	(cse_insn): Idem. Also, move code to delete unused CC0-setter
	insns and code to set prev_insn_cc0 and prev_insn_cc0_mode
	from here...
	(cse_extended_basic_block): ...to here.  Do not clear
	prev_insn_cc0 until after recording equivalences from jumps.

From-SVN: r119984
2006-12-17 13:11:06 +00:00
Brooks Moses
c8cf50e4c1 gfortran.texi: Added TeX support for document parts...
* gfortran.texi: Added TeX support for document parts;
rearranged existing text into "About GNU Fortran",
"Invoking GNU Fortran", and "Language Reference" parts.

From-SVN: r119981
2006-12-16 18:41:48 -08:00
Jan Hubicka
04b201a28a * cgraphunit.c (ipa_passes): Clear current_function_decl.
From-SVN: r119979
2006-12-17 01:50:58 +00:00
GCC Administrator
57b9cba510 Daily bump.
From-SVN: r119977
2006-12-17 00:18:00 +00:00
Andreas Tobler
582fd9ced4 passes.c (verify_curr_properties): Define only for ENABLE_CHECKING.
2006-12-16  Andreas Tobler  <a.tobler@schweiz.org>

	* passes.c (verify_curr_properties): Define only for ENABLE_CHECKING.

From-SVN: r119971
2006-12-16 23:49:05 +01:00
Jan Hubicka
a5093353f1 omp-low.c (expand_omp_parallel): Set function properties.
* omp-low.c (expand_omp_parallel): Set function properties.
	* function.h (struct function): Add curr_properties and last_verified.
	* passes.c (register_dump_files): Do not set TODO_set_props for the
	first pass
	(init_optimization_passes): Set it here; reorder initialization so the
	dump files appear in more logical order.
	(last_verified, curr_properties): Kill.
	(do_per_function): New function.
	(execute_function_todo): Break out from ...
	(execute_todo): ... here; handle per-function flags.
	(clear_last_verified, verify_curr_properties,
	update_properties_after_pass): New functions.
	(execute_one_pass): Handle per-function properties.
	(execute_ipa_pass_list): Use do_per_function; sanity check that cfun
	and current_function_decls are cleared out.
	* ipa-cp.c (constant_val_insert): Clear cfun/current_function_decl
	after use.

From-SVN: r119966
2006-12-16 18:10:08 +00:00
Ralf Wildenhues
e5c0ebd921 howto.html: Fix typos.
2006-12-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
	
	* docs/html/27_io/howto.html: Fix typos.
	* docs/html/24_iterators/howto.html: Likewise.
	* docs/html/18_support/howto.html: Likewise.
	* docs/html/21_strings/howto.html: Likewise.
	* docs/html/ext/howto.html: Likewise.
	* docs/html/ext/ballocator_doc.html: Likewise.
	* docs/html/17_intro/porting-howto.xml: Likewise.
	* docs/html/17_intro/howto.html: Likewise.
	* docs/html/22_locale/howto.html: Likewise.
	* docs/html/faq/index.html: Likewise.
	* docs/doxygen/tables.html: Likewise.

From-SVN: r119964
2006-12-16 17:16:04 +00:00
Manuel López-Ibáñez
b3b433c507 re PR middle-end/7651 (Define -Wextra strictly in terms of other warning flags)
2006-12-16  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR middle-end/7651
	* c.opt (Wempty-body): New.
	* doc/invoke.texi (Wempty-body): Document it.
	(Wextra): Enabled by -Wextra.
	* c-opts.c (c_common_post_options): Enabled by -Wextra.
	* c-common.c (empty_body_warning): Replace Wextra with Wempty-body.
	* c-parser.c (c_parser_c99_block_statement): Likewise.
testsuite/
	* gcc.dg/20001116-1.c: Replace -Wextra with -Wempty-body.
	* gcc.dg/if-empty-1.c: Likewise.
	* gcc.dg/pr23165.c: Likewise.
	* g++.dg/warn/empty-body.C: Likewise.

From-SVN: r119963
2006-12-16 16:48:01 +00:00
Simon Martin
d6b418fa0b re PR c++/29475 (incomplete template diagnostics.)
2006-12-16  Simon Martin  <simartin@users.sourceforge.net>

	PR c++/29475
	* cp-tree.h (struct deferred_access_check): New structure to represent a
	deferred access check. It replaces the previous representation as a tree.
	(get_deferred_access_checks): Return a vector of struct
	deferred_access_check instead of a tree list.
	(perform_access_checks): Take a vector of struct deferred_access_check
	instead of a tree list.
	* semantics.c (struct deferred_access): Store the deferred access checks
	as a vector of struct deferred_access_check instead of a tree list.
	(push_deferring_access_checks): Handle the change in struct
	deferred_access.
	(get_deferred_access_checks): Likewise.
	(pop_to_parent_deferring_access_checks): Likewise.
	(perform_or_defer_access_check): Likewise.
	(perform_access_checks): Take a vector of struct deferred_access_check
	instead of a tree list.
	* parser.c (struct tree_check): New structure to store various data
	associated with a CPP_NESTED_NAME_SPECIFIER or CPP_TEMPLATE_ID token.
	(struct cp_token): Changed the value field to be a union with a pointer to
	a struct tree_check for CPP_NESTED_NAME_SPECIFIER or CPP_TEMPLATE_ID
	tokens and a tree field for all other tokens.
	(eof_token): Adjusted due to the change in struct cp_token.
	(cp_lexer_get_preprocessor_token): Likewise.
	(cp_lexer_purge_token): Likewise.
	(cp_lexer_purge_tokens_after): Likewise.
	(cp_lexer_print_token): Likewise.
	(cp_parser_error): Likewise.
	(cp_parser_identifier): Likewise.
	(cp_parser_string_literal): Likewise.
	(cp_parser_primary_expression): Likewise.
	(cp_parser_unqualified_id): Likewise.
	(cp_parser_parenthesized_expression_list): Likewise.
	(cp_parser_storage_class_specifier_opt): Likewise.
	(cp_parser_function_specifier_opt): Likewise.
	(cp_parser_type_specifier): Likewise.
	(cp_parser_simple_type_specifier): Likewise.
	(cp_parser_initializer_list): Likewise.
	(cp_parser_member_specification_opt): Likewise.
	(cp_parser_attribute_list): Likewise.
	(cp_parser_objc_expression): Likewise.
	(cp_parser_objc_protocol_qualifiers): Likewise.
	(cp_parser_objc_selector): Likewise.
	(cp_parser_objc_declaration): Likewise.
	(cp_parser_objc_statement): Likewise.
	(cp_parser_omp_clause_name): Likewise.
	(cp_parser_omp_clause_default): Likewise.
	(cp_parser_omp_clause_schedule): Likewise.
	(cp_parser_omp_parallel): Likewise.
	(cp_parser_initial_pragma): Likewise.
	(pragma_lex): Likewise.
	(cp_parser_pre_parsed_nested_name_specifier): Likewise.
	(cp_parser_nested_name_specifier_opt): Likewise.
	Use cp_token::u::tree_check_value to save the token's value, the
	associated deferred checks and its qualifying scope.
	(cp_parser_template_id): Likewise.
	(cp_parser_template_declaration_after_export): Adjusted the call to
	get_deferred_access_checks.
	(cp_parser_init_declarator): Take the access checks as a vector of struct
	deferred_access_check instead of a tree list.
	(cp_parser_single_declaration): Likewise.
	(cp_parser_perform_template_parameter_access_checks): Likewise.
	(cp_parser_simple_declaration): Adjusted the call to
	cp_parser_init_declarator.
	(cp_parser_explicit_specialization): Adjusted the call to
	cp_parser_single_declaration.

From-SVN: r119961
2006-12-16 08:51:42 +00:00
Jerry DeLisle
e6a98ba893 re PR libfortran/30005 (Open errors (not/already exists etc.): show also the file name)
2006-12-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/30005
	* gfortran.dg/open_errors.f90: New test.

From-SVN: r119960
2006-12-16 05:27:31 +00:00
H.J. Lu
e96af95382 i386-cpuid.h (bit_SSSE3): New.
2006-12-15  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc.dg/i386-cpuid.h (bit_SSSE3): New.

	* gcc.target/i386/ssse3-pabsb.c: New file.
	* gcc.target/i386/ssse3-pabsd.c: Likewise.
	* gcc.target/i386/ssse3-pabsw.c: Likewise.
	* gcc.target/i386/ssse3-palignr.c: Likewise.
	* gcc.target/i386/ssse3-phaddd.c: Likewise.
	* gcc.target/i386/ssse3-phaddsw.c: Likewise.
	* gcc.target/i386/ssse3-phaddw.c: Likewise.
	* gcc.target/i386/ssse3-phsubd.c: Likewise.
	* gcc.target/i386/ssse3-phsubsw.c: Likewise.
	* gcc.target/i386/ssse3-phsubw.c: Likewise.
	* gcc.target/i386/ssse3-pmaddubsw.c: Likewise.
	* gcc.target/i386/ssse3-pmulhrsw.c: Likewise.
	* gcc.target/i386/ssse3-pshufb.c: Likewise.
	* gcc.target/i386/ssse3-psignb.c: Likewise.
	* gcc.target/i386/ssse3-psignd.c: Likewise.
	* gcc.target/i386/ssse3-psignw.c: Likewise.
	* gcc.target/i386/ssse3-vals.h: Likewise.

From-SVN: r119958
2006-12-15 16:47:39 -08:00
GCC Administrator
bac8730736 Daily bump.
From-SVN: r119956
2006-12-16 00:17:50 +00:00
Janis Johnson
bceed4d671 gfortran-dg.exp: Don't include fortran-torture.exp.
* lib/gfortran-dg.exp: Don't include fortran-torture.exp.
	* lib/fortran-torture.exp: Include target-supports.exp.

From-SVN: r119950
2006-12-15 23:31:41 +00:00
Jakub Jelinek
99e8e64971 re PR target/30185 (ICE with struct and divide)
PR target/30185
	* config/rs6000/rs6000.md (div<mode>3): Use correct mode in
	force_reg call.

	* gcc.c-torture/execute/pr30185.c: New test.

From-SVN: r119947
2006-12-16 00:08:18 +01:00
John David Anglin
8f3fc4aa8d re PR testsuite/30179 (FAIL: gcc.c-torture/execute/mode-dependent-address.c compilation, -O0)
PR testsuite/30179
	PR testsuite/30180
	* gcc.dg/builtin-bswap-1.c: Require stdint_types.
	* gcc.dg/builtin-bswap-2.c: Likewise.
	* gcc.dg/builtin-bswap-3.c: Likewise.
	* gcc.dg/builtin-bswap-4.c: Likewise.
	* lib/target-supports.exp (check_effective_target_stdint_types): New.
	* cc.c-torture/execute/mode-dependent-address.x: New file.

From-SVN: r119945
2006-12-15 21:41:58 +00:00
Simon Martin
b65151d3dd * MAINTAINERS (Write After Approval): Add myself.
From-SVN: r119944
2006-12-15 21:17:51 +00:00
Jerry DeLisle
7a93298701 re PR fortran/30145 (Fortran 90: write statement fails to ignore zero-sized array...)
2006-12-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/30145
	* gfortran.dg/write_zero_array: New test.

From-SVN: r119943
2006-12-15 19:58:10 +00:00
Jerry DeLisle
87cd572dee re PR fortran/30145 (Fortran 90: write statement fails to ignore zero-sized array...)
2006-12-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/30145
	* io/transfer.c (transfer_array):  Check for negative extent.

From-SVN: r119942
2006-12-15 19:54:52 +00:00
Jerry DeLisle
92efdb0750 re PR libfortran/30200 ([4.1 only] write(*,myfmt="(1X,a,'xyz')") "A" prints Az' instead of Axyz)
2006-12-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/30200
	* gfortran.dg/write_fmt_trim.f90: New test.

From-SVN: r119941
2006-12-15 19:52:49 +00:00
Jerry DeLisle
9341698a40 re PR libfortran/30200 ([4.1 only] write(*,myfmt="(1X,a,'xyz')") "A" prints Az' instead of Axyz)
2006-12-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/30200
	* trans-io.c (build_dt): Move post block for format_expr to end.

From-SVN: r119940
2006-12-15 19:48:08 +00:00
Andrew Pinski
b779a87483 re PR tree-optimization/30140 (inliner produces invalid gimple with promoted types)
2006-12-15  Andrew Pinski  <pinski@gmail.com>

        PR tree-opt/30140
        * tree-inline.c (setup_one_parameter): Gimplify the statement if
        the variable is not a gimple register variable.

From-SVN: r119883
2006-12-15 07:48:10 -08:00
Uros Bizjak
5db74c3230 invoke.texi (mstringop-strategy): Add missing "byte_loop" value.
* invoke.texi (mstringop-strategy): Add missing "byte_loop" value.

From-SVN: r119877
2006-12-15 10:01:29 +01:00
GCC Administrator
47a1180805 Daily bump.
From-SVN: r119874
2006-12-15 00:17:34 +00:00
Diego Novillo
9929132d55 re PR tree-optimization/30194 (alias set partitioning dependent on SFT DECL_UIDs)
PR 30194
	* gcc.dg/pr19633-1.c: Increase threshold for partitioning
	temporarily.

From-SVN: r119867
2006-12-14 14:50:11 -05:00
Richard Guenther
a5320d391d Make-lang.in (fortran/options.o): Add $(PARAMS_H) dependency.
2006-12-14  Richard Guenther  <rguenther@suse.de>
	    Diego Novillo  <dnovillo@redhat.com>

	* Make-lang.in (fortran/options.o): Add $(PARAMS_H) dependency.
	* options.c (params.h): Include.
	(gfc_post_options): Set MAX_ALIASED_VOPS to 50.



Co-Authored-By: Diego Novillo <dnovillo@redhat.com>

From-SVN: r119866
2006-12-14 14:39:44 -05:00
Jan Hubicka
5cdec2a169 tree-flow.h (struct stmt_ann_d): Move bitfield references_memory to proper place.
* tree-flow.h (struct stmt_ann_d): Move bitfield references_memory
	to proper place.

From-SVN: r119863
2006-12-14 16:22:26 +00:00
John David Anglin
60784de8d1 target-supports.exp (check_weak_available): Use istarget "hppa*-*-hpux10*" instead of regexp.
* lib/target-supports.exp (check_weak_available): Use istarget
	"hppa*-*-hpux10*" instead of regexp.
	(check_cxa_atexit_available): Likewise.

From-SVN: r119861
2006-12-14 16:13:59 +00:00
Richard Guenther
28f4586bf8 re PR middle-end/30197 (cexp ( __complex__ ( 0, x ) ) can be folded to cexpi (x))
2006-12-14  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/30197
	* builtins.c (fold_builtin_cexp): New function to fold cexp
	to cexpi and exp parts.
	* tree-ssa-pre.c (try_combine_conversion): Also handle
	REALPART_EXPR and IMAGPART_EXPR.

	* gcc.c-torture/execute/complex-1.c: Fix function name.
	* gcc.dg/builtins-61.c: New testcase.

From-SVN: r119860
2006-12-14 13:14:23 +00:00
Richard Guenther
9f5396713d re PR middle-end/30172 (Operations with partly constant complex values not folded)
2006-12-14  Richard Guenther  <rguenther@suse.de>

	PR middle-end/30172
	* fold-const.c (fold_binary): Fold __complex__ ( x, 0 )
	+ __complex__ ( 0, y ) to __complex__ ( x, y ).
	Fold __complex__ (x, y) * +-I to __complex__ (-+y, +-x).

	* gcc.dg/pr30172-1.c: New testcase.

From-SVN: r119859
2006-12-14 13:12:11 +00:00
Richard Guenther
85aef79f75 re PR middle-end/30198 (__real / __imag cexpi (x) can be folded to cos (x) / sin (x))
2006-12-14  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/30198
	* fold-const.c (fold_unary): Fold REALPART_EXPR of cexpi to cos.
	Fold IMAGPART_EXPR of cexpi to sin.

	* gcc.dg/builtins-60.c: New testcase.

From-SVN: r119858
2006-12-14 13:09:24 +00:00
Dorit Nuzman
bbea461bd9 spu.c (TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD): Defined.
* spu.c (TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD): Defined.
        (spu_init_builtins): Mark the SPU_MASK_FOR_LOAD builtin decl as read
        only.
        (spu_expand_builtin_1): Handle the SPU_MASK_FOR_LOAD builtin.
        (spu_builtin_mask_for_load): New.
        * spu-builtins.def (SPU_MASK_FOR_LOAD): Define new builtin.
        * spu.md (UNSPEC_SPU_REALIGN_LOAD, UNSPEC_SPU_MASK_FOR_LOAD):New.
        (vec_realign_load_<mode>, spu_lvsr): New.


Co-Authored-By: Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>

From-SVN: r119857
2006-12-14 12:11:38 +00:00
Andreas Tobler
f4f7486bcf configure.ac: Add TARGET for x86_64-*-darwin*.
2006-12-14  Andreas Tobler  <a.tobler@schweiz.org>

	* configure.ac: Add TARGET for x86_64-*-darwin*.
	* Makefile.am (nodist_libffi_la_SOURCES): Add rules for 64-bit sources
	for X86_DARWIN.
	* src/x86/ffitarget.h: Set trampoline size for x86_64-*-darwin*.
	* src/x86/darwin64.S: New file for x86_64-*-darwin* support.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.
	* testsuite/libffi.special/unwindtest_ffi_call.cc: New test case for
	ffi_call only.

From-SVN: r119856
2006-12-14 08:34:45 +01:00
Ian Lance Taylor
2a67bec24f re PR c++/19564 (-Wparentheses does not work with the C++ front-end)
PR c++/19564
	PR c++/19756
gcc/:
	* c-typeck.c (parser_build_binary_op): Move parentheses warnings
	to warn_about_parentheses in c-common.c.
	* c-common.c (warn_about_parentheses): New function.
	* c-common.h (warn_about_parentheses): Declare.
	* doc/invoke.texi (Warning Options): Update -Wparentheses
	description.
gcc/cp/:
	* parser.c (cp_parser_expression_stack_entry): Add field
	lhs_type.
	(cp_parser_binary_expression): Track tree code of left hand side
	of expression.  Use it when calling build_x_binary_op.
	(cp_parser_selection_statement): Add if_p parameter.  Change all
	callers.  Warn about ambiguous else.
	(cp_parser_statement): Add if_p parameter.  Change all callers.
	(cp_parser_implicitly_scoped_statement): Likewise.
	* typeck.c (build_x_binary_op): Add parameters arg1_code and
	arg2_code.  Change all callers.  Call warn_about_parentheses.
	* cp-tree.h (build_x_binary_op): Update declaration.
gcc/testsuite/:
	* g++.dg/warn/Wparentheses-5.C: New test.
	* g++.dg/warn/Wparentheses-6.C: New test.
	* g++.dg/warn/Wparentheses-7.C: New test.
	* g++.dg/warn/Wparentheses-8.C: New test.
	* g++.dg/warn/Wparentheses-9.C: New test.
	* g++.dg/warn/Wparentheses-10.C: New test.
	* g++.dg/warn/Wparentheses-11.C: New test.
	* g++.dg/warn/Wparentheses-12.C: New test.
	* g++.dg/warn/Wparentheses-13.C: New test.
	* g++.dg/warn/Wparentheses-14.C: New test.
	* g++.dg/warn/Wparentheses-15.C: New test.
	* g++.dg/warn/Wparentheses-16.C: New test.
	* g++.dg/warn/Wparentheses-17.C: New test.
	* g++.dg/warn/Wparentheses-18.C: New test.
	* g++.dg/warn/Wparentheses-19.C: New test.
	* g++.dg/warn/Wparentheses-20.C: New test.
	* g++.dg/warn/Wparentheses-21.C: New test.
libstdc++-v3/:
	* include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
	Add parentheses around && within || to avoid warning.
	(num_get<>::_M_extract_int): Likewise.
	(money_get<>::_M_extract): Likewise.
	(num_get<>::do_get(iter_type, iter_type, ios_base&,
	ios_base::iostate&, void*&)): Add parentheses around & within | to
	avoid warning.
	(num_put<>::do_put(iter_type, ios_base&, char_type, const void*)):
	Likewise.
	* include/bits/streambuf_iterator.h (istreambuf_iterator::equal):
	Add parentheses around && within || to avoid warning.
	* libsupc++/tinfo.cc (__do_dyncast): Likewise.
	* src/locale.cc (locale::_S_normalize_category): Likewise.
	* include/bits/stl_tree.h (_Rb_tree<>::_M_insert_unique): Add
	braces to avoid ambiguous else warning.
	* src/strstream.cc (strstreambuf::_M_free): Likewise.
	* src/tree.cc (_Rb_tree_rebalance_for_erase): Likewise.

From-SVN: r119855
2006-12-14 05:49:06 +00:00
Zdenek Dvorak
73f30c6308 tree-ssa-loop-ivopts.c: Include tree-affine.h.
* tree-ssa-loop-ivopts.c: Include tree-affine.h.
	(divide): Removed.
	(constant_multiple_of): Fix order of operators for division.
	(aff_combination_const, aff_combination_elt, aff_combination_scale,
	aff_combination_add_elt, aff_combination_add, aff_combination_convert,
	tree_to_aff_combination, add_elt_to_tree, unshare_aff_combination,
	aff_combination_to_tree): Moved to tree-affine.c and made to work with
	double_int coefficients.
	(get_computation_aff, get_computation_at): Work with double_int
	coefficients.
	(get_computation_cost_at): Do not use divide.
	(rewrite_use_nonlinear_expr, rewrite_use_address, rewrite_use_compare):
	Assert that expressing the computation did not fail.
	* tree-ssa-address.c: Include tree-affine.h.
	(add_to_parts, most_expensive_mult_to_index, addr_to_parts,
	create_mem_ref): Work with double_int coefficients.
	* tree-affine.c: New file.
	* tree-affine.h: New file.
	* tree-flow.h (struct affine_tree_combination): Removed.
	* Makefile.in (tree-affine.o): Add.
	(tree-ssa-address.o, tree-ssa-loop-ivopts.o): Add tree-affine.h
	dependency.

From-SVN: r119854
2006-12-14 02:05:20 +00:00
GCC Administrator
904e0e974d Daily bump.
From-SVN: r119852
2006-12-14 00:18:03 +00:00
Eric Christopher
7e05083051 MAINTAINERS: Add myself as darwin maintainer.
2006-12-13  Eric Christopher  <echristo@apple.com>

        * MAINTAINERS: Add myself as darwin maintainer.

From-SVN: r119851
2006-12-14 00:17:58 +00:00
Andreas Tobler
3d5eafe232 aclocal.m4: Regenerate with aclocal -I ..
2006-12-13  Andreas Tobler <a.tobler@schweiz.org>

	* aclocal.m4: Regenerate with aclocal -I .. as written in the
	Makefile.am.

From-SVN: r119845
2006-12-13 22:04:07 +01:00
Peter Bergner
8c1249f965 re PR middle-end/30191 (GCC error: in eliminate_regs_in_insn, at reload1.c:3126)
PR middle-end/30191
        Revert:
        * reload1.c (eliminate_regs_in_insn): Merge the plus_src "else" and
        the offset == 0 "then" clauses.
        * config/rs6000/predicates.md (gpc_reg_operand): Check for
        reload_in_progress.

From-SVN: r119844
2006-12-13 13:19:03 -06:00
John David Anglin
c53fa1740a re PR testsuite/30157 (cxa_atexit check doesn't work)
PR testsuite/30157
	* lib/target-supports.exp (check_cxa_atexit_available): Return false
	for target "hppa.*hpux10".

From-SVN: r119842
2006-12-13 18:47:04 +00:00