Commit Graph

114219 Commits

Author SHA1 Message Date
Richard Earnshaw
50c9d04997 re PR target/51643 (Incorrect code produced for tail-call of weak function with -O2/-O3 option)
PR target/51643
	* arm.c (arm_function_ok_for_sibcall): Don't try to tailcall a
	weak function on bare-metal EABI targets.

	* gcc.target/arm/sibcall-2.c: New test.

From-SVN: r182621
2011-12-22 14:13:09 +00:00
Jonathan Wakely
9dacb44bf1 re PR libstdc++/48362 (pretty printer fails for zero-size std::tuple<>)
PR libstdc++/48362
	* python/libstdcxx/v6/printers.py (StdTuplePrinter): Handle empty
	tuples.

From-SVN: r182620
2011-12-22 12:33:15 +00:00
Arnaud Charlet
2d1debf816 [multiple changes]
2011-12-22  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Create the objects
	associated with exception handling unconditionally.
	(Build_Adjust_Statements): Create the objects associated with
	exception handling unconditionally.
	(Build_Components): Create the objects associated with exception
	handling unconditionally.
	(Build_Finalize_Statements): Create the objects associated with
	exception handling unconditionally.
	(Build_Initialize_Statements): Create the objects associated with
	exception handling unconditionally.
	(Build_Object_Declarations): Set the proper location of the data
	record when exception propagation is forbidden.

2011-12-22  Gary Dismukes  <dismukes@adacore.com>

	* a-tienio.adb (Put): Test validity of Item parameters before
	applying Image, and raise Constraint_Error for invalid values.

2011-12-22  Bob Duff  <duff@adacore.com>

	* a-stwima.ads (Initialize,Adjust,Finalize): Add overriding indicators.
	* a-ststio.ads (AFCB_Allocate,AFCB_Close,AFCB_Free,Read,Write): Add
	overriding indicators.

From-SVN: r182619
2011-12-22 12:52:00 +01:00
Arnaud Charlet
c7288f61d1 * s-osinte-hpux-dce.ads: Update header to GPLv3
From-SVN: r182618
2011-12-22 12:48:21 +01:00
Ed Schonberg
3b59004a6d a-cohase.ads, [...]: Update to latest RM version.
2011-12-22  Ed Schonberg  <schonberg@adacore.com>

	* a-cohase.ads, a-cohase.adb: Update to latest RM version. Add
	aspect Constant_Reference to set type, and corresponding
	functions.
	* a-cihama.ads, a-cihama.adb: Update to latest RM version. Add
	function Reference to provide a proper element iterator construct
	over indefinite maps.

2011-12-22  Ed Schonberg  <schonberg@adacore.com>

	* exp_attr.adb (Expand_N_Attribute, case 'Access): Do not insert
	implicit conversion on prefix of Unrestricted_Access when prefix
	is an explicit dereference.

From-SVN: r182617
2011-12-22 09:54:26 +01:00
Arnaud Charlet
9a7e930fb2 [multiple changes]
2011-12-22  Vincent Pucci  <pucci@adacore.com>

	* sem_dim.adb: Addressed all ??? comments. Replacement of warnings by
	errors using continuation marks.
	(Error_Dim_Msg_For_?): Renaming of Error_Dim_For_?.

2011-12-22  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, sem_ch3.ads, sem_prag.adb: Minor code clean up.

From-SVN: r182616
2011-12-22 09:49:14 +01:00
Uros Bizjak
868df137e6 re PR testsuite/51645 (FAIL: g++.dg/cpp0x/alias-decl-debug-0.C (test for excess errors))
PR testsuite/51645
	* g++.dg/cpp0x/alias-decl-debug-0.C: Add dg-skip-if.

From-SVN: r182615
2011-12-22 09:16:12 +01:00
GCC Administrator
a1894268ad Daily bump.
From-SVN: r182613
2011-12-22 00:19:15 +00:00
Ian Lance Taylor
c9312a37c6 * config/i386/morestack.S: Simplify CFI opcodes throughout.
From-SVN: r182609
2011-12-22 00:09:39 +00:00
Jonathan Wakely
e2724fd212 extend.texi (__builtin_expect): Improve example.
2011-12-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
	    Jim Avera  <james_avera@yahoo.com>

	* doc/extend.texi (__builtin_expect): Improve example.  

Co-Authored-By: Jim Avera <james_avera@yahoo.com>

From-SVN: r182608
2011-12-22 00:08:09 +00:00
Ian Lance Taylor
a6dcb7d465 runtime: Catch signals on altstack, disable splitstack signal blocking.
From-SVN: r182607
2011-12-21 22:24:47 +00:00
Uros Bizjak
e0d2f03016 i386.c (ix86_option_override_internal): Enable flag_ree also for 32bit targets.
* config/i386/i386.c (ix86_option_override_internal): Enable flag_ree
	also for 32bit targets.

testsuite/ChangeLog:

	* gcc.dg/pr50038.c: Move to ...
	* gcc.target/i386/pr50038.c: ... here.  Test on all targets.

From-SVN: r182605
2011-12-21 21:56:30 +01:00
Richard Henderson
67d7405ef4 re PR target/51552 (bfin generates bad assembly)
PR target/51552
        * dwarf2cfi.c (dwarf2out_frame_debug): Move any_cfis_emitted code...
        (scan_trace): ... here.

From-SVN: r182604
2011-12-21 12:21:00 -08:00
Jason Merrill
c65b06073c re PR c++/51611 ([c++0x] ICE with non-static data member initializer and virtual base class)
PR c++/51611
	* cp-tree.h (CONVERT_EXPR_VBASE_PATH): New.
	* class.c (build_base_path): Defer vbase conversion in an NSDMI.
	* tree.c (bot_replace): Expand it here.
	* cp-gimplify.c (cp_genericize_r): Make sure deferred conversion
	doesn't leak into GENERIC.

From-SVN: r182602
2011-12-21 14:19:47 -05:00
Jason Merrill
e2c4d88e42 * doc/standards.texi (C++ language): Update for C++11.
From-SVN: r182599
2011-12-21 12:53:58 -05:00
Richard Sandiford
44b22e25c5 Add reference to PR middle-end/48660
From-SVN: r182595
2011-12-21 16:34:41 +00:00
Paolo Carlini
65a6f60960 re PR c++/51305 ([C++11][constexpr] noexcept-specifier overconstraints constexpr functions)
/cp
2011-12-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51305
	* semantics.c (massage_constexpr_body): Reorder conditionals, make
	sure a BIND_EXPR embedded in a MUST_NOT_THROW_EXPR is handled.

/testsuite
2011-12-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51305
	* g++.dg/cpp0x/constexpr-noexcept6.C: New.

From-SVN: r182594
2011-12-21 16:28:08 +00:00
Jakub Jelinek
b0f96e350a Makefile.am (AM_CXXFLAGS): Put $(XCFLAGS) first.
* Makefile.am (AM_CXXFLAGS): Put $(XCFLAGS) first.
	* Makefile.in: Regenerated.

From-SVN: r182593
2011-12-21 17:14:11 +01:00
Rainer Orth
98d361f876 Provide CLOCK_REALTIME on Tru64 UNIX
* s-oscons-tmplt.c [__alpha__ && __osf__] (_XOPEN_SOURCE): Define.

From-SVN: r182592
2011-12-21 16:08:19 +00:00
Richard Guenther
b03eda0dcd lto.c (GIMPLE_REGISTER_TYPE): New define.
2011-12-21  Richard Guenther  <rguenther@suse.de>

	lto/
	* lto.c (GIMPLE_REGISTER_TYPE): New define.
	(LTO_FIXUP_TREE): Use it.
	(uniquify_nodes): Mark new non-prevailing types and avoid
	calling gimple_register_type on others.
	(lto_read_decls): Add comment.

From-SVN: r182591
2011-12-21 15:56:11 +00:00
Jakub Jelinek
d6e1acf654 tree-vect-patterns.c (vect_operation_fits_smaller_type): Initialize *op0 and *op1 to NULL_TREE first to avoid warnings.
* tree-vect-patterns.c (vect_operation_fits_smaller_type): Initialize
	*op0 and *op1 to NULL_TREE first to avoid warnings.
	* calls.c (initialize_argument_information): Initialize base to avoid
	warnings.

From-SVN: r182590
2011-12-21 15:52:34 +01:00
Jakub Jelinek
bccc50d44c re PR middle-end/51644 (va_list vs. warning: ‘noreturn’ function does return is not fixable)
PR middle-end/51644
	PR middle-end/51647
	* tree-eh.c (decide_copy_try_finally): At -O0, return true
	even when ndests is not 1, if there are only gimple_clobber_p
	(or debug) stmts in the finally sequence.
	* tree-inline.c (estimate_num_insns): Return 0 for gimple_clobber_p
	stmts.

	* gcc.dg/pr51644.c: New test.
	* g++.dg/warn/Wreturn-4.C: New test.

From-SVN: r182589
2011-12-21 15:51:19 +01:00
Aldy Hernandez
2091795abd re PR middle-end/51472 (ICE: verify_gimple failed: invalid rhs for gimple memory store with -fgnu-tm --param tm-max-aggregate-size=32)
PR middle-end/51472
        * trans-mem.c (tm_log_add): Use create_tmp_var_reg.

From-SVN: r182588
2011-12-21 14:30:07 +00:00
Javier Miranda
539fcb458b sem_ch3.ads, [...] (Check_CPP_Type): New subprogram.
2011-12-21  Javier Miranda  <miranda@adacore.com>

	* sem_ch3.ads, sem_ch3.adb (Check_CPP_Type): New subprogram.
	(Process_Full_View): Invoke Check_CPP_Type if processing the
	full-view of a CPP type.
	* sem_prag.adb (Process_Import_Or_Interface): Add missing support
	for importing a CPP type that has an incomplete declaration. Move
	to new routine Check_CPP_Type the code that verifies that
	components of imported CPP types do not have default expressions.

From-SVN: r182587
2011-12-21 14:54:55 +01:00
Arnaud Charlet
4172a8e338 [multiple changes]
2011-12-21  Vincent Celier  <celier@adacore.com>

	* prj-nmsc.adb (Report_No_Sources): Remove argument Lang. Report
	no sources even for languages that are not allowed.
	(Add_Source): Get the source even when the language is not allowed.

2011-12-21  Robert Dewar  <dewar@adacore.com>

	* sem_ch6.adb (Process_Formals): Add defensive code.

2011-12-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch7.adb, sem_ch13.adb (Analyze_Package_Specification): Build the
	invariant procedure of a type declaration that is a completion and has
	aspect specifications.
	(Build_Invariant_Procedure): If the procedure is built for a
	type declaration that is a completion, analyze body expliitly
	because all private declarations have been already analyzed.

2011-12-21  Claire Dross  <dross@adacore.com>

	* a-cfdlli.adb, a-cfhase.adb, a-cforma.adb, a-cforse.adb,
	a-cofove.adb: Minor reformating on formal containers

2011-12-21  Vincent Celier  <celier@adacore.com>

	* makeutl.adb (Mains.Complete_Mains.Do_Complete): Remove
	any main that is not in the list of restricted languages.
	(Insert_Project_Sources.Do_Insert): Only add sources of languages
	in the list of restricted languages.

2011-12-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb (Valid_Conversion): A type conversion is valid when
	the target type is an anonymous access type and the operand is a
	rewriting of an allocator. The conversion is typically inserted
	when the designated type is an interface.

2011-12-21  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch9.adb (Establish_Task_Master): If the enclosing block
	has no declarations, create new declarative list for it.

2011-12-21  Matthew Heaney  <heaney@adacore.com>

	* a-rbtgbk.adb (Generic_Conditional_Insert): Fixed incorrect comment.

From-SVN: r182586
2011-12-21 14:51:03 +01:00
Arnaud Charlet
1c1631789d [multiple changes]
2011-12-21  Yannick Moy  <moy@adacore.com>

	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not
	ignore representation attributes in Alfa mode, since formal
	verification backend does not depend on actual physical
	representation, but code may still refer to attribute values.

2011-12-21  Yannick Moy  <moy@adacore.com>

	* par-ch13.adb (P_Aspect_Specifications): Recognize the cases
	where a comma between two aspects is missing, or erroneously
	replaced by a semicolon, issue an error and proceed with next
	aspect.
	* par.adb, sinfo.ads: Fix typos.

2011-12-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Mark_Coextensions): A coextension for an
	object that is part of the expression in a return statement,
	or part of the return object in an extended return statement,
	must be allocated dynamically.

From-SVN: r182585
2011-12-21 14:45:42 +01:00
Arnaud Charlet
5ebfaacfb5 [multiple changes]
2011-12-21  Matthew Heaney  <heaney@adacore.com>

	* a-crbtgk.adb (Generic_Conditional_Insert): Fixed incorrect comment.

2011-12-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb (Analyze_Iterator_Specification): If the name
	of an element iterator is not an entity name we introduce a
	local renaming declaration for it. To prevent spurious warnings
	on parameterless function calls that return a container, when
	expansion is disabled (either explicitly or because of a previous
	errors) the name must be marked as not coming from source.

2011-12-21  Arnaud Charlet  <charlet@adacore.com>

	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Separate
	handling in CodePeer mode and only ignore Component_Size
	attribute.

2011-12-21  Robert Dewar  <dewar@adacore.com>

	* sem_ch6.adb (Process_Formals): Set proper mechanism for
	formals whose types have conventions Ada_Pass_By_Copy or
	Ada_Pass_By_Reference.

From-SVN: r182584
2011-12-21 14:42:22 +01:00
Michael Zolotukhin
892d824b45 no-section-anchors-vect-31.c: Adjust array size and test diag-scans to fix fail on AVX.
gcc/testsuite

        * gcc.dg/vect/no-section-anchors-vect-31.c: Adjust array size and test
        diag-scans to fix fail on AVX.
        * gcc.dg/vect/no-section-anchors-vect-36.c: Ditto.
        * gcc.dg/vect/no-section-anchors-vect-64.c: Ditto.
        * gcc.dg/vect/no-section-anchors-vect-66.c: Ditto.
        * gcc.dg/vect/no-section-anchors-vect-68.c: Ditto.
        * gcc.dg/vect/no-section-anchors-vect-69.c: Ditto.
        * gcc.dg/vect/no-vfa-vect-dv-2.c: Adjust dg-scans.
        * gcc.dg/vect/pr45752.c: Ditto.
        * gcc.dg/vect/slp-perm-4.c: Ditto.
        * gcc.dg/vect/slp-perm-9.c: Ditto.
        * gcc.dg/vect/vect-33.c: Ditto.
        * gcc.dg/vect/vect-35.c: Ditto.
        * gcc.dg/vect/vect-6-big-array.c: Ditto.
        * gcc.dg/vect/vect-6.c: Ditto.
        * gcc.dg/vect/vect-91.c: Ditto.
        * gcc.dg/vect/vect-all-big-array.c: Ditto.
        * gcc.dg/vect/vect-all.c: Ditto.
        * gcc.dg/vect/vect-multitypes-1.c: Ditto.
        * gcc.dg/vect/vect-outer-4c.c: Ditto.
        * gcc.dg/vect/vect-outer-5.c: Ditto.
        * gcc.dg/vect/vect-over-widen-1.c: Ditto.
        * gcc.dg/vect/vect-over-widen-3.c: Ditto.
        * gcc.dg/vect/vect-over-widen-4.c: Ditto.
        * gcc.dg/vect/vect-peel-1.c: Ditto.
        * gcc.dg/vect/vect-peel-2.c: Ditto.
        * gcc.dg/vect/vect-peel-3.c: Ditto.
        * gcc.dg/vect/vect-reduc-pattern-1b.c: Ditto.
        * gcc.dg/vect/vect-reduc-pattern-1c.c: Ditto.
        * gcc.dg/vect/vect-reduc-pattern-2b.c: Ditto.
        * gcc.dg/vect/wrapv-vect-reduc-pattern-2c.c: Ditto.
        * lib/target-supports.exp (check_avx_available): New function.
        (check_effective_target_vect_sizes_32B_16B): Ditto.
        (check_prefer_avx128): Ditto.
        (check_effective_target_vect_aligned_arrays): Add handling of AVX.
        (check_effective_target_vect_multiple_sizes): Ditto.

From-SVN: r182583
2011-12-21 13:34:40 +00:00
Arnaud Charlet
5e12215f68 [multiple changes]
2011-12-21  Arnaud Charlet  <charlet@adacore.com>

	* gnat1drv.adb (Gnat1Drv): Always delete old scil files in
	CodePeer mode.

2011-12-21  Robert Dewar  <dewar@adacore.com>

	* comperr.adb: Minor reformatting.

2011-12-21  Ed Schonberg  <schonberg@adacore.com>

	* aspects.ads: New table Base_Aspect, to indicate that an aspect
	is defined on a base type.
	* aspects.adb (Find_Aspect): If the aspect is a Base_Aspect,
	examine the representation items of the base type.

2011-12-21  Pascal Obry  <obry@adacore.com>

	* gnat_ugn.texi, prj.ads, prj-nmsc.adb, prj-attr.adb, projects.texi,
	snames.ads-tmpl: Use Encapsulated instead of Fully Standalone library.

2011-12-21  Pascal Obry  <obry@adacore.com>

	* adaint.c (__gnat_is_executable_file_attr) [_WIN32]: Add parentheses
	to kill warning.

From-SVN: r182582
2011-12-21 14:34:12 +01:00
Martin Jambor
427f99e2d6 tree-into-ssa.c (rewrite_update_stmt): Do not dump extra newlines.
2011-12-21  Martin Jambor  <mjambor@suse.cz>

	* tree-into-ssa.c (rewrite_update_stmt): Do not dump extra newlines.
	(rewrite_update_enter_block): Likewise.
	(dump_update_ssa): Likewise.
	(update_ssa): Likewise but also dump a newline at the beginning.

From-SVN: r182581
2011-12-21 13:44:31 +01:00
Arnaud Charlet
d781a61517 [multiple changes]
2011-12-21  Arnaud Charlet  <charlet@adacore.com>

	* comperr.adb (Delete_SCIL_Files): Also delete .scilx files.
	Fix implementation for child packages and package specs.
	(Delete_SCIL_Files.Decode_Name_Buffer): New function.

2011-12-21  Robert Dewar  <dewar@adacore.com>

	* err_vars.ads, a-cdlili.adb, a-cfdlli.ads, prj.adb, prj-nmsc.adb,
	a-cbdlli.adb, a-cbdlli.ads, a-cfdlli.adb: Minor reformatting.

2011-12-21  Vincent Pucci  <pucci@adacore.com>

	* s-diflio.adb, s-diflio.ads, s-diinio.adb, s-diinio.ads,
	s-llflex.ads: Fix header.

From-SVN: r182578
2011-12-21 13:08:32 +01:00
Arnaud Charlet
dea1d3dcea [multiple changes]
2011-12-21  Thomas Quinot  <quinot@adacore.com>

	* thread.c, s-oscons-tmplt.c, init.c (pthread_condattr_setclock): For
	AIX 5.2, define as a dummy weak symbol in init.c.
	(CLOCK_RT_Ada): Set to CLOCK_MONOTONIC on all versions of AIX.

2011-12-21  Thomas Quinot  <quinot@adacore.com>

	* snames.ads-tmpl, sem_ch8.adb: Minor reformatting.
	* sem_prag.adb: Minor comment clarification.

2011-12-21  Vincent Celier  <celier@adacore.com>

	* prj-nmsc.adb (Report_No_Sources): New argument Lang for the
	language name as a Name_Id. Do not report no sources if language
	is not allowed.
	(Add_Source): Do not add source if language is not allowed.
	* prj.adb (Add_Restricted_Language): New procedure
	(Is_Allowed_Language): New function
	* prj.ads (Add_Restricted_Language): New procedure
	(Is_Allowed_Language): New function

From-SVN: r182577
2011-12-21 13:03:53 +01:00
Arnaud Charlet
88115c2a39 [multiple changes]
2011-12-21  Robert Dewar  <dewar@adacore.com>

	* exp_ch5.adb, sem_dim.adb, sem_dim.ads, sem_ch12.adb, prj-conf.adb:
	Minor reformatting.

2011-12-21  Claire Dross  <dross@adacore.com>

	* a-cfdlli.ads (Constant_Indexing, Default_Iterator,
	Iterator_Element): Added to type List.               
	(Not_No_Element, List_Iterator_Interfaces, Iterate,
	Constant_Reference_Type, Constant_Reference): New.
	* a-cfdlli.adb (type Iterator, Finalize, First, Last, Next,
	Previous, Iterate, Not_No_Element, Constant_Reference): New.

From-SVN: r182576
2011-12-21 13:01:28 +01:00
Arnaud Charlet
6c57023b0c [multiple changes]
2011-12-21  Gary Dismukes  <dismukes@adacore.com>

	* gnat_ugn.texi: Minor reformatting.

2011-12-21  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch5.adb (Expand_Iterator_Loop): The cursor operation
	Has_Element is the formal of Iterator_Interfaces, and within
	the instantion of this package it is a renaming of some local
	function with an unrelated name. Retrieve the operation from
	the instance itself, not from the container package.

2011-12-21  Vincent Pucci  <pucci@adacore.com>

	* exp_ch6.adb (Expand_Call): Expand_Put_Call_With_Dimension_String
	replaced by Expand_Put_Call_With_Dimension_Symbol
	* sem_ch12.adb (Analyze_Package_Instantiation): New check for
	System.Dim_Float_IO and System.Dim_Integer_IO instantiation.
	* sem_ch3.adb (Analyze_Declarations): Removed
	Remove_Dimension_In_Declaration call.
	* sem_dim.adb: Update comments. Redefine the
	representation of a Rational. Propagate all changes involving
	data structures and types throughout the pakage. Output the
	dimension aggregates for each error messages.
	("/"): Rational constructor "/" removed for Whole operands.
	("/"): New rational operation "/" for Rational operands.
	("*"): Operation "*" between Rational and Int removed.
	("abs"): New unary operator "abs" for Rational.
	(Analyze_Aspect_Dimension_System): Reorganized.
	(Analyze_Dimension_Identifier): Removed.
	(Copy_Dimensions): Removed.
	(Create_Rational_From_Expr): New Boolean parameter.
	(Dimensions_Msg_Of): New routine. Return
	a string with the dimensions of the parameter.
	(From_Dimension_To_String_Of_Symbols): Renaming of
	From_Dimension_To_String_Id.
	* sem_dim.ads: Update comments.
	(Is_Dim_IO_Package_Instantiation): New routine.
	(Remove_Dimension_In_Declaration): Removed.
	* sem_res.adb (Resolve_Op_Expon): Reorganized calls of
	Eval_Op_Expon_For_Dimensioned_Type and Eval_Op_Expon.
	* s-diflio.ads, s-diinio.ads: Update comments.

From-SVN: r182575
2011-12-21 12:53:33 +01:00
Enkovich Ilya
26cd9add74 re PR target/50038 (redundant zero extensions)
gcc/

2011-12-21  Enkovich Ilya  <ilya.enkovich@intel.com>

        PR target/50038
        * implicit-zee.c: Delete.
        * ree.c: New file.
        * Makefile.in: Replace implicit-zee.c with ree.c.
        * config/i386/i386.c (ix86_option_override_internal): Rename
        flag_zee to flag_ree.
        * common.opt (fzee): Ignored.
        (free): New.
        * passes.c (init_optimization_passes): Replace pass_implicit_zee
        with pass_ree.
        * tree-pass.h (pass_implicit_zee): Delete.
        (pass_ree): New.
        * timevar.def (TV_ZEE): Delete.
        (TV_REE): New.
        * doc/invoke.texi: Add -free description.

gcc/testsuite/

2011-12-21  Enkovich Ilya  <ilya.enkovich@intel.com>

        PR target/50038

From-SVN: r182574
2011-12-21 11:52:27 +00:00
Arnaud Charlet
76f734d8f5 [multiple changes]
2011-12-21  Pascal Obry  <obry@adacore.com>

	* prj-attr.adb, snames.ads-tmpl: Add Library_Standalone,
	Library_Fully_Standalone_Options and
	Library_Fully_Standalone_Supported attributes.
	* prj-nmsc.adb (Check_Library): Update check to take into
	account fully standalone libraries. Such shared libraries can
	only depend on static libraries.
	(Check_Stand_Alone_Library): Add support for fully standalone libraries.
	(Process_Project_Level_Simple_Attributes): Store value for
	configuration attribute Library_Fully_Standalone_Supported.
	* prj.ads, makeutl.adb (Standalone): New enumeration type.
	(Project_Data): Standalone_Library now of type Standlone.
	(Project_Configuration): Add Lib_Fully_Standalone_Supported
	field.
	(Default_Project_Config): Initialize new Lib_Fully_Standalone_Supported
	field.
	* clean.adb (Clean_Project): Adjust to new type for Standalone.
	* make.adb (Library_Phase): Adjust to new type for Standalone.
	(Gnatmake): Likewise.
	* mlib-prj.adb (Build_Library): Adjust to new type for
	Standalone.

2011-12-21  Thomas Quinot  <quinot@adacore.com>

	* gnatls.adb (Gnatls): Call Set_Standard_Error at startup, and then
	Set_Standard_Output just before producing normal (non-diagnostic)
	output.
	* gnatcmd.adb (Gnatcmd): Call Set_Standard_Error at initialization
	(and again after parsing project files).

2011-12-21  Vincent Celier  <celier@adacore.com>

	* prj-conf.adb (Do_Autoconf): When the object directory does
	not exist, create auto.cgpr in the directory where temporary
	files are created.

From-SVN: r182573
2011-12-21 12:50:02 +01:00
Tristan Gingold
916e8d2794 vms-protos.h (vms_function_section): New prototype.
2011-12-21  Tristan Gingold  <gingold@adacore.com>

	* config/vms/vms-protos.h (vms_function_section): New prototype.
	* config/vms/vms.c (vms_function_section): New function.
	* config/vms/vms.h (TARGET_ASM_FUNCTION_SECTION): Define.

From-SVN: r182571
2011-12-21 09:44:27 +00:00
Richard Guenther
b200cc3fcc re PR lto/41159 ([LTO] ICE in insert_value_copy_on_edge, at tree-outof-ssa.c:225)
2011-12-21  Richard Guenther  <rguenther@suse.de>

	PR lto/41159
	* tree-outof-ssa.c (insert_value_copy_on_edge): Use the
	mode of the pseudo as destination mode.  Only assert that
	is equal to the promoted mode of the decl if it is a REG.

From-SVN: r182570
2011-12-21 09:22:58 +00:00
Tristan Gingold
8e1d97d43b fde-vms.c (UNW_IVMS_MODE): Define.
2011-12-21  Tristan Gingold  <gingold@adacore.com>

	* config/ia64/fde-vms.c (UNW_IVMS_MODE): Define.

From-SVN: r182568
2011-12-21 08:52:47 +00:00
Tristan Gingold
b409555383 xm-vms.h (STANDARD_EXEC_PREFIX): Remove define.
2011-12-21  Tristan Gingold  <gingold@adacore.com>

	* config/vms/xm-vms.h (STANDARD_EXEC_PREFIX): Remove define.

From-SVN: r182567
2011-12-21 08:42:12 +00:00
Richard Henderson
e6431744b2 ia64: Implement vec_perm_const.
* config/ia64/ia64.c (MAX_VECT_LEN): New.
        (struct expand_vec_perm_d): New.
        (TARGET_VECTORIZE_VEC_PERM_CONST_OK): New.
        (ia64_unpack_assemble): Use ia64_expand_vec_perm_const_1.
        (expand_vselect, expand_vselect_vconcat): New.
        (expand_vec_perm_identity, expand_vec_perm_shrp): New.
        (expand_vec_perm_1, expand_vec_perm_broadcast): New.
        (expand_vec_perm_interleave_2, expand_vec_perm_v4hi_5): New.
        (ia64_expand_vec_perm_const_1, ia64_expand_vec_perm_const): New.
        (ia64_vectorize_vec_perm_const_ok): New.
        (ia64_expand_vec_setv2sf, ia64_expand_vec_perm_even_odd): New.
        * config/ia64/ia64-protos.h: Update.
        * config/ia64/vect.md (VEC): New mode iterator.
        (vecint): New mode attribute.
        (vec_interleave_lowv8qi, vec_interleave_highv8qi): Privatize with '*'.
        (vec_interleave_lowv4hi, vec_interleave_highv4hi): Likewise.
        (vec_interleave_lowv2si, vec_interleave_highv2si): Likewise.
        (vec_interleave_lowv2sf, vec_interleave_highv2sf): Likewise.
        (mix1_even, mix1_odd, mux1_alt): Likewise.
        (mux1_brcst_qi): Remove '*' from name.
        (vec_extract_evenv8qi, vec_extract_oddv8qi): Remove.
        (vec_extract_evenv4hi, vec_extract_oddv4hi): Remove.
        (vec_extract_evenv2si, vec_extract_oddv2si): Remove.
        (vec_extract_evenv2sf, vec_extract_oddv2sf): Remove.
        (vec_extract_evenodd_helper): Remove.
        (vec_setv2sf): Use ia64_expand_vec_setv2sf.
        (vec_pack_trunc_v4hi): Use ia64_expand_vec_perm_even_odd.
        (vec_pack_trunc_v2si): Likewise.
        (vec_perm_const<VEC>): New.

From-SVN: r182564
2011-12-20 17:03:00 -08:00
Richard Henderson
0f3d6c10f4 Always simplify vector shifts by scalars.
Also decompose vectors in large integer modes.

        * tree-vect-generic.c (expand_vector_operations_1): Correct tests
        for vector types -- use the type not the mode.  Fix optab selection
        for vector shifts by a scalar.  Handle over-large integer modes
        like BLKmode.

From-SVN: r182563
2011-12-20 16:41:24 -08:00
Richard Henderson
96e69fe20e arm: Split xorsi with constant after reload.
This puts xorsi3 in the same format as andsi3 and iorsi3.
This similarity fixes code generation issues with splitting
atomic_fetch_xor post-reload.

        * config/arm/arm.md (*arm_xorsi3): Match iorsi3 and perform
        post-reload splitting.

From-SVN: r182562
2011-12-20 16:35:41 -08:00
Richard Henderson
6cb2b9646d arm: Use arm_cmpdi_unsigned for thumb2 as well
This changes code generation from "eors; eors; orrs" (which ranges
from 6 to 12 bytes and requires three scratch registers), to
"cmp; it; cmp" (which is always 6 bytes for register inputs and
requires no scratch registers).

        * config/arm/arm.md (*arm_cmpdi_unsigned): Enable for thumb2.
        * config/arm/arm.c (arm_select_cc_mode): Use it.

From-SVN: r182561
2011-12-20 16:34:09 -08:00
GCC Administrator
fa14fefd24 Daily bump.
From-SVN: r182560
2011-12-21 00:19:23 +00:00
Paolo Carlini
7ac37b9675 re PR c++/51621 ([c++0x] [4.6/4.7 Regression] ICE with invalid constexpr and array class member)
/cp
2011-12-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51621
	* tree.c (diagnose_non_constexpr_vec_init): For value initialization
	pass void_type_node, not void_zero_node, to build_vec_init_elt.

/testsuite
2011-12-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51621
	* g++.dg/cpp0x/constexpr-ice5.C: New.

From-SVN: r182556
2011-12-20 23:51:09 +00:00
Ian Lance Taylor
a0c8d0c1e3 morestack.S (__morestack_non_split): If there is enough stack space already, don't split.
* config/i386/morestack.S (__morestack_non_split): If there is
	enough stack space already, don't split.  Ask for more stack space
	than we required.

From-SVN: r182555
2011-12-20 22:34:30 +00:00
Richard Sandiford
3752b2ab7c tree-ssa-math-opts.c (convert_plusminus_to_widen): Restrict handling of signedness differences to integer types.
gcc/
	* tree-ssa-math-opts.c (convert_plusminus_to_widen): Restrict
	handling of signedness differences to integer types.  Only build
	a new optype if type1 isn't correct.

From-SVN: r182554
2011-12-20 21:33:48 +00:00
Vladimir Makarov
9d19c7329c re PR target/49865 (Unnecessary reload causes small bloat)
2011-12-20  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/49865
	* ira-costs.c (find_costs_and_classes): Prefer registers even
          if the memory cost is the same.

From-SVN: r182553
2011-12-20 21:29:36 +00:00
Sergio Durigan Junior
6904889880 unwind-arm-common.inc: Include tconfig.h', tsystem.h' and `sys/sdt.h'.
2011-12-20  Sergio Durigan Junior  <sergiodj@redhat.com>

	* unwind-arm-common.inc: Include `tconfig.h', `tsystem.h' and
	`sys/sdt.h'.
	(_Unwind_DebugHook): New function.
	(uw_restore_core_regs): New define.
	(unwind_phase2): Use uw_restore_core_regs instead of
	restore_core_regs.
	(unwind_phase2_forced): Likewise.
	(__gnu_Unwind_Resume): Likewise.

From-SVN: r182552
2011-12-20 20:54:25 +00:00