Commit Graph

110837 Commits

Author SHA1 Message Date
H.J. Lu
d4be16f6d2 Replace long with long long on __lzcnt64.
2011-08-01  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/lzcntintrin.h (__lzcnt64): Replace long with
	long long.

From-SVN: r177081
2011-08-01 17:31:07 -07:00
GCC Administrator
88b4b6834f Daily bump.
From-SVN: r177080
2011-08-02 00:18:50 +00:00
H.J. Lu
e7ae08e343 Add x32 libstdc++ baseline_symbols.txt.
2011-08-01  H.J. Lu  <hongjiu.lu@intel.com>

	* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Generated.

From-SVN: r177076
2011-08-01 15:32:26 -07:00
Sebastian Pop
3c67fd9c30 Makefile.in (hwint.o): Depend on DIAGNOSTIC_CORE_H.
2011-08-01  Sebastian Pop  <sebastian.pop@amd.com>
	    Joseph Myers  <joseph@codesourcery.com>

	* Makefile.in (hwint.o): Depend on DIAGNOSTIC_CORE_H.
	* hwint.c: Include diagnostic-core.h.
	(abs_hwi): New.
	(gcd): Moved here...
	(pos_mul_hwi): New.
	(mul_hwi): New.
	(least_common_multiple): Moved here...
	* hwint.h (gcd): ... from here.
	(least_common_multiple): ... from here.
	(HOST_WIDE_INT_MIN): New.
	(HOST_WIDE_INT_MAX): New.
	(abs_hwi): Declared.
	(gcd): Declared.
	(pos_mul_hwi): Declared.
	(mul_hwi): Declared.
	(least_common_multiple): Declared.
	* omega.c (check_pos_mul): Removed.
	(check_mul): Removed.
	(omega_solve_geq): Use pos_mul_hwi instead of check_pos_mul and
	mul_hwi instead of check_mul.

Co-Authored-By: Joseph Myers <joseph@codesourcery.com>

From-SVN: r177075
2011-08-01 21:53:07 +00:00
Jason Merrill
4bbff96e36 re PR c++/49932 ([C++0x] ICE on instantiating decltype(expr)::type with template)
PR c++/49932
gcc/cp/
	* mangle.c (write_prefix): Handle decltype.
libiberty/
	* cp-demangle.c (d_prefix): Handle decltype.

From-SVN: r177074
2011-08-01 17:02:07 -04:00
Jason Merrill
3748a54ca3 re PR c++/49924 ([C++0X] [constexpr] can't initialize a non-static member array of a literal type as a constexpr)
PR c++/49924
	* semantics.c (cxx_eval_vec_init_1): Fix logic.

From-SVN: r177073
2011-08-01 17:01:59 -04:00
Richard Henderson
172c08a544 re PR target/49881 ([AVR] Inefficient stack manipulation around calls)
PR target/49881
        * config/avr/avr.h (PUSH_ROUNDING): New.
        * config/avr/avr.md (pushqi1): Rename from *pushqi.
        (*pushhi, *pushsi, *pushsf): Remove.
        (MPUSH): New mode iterator.
        (push<MPUSH>1): New expander.

From-SVN: r177071
2011-08-01 12:35:43 -07:00
Paolo Carlini
750867b7f4 re PR c++/49813 ([C++0x] sinh vs asinh vs constexpr)
2011-08-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/49813
	* include/c_global/cmath (isinf): Remove workaround.

From-SVN: r177070
2011-08-01 19:26:39 +00:00
Anatoly Sokolov
0d5e496f46 mmix.h (PREFERRED_RELOAD_CLASS, [...]): Remove macro.
* config/mmix/mmix.h (PREFERRED_RELOAD_CLASS,
	PREFERRED_OUTPUT_RELOAD_CLASS): Remove macro.
	* config/mmix/mmix-protos.h (mmix_preferred_reload_class,
	mmix_preferred_output_reload_class): Remove.
	* config/mmix/mmix.c (mmix_preferred_reload_class,
	mmix_preferred_output_reload_class): Make static. Change rclass
	argument and return type to reg_class_t.
	(TARGET_PREFERRED_RELOAD_CLASS,
	TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.

From-SVN: r177069
2011-08-01 23:08:34 +04:00
Joern Rennecke
a44250f4dd mode-switching.c (optimize_mode_switching): Fix bug in MODE_AFTER handling.
* mode-switching.c (optimize_mode_switching): Fix bug in MODE_AFTER
        handling.

From-SVN: r177068
2011-08-01 19:30:29 +01:00
H.J. Lu
efd7630c8f Use ptr_mode for stack protector.
2011-08-01  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/47766
	* config/i386/i386.md (PTR): New.
	(stack_protect_set: Check TARGET_LP64 instead of TARGET_64BIT.
	(stack_protect_test): Likewise.
	(stack_protect_set_<mode>): Replace ":P" with ":PTR".
	(stack_tls_protect_set_<mode>): Likewise.
	(stack_tls_protect_test_<mode>): Likewise.

From-SVN: r177067
2011-08-01 11:21:07 -07:00
Jason Merrill
0701bb567b re PR c++/49813 ([C++0x] sinh vs asinh vs constexpr)
PR c++/49813
	* semantics.c (potential_constant_expression_1): Allow any builtin.
	(morally_constexpr_builtin_function_p): Remove.

From-SVN: r177066
2011-08-01 14:14:29 -04:00
Uros Bizjak
03acddfe0c re PR target/49927 (ice in spill_failure, at reload1.c:2120)
PR target/49927
	* config/i386/i386.c (ix86_address_subreg_operand): New.
	(ix86_decompose_address): Use ix86_address_subreg_operand.
	(ix86_legitimate_address_p): Do not assert that subregs satisfy
	register_no_elim_operand in DImode.

testsuite/ChangeLog:

	PR target/49927
	* gcc.target/i386/pr49927.c: New test.

From-SVN: r177064
2011-08-01 19:13:30 +02:00
Ira Rosen
67f2d54f56 re PR tree-optimization/49926 (ice in process_use, at tree-vect-stmts.c:405)
PR tree-optimization/49926
        * tree-vect-loop.c (vect_is_slp_reduction): Check that a
        statement in a chain doesn't have uses both inside and
        outside the loop.

From-SVN: r177063
2011-08-01 16:58:20 +00:00
Robert Dewar
2933b16cf2 sem_util.ads, [...] (Last_Source_Statement): Replaces Last_Source_Node_In_Sequence.
2011-08-01  Robert Dewar  <dewar@adacore.com>

	* sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement):
	Replaces Last_Source_Node_In_Sequence.
	* err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K
	* errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores
	parens and blank in string (this was inconsistently implemented).
	* errout.ads
	(Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
	blank in string (this was inconsistently implemented).
	* gnat1drv.adb
	(Set_Global_Switches): Set formal mode switches appropriately
	* opt.ads, opt.adb: Formal mode is now global switches, more consistent
	* par-prag.adb
	(Analyze_Pragma, case SPARK_95): Set opt switches appropriately and
	call Set_Error_Msg_Lang to set "spark" as language name.
	* par.adb: Remove unnecessary call to set formal language for errout
	* sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches
	appropriately and call Set_Error_Msg_Lang to set "spark" as language
	name.
	* sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and
	calls to it, moved after resolution so that types are known
	* sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if
	result of concatenation is not of type String
	(Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of
	concatenation is not properly restricted
	* gnat_rm.texi: Add doc on pragma Spark_95.
	* gcc-interface/Makefile.in: Remove obsolete target pairs for
	Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads.
	* gcc-interface/Make-lang.in: Update dependencies.

From-SVN: r177061
2011-08-01 18:16:24 +02:00
Arnaud Charlet
05dbd302cf [multiple changes]
2011-08-01  Javier Miranda  <miranda@adacore.com>

	* sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
	condition that detects if the overridden operation must replace an
	existing entity.

2011-08-01  Javier Miranda  <miranda@adacore.com>

	* exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded
	code declarations inserted by Insert_Actions in each alternative of the
	N_Case_Expression node.

2011-08-01  Robert Dewar  <dewar@adacore.com>

	* sem_ch6.adb: Minor code reorganization.
	* sem_util.adb: Minor reformatting.

From-SVN: r177059
2011-08-01 18:09:10 +02:00
Pascal Obry
af9e051fad prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
2011-08-01  Pascal Obry  <obry@adacore.com>

	* prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
	* gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.

From-SVN: r177058
2011-08-01 18:06:47 +02:00
Arnaud Charlet
1d801f212f [multiple changes]
2011-08-01  Yannick Moy  <moy@adacore.com>

	* par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
	literal or operator symbol which is prefixed
	* sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
	mode on access attributes.
	* sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
	that concatenation operands are properly restricted in formal mode
	(Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
	Analyze_Concatenation_Operand. Issue an error in formal mode if the
	result of the concatenation has a type different from String.
	(Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
	Analyze_Quantified_Expression, Analyze_Slice,
	Analyze_Null): issue an error in formal mode on unsupported constructs
	* sem_ch5.adb
	(Analyze_Block_Statement): only issue error on source block statement
	* sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
	function which returns the last node in a list of nodes for which
	Comes_From_Source returns True, if any
	* sem_ch6.adb (Check_Missing_Return): minor refactoring to use
	Last_Source_Node_In_Sequence
	* sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
	Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
	mode on unsupported constructs
	* sem_ch9.adb Do not return after issuing error in formal mode, as the
	rest of the actions may be needed later on since the error is marked as
	not serious.
	* sinfo.ads: Typos in comments.

2011-08-01  Pascal Obry  <obry@adacore.com>

	* projects.texi: Minor editing.

From-SVN: r177057
2011-08-01 18:05:30 +02:00
Yannick Moy
53beff2222 err_vars.ads (Error_Msg_Lang, [...]): new variables for insertion character ~~
2011-08-01  Yannick Moy  <moy@adacore.com>

	* err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
	insertion character ~~
	* errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
	(Set_Error_Msg_Lang): new procedure which fixes the language for use
	with insertion character ~~
	(Set_Msg_Text): treat insertion character ~~
	* par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
	sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
	Formal_Error_Msg_... procedures by equivalent Error_Msg_...
	procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
	errors related to the formal language restriction not serious
	(insertion character |).
	* par.adb (Par): set formal language for error messages if needed
	* sem_ch6.adb (Check_Missing_Return): take into account possible
	generated statements at the end of the function
	* snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
	enumeration value to define a new pragma SPARK_95
	* opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
	SPARK_Version): new type and variables to store the SPARK version
	(none by default).
	(SPARK_Mode): return True when SPARK_Version is set
	* par-prag.adb: Correct indentation
	(Prag): take Pragma_SPARK_95 into account
	* sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
	into account.

From-SVN: r177056
2011-08-01 18:02:10 +02:00
Robert Dewar
8d606a78a3 sem_ch3.adb, [...]: Minor reformatting
2011-08-01  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
	sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
	sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting

From-SVN: r177055
2011-08-01 17:59:50 +02:00
Pascal Obry
1982d5a854 prj-part.ads, [...] (Parse): Add Target_Name parameter.
2011-08-01  Pascal Obry  <obry@adacore.com>

	* prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass
	Target_Name to Get_Path call.
	(Parse_Single_Project): Likewise.
	(Post_Parse_Context_Clause): Likewise.
	* prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter.
	Call Initialise_Project_Path with the proper Target_Name.
	(Initialize_Project_Path): Add <gnat_root>/<target_name>/lib/gnat
	search path.
	(Get_Path): Add Target_Name parameter. Call Initialise_Project_Path
	with the proper Target_Name.
	* prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to
	Part.Parse routine.
	(Parse_Project_And_Apply_Config): Likewise.
	* prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine.
	This is fine as this part of the code is supporting only native
	compilation.
	* prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This
	is fine as this part of the code is supporting only native compilation.

From-SVN: r177054
2011-08-01 17:57:17 +02:00
Arnaud Charlet
0d53d36b6e [multiple changes]
2011-08-01  Yannick Moy  <moy@adacore.com>

	* sem_util.adb (Enter_Name): issue error in formal mode on declaration
	of homonym, unless the homonym is one of the cases allowed in SPARK
	* par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
	package declaration occurring after a body.

2011-08-01  Robert Dewar  <dewar@adacore.com>

	* checks.adb, exp_ch4.adb: Minor reformatting.

2011-08-01  Javier Miranda  <miranda@adacore.com>

	* einfo.ads (Access_Disp_Table): Fix documentation.
	(Dispatch_Table_Wrappers): Fix documentation.

2011-08-01  Pascal Obry  <obry@adacore.com>

	* prj-env.adb, prj-env.ads: Minor reformatting.

From-SVN: r177053
2011-08-01 17:54:39 +02:00
Arnaud Charlet
8ed68165ed [multiple changes]
2011-08-01  Yannick Moy  <moy@adacore.com>

	* sem_util.ads, sem_util.adb, par.adb, par_util.adb
	(Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
	procedures out of these packages.
	* errout.ads, errout.adb 
	(Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
	procedures in of this package
	(Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
	* par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
	on misplaced later vs initial declarations, like in Ada 83
	* sem_attr.adb (Processing for Analyze_Attribute): issue error in
	formal mode on attribute of private type whose full type declaration
	is not visible
	* sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
	package declaration inside a package specification
	(Analyze_Full_Type_Declaration): issue error in formal mode on
	controlled type or discriminant type
	* sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
	user-defined operator means that it should come from the source
	(New_Overloaded_Entity): issue error in formal mode on overloaded
	entity.
	* sem_ch6.ads, sem_ch13.ads: typos in comments.

2011-08-01  Thomas Quinot  <quinot@adacore.com>

	* atree.adb: Minor reformatting.
	* checks.adb: Minor reformatting.

From-SVN: r177052
2011-08-01 17:51:41 +02:00
Arnaud Charlet
4230bdb759 [multiple changes]
2011-08-01  Vincent Celier  <celier@adacore.com>

	* s-parame-vms-ia64.ads: Fix typo in comment
	Minor reformatting
	* s-parame-vms-restrict.ads: Removed, unused.

2011-08-01  Javier Miranda  <miranda@adacore.com>

	* exp_ch3.adb
	(Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
	* sem_ch3.adb
	(Constrain_Index): Remove side effects in the evaluation of the bounds.
	* sem_ch3.ads, sem_ch3.adb
	(Is_Constant_Bound): New extended version of the subprogram that was
	previously located inside function Exp_Ch3.Is_Variable_Size_Array.
	Moved here since it is shared by routines of sem_ch3 and exp_ch3.
	* sem_aux.ads (Constant_Value): Fix typo in comment.
	* checks.adb (Generate_Index_Checks): New implementation which, for
	array objects with constant bounds, generates the runtime check
	referencing the bounds of the array type. For other cases this routine
	provides its previous behavior obtaining such values from the array
	object.
	* sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
	parent type.
	* atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
	we cannot have semantic interpretations of the new node.

From-SVN: r177051
2011-08-01 17:45:30 +02:00
Arnaud Charlet
2010d0783d [multiple changes]
2011-08-01  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
	expressions.

2011-08-01  Arnaud Charlet  <charlet@adacore.com>

	* sem_ch8.adb: Minor code editing.
	* s-vxwext.adb: Remove trailing space.
	* freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
	consistency with other files.

2011-08-01  Thomas Quinot  <quinot@adacore.com>

	* s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.

2011-08-01  Ed Schonberg  <schonberg@adacore.com>

	* par-ch10.adb: reject parameterized expressions as compilation unit.
	* sem_ch4.adb: handle properly conditional expression with overloaded
	then_clause and no else_clause.

2011-08-01  Tristan Gingold  <gingold@adacore.com>

	* s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
	like done by System.Aux_DEC.
	* env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.

From-SVN: r177050
2011-08-01 17:41:01 +02:00
Georg-Johann Lay
f2c308fa3f avr.h (mcu_type_s): Add errata_skip field.
* config/avr/avr.h (mcu_type_s): Add errata_skip field.
	* config/avr/avr-devices.c (avr_mcu_types): Use it.
	* config/avr/avr-mcus.def (AVR_MCU): Use it.
	* config/avr/avr-c.c (avr_cpu_cpp_builtins): Use it to builtin
	define __AVR_ERRATA_SKIP__ and __AVR_ERRATA_SKIP_JMP_CALL__.
	* config/avr/libgcc.S (__mulshisi3, __ffshi2, __fmulsu_exit):
	Use __AVR_ERRATA_SKIP_JMP_CALL__ instead of __AVR_HAVE_JMP_CALL__
	to detect if XJMP must not be skipped.

From-SVN: r177049
2011-08-01 15:35:45 +00:00
Yannick Moy
daec8eebdb par-endh.adb (Check_End): issue a syntax error in SPARK mode for missing label at end of declaration...
2011-08-01  Yannick Moy  <moy@adacore.com>

	* par-endh.adb (Check_End): issue a syntax error in SPARK mode for
	missing label at end of declaration (subprogram or package)
	* par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
	of positional and named parameter association
	* par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
	Error_Msg_SP which adds a prefix to the error message giving the name
	of the formal language analyzed
	* sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
	access result type in subprogram, unconstrained array as result type,.
	(Analyze_Subprogram_Declaration): issue an error in formal mode for null
	procedure
	* sem_ch8.adb: Code clean up.

From-SVN: r177048
2011-08-01 17:34:50 +02:00
Arnaud Charlet
38171f43f1 [multiple changes]
2011-08-01  Javier Miranda  <miranda@adacore.com>

	* sem_ch7.adb (Uninstall_Declarations): Remove useless code.
	* einfo.ads (Access_Disp_Table): Fix documentation.
	(Dispatch_Table_Wrappers): Fix documentation.
	* einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
	Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
	to enforce the documentation of this attribute.
	(Set_Is_Interface): Cleanup the assertion.
	* exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
	the Underlying_Type entity before reading attribute Access_Disp_Table.
	* exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
	Locate the Underlying_Type before reading attribute Access_Disp_Table.
	* exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
	the Underlying_Type entity before reading attribute Access_Disp_Table.
	* exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
	Locate the Underlying_Type entity before reading attribute
	Access_Disp_Table.

2011-08-01  Ed Schonberg  <schonberg@adacore.com>

	* s-poosiz.ads: Additional overriding indicators.

2011-08-01  Yannick Moy  <moy@adacore.com>

	* sem_ch5.adb (Analyze_Exit_Statement): add return after error in
	formal mode.
	(Analyze_Iteration_Scheme): issue error in formal mode when loop
	parameter specification does not include a subtype mark.
	* sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
	formal mode on abstract subprogram.
	(Analyze_Subprogram_Specification): issue error in formal mode on
	user-defined operator.
	(Process_Formals): issue error in formal mode on access parameter and
	default expression.
	* sem_ch9.adb (Analyze_Abort_Statement,
	Analyze_Accept_Statement, Analyze_Asynchronous_Select,
	Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
	Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
	Analyze_Requeue, Analyze_Selective_Accept,
	Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
	* sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
	issue error in formal mode on user-defined raise statement.

From-SVN: r177047
2011-08-01 17:17:35 +02:00
Arnaud Charlet
1f25038381 [multiple changes]
2011-08-01  Thomas Quinot  <quinot@adacore.com>

	* sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
	declaration being hidden when overriding an implicit inherited
	subprogram.
	* par-ch10.adb (P_Compilation_Unit): In syntax check only mode
	(-gnats), do not complain about a source file that contains only a
	pragma No_Body.

2011-08-01  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
	variable if already set.

From-SVN: r177046
2011-08-01 17:13:25 +02:00
Arnaud Charlet
5dabb19c6d Update header.
From-SVN: r177045
2011-08-01 17:11:02 +02:00
Arnaud Charlet
f5e68b48a5 Update header.
From-SVN: r177044
2011-08-01 17:10:28 +02:00
Arnaud Charlet
c47c02ae6a Switch to GPLv3 run-time license.
From-SVN: r177043
2011-08-01 17:10:11 +02:00
Arnaud Charlet
cf02459a95 Update to GPLv3 run-time license.
From-SVN: r177042
2011-08-01 17:08:40 +02:00
Alan Modra
bd15e32c71 linux-unwind.h (frob_update_context <__powerpc64__>): Restore for indirect call bcrtl from correct stack slot...
libgcc/
	* config/rs6000/linux-unwind.h (frob_update_context <__powerpc64__>):
	Restore for indirect call bcrtl from correct stack slot, and only
	if cfa+40 isn't valid.
gcc/
	* config/rs6000/rs6000-protos.h (rs6000_save_toc_in_prologue_p): Delete.
	* config/rs6000/rs6000.c (rs6000_save_toc_in_prologue_p): Make static.
	(rs6000_emit_prologue): Don't prematurely return when
	TARGET_SINGLE_PIC_BASE.  Don't emit eh_frame info in
	save_toc_in_prologue case.
	(rs6000_call_indirect_aix): Only disallow save_toc_in_prologue for
	calls_alloca.

From-SVN: r177041
2011-08-02 00:35:24 +09:30
Arnaud Charlet
607d0635d8 [multiple changes]
2011-08-01  Arnaud Charlet  <charlet@adacore.com>

	* g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
	g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
	s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
	g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
	g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
	g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
	g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
	g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
	g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
	g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
	g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
	s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
	g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
	s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
	g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
	g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
	g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
	g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
	g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
	g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
	s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
	s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
	a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
	s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
	s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
	g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
	g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
	g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
	g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
	g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
	g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
	s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
	s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
	g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
	g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
	s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
	s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
	g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
	g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
	g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
	s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
	g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
	g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
	g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
	s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
	g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
	g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
	g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
	s-osinte-mingw.ads: Update to GPLv3 run-time license.
	Use GNAT instead of GNARL.

2011-08-01  Bob Duff  <duff@adacore.com>

	* a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
	a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
	a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
	reformatting.

2011-08-01  Yannick Moy  <moy@adacore.com>

	* debug.adb (d.D) reverve flag for the SPARK mode
	(d.E) reverve flag for SPARK generation mode
	(d.F) reverve flag for Why generation mode
	* opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode, 
	ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode):  New
	functions which return True when the corresponding modes are set
	(Formal_Language): return "spark" or "alfa" when in formal verification
	mode.
	* sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
	Error_Msg to prefix the error message with a tag giving the formal
	language
	(Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
	message with a tag giving the formal language
	* sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
	block statement
	(Analyze_Case_Statement): issue error in formal mode on case statement
	with a single "others" case alternative
	(Analyze_Exit_Statement): issue errors in formal mode on exit
	statements which do not respect SPARK restrictions
	(Analyze_Goto_Statement): issue error in formal mode on goto statement
	(Check_Unreachable_Code): always issue an error (not a warning) in
	formal mode on unreachable code (concerns both code after an infinite
	loop and after an unconditional jump, both not allowed in SPARK)
	* sem_ch6.adb (Analyze_Return_Statement): add call to
	Set_Return_Present for a procedure containing a return statement
	(already done for functions in Analyze_Function_Return)
	(Analyze_Function_Return): issue error in formal mode on extended
	return or if return is not last statement in function
	(Check_Missing_Return): issue error in formal mode if function does
	not end with return or if procedure contains a return
	* sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
	function to detect if there is an inner scope of its parameter S which
	is a loop.

2011-08-01  Thomas Quinot  <quinot@adacore.com>

	* sem_ch6.ads: Minor reformatting.

From-SVN: r177040
2011-08-01 17:05:02 +02:00
Georg-Johann Lay
d80de9e13f avr-devices.c: Delete SVN property svn:executable.
* config/avr/avr-devices.c: Delete SVN property svn:executable.
	* config/avr/predicates.md: Ditto.
	* config/avr/driver-avr.c: Ditto.
	* config/avr/genopt.sh: Set SVN property svn:executable to *.

From-SVN: r177039
2011-08-01 14:49:57 +00:00
Arnaud Charlet
d8b3ccb951 [multiple changes]
2011-08-01  Javier Miranda  <miranda@adacore.com>

	* sem_util.adb (Abstract_Interface_List): Complete condition when
	processing private type declarations to avoid reading unavailable
	attribute.
	(Is_Synchronized_Tagged_Type): Complete condition when processing
	private extension declaration nodes to avoid reading unavailable
	attribute.

2011-08-01  Thomas Quinot  <quinot@adacore.com>

	* sem_ch3.adb: Minor reformatting.

2011-08-01  Thomas Quinot  <quinot@adacore.com>

	* s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
	i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
	s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
	s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
	for VMS, instead parametrize the common implementation with
	System.Parameters declarations.

From-SVN: r177038
2011-08-01 16:36:39 +02:00
Arnaud Charlet
0bb9276c88 [multiple changes]
2011-08-01  Eric Botcazou  <ebotcazou@adacore.com>

	* gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.

2011-08-01  Tristan Gingold  <gingold@adacore.com>

	* seh_init.c: Fix SEH handler installation on win64.

2011-08-01  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
	double analysis of an anonymous access to subprogram, because it can
	lead to improper sharing of profiles and a back-end crash.

From-SVN: r177037
2011-08-01 16:30:34 +02:00
H.J. Lu
ee222ce05c Declare size only if BLOCK_REG_PADDING is defined.
2011-08-01  H.J. Lu  <hongjiu.lu@intel.com>

	* calls.c (emit_library_call_value_1): Declare size only if
	BLOCK_REG_PADDING is defined.

From-SVN: r177036
2011-08-01 06:53:21 -07:00
Arnaud Charlet
6a2e4f0bc7 [multiple changes]
2011-08-01  Robert Dewar  <dewar@adacore.com>

	* make.adb, sem_ch4.adb: Minor reformatting.
	* gcc-interface/Make-lang.in: Update dependencies.
	* sem_util.adb, exp_ch5.adb: Minor reformatting.

2011-08-01  Arnaud Charlet  <charlet@adacore.com>

	* gnat_rm.texi: Fix definition of Long_Integer.

2011-08-01  Ed Schonberg  <schonberg@adacore.com>

	* exp_aggr.adb: check limit size of static aggregate unconditionally,
	to prevent storage exhaustion.
	* exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
	finalized is a function body, insert the cleanup code before the final
	return statement, to prevent spurious warnings.
	* s-pooglo.ads: add overriding indicator.

From-SVN: r177035
2011-08-01 15:50:27 +02:00
Kirill Yukhin
5fcafa6051 Add -mlzcnt.
gcc/

2011-08-01  Kirill Yukhin  <kirill.yukhin@intel.com>

	PR target/49547
	* config.gcc (i[34567]86-*-*): Replace abmintrin.h with
	lzcntintrin.h.
	(x86_64-*-*): Likewise.
	* config/i386/i386.opt (mlzcnt): New.
	* config/i386/abmintrin.h: File removed.
	(__lzcnt_u16, __lzcnt, __lzcnt_u64): Moved to ...
	* config/i386/lzcntintrin.h: ... here. New file.
	(__lzcnt): Rename to ...
	(__lzcnt32): ... this.
	* config/i386/bmiintrin.h (head): Update copyright year.
	(__lzcnt_u16): Removed.
	(__lzcnt_u32): Likewise.
	(__lzcnt_u64): Likewise.
	* config/i386/x86intrin.h: Include lzcntintrin.h when __LZCNT__
	is defined, remove abmintrin.h.
	* config/i386/cpuid.h (bit_LZCNT): New.
	* config/i386/driver-i386.c (host_detect_local_cpu): Detect
	LZCNT feature.
	* config/i386/i386-c.c (ix86_target_macros_internal): Define
	__LZCNT__ if needed.
	* config/i386/i386.c (ix86_target_string): New option -mlzcnt.
	(ix86_option_override_internal): Handle LZCNT option.
	(ix86_valid_target_attribute_inner_p): Likewise.
	(struct builtin_description bdesc_args) <IX86_BUILTIN_CLZS>: Update.
	* config/i386/i386.h (TARGET_LZCNT): New.
	(CLZ_DEFINED_VALUE_AT_ZERO): Update.
	* config/i386/i386.md (clz<mode>2): Update insn constraint.
	(clz<mode>2_lzcnt): Likewise.
	* doc/invoke.texi: Mention -mlzcnt option.
	* doc/extend.texi: Likewise.

gcc/testsuite/

2011-08-01  Kirill Yukhin  <kirill.yukhin@intel.com>

	* gcc.target/i386/i386.exp (check_effective_target_lzcnt): New.
	* gcc.target/i386/lzcnt-1.c: New test.
	* gcc.target/i386/lzcnt-2.c: Likewise.
	* gcc.target/i386/lzcnt-2a.c: Likewise.
	* gcc.target/i386/lzcnt-3.c: Likewise.
	* gcc.target/i386/lzcnt-4.c: Likewise.
	* gcc.target/i386/lzcnt-4a.c: Likewise.
	* gcc.target/i386/lzcnt-5.c: Likewise.
	* gcc.target/i386/lzcnt-6.c: Likewise.
	* gcc.target/i386/lzcnt-6a.c: Likewise.
	* gcc.target/i386/lzcnt-check.h: Likewise.

	* gcc.target/i386/sse-12.c (dg-compile): Add -mlzcnt.
	* gcc.target/i386/sse-13.c: Likewise.
	* gcc.target/i386/sse-14.c: Likewise.
	* g++.dg/other/i386-2.C: Likewise.
	* g++.dg/other/i386-3.C: Likewise.

From-SVN: r177034
2011-08-01 06:47:31 -07:00
Ed Schonberg
4561baf7b7 sem_ch4.adb (Operator_Check): improve error message when both a with_clause and a use_clause are needed to...
2011-08-01  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch4.adb (Operator_Check): improve error message when both a
	with_clause and a use_clause are needed to make operator usage legal.
	* sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
	determine whether a compilation unit is visible within an other,
	either through a with_clause in the current unit, or a with_clause in
	its library unit or one one of its parents.

From-SVN: r177033
2011-08-01 15:33:29 +02:00
Arnaud Charlet
383e179e1a [multiple changes]
2011-08-01  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
	over an arbitrary expression of an array or container type.
	* lib-xref.adb: clarify comment.

2011-08-01  Bob Duff  <duff@adacore.com>

	* einfo.ads: Minor reformatting.
	* debug.adb: Minor comment improvement.

2011-08-01  Javier Miranda  <miranda@adacore.com>

	* sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
	consider hidden subprograms as valid candidates.

2011-08-01  Arnaud Charlet  <charlet@adacore.com>

	* make.adb (Compile): Strip -mxxx switches in CodePeer mode.

2011-08-01  Vasiliy Fofanov  <fofanov@adacore.com>

	* gnat_ugn.texi: Fix typo.

From-SVN: r177031
2011-08-01 15:29:56 +02:00
Arnaud Charlet
61c161b2ea [multiple changes]
2011-08-01  Robert Dewar  <dewar@adacore.com>

	* i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
	lib-xref.adb: Minor reformatting

2011-08-01  Gary Dismukes  <dismukes@adacore.com>

	* exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
	when to generate a call to Move_Final_List.
	(Has_Controlled_Parts): Remove this function.

From-SVN: r177030
2011-08-01 15:26:49 +02:00
Arnaud Charlet
84df40f768 [multiple changes]
2011-08-01  Geert Bosch  <bosch@adacore.com>

	* par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
	"," in choice list.

2011-08-01  Thomas Quinot  <quinot@adacore.com>

	* exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
	explicit raise of a predefined exception as Comes_From_Source if the
	original N_Raise_Statement comes from source.

2011-08-01  Robert Dewar  <dewar@adacore.com>

	* sinfo.ads: Add comment.
	* sem_ch6.adb: Minor reformatting.

2011-08-01  Robert Dewar  <dewar@adacore.com>

	* freeze.adb (Freeze_Entity): Refine check for bad component size
	clause to avoid rejecting confirming clause when atomic/aliased present.

2011-08-01  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
	better determine whether an entity reference is a write.
	* sem_util.adb (Is_LHS): refine predicate to handle assignment to a
	subcomponent.
	* lib-xref.adb (Output_References): Do no suppress a read reference at
	the same location as an immediately preceeding modify-reference, to
	handle properly in-out actuals.

2011-08-01  Tristan Gingold  <gingold@adacore.com>

	* env.c (__gnat_setenv) [VMS]: Refine previous change.

2011-08-01  Quentin Ochem  <ochem@adacore.com>

	* i-cstrin.adb (New_String): Changed implementation, now uses only the
	heap to compute the result.

From-SVN: r177029
2011-08-01 15:23:32 +02:00
Arnaud Charlet
c7f0d2c0c5 [multiple changes]
2011-08-01  Robert Dewar  <dewar@adacore.com>

	* atree.ads: Minor reformatting.

2011-08-01  Emmanuel Briot  <briot@adacore.com>

	* g-expect.adb (Get_Command_Output): Fix memory leak.

2011-08-01  Geert Bosch  <bosch@adacore.com>

	* cstand.adb (P_Float_Type): New procedure to print the definition of
	predefined fpt types.
	(P_Mixed_Name): New procedure to print a name using mixed case
	(Print_Standard): Use P_Float_Type for printing floating point types
	* einfo.adb (Machine_Emax_Value): Add preliminary support for quad
	precision IEEE float.

2011-08-01  Thomas Quinot  <quinot@adacore.com>

	* sem_ch3.adb: Minor reformatting.

2011-08-01  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
	the completion of a generic function, insert the new body rather than
	rewriting the original.

2011-08-01  Yannick Moy  <moy@adacore.com>

	* sinfo.ads, errout.ads: Typos in comments.

From-SVN: r177028
2011-08-01 15:17:49 +02:00
Arnaud Charlet
1c54829e23 [multiple changes]
2011-08-01  Robert Dewar  <dewar@adacore.com>

	* par-endh.adb: Minor reformatting.

2011-08-01  Robert Dewar  <dewar@adacore.com>

	* aspects.ads, aspects.adb: Add aspects for library unit pragmas
	(Pre_Post_Aspects): New subtype.
	* par-ch12.adb (P_Generic): New syntax for aspects in packages
	* par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
	* par-ch7.adb (P_Package): Remove Decl parameter
	(P_Package): Handle new syntax for aspects (before IS)
	* par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
	new aspect syntax
	(P_Task_Definition): Remove Decl parameter, handle new aspect syntax
	* par.adb (P_Aspect_Specifications): Add Semicolon parameter
	(P_Package): Remove Decl parameter
	* sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
	aspects
	* sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
	specs
	* sem_util.ads, sem_util.adb (Static_Boolean): New function
	* sinfo.ads: Document new syntax for aspects in packages etc.
	* sprint.adb: Handle new syntax of aspects before IS in package

2011-08-01  Thomas Quinot  <quinot@adacore.com>

	* atree.ads: Minor reformatting.
	* sem_prag.adb: Minor reformatting.

2011-08-01  Robert Dewar  <dewar@adacore.com>

	* exp_util.adb (Insert_Actions): Fix error in handling Actions for
	case expr alternative.

2011-08-01  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb: Fix typo.

From-SVN: r177027
2011-08-01 14:50:07 +02:00
Geert Bosch
9eea4346af sem_prag.adb (Check_No_Link_Name): New procedure.
2011-08-01  Geert Bosch  <bosch@adacore.com>

	* sem_prag.adb (Check_No_Link_Name): New procedure.
	(Process_Import_Or_Interface): Use Check_No_Link_Name.
	* cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
	instead of Standard_Long_Long_Float_Size global. Preparation for
	eventual removal of per type constants.
	* exp_util.ads (Get_Stream_Size): New function returning the stream
	size value of subtype E.
	* exp_util.adb (Get_Stream_Size): Implement new function.
	* exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
	function.
	* exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
	* einfo.adb:
	(Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats

From-SVN: r177026
2011-08-01 14:41:48 +02:00
Julian Brown
655b30bfde configure.ac (fixed-point): Add ARM support.
gcc/
	* configure.ac (fixed-point): Add ARM support.
	* configure: Regenerate.
	* config/arm/arm.c (arm_fixed_mode_set): New struct.
	(arm_set_fixed_optab_libfunc): New.
	(arm_set_fixed_conv_libfunc): New.
	(arm_init_libfuncs): Initialise fixed-point helper libfuncs with
	ARM-specific names.
	(aapcs_libcall_value): Return sub-word-size fixed-point libcall
	return values in SImode.
	(arm_return_in_msb): Return fixed-point types in the msb.
	(arm_pad_reg_upwards, arm_pad_arg_upwards): Pad fixed-point types
	upwards.
	(arm_scalar_mode_supported_p): Support fixed-point modes.
	(arm_vector_mode_supported_p): Support vector fixed-point modes.
	* config/arm/arm.h (SHORT_FRACT_TYPE_SIZE, FRACT_TYPE_SIZE)
	(LONG_FRACT_TYPE_SIZE, LONG_LONG_FRACT_TYPE_SIZE)
	(SHORT_ACCUM_TYPE_SIZE, ACCUM_TYPE_SIZE, LONG_ACCUM_TYPE_SIZE)
	(LONG_LONG_ACCUM_TYPE_SIZE, MAX_FIXED_MODE_SIZE): Define.
	* config/arm/iterators.md (FIXED, ADDSUB, UQADDSUB, QADDSUB, QMUL):
	New mode iterators.
	(qaddsub_suf): New mode attribute.
	* config/arm/arm-modes.def (FRACT, UFRACT, ACCUM, UACCUM): Declare
	vector modes.
	* config/arm/predicates.md (sat_shift_operator): New predicate.
	* config/arm/arm-fixed.md: New.
	* config/arm/arm.md: Include arm-fixed.md.
	* config/arm/t-arm (MD_INCLUDES): Add arm-fixed.md.

	libgcc/
	* config.host (arm*-*-linux*, arm*-*-uclinux*, arm*-*-eabi*)
	(arm*-*-symbianelf*): Add t-fixedpoint-gnu-prefix makefile fragment.
	* config/arm/bpabi-lib.h (LIBGCC2_FIXEDBIT_GNU_PREFIX): Define.

	gcc/testsuite/
	* gcc.target/arm/fixed-point-exec.c: New test.

From-SVN: r177025
2011-08-01 12:41:30 +00:00
Geert Bosch
3d6c3bd710 cstand.adb: Fix comments.
2011-08-01  Geert Bosch  <bosch@adacore.com>

	* cstand.adb: Fix comments.
	* sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
	count of arguments.

From-SVN: r177024
2011-08-01 14:39:29 +02:00