Commit Graph

93427 Commits

Author SHA1 Message Date
Arnaud Charlet fd366a46fa [multiple changes]
2009-05-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch8.adb (Analyze_Object_Renaming): If the object is a function
	call returning an unconstrained composite value, create the proper
	subtype for it, as is done for object dclarations with unconstrained
	nominal subtypes

2009-05-06  Robert Dewar  <dewar@adacore.com>

	* sem_ch13.adb (Check_Constant_Address_Clause): Minor error message
	improvements

	* freeze.adb: Minor reformatting

From-SVN: r147156
2009-05-06 11:03:57 +02:00
Paolo Carlini 326bc15919 revert: acinclude.m4 ([GLIBCXX_ENABLE_ATOMIC_BUILTINS]): Do link tests when possible.
2009-05-06  Paolo Carlini  <paolo.carlini@oracle.com>

	Revert:
	2009-05-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* acinclude.m4 ([GLIBCXX_ENABLE_ATOMIC_BUILTINS]): Do link tests when
	possible.
	* configure: Regenerate.

From-SVN: r147154
2009-05-06 09:00:34 +00:00
Arnaud Charlet 7dd1ab8497 [multiple changes]
2009-05-06  Thomas Quinot  <quinot@adacore.com>

	* sem_ch3.adb (Access_Type_Declaration): An access type whose
	designated type is a limited view from a limited with clause (flagged
	From_With_Type) is not itself such a limited view.

2009-05-06  Emmanuel Briot  <briot@adacore.com>

	* prj-nmsc.adb: Remove unused variable.

	* clean.adb, gnatcmd.adb, makeutl.ads, prj-pars.adb, prj-pars.ads,
	prj-proc.ads, prj.ads, switch-m.adb (Subdirs_Option): Moved to
	makeutl.ads, since not all users of prj.ads need this.

From-SVN: r147152
2009-05-06 10:29:29 +02:00
Javier Miranda 2854148891 exp_aggr.adb (Build_Record_Aggr_Code): Add implicit call to the C++ constructor in case of aggregates whose type is a...
2009-05-06  Javier Miranda  <miranda@adacore.com>

	* exp_aggr.adb (Build_Record_Aggr_Code): Add implicit call to the C++
	constructor in case of aggregates whose type is a CPP_Class type.

From-SVN: r147151
2009-05-06 10:28:40 +02:00
Arnaud Charlet 55c078acd9 [multiple changes]
2009-05-06  Robert Dewar  <dewar@adacore.com>

	* sem_ch13.adb: Minor comment additions

	* osint.adb: Minor reformatting

2009-05-06  Pascal Obry  <obry@adacore.com>

	* initialize.c: On Windows, keep full pathname to expanded command
	line patterns.

From-SVN: r147150
2009-05-06 10:23:58 +02:00
Arnaud Charlet 6bde3eb52c [multiple changes]
2009-05-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_aggr.adb (Resolve_Record_Aggregate): If a defaulted component of
	an aggregate with box default is of a discriminated private type, do
	not build a subaggregate for it.
	A proper call to the initialization procedure is generated for it.

2009-05-06  Thomas Quinot  <quinot@adacore.com>

	* rtsfind.adb, rtsfind.ads, exp_dist.adb, exp_dist.ads
	(Exp_Dist.Build_TC_Call, Build_From_Any_Call, Build_To_Any_Call):
	Use PolyORB strings to represent Ada.Strings.Unbounded_String value;
	use standard array code for Standard.String.
	(Exp_Dist): Bump PolyORB s-parint API version to 3.
	(Rtsfind): New entities TA_Std_String, Unbounded_String.

2009-05-06  Robert Dewar  <dewar@adacore.com>

	* g-comlin.ads: Minor reformatting

	* xoscons.adb: Minor reformatting

From-SVN: r147149
2009-05-06 10:20:13 +02:00
Arnaud Charlet 3743d5bde6 [multiple changes]
2009-05-06  Gary Dismukes  <dismukes@adacore.com>

	* sem_aggr.adb (Resolve_Record_Aggregate): In step 5, get the
	Underlying_Type before retrieving the type definition for gathering
	components, to account for the case where the type is private.

2009-05-06  Tristan Gingold  <gingold@adacore.com>

	* g-comlin.ads: Fix minor typos (Getopt instead of Get_Opt).

2009-05-06  Thomas Quinot  <quinot@adacore.com>

	* g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
	g-socthi-vxworks.ads, g-socthi-mingw.adb g-socthi-mingw.ads,
	g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb
	(GNAT.Sockets.Thin.C_Sendmsg, GNAT.Sockets.Thin.C_Recvmsg,
	Windows versions): Fix incorrect base
	address of Iovec (it's Msg_Iov, not Msg_Iov'Address).
	(GNAT.Sockets.Thin.C_Sendto, GNAT.Sockets.Thin.C_Recvfrom): Use a
	System.Address for the To parameter instead of a Sockaddr_In_Access, to
	achieve independance from AF_INET family, and also to allow this
	parameter to be retrieved from a Msghdr for the Windows case where
	these routines are used to implement C_Sendmsg and C_Recvmsg.

2009-05-06  Bob Duff  <duff@adacore.com>

	* g-expect.adb, g-expect.ads: Minor reformatting

	* sdefault.ads: Minor comment fix

	* g-expect-vms.adb: Minor reformatting

	* table.ads, table.adb (Append_All): New convenience procedure for
	appending a whole array.

	* comperr.adb (Compiler_Abort): Mention the -gnatd.n switch in the bug
	box message. Call Osint.Dump_Source_File_Names to print out the file
	list, instead of rummaging around in various data structures.

	* debug.adb: New switch -gnatd.n, to print source file names as they
	are read.

	* alloc.ads: Add parameters for Osint.File_Name_Chars.

	* osint.ads, osint.adb (Dump_Source_File_Names): New procedure to print
	out source file names during a "bug box".
	(Include_Dir_Default_Prefix): Use memo-izing to avoid repeated new/free.
	(Read_Source_File): Print out the file name, if requested via -gnatd.n.
	If it's not part of the runtimes, store it for later printing by
	Dump_Source_File_Names.

2009-05-06  Javier Miranda  <miranda@adacore.com>

	* gnat_rm.texi (CPP_Constructor): Avoid duplication of the
	documentation and add reference to the GNAT user guide for further
	details.

2009-05-06  Javier Miranda  <miranda@adacore.com>

	* gnat_ugn.texi: Complete documentation for CPP_Constructor and remove
	also wrong examples that use extension aggregates.

2009-05-06  Albert Lee  <lee@adacore.com>

	* s-oscons-tmplt.c (System.OS_Constants): Do not use special definition
	of Msg_Iovlen_T for VMS.

From-SVN: r147148
2009-05-06 10:11:41 +02:00
GCC Administrator 95914172e6 Daily bump.
From-SVN: r147143
2009-05-06 00:16:48 +00:00
Jonathan Wakely efdb734755 re PR libstdc++/39909 (non-TLS version of std::call_once causes terminate)
2009-05-05  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/39909
	* include/std/mutex (__get_once_functor_lock, __get_once_mutex,
	__set_once_functor_lock_ptr): Replace global lock object with local
	locks on global mutex.
	* src/mutex.cc (__get_once_functor_lock, __get_once_mutex,
	__set_once_functor_lock_ptr): Likewise, keeping old function to
	preserve ABI.
	(__once_proxy): Use pointer to local lock if set, global lock
	otherwise.
	* config/abi/pre/gnu.ver: Add new symbols to new ABI version.
	* testsuite/util/testsuite_abi.cc: Add GLIBCX_3.4.12 version.
	* testsuite/30_threads/call_once/39909.cc: New.

From-SVN: r147137
2009-05-05 22:32:38 +01:00
Jakub Jelinek 32f579f6eb re PR middle-end/39666 (spurious warning with ranged-switch statements)
PR middle-end/39666
	* gimplify.c (gimplify_switch_expr): If case labels cover the whole
	range of the type, but default label is missing, add it with one
	of the existing labels instead of adding a new label for it.

	* gcc.dg/pr39666-1.c: New test.
	* gcc.dg/pr39666-2.c: Likewise.
	* g++.dg/warn/Wuninitialized-4.C: Likewise.
	* g++.dg/warn/Wuninitialized-5.C: Likewise.
	* gfortran.dg/pr39666-1.f90: Likewise.
	* gfortran.dg/pr39666-2.f90: Likewise.

From-SVN: r147136
2009-05-05 23:09:16 +02:00
Jakub Jelinek 6e57a01df4 tree.h: Remove DECL_BY_REFERENCE from private_flag comment.
* tree.h: Remove DECL_BY_REFERENCE from private_flag comment.
	(struct tree_base): Adjust spacing for 8 bit boundaries.
	(struct tree_decl_common): Add decl_by_reference_flag bit.
	(DECL_BY_REFERENCE): Adjust.
	* print-tree.c (print_node): For VAR_DECL, PARM_DECL or RESULT_DECL,
	print DECL_BY_REFERENCE bit.
	* dbxout.c (DECL_ACCESSIBILITY_CHAR): Revert last change.
	* dwarf2out.c (loc_by_reference, gen_decl_die): Check
	DECL_BY_REFERENCE for all VAR_DECLs, not just non-static ones.
	(gen_variable_die): Likewise.  Check TREE_PRIVATE/TREE_PROTECTED
	unconditionally.

From-SVN: r147135
2009-05-05 23:07:05 +02:00
Adam Nemet 21c3348aea mips.exp: Add -mtune= to mips_option_groups.
* gcc.target/mips/mips.exp: Add -mtune= to mips_option_groups.
	* gcc.target/mips/dspr2-MULT.c: Pass -mtune=74kc
	* gcc.target/mips/dspr2-MULTU.c: Likewise.

From-SVN: r147134
2009-05-05 20:54:06 +00:00
Janus Weil 210aee68d4 re PR fortran/39998 (Procedure Pointer Assignments: Statement Functions & Internal Functions)
2009-05-05  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/39998
	* expr.c (gfc_check_pointer_assign): Check for statement functions and
	internal procedures in procedure pointer assignments.


2009-05-05  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/39998
	* gfortran.dg/proc_ptr_17.f90: New.

From-SVN: r147133
2009-05-05 22:41:00 +02:00
Shujing Zhao 2650d9e15a cp-tree.h: (opname_tab...
2009-05-05  Shujing Zhao  <pearly.zhao@oracle.com>

	* cp-tree.h:
       	(opname_tab, assignop_tab, update_member_visibility, yyerror, yyhook,
       	mangle_compound_literal): Remove unused declarations.
       	(build_vfield_ref, cxx_print_statistics, clone_function_decl,
       	adjust_clone_args, maybe_push_cleanup_level, pushtag, make_anon_name,
       	pushdecl_top_level_maybe_friend, pushdecl_top_level_and_finish,
       	check_for_out_of_scope_variable, print_other_binding_stack,
       	maybe_push_decl, cxx_mark_addressable, force_target_expr,
       	build_target_expr_with_type, finish_case_label,
       	cxx_maybe_build_cleanup, begin_eh_spec_block, finish_eh_spec_block,
       	check_template_keyword, cxx_omp_predetermined_sharing,
       	cxx_omp_clause_default_ctor, cxx_omp_clause_copy_ctor,
       	cxx_omp_clause_assign_op, cxx_omp_clause_dtor, cxx_omp_finish_clause,
       	cxx_omp_privatize_by_reference): Rearrange the declarations line to
       	match the comment that indicates the .c file which the functions are
       	defined.
       	(cxx_print_xnode, cxx_print_decl, cxx_print_type,
       	cxx_print_identifier, cxx_print_error_function, pushdecl): Add comment.

From-SVN: r147132
2009-05-05 20:29:40 +00:00
Joseph Myers 617ab7432f * dwarf.h: Remove.
From-SVN: r147131
2009-05-05 21:15:30 +01:00
Rafael Avila de Espindola bf016de890 Makefile.in (enable_plugin, [...]): New.
2009-05-05  Rafael Avila de Espindola  <espindola@google.com>

	* Makefile.in (enable_plugin, plugin_includedir): New.
	(install): Depend on install-plugin.
	(PLUGIN_HEADERS): New.
	(install-plugin): New.
	* config.gcc: Add vxworks-dummy.h to tm_file for x86 and x86-64.

From-SVN: r147130
2009-05-05 19:14:20 +00:00
Richard Guenther 7f8fdb9ff9 re PR middle-end/40022 (Alpine miscompilation)
2009-05-05  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/40022
	* tree-ssa-phiprop.c (struct phiprop_d): Exchange vop_stmt for
	the only vuse.
	(phivn_valid_p): Fix tuplification error, simplify.
	(phiprop_insert_phi): Add dumps.
	(propagate_with_phi): Simplify.

	* gcc.c-torture/execute/pr40022.c: New testcase.

From-SVN: r147128
2009-05-05 16:09:46 +00:00
Richard Guenther 8d972839df re PR middle-end/40023 (type mismatch in address expression)
2009-05-05  Richard Guenther  <rguenther@suse.de>

	PR middle-end/40023
	* builtins.c (gimplify_va_arg_expr): Properly build the
	address.

	* gcc.c-torture/compile/pr40023.c: New testcase.

From-SVN: r147127
2009-05-05 16:08:24 +00:00
Nathan Sidwell 95e2076828 typeck.c (cp_build_compound_expr): Require RHS to have a known type.
cp/
	* typeck.c (cp_build_compound_expr): Require RHS to have a known
	type.
	* class.c (resolve_address_of_overloaded_function): Use
	OVL_CURRENT for error message.
	(instantiate_type): Forbid COMPOUND_EXPRs and remove code dealing
	with them.  Do not copy the node.

	testsuite/
	* g++.old-deja/g++.other/overload11.C: Adjust expected errors.
	* g++.dg/template/overload9.C: Likewise.
	* g++.dg/ext/ms-1.C: New.

From-SVN: r147125
2009-05-05 13:00:03 +00:00
Shujing Zhao 66ba9b0b15 tree.h (strip_float_extensions): Remove duplicate declaration.
2009-05-05  Shujing Zhao  <pearly.zhao@oracle.com>

	* tree.h (strip_float_extensions): Remove duplicate declaration.
      	(build_low_bits_mask, debug_fold_checksum, expand_function_end,
      	expand_function_start, stack_protect_prologue, stack_protect_epilogue,
      	block_ultimate_origin): Rearrange the declarations line to match the
      	comment that indicates the .c file which the functions are defined.
      	(dwarf2out_*, set_decl_rtl): Add comment.
      	(get_base_address): Adjust comment.
      	(change_decl_assembler_name, maybe_fold_*, build_addr): Rearrange the
      	declarations line and add comment.
      	(is_builtin_name): Add blank after function name, for clarity.

From-SVN: r147122
2009-05-05 10:06:52 +00:00
Jakub Jelinek 5bbca03966 re PR c++/40013 (ICE when creating a local array with size from the return value of a member function of an object in a nested class in a template class)
PR c++/40013
	* pt.c (tsubst): If magic NOP_EXPR with side-effects has no type,
	set it from its operand's type after tsubst_expr.

	* g++.dg/ext/vla7.C: New test.

From-SVN: r147119
2009-05-05 08:37:05 +02:00
GCC Administrator 4fbe73ec80 Daily bump.
From-SVN: r147115
2009-05-05 00:16:43 +00:00
Joseph Myers 4f1e4960a6 attribs.c (decl_attributes): Use %qE for identifiers in diagnostics.
* attribs.c (decl_attributes): Use %qE for identifiers in
	diagnostics.
	* cgraphunit.c (verify_cgraph_node): Translate function names to
	locale character set in diagnostics.
	* coverage.c (get_coverage_counts): Use %qE for identifiers in
	diagnostics.
	* doc/invoke.texi (-finstrument-functions-exclude-function-list):
	Document that functions are named in UTF-8.
	* expr.c (expand_expr_real_1): Translate function names to locale
	character set in diagnostics.
	* gimplify.c (omp_notice_variable, omp_is_private,
	gimplify_scan_omp_clauses): Use %qE for identifiers in
	diagnostics.
	* langhooks.c (lhd_print_error_function): Translate function names
	to locale character set.
	* langhooks.h (decl_printable_name): Document that return value is
	in internal character set.
	* stmt.c: Include pretty-print.h
	(tree_conflicts_with_clobbers_p): Use %qE for identifiers in
	diagnostics.
	(resolve_operand_name_1): Translate named operand name to locale
	character set.
	* stor-layout.c (finalize_record_size): Use %qE for identifiers in
	diagnostics.
	* toplev.c (announce_function): Translate function names to locale
	character set.
	(warn_deprecated_use): Use %qE for identifiers in diagnostics.
	(default_tree_printer): Use pp_identifier or translate identifiers
	to locale character set.  Mark "<anonymous>" for translation.
	* tree-mudflap.c (mx_register_decls, mudflap_finish_file): Use %qE
	for identifiers in diagnostics.
	* tree.c (handle_dll_attribute): Use %qE for identifiers in
	diagnostics.
	* varasm.c (output_constructor): Use %qE for identifiers in
	diagnostics.

testsuite:
	* gcc.dg/ucnid-11.c, gcc.dg/ucnid-12.c, gcc.dg/ucnid-13.c: New
	tests.

From-SVN: r147111
2009-05-05 00:44:36 +01:00
Rafael Avila de Espindola 40540e682a configure.ac: use ` ` instead of $()
2009-05-04  Rafael Avila de Espindola  <espindola@google.com>

	* configure.ac: use ` ` instead of $()
	* configure: Regenerate.

From-SVN: r147110
2009-05-04 22:08:44 +00:00
Ben Elliston 33fc884c96 linux-atomic.c: Eliminate conditional include of errno.h on non-LP64 systems to simplify build...
* config/pa/linux-atomic.c: Eliminate conditional include of
	errno.h on non-LP64 systems to simplify build requirements.

From-SVN: r147109
2009-05-05 07:34:41 +10:00
Joseph Myers 88388a5229 c-common.c (handle_mode_attribute): Use %qE for identifiers in diagnostics.
* c-common.c (handle_mode_attribute): Use %qE for identifiers in
	diagnostics.
	* c-decl.c (check_bitfield_type_and_width): Make orig_name a tree
	and pass value to identifier_to_locale.
	(warn_variable_length_array): Make name a tree.
	(grokdeclarator): Separate diagnostic texts for named and unnamed
	declarators.  Use %qE for named declarators.
	* c-parser.c (c_lex_one_token): Use %qE for identifiers in
	diagnostics.
	* c-pragma.c (pop_alignment, handle_pragma_pack): Use %qE for
	identifiers in diagnostics.
	* c-typeck.c (push_member_name, start_init): Pass identifiers to
	identifier_to_locale.  Mark "anonymous" strings for translation.

testsuite:
	* gcc.dg/ucnid-8.c, gcc.dg/ucnid-9.c, gcc.dg/ucnid-10.c: New
	tests.
	* gcc.dg/declspec-9.c, gcc.dg/declspec-10.c, gcc.dg/declspec-11.c:
	Update expected errors.

From-SVN: r147108
2009-05-04 21:24:22 +01:00
Michael Eager 960c5c791a Allow address for DImode/DFmode only if double-precision FP regs.
From-SVN: r147105
2009-05-04 15:57:46 +00:00
Michael Eager d083fbba42 Add TARGET_SINGLE_FLOAT check.
From-SVN: r147104
2009-05-04 15:48:59 +00:00
Laurent GUERBY ffef121932 re PR ada/38874 (gnatmake doesn't pass through --param options)
2009-05-04   Laurent GUERBY  <laurent@guerby.net>

	PR ada/38874
	* make.adb (Scan_Make_Arg): Pass --param= to compiler and linker.

From-SVN: r147102
2009-05-04 15:32:00 +00:00
Michael Eager c3ba8d3243 Add CPP_SPEC for -mxilinx-fpu.
From-SVN: r147101
2009-05-04 15:22:22 +00:00
Michael Eager edce9f18ec Add t-xilinx for powerpc-xilinx-eabi*.
From-SVN: r147100
2009-05-04 15:16:20 +00:00
Paolo Bonzini 506d7b686c tm.texi (LEGITIMIZE_ADDRESS): Revise documentation.
2009-05-04  Paolo Bonzini  <bonzini@gnu.org>

 	* doc/tm.texi (LEGITIMIZE_ADDRESS): Revise documentation.
	* gcc/defaults.h (LEGITIMIZE_ADDRESS): Delete.
	* gcc/explow.c (memory_address): Use target hook.
	* gcc/targhooks.c (default_legitimize_address): New.
	* gcc/targhooks.h (default_legitimize_address): New.
	* gcc/target.h (legitimize_address): New.
	* gcc/target-def.h (TARGET_LEGITIMIZE_ADDRESS): New.
	(TARGET_INITIALIZER): Include it.
	* gcc/system.h (LEGITIMIZE_ADDRESS): Poison.

	* config/bfin/bfin-protos.h (legitimize_address): Remove.
	* config/bfin/bfin.c (legitimize_address): Remove.
	* config/bfin/bfin.h (LEGITIMIZE_ADDRESS): Remove.
	* config/m68hc11/m68hc11-protos.h (m68hc11_legitimize_address): Remove.
	* config/m68hc11/m68hc11.c (m68hc11_legitimize_address): Remove.
	* config/m68hc11/m68hc11.h (LEGITIMIZE_ADDRESS): Remove.

	* gcc/config/arm/arm.h (LEGITIMIZE_ADDRESS, ARM_LEGITIMIZE_ADDRESS,
	THUMB_LEGITIMIZE_ADDRESS, THUMB2_LEGITIMIZE_ADDRESS): Delete.
	* gcc/config/s390/s390.h (LEGITIMIZE_ADDRESS): Delete.
	* gcc/config/m32c/m32c.h (LEGITIMIZE_ADDRESS): Delete.
	* gcc/config/sparc/sparc.h (LEGITIMIZE_ADDRESS): Delete.
	* gcc/config/m32r/m32r.h (LEGITIMIZE_ADDRESS): Delete.
	* gcc/config/i386/i386.h (LEGITIMIZE_ADDRESS): Delete.
	* gcc/config/sh/sh.h (LEGITIMIZE_ADDRESS): Delete.
	* gcc/config/avr/avr.h (LEGITIMIZE_ADDRESS): Delete.
	* gcc/config/m68hc11/m68hc11.h (LEGITIMIZE_ADDRESS): Delete.
	* gcc/config/iq2000/iq2000.h (LEGITIMIZE_ADDRESS): Delete.
	* gcc/config/mn10300/mn10300.h (LEGITIMIZE_ADDRESS): Delete.
	* gcc/config/m68k/m68k.h (LEGITIMIZE_ADDRESS): Delete.
	* gcc/config/score/score.h (LEGITIMIZE_ADDRESS): Delete.
	* gcc/config/pa/pa.h (LEGITIMIZE_ADDRESS): Delete.
	* gcc/config/mips/mips.h (LEGITIMIZE_ADDRESS): Delete.
	* gcc/config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Delete.
	* gcc/config/frv/frv.h (LEGITIMIZE_ADDRESS): Delete.
	* gcc/config/spu/spu.h (LEGITIMIZE_ADDRESS): Delete.
	* gcc/config/xtensa/xtensa.h (LEGITIMIZE_ADDRESS): Delete.
	* gcc/config/cris/cris.h (LEGITIMIZE_ADDRESS): Delete.
	* gcc/config/rs6000/rs6000.h (LEGITIMIZE_ADDRESS): Delete.
	* gcc/config/picochip/picochip.h (LEGITIMIZE_ADDRESS): Delete.

	* gcc/config/s390/s390-protos.h (legitimize_address): Delete.
	* gcc/config/m32c/m32c-protos.h (m32c_legitimize_address): Delete.
	* gcc/config/sparc/sparc-protos.h (legitimize_address): Delete.
	* gcc/config/i386/i386-protos.h (legitimize_address): Delete.
	* gcc/config/avr/avr-protos.h (legitimize_address): Delete.
	* gcc/config/mn10300/mn10300-protos.h (legitimize_address): Delete.
	* gcc/config/score/score-protos.h (score_legitimize_address): Delete.
	* gcc/config/arm/arm-protos.h (arm_legitimize_address,
	(thumb_legitimize_address): Delete.
	* gcc/config/pa/pa-protos.h (hppa_legitimize_address): Delete.
	* gcc/config/mips/mips-protos.h (mips_legitimize_address): Delete.
	* gcc/config/alpha/alpha-protos.h (alpha_legitimize_address): Delete.
	* gcc/config/frv/frv-protos.h (frv_legitimize_address): Delete.
	* gcc/config/spu/spu-protos.h (spu_legitimize_address): Delete.
	* gcc/config/xtensa/xtensa-protos.h (xtensa_legitimize_address): Delete.
	* gcc/config/rs6000/rs6000-protos.h (rs6000_legitimize_address): Delete.

	* config/arm/arm.c (arm_legitimize_address): Maybe call Thumb version.
	* config/m32c/m32c.c (m32c_legitimize_address): Standardize.
	* config/m32r/m32r.c (m32r_legitimize_address): New.
	* config/m68k/m68k.c (m68k_legitimize_address): New.
	* config/score/score.c (score_legitimize_address): Standardize.
	* config/score/score3.c (score3_legitimize_address): Standardize.
	* config/score/score3.h (score3_legitimize_address): Adjust.
	* config/score/score7.c (score7_legitimize_address): Standardize.
	* config/score/score7.h (score7_legitimize_address): Adjust.
	* config/sh/sh.c (sh_legitimize_address): New.
	* config/iq2000/iq2000.c (iq2000_legitimize_address): New.

	* gcc/config/s390/s390.c (legitimize_address): Rename to...
 	(s390_legitimize_address): ... this.
	* gcc/config/sparc/sparc.c (legitimize_address): Rename to...
	(sparc_legitimize_address): ... this.
	* gcc/config/i386/i386.c (legitimize_address): Rename to...
	(ix86_legitimize_address): ... this.
	* gcc/config/avr/avr.c (legitimize_address): Rename to...
	(avr_legitimize_address): ... this.
	* gcc/config/mn10300/mn10300.c (legitimize_address): Rename to...
	(mn10300_legitimize_address): ... this.
	* config/alpha/alpha.c (alpha_legitimize_address): Wrap...
	(alpha_legitimize_address_1): ... the old alpha_legitimize_address.
	(alpha_expand_mov): Adjust call.

	* config/frv/frv.c (frv_legitimize_address): Return x on failure.
	* config/spu/spu.c (spu_legitimize_address): Likewise.
	* config/xtensa/xtensa.c (xtensa_legitimize_address): Likewise.
	* config/rs6000/rs6000.c (rs6000_legitimize_address): Likewise.

From-SVN: r147098
2009-05-04 12:52:41 +00:00
Manuel López-Ibáñez 67beaaa685 re PR c++/28152 (Diagnostic about wrong use _Complex prints __complex__)
2009-05-04  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR c++/28152
cp/	
	* parser.c (cp_lexer_get_preprocessor_token):  Do not store the
	canonical spelling for keywords.
	(cp_parser_attribute_list): Use the canonical spelling for
	keywords in attributes.
testsuite/
	* g++.dg/parse/parser-pr28152.C: New.
	* g++.dg/parse/parser-pr28152-2.C: New.

From-SVN: r147097
2009-05-04 12:47:53 +00:00
Joseph Myers a3af5087d9 intl.c (locale_encoding, [...]): New.
* intl.c (locale_encoding, locale_utf8): New.
	(gcc_init_libintl): Initialize locale_encoding and locale_utf8.
	* intl.h (locale_encoding, locale_utf8): Declare.
	* pretty-print.c: Include ggc.h.  Include iconv.h if HAVE_ICONV.
	(pp_base_tree_identifier, decode_utf8_char, identifier_to_locale):
	New.
	* pretty-print.h (pp_identifier): Call identifier_to_locale on ID
	argument.
	(pp_tree_identifier): Define to call pp_base_tree_identifier.
	(pp_base_tree_identifier): Declare as function.
	(identifier_to_locale): Declare.
	* Makefile.in (pretty-print.o): Update dependencies.
	* varasm.c (finish_aliases_1): Use %qE for identifiers in
	diagnostics.

testsuite:
	* gcc.dg/attr-alias-5.c, gcc.dg/ucnid-7.c: New tests.

From-SVN: r147096
2009-05-04 13:23:50 +01:00
Richard Guenther ea5cd5f17f re PR middle-end/40015 (Revision 147083 failed gfortran.dg/array_memcpy_4.f90)
2009-05-04  Richard Guenther  <rguenther@suse.de>

	PR middle-end/40015
	* builtins.c (fold_builtin_memory_op): Do not decay to element
	type if the size matches the whole array.

From-SVN: r147094
2009-05-04 11:01:59 +00:00
GCC Administrator a967a1b62f Daily bump.
From-SVN: r147090
2009-05-04 00:16:50 +00:00
Kazu Hirata ddc2690ac0 expmed.c (synth_mult): When trying out a shift, pass the result of a signed shift.
* expmed.c (synth_mult): When trying out a shift, pass the result
	of a signed shift.

From-SVN: r147087
2009-05-03 23:31:18 +00:00
Kazu Hirata ef268d34b7 expmed.c (shiftsub_cost): Rename to shiftsub0_cost.
* expmed.c (shiftsub_cost): Rename to shiftsub0_cost.
	(shiftsub1_cost): New.
	(init_expmed): Compute shiftsub1_cost.
	(synth_mult): Optimize multiplications by constants of the form
	-(2^^m-1) for some constant positive integer m.

From-SVN: r147086
2009-05-03 23:27:10 +00:00
Eric Botcazou 97f0e9d9e0 fpmul-2.c: Replace final_cleanup with optimized.
* gcc.target/sparc/fpmul-2.c: Replace final_cleanup with optimized.
	* gcc.target/sparc/fexpand-2.c: Likewise.
	* gcc.target/sparc/fpmerge-2.c: Likewise.
	* gcc.target/sparc/pdist-2.c: Likewise.

From-SVN: r147085
2009-05-03 21:10:20 +00:00
Richard Guenther 255d3827b4 re PR c/39983 (ICE: type mismatch in address expression)
2009-05-03  Richard Guenther  <rguenther@suse.de>

	PR c/39983
	* c-typeck.c (array_to_pointer_conversion): Do not built
	ADDR_EXPRs of arrays of pointer-to-element type.
	* c-gimplify.c (c_gimplify_expr): Revert change fixing
	up wrong ADDR_EXPRs after-the-fact.
	* c-common.c (strict_aliasing_warning): Strip pointer
	conversions for obtaining the original type.
	* builtins.c (fold_builtin_memset): Handle array types.
	(fold_builtin_memory_op): Handle folded POINTER_PLUS_EXPRs
	and array types

	* gcc.c-torture/compile/pr39983.c: New testcase.

From-SVN: r147083
2009-05-03 19:57:32 +00:00
Richard Guenther 16c337707b re PR tree-optimization/23329 (hack in may_propagate_copy should be able to removed)
2009-05-03  Richard Guenther  <rguenther@suse.de>

	PR middle-end/23329
	* tree-ssa.c (useless_type_conversion_p_1): Use get_deref_alias_set.
	Do not lose casts from array types with unknown extent to array
	types with known extent.
	* tree-ssa-copy.c (may_propagate_copy): Remove hack checking for
	alias set compatibility.

From-SVN: r147082
2009-05-03 19:55:55 +00:00
Manuel López-Ibáñez 62a67c94b7 flags.h (extra_warnings): Delete.
2009-05-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* flags.h (extra_warnings): Delete.
	* toplev.c (process_options): Handle Wuninitialized here.
	* opts.c (extra_warnings): Delete.
	(set_Wextra): Delete.
	(common_handle_option): -Wextra can be handled automatically.
	* c-opts.c (c_common_handle_option): Delete obsolete code.
	(c_common_post_options): Simplify comment.
	* common.opt (W): Add Var.
	(Wextra): Add Var.
	(Wuninitialized): Initialize to -1.

From-SVN: r147080
2009-05-03 19:14:06 +00:00
Adam Nemet 8c7926c4c7 expr.c (get_def_for_expr): New function.
* expr.c (get_def_for_expr): New function.
	(expand_expr_real_1) <PLUS_EXPR, MINUS_EXPR>: Adjust to work with
	SSA rather than trees.
	<MULT_EXPR>: Likewise.  Use subexp0 and subexp1 instead of
	TREE_OPERAND (exp, 0) and TREE_OPERAND (exp, 1).

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

From-SVN: r147078
2009-05-03 17:20:30 +00:00
Jan Hubicka b91cc3b9dc settings.h (get): Mark const.
* include/parallel/settings.h (get): Mark const.
	* libsupc++/unwind-cxx.h (__cxa_call_terminate): Mark throw ().
	* libsupc++/eh_call.cc (__cxa_call_terminate): Mark throw ().
	* config/io/basic_file_stdio.cc (sys_open, is_open, fd, seekoff): Mark
	throw ().
	* config/io/basic_file_stdio.h (__basic_file, sys_open): Mark throw ().
	(is_open, fd): Mark pure and throw ().
	(seekoff): Mark throw ().

From-SVN: r147077
2009-05-03 16:51:50 +00:00
Paolo Carlini bd67512af1 acinclude.m4 ([GLIBCXX_ENABLE_ATOMIC_BUILTINS]): Do link tests when possible.
2009-05-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* acinclude.m4 ([GLIBCXX_ENABLE_ATOMIC_BUILTINS]): Do link tests when
	possible.
	* configure: Regenerate.

From-SVN: r147076
2009-05-03 16:13:59 +00:00
Joseph Myers fa5da7dee3 c-common.c (reswords): Add _Imaginary.
* c-common.c (reswords): Add _Imaginary.
	* c-common.c (enum rid): Add RID_IMAGINARY.

testsuite:
	* gcc.dg/c99-complex-3.c: New test.

From-SVN: r147075
2009-05-03 15:07:41 +01:00
Paolo Bonzini 2ddd5020a1 tree.h (TYPE_VECTOR_OPAQUE): Fix documentation.
2009-05-03  Paolo Bonzini  <bonzini@gnu.org>

	* tree.h (TYPE_VECTOR_OPAQUE): Fix documentation.
	Patch by Richard Guenther.

From-SVN: r147074
2009-05-03 14:03:24 +00:00
Joseph Myers 9e322bc1a5 charset.c (one_utf8_to_cppchar): Correct mask used for 5-byte UTF-8 sequences.
libcpp:
	* charset.c (one_utf8_to_cppchar): Correct mask used for 5-byte
	UTF-8 sequences.

gcc/testsuite:
	* gcc.dg/cpp/utf8-5byte-1.c: New test.

From-SVN: r147073
2009-05-03 12:59:26 +01:00
Anatoly Sokolov aea88c05c9 defaults.h (FRAME_POINTER_REQUIRED): Provide default.
* defaults.h (FRAME_POINTER_REQUIRED): Provide default.
	* doc/tm.texi (FRAME_POINTER_REQUIRED): Revise documentation.
	* config/alpha/alpha.h (FRAME_POINTER_REQUIRED): Delete.
	* config/s390/s390.h (FRAME_POINTER_REQUIRED): Delete.
	* config/spu/spu.h (FRAME_POINTER_REQUIRED): Delete.
	* config/sh/sh.h (FRAME_POINTER_REQUIRED): Delete.
	* config/pdp11/pdp11.h (FRAME_POINTER_REQUIRED): Delete.
	* config/stormy16/stormy16.h (FRAME_POINTER_REQUIRED): Delete.
	* config/m68hc11/m68hc11.h (FRAME_POINTER_REQUIRED): Delete.
	* config/iq2000/iq2000.h (FRAME_POINTER_REQUIRED): Delete.
	* config/mn10300/mn10300.h (FRAME_POINTER_REQUIRED): Delete.
	* config/ia64/ia64.h (FRAME_POINTER_REQUIRED): Delete.
	* config/m68k/m68k.h (FRAME_POINTER_REQUIRED): Delete.
	* config/rs6000/rs6000.h (FRAME_POINTER_REQUIRED): Delete.
	* config/picochip/picochip.h (FRAME_POINTER_REQUIRED): Delete.
	* config/mcore/mcore.h (FRAME_POINTER_REQUIRED): Delete.
	* config/h8300/h8300.h (FRAME_POINTER_REQUIRED): Delete.
	* config/v850/v850.h (FRAME_POINTER_REQUIRED): Delete.

From-SVN: r147072
2009-05-03 15:25:20 +04:00
GCC Administrator 0453fa897a Daily bump.
From-SVN: r147071
2009-05-03 00:16:41 +00:00