Commit Graph

77995 Commits

Author SHA1 Message Date
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
Uros Bizjak
b0d95de801 i386.h (FIRST_PSEUDO_REGISTER): Define to 53.
* config/i386/i386.h (FIRST_PSEUDO_REGISTER): Define to 53.
	(FIXED_REGISTERS, CALL_USED_REGISTERS): Remove dir register.
	(REG_ALLOC_ORDER): Remove one element due to removal of dir register.
	(FRAME_POINTER_REGNUM): Update register number to 20.
	(REG_CLASS_CONTENTS): Update contents due to removed dir register.
	(HI_REGISTER_NAMES): Remove "dirflag".

	* config/i386/i386.c (regclass_map): Remove dirflag entry.
	(dbx_register_map, dbx64_register_map, svr4_dbx_register_map):
	Remove "dir" entry.
	(ix86_md_asm_clobbers): Remove "dirflag" default asm clobber.

	* config/i386/i386.md (R10_REG, R11_REG): Renumber.
	(sse_prologue_save, *sse_prologue_save_insn): Renumber
	hardcoded SSE register numbers.

	* config/i386/mmx.md (mmx_emms, mmx_femms): Renumber
	hardcoded MMX register numbers.

From-SVN: r119839
2006-12-13 19:07:47 +01:00
Mark Shinwell
8edfc4ccb4 arm.c (arm_output_fldmx): Output FLDMD instead of FLDMX.
gcc/
        * config/arm/arm.c (arm_output_fldmx): Output FLDMD instead of
        FLDMX.  Rename function to...
        (vfp_output_fldmd): ...this.
        (vfp_output_fstmx): Output FSTMD instead of FSTMX.  Rename
        function to...
        (vfp_output_fstmd): ...this.
        (vfp_emit_fstmx): Don't leave space in the frame layout for the
        FSTMX format word.  Rename function to...
        (vfp_emit_fstmd): ...this.
        (arm_get_vfp_saved_size): Don't add in space for the FSTMX format
        word.
        (arm_output_epilogue): Adjust comment to reflect use of FSTMD.
        (arm_unwind_emit_sequence): Don't compensate for the FSTMX format
        word.  Also emit "vsave" assembler directives in such cases rather
        than "save".
        * config/arm/libunwind.S (gnu_Unwind_Restore_VFP,
        gnu_Unwind_Save_VFP): Adjust comments.
        (gnu_Unwind_Restore_VFP_D, gnu_Unwind_Save_VFP_D): New functions
        for saving and restoring using FSTMD and FLDMD rather than
        FSTMX and FLDMX.
        (gnu_Unwind_Restore_VFP_D_16_to_31, gnu_Unwind_Restore_VFP_D_16_to_31):
        New functions for saving and restoring the VFPv3 registers 16 .. 31.
        * config/arm/pr-support.c (gnu_unwind_execute): Add conditional
        compilation case to correctly handle unwind opcode 0xc8 when using
        VFP.
        * config/arm/unwind-arm.c (struct vfpv3_regs): New.
        (DEMAND_SAVE_VFP_D, DEMAND_SAVE_VFP_V3): New flags.
        (__gnu_Unwind_Save_VFP_D, __gnu_Unwind_Restore_VFP_D,
        __gnu_Unwind_Save_VFP_D_16_to_31, __gnu_Unwind_Restore_VFP_D_16_to_31):
        Declare.
        (restore_non_core_regs): Restore registers using FLDMD rather than
        FLDMX if required.  Also handle restoration of VFPv3 registers.
        (_Unwind_VRS_Pop): Handle saving and restoring of registers using
        FSTMD and FLDMD if required; also handle VFPv3 registers 16 .. 31,
        including cases where the caller specifies a range of registers
        that overlaps the d15/d16 boundary.

From-SVN: r119838
2006-12-13 17:32:47 +00:00
Jakub Jelinek
6cf43108a9 [multiple changes]
2006-12-13  Jakub Jelinek  <jakub@redhat.com>

	* g++.dg/debug/vartrack1.C: New test.

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

	* gcc.dg/tls/opt-13.c: New test.

	* gcc.dg/20060425-2.c: New test.

	* g++.dg/opt/pr15054-2.C: New test.

	* gcc.c-torture/execute/20060420-1.c: New test.

	* gcc.c-torture/execute/20060412-1.c: New test.

	* objc/compile/20060406-1.m: New test.

2006-12-08  Alexandre Oliva  <aoliva@redhat.com>

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

2006-02-25  Alexandre Oliva  <aoliva@redhat.com>

	* gcc.target/powerpc/altivec-23.c: New test.

From-SVN: r119837
2006-12-13 18:29:26 +01:00
Diego Novillo
40e1b1d433 Fix PR attribution to last change.
From-SVN: r119836
2006-12-13 12:25:48 -05:00
Diego Novillo
018264d9c0 tree-ssa-operands.h (SSA_OPERAND_MEMORY_SIZE): Add space to accomodate 511 operands.
* tree-ssa-operands.h (SSA_OPERAND_MEMORY_SIZE): Add space to
	accomodate 511 operands.

From-SVN: r119835
2006-12-13 12:19:29 -05:00
Richard Guenther
0f98ca0a35 builtins.c (expand_builtin_cexpi): Fix typo.
2006-12-13  Richard Guenther  <rguenther@suse.de>

	* builtins.c (expand_builtin_cexpi): Fix typo.

From-SVN: r119834
2006-12-13 16:53:15 +00:00
Lee Millward
13067f2131 PR c++27316
PR c++27316
	* g++.dg/inherit/error3.C: New test.

	PR c++/28740
	* g++.dg/inherit/error4.C: New test.

From-SVN: r119830
2006-12-13 13:25:47 +00:00
Jan Hubicka
6946b3f7f5 Makefile.in: Add dependencies.
* Makefile.in: Add dependencies.
	* tree-pretty-print.c: Include value-prof.h
	(dump_generic_bb_buff): Dump histograms
	* value-prof.c: Include pointer-set.h
	(gimple_alloc_histogram_value, histogram_hash, histogram_eq,
	set_histogram_value, gimple_histogram_value,
	gimple_add_histogram_value, gimple_remove_histogram_value,
	gimple_histogram_value_of_type, dump_histogram_value,
	dump_histograms_for_stmt, gimple_remove_stmt_histograms,
	gimple_duplicate_stmt_histograms, visit_hist,
	verify_histograms): New functions.
	(tree_value_profile_transformations): Update for new histogram API.
	(tree_divmod_fixed_value): Update for new histogram API.
	(tree_divmod_fixed_value_transform): Update for new histogram API.
	(tree_mod_pow2): Update for new histogram API.
	(tree_mod_pow2_value_transform): Update for new histogram API.
	(tree_mod_subtract): Update for new histogram API.
	(tree_mod_subtract_transform): Update for new histogram API.
	(tree_stringops_transform): Update for new histogram API.
	(tree_divmod_values_to_profile): Update for new histogram API.
	(tree_stringops_values_to_profile): Update for new histogram API.
	(tree_find_values_to_profile): Update for new histogram API.
	* value-prof.h (gimple_histogram_value): Declare.
	(gimple_histogram_value_of_type): Declare.
	(gimple_add_histogram_value): Declare.
	(gimple_remove_histogram_value): Declare.
	(dump_histograms_for_stmt): Declare.
	(gimple_remove_histogram_value): Declare.
	(gimple_remove_stmt_histograms): Declare.
	(gimple_duplicate_stmt_histograms): Declare.
	(verify_histograms): Declare.
	* function.h
	(struct funrction): Add value_histograms hash.
	(VALUE_HISTOGRAMS): New macro.
	* profile.c (compute_value_histograms): update for new API.
	* tree-inline.c: Include value-prof.h
	(copy_bb): Update histograms.
	* tree-flow.h (struct stmt_ann_d): Do not contain pointer to histograms;
	reorder to get smaller memory layout.
	* tree-cfg.c: Include value-prof.h
	(bsi_remove): Update histograms.
	(bsi_replace): Update histograms.
	(verify_stmts): Call histogram verifier.
	(tree_duplicate_bb): Update histograms.
	(move_block_to_fn): Update histograms.

From-SVN: r119829
2006-12-13 13:02:06 +00:00
Richard Guenther
a22831b13c ipa-inline.c (cgraph_flatten_node): Replace leafify with flatten.
2006-12-13  Richard Guenther  <rguenther@suse.de>

	* ipa-inline.c (cgraph_flatten_node): Replace leafify with
	flatten.
	(cgraph_decide_inlining): Likewise.

From-SVN: r119827
2006-12-13 12:17:02 +00:00
Richard Guenther
75c7c595ac re PR tree-optimization/17687 (sincos tree representation causes extra addressable vars)
2006-12-13  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/17687
	* builtins.def (BUILT_IN_CEXPI, BUILT_IN_CEXPIF, BUILT_IN_CEXPIL):
	New builtins for imaginary argument cexp.
	* builtin-types.def (BT_FN_COMPLEX_FLOAT_FLOAT,
	BT_FN_COMPLEX_DOUBLE_DOUBLE, BT_FN_COMPLEX_LONGDOUBLE_LONGDOUBLE):
	New required builtin types.
	* builtins.c (expand_builtin_cexpi): Declare.
	(mathfn_built_in): Handle BUILT_IN_CEXPI.
	(expand_builtin_cexpi): New static helper.
	(expand_builtin): Call it.
	(do_mpfr_sincos): Adjust for CEXPI evaluation.
	(fold_builtin_sincos): New function to fold sincos to cepxi.

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

From-SVN: r119824
2006-12-13 10:17:36 +00:00
Richard Guenther
54200abb68 re PR fortran/30115 (allocate() interface pessimizes aliasing)
2006-12-13  Richard Guenther  <rguenther@suse.de>

	PR fortran/30115
	* runtime/memory.c (allocate_size): Change interface to
	void *()(size_t, GFC_INTEGER_4 *).
	(allocate): Likewise.
	(allocate64): Likewise.
	(allocate_array): Change interface to
	void *()(void *, size_t, GFC_INTEGER_4 *).
	(allocate64_array): Likewise.
	(deallocate): Change interface to
	void ()(void *, GFC_INTEGER_4 *).

	* trans-array.c (gfc_array_allocate): Adjust for changed
	library interface.
	(gfc_array_deallocate): Likewise.
	(gfc_trans_dealloc_allocated): Likewise.
	* trans-stmt.c (gfc_trans_allocate): Likewise.
	(gfc_trans_deallocate): Likewise.
	* trans-decl.c (gfc_build_builtin_function_decls): Adjust
	function declarations to match the library changes.  Mark
	allocation functions with DECL_IS_MALLOC.

From-SVN: r119822
2006-12-13 09:57:56 +00:00
Richard Guenther
691eb42f29 ipa-reference.c (scan_for_static_refs): Also scan tcc_comparison class trees.
2006-12-13  Richard Guenther  <rguenther@suse.de>

	* ipa-reference.c (scan_for_static_refs): Also scan
	tcc_comparison class trees.

From-SVN: r119821
2006-12-13 09:56:24 +00:00
Geoffrey Keating
2989d30c12 mips-tdump.c: Replace CROSS_COMPILE with CROSS_DIRECTORY_STRUCTURE.
* mips-tdump.c: Replace CROSS_COMPILE with
	CROSS_DIRECTORY_STRUCTURE.
	* mips-tfile.c: Likewise.
	* gcc.c: Likewise.
	* configure.ac: Likewise.
	* cppdefault.c: Likewise.
	* Makefile.in: Likewise.
	* config/alpha/osf.h: Likewise.
	* config/i386/cygwin.h: Likewise.
	* config/i386/beos-elf.h: Likewise.
	* config/i386/nto.h: Likewise.
	* config/fr30/fr30.h: Likewise.
	* config/svr4.h: Likewise.
	* config/rs6000/aix.h: Likewise.
	* config/rs6000/sysv4.h: Likewise.
	* config/pa/pa64-hpux.h: Likewise.
	* config/pa/pa-hpux10.h: Likewise.
	* config/pa/pa-hpux11.h: Likewise.
	* collect2.c: Likewise.
	* configure: Regenerate.

From-SVN: r119820
2006-12-13 09:28:16 +00:00
David Daney
4d9f4c465b mips.h (ASM_OUTPUT_EXTERNAL): Undefine it before define.
* config/mips/mips.h (ASM_OUTPUT_EXTERNAL): Undefine it before
	define.

From-SVN: r119819
2006-12-13 06:53:49 +00:00
Andrew Pinski
fc98ed56e1 tree-vect-transform.c (vect_permute_load_chain): Set DECL_GIMPLE_REG_P to true for the vect_perm_* temp variables.
2006-12-12  Andrew Pinski  <pinskia@gmail.com>

        * tree-vect-transform.c (vect_permute_load_chain):
        Set DECL_GIMPLE_REG_P to true for the vect_perm_*
        temp variables.

From-SVN: r119818
2006-12-12 21:37:39 -08:00
Ben Elliston
83a01f24c3 spu.h (C_COMMON_OVERRIDE_OPTIONS): Define.
* config/spu/spu.h (C_COMMON_OVERRIDE_OPTIONS): Define.
	(REGISTER_TARGET_PRAGMAS): Don't zero warn_main flag.
	* config/spu/spu-protos.h (spu_c_common_override_options):
	Declare.
	* config/spu/spu-c.c (spu_c_common_override_options): New.
	* config/spu/spu.c (spu_override_options): Whitespace fix.

testsuite/
	* gcc.target/spu/Wmain.c: New test.

From-SVN: r119817
2006-12-13 16:25:57 +11:00
Josh Conner
26dff230b8 thunk3.C: Use .weak_definition on darwin.
2006-12-12  Josh Conner  <jconner@apple.com>

	* g++.dg/abi/thunk3.C: Use .weak_definition on darwin.
	* g++.dg/abi/thunk4.C: Likewise.
	* g++.dg/abi/rtti3.C: Likewise.

From-SVN: r119815
2006-12-13 02:16:19 +00:00