Commit Graph

113054 Commits

Author SHA1 Message Date
Ralf Corsepius d618bb2c86 config.host (avr-*-rtems*): Add config/avr/t-rtems.
2011-11-05  Ralf Corsépius  <ralf.corsepius@rtems.org>

	* config.host (avr-*-rtems*): Add config/avr/t-rtems.
	* config/avr/t-rtems: New.
	Filter out _exit from LIB1ASMFUNCS.

From-SVN: r181003
2011-11-05 05:45:12 +01:00
Jason Merrill e2df21bfc6 re PR c++/26714 (violation of [class.temporary]/5)
PR c++/26714
	* init.c (perform_member_init): Strip TARGET_EXPR around NSDMI.
	Do temporary lifetime extension.

From-SVN: r181002
2011-11-04 23:28:14 -04:00
Jason Merrill 8dc1dc7975 re PR c++/48370 (G++ fails to extend reference temporary lifetime in some situations)
PR c++/48370
	* decl.c (cp_finish_decl): Run cleanups in the right order.

From-SVN: r181001
2011-11-04 23:28:05 -04:00
David S. Miller 1bb6f77823 Tweak libgcc configure test for 64-bit.
libgcc/

	* configure.ac: Test for 64-bit addresses on !x86 using __LP64__.
	* configure: Rebuild.

From-SVN: r181000
2011-11-04 19:46:21 -07:00
Quentin Neill 87ca01b7be Piledriver f16cintrin.h fix.
2011-11-04  Quentin Neill  <quentin.neill@amd.com>

	Piledriver f16cintrin.h fix.
	* config/i386/f16cintrin.h: Contents moved from immintrin.h.
	* config/config.gcc: Add f16cintrin.h.

From-SVN: r180999
2011-11-05 02:31:29 +00:00
GCC Administrator a73c1a724d Daily bump.
From-SVN: r180996
2011-11-05 00:18:34 +00:00
Ian Lance Taylor 95ac3b7ad0 Fix select { case v, ok := <-c: }.
From-SVN: r180992
2011-11-04 23:03:37 +00:00
Eric Botcazou cf9e9959d1 re PR c++/50608 (cannot apply 'offsetof' to a non-constant address)
2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>

	PR c++/50608
	* c-parser.c (c_parser_postfix_expression) <RID_OFFSETOF>: Adjust call
	to fold_offsetof.
	* c-typeck.c (build_unary_op) <ADDR_EXPR>: Call fold_offsetof_1.
c-family/
	* c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
	(fold_offsetof_1): Make global.  Remove STOP_REF argument and adjust.
	<INDIRECT_REF>: Return the argument.
	<ARRAY_REF>: Remove special code for negative offset.
	Call fold_build_pointer_plus instead of size_binop.
	(fold_offsetof): Remove STOP_REF argument and adjust.
	* c-common.h (fold_offsetof_1): Declare.
	(fold_offsetof): Remove STOP_REF argument.
cp/
	* semantics.c (finish_offsetof): Adjust call to fold_offsetof.
	* typeck.c (cp_build_addr_expr_1): Call fold_offsetof_1.

From-SVN: r180986
2011-11-04 21:46:07 +00:00
Alan Modra c62c54419c reload1.c (gen_reload): Don't use REGNO on SUBREGs.
* reload1.c (gen_reload): Don't use REGNO on SUBREGs.
	* print-rtl.c (print_rtx): Don't segfault on negative regno.

From-SVN: r180983
2011-11-05 07:35:46 +10:30
David S. Miller 7a83e5bc55 Fix sparc regression due to recent movcc pattern changes.
PR target/49965
	* config/sparc/sparc.c (sparc_expand_conditional_move): Handle the
	fact that sparc_emit_float_lib_cmp modifies the comparison in
	operands[1].

From-SVN: r180982
2011-11-04 13:25:59 -07:00
Benjamin Kosnik 801fe0bb11 run_doxygen: Fix sed quoting.
2011-11-04  Benjamin Kosnik  <bkoz@redhat.com>

	* scripts/run_doxygen: Fix sed quoting.

From-SVN: r180978
2011-11-04 19:39:23 +00:00
Andreas Krebbel 9a7f74222c t-crtstuff: Add -fPIC to CRTSTUFF_T_CFLAGS_S variable.
2011-11-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/t-crtstuff: Add -fPIC to CRTSTUFF_T_CFLAGS_S
	variable.

From-SVN: r180976
2011-11-04 19:05:36 +00:00
Ralf Corsepius 4ce7e3a98e config.gcc (bfin*-rtems*): Add newlib-stdint.h.
2010-10-09  Ralf Corsépius <ralf.corsepius@rtems.org>

	* config.gcc (bfin*-rtems*): Add newlib-stdint.h.
	* config.gcc (lm32*-rtems*): Add newlib-stdint.h.

From-SVN: r180974
2011-11-04 19:16:31 +01:00
Hans-Peter Nilsson e03af9c4b7 gcc-dg.exp (gcc_force_conventional_output): New global variable, default empty, -ffat-lto-objects for effective_target_lto.
* lib/gcc-dg.exp (gcc_force_conventional_output): New global
	variable, default empty, -ffat-lto-objects for effective_target_lto.
	(gcc-dg-test-1): Add options from dg-final methods.
	* lib/scanasm.exp (scan-assembler_required_options)
	(scan-assembler-not_required_options): New procs.

From-SVN: r180972
2011-11-04 18:06:43 +00:00
Paolo Carlini d269f788e8 typeck.c (build_indirect_ref): Use ATTRIBUTE_UNUSED.
2011-11-04  Paolo Carlini  <paolo.carlini@oracle.com>

	* typeck.c (build_indirect_ref): Use ATTRIBUTE_UNUSED.
	* mangle.c (write_unnamed_type_name): Likewise.

From-SVN: r180970
2011-11-04 17:51:20 +00:00
Magnus Fromreide 669cc68c37 parser.c (cp_parser_enumerator_list): Do not warn about trailing commas in C++0x mode.
* parser.c (cp_parser_enumerator_list): Do not warn about
        trailing commas in C++0x mode.

From-SVN: r180967
2011-11-04 13:38:16 -04:00
Eric Botcazou a5c037e263 re PR target/50979 (architecture mismatch: "mul32" not enabled for "smul" or "umul")
PR target/50979
	* config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=v8.

From-SVN: r180966
2011-11-04 17:37:03 +00:00
Olivier Goffart ec3ebf4556 re PR c++/50965 (C++11 Non static member initializer are not run when class is initialized with {})
PR c++/50965
	* class.c (check_field_decls): NSDMI makes a class non-aggregate.

Co-Authored-By: Jason Merrill <jason@redhat.com>

From-SVN: r180965
2011-11-04 13:15:02 -04:00
Jiangning Liu e98925f693 re PR rtl-optimization/38644 (Optimization flag -O1 -fschedule-insns2 causes wrong code)
2011-11-04  Jiangning Liu  <jiangning.liu@arm.com>

	PR rtl-optimization/38644
	* config/arm/arm.c (thumb1_expand_epilogue): Add memory barrier
	for epilogue having stack adjustment.

	testcase:
	* gcc.target/arm/stack-red-zone.c: New.

From-SVN: r180964
2011-11-04 16:50:04 +00:00
Paolo Carlini 92b4d64cd4 re PR c++/48420 (Missed -Wconversion-null warning when passing const bool to T*)
/cp
2011-11-04  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/48420
	* call.c (conversion_null_warnings): For 'false' to NULL pointer,
	just check that TREE_TYPE (expr) is a BOOLEAN_TYPE.

/testsuite
2011-11-04  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/48420
	* g++.dg/warn/Wconversion-null-3.C: New.

From-SVN: r180963
2011-11-04 16:31:18 +00:00
Georg-Johann Lay e4fe948a6e re PR target/50931 ([avr] Support a 24-bit scalar integer mode)
gcc/
	PR target/50931
	* config/avr/avr-modes.def: New file defining PSImode.
	* config/avr/avr-c.c (__INT24_MAX__, __INT24_MIN__,
	__UINT24_MAX__): New built-in defines.
	* config/avr/avr.md (adjust_len): Add tstpsi, mov24,  reload_in24,
	ashlpsi, ashrpsi, lshrpsi.
	(QISO, QIDI, HISI, HIDI, MPUSH, rotx, rotsmode): Add PSI.
	(MOVMODE): New mode iterator.
	(movpsi): New expander.
	(movqi, movhi, movsi, movsf, movpsi): Write as one using MOVMODE.
	(*reload_inpsi, *movpsi): New insns.
	(*reload_inpsi): New RTL peephole.
	(addpsi3, *addpsi3_zero_extend.qi, *addpsi3_zero_extend.hi,
	*addpsi3_sign_extend.hi): New insns.
	(subpsi3, *subpsi3_zero_extend.qi, *subpsi3_zero_extend.hi,
	*subpsi3_sign_extend.hi): New insns.
	(divmodpsi4, udivmodpsi4): New define insn-and-split.
	(*divmodpsi4_call, *udivmodpsi4_call): New insns.
	(andpsi3, iorpsi3, xorpsi3): New insns.
	(*rotlpsi2.1, *rotlpsi2.23): New insns.
	(*rotw<mode>): Insn condition only allow even-sized modes.
	(*rotb<mode>): Insn condition allows odd-sized modes.
	(ashlpsi3, ashrpsi3, lshrpsi3, *addpsi3.lt0): New insns.
	(negpsi2, one_cmplpsi2): New insns.
	(extendqipsi2, extendhipsi2, extendpsisi2): New insns.
	(zero_extendqipsi2, zero_extendhipsi2, zero_extendpsisi2): New
	insn-and-splits.
	(*cmppsi, *negated_tstpsi, *reversed_tstpsi): New insns.
	(cbranchpsi4): New expander.
	* config/avr/constraints.md (Ca3, Co3, Cx3): New constraints.
	* config/avr/avr-protos.h (avr_out_tstpsi, avr_out_movpsi,
	avr_out_ashlpsi3, avr_out_ashrpsi3, avr_out_lshrpsi3,
	avr_out_reload_inpsi): New prototypes.

	* config/avr/avr.c (TARGET_SCALAR_MODE_SUPPORTED_P): Define to...
	(avr_scalar_mode_supported_p): ...this new static function.
	(avr_asm_len): Always return "".
	(avr_out_load_psi, avr_out_store_psi): New static functions.
	(avr_out_movpsi, avr_out_reload_inpsi): New functions.
	(avr_out_tstpsi): New function.
	(avr_out_ashlpsi3, avr_out_ashrpsi3, avr_out_lshrpsi3): New functions.
	(avr_out_plus_1, output_reload_in_const): Handle 3-byte types.
	(avr_simplify_comparison_p): Ditto.
	(adjust_insn_length): Handle ADJUST_LEN_RELOAD_IN24,
	ADJUST_LEN_MOV24, ADJUST_LEN_TSTPSI, ADJUST_LEN_ASHLPSI,
	ADJUST_LEN_ASHRPSI, ADJUST_LEN_LSHRPSI.
	(avr_rtx_costs_1): Report PSI costs.
	(avr_libcall_value): Handle odd-sized parameters.
	(avr_init_builtin_int24): New static function to define built-in
	24-bit types __int24 and __uint24.
	(avr_init_builtins): Use it.

libgcc/
	PR target/50931
	* config/t-avr (LIB1ASMFUNCS): Add _divmodpsi4, _udivmodpsi4.
	* config/lib1funcs.S (__udivmodpsi4, __divmodpsi4): New functions.

From-SVN: r180962
2011-11-04 16:20:18 +00:00
Ed Smith-Rowland 2fcc5e6474 re PR c++/50941 ([C++0x] user-defined string literals provide incorrect length for wchar_t, char16_t, and char32_t)
PR c++/50941
	* parser.c (cp_parser_userdef_string_literal): Fix string length.

From-SVN: r180961
2011-11-04 12:16:09 -04:00
Arnaud Charlet b6d185a56c * gcc-interface/Make-lang.in: Update dependencies.
From-SVN: r180960
2011-11-04 16:32:18 +01:00
Thomas Doerfler 7959812782 re PR target/50980 (arm-rtems multilib not matching for -mfpu=vfp -mfloat-abi=soft)
2011-11-04	Thomas Doerfler <thomas.doerfler@embedded-brains.de>

	PR target/50980
	* config/arm/rtems-elf.h, config/arm/t-rtems: Add optional
	support for VFP floating point model.

From-SVN: r180959
2011-11-04 15:22:06 +00:00
Arnaud Charlet 288f28c87e Minor reformatting.
From-SVN: r180957
2011-11-04 15:10:21 +01:00
Eric Botcazou 8daa1407f2 gnat_ugn.texi (Performance Considerations): New sub-section.
2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>

	* gnat_ugn.texi (Performance Considerations) <Vectorization
	of loops>: New sub-section.  <Other Optimization Switches>:
	Minor tweak.

From-SVN: r180956
2011-11-04 15:10:01 +01:00
Arnaud Charlet 1adaea169e [multiple changes]
2011-11-04  Robert Dewar  <dewar@adacore.com>

	* sprint.adb (Sprint_Node_Actual, case Qualified_Expression):
	Avoid junk semicolon after argument of machine code Asm operand.

2011-11-04  Robert Dewar  <dewar@adacore.com>

	* exp_ch11.adb (Generate_Push_Pop): Inhibit push/pop nodes in
	CodePeer mode or if restriction No_Exception_Handlers is present.
	* exp_ch6.adb (Expand_N_Subprogram_Body): (Inhibit push/pop
	nodes in CodePeer mode or if restriction No_Exception_Handlers
	is present.

2011-11-04  Robert Dewar  <dewar@adacore.com>

	* s-tassta.adb, atree.ads, errout.adb, sinput.adb: Minor reformatting.

2011-11-04  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Specification): The
	specification is legal if it is a function that returns an
	abstract type, if it comes from an attribute renaming of a stream
	attribute of an abstract type.

2011-11-04  Gary Dismukes  <dismukes@adacore.com>

	* exp_util.adb (Is_Possibly_Unaligned_Object): In case of indexed
	components, check whether recursively check whether the prefix
	denotes an unaligned object.

2011-11-04  Ed Schonberg  <schonberg@adacore.com>

	* sem_prag.adb (Analyze_Pragma, case Debug): The argument of
	the pragma is legal if it is an expanded name that denotes a
	procedure that be can called without parameters.

2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>

	* gnat_ugn.texi (Performance Considerations) <Vectorization
	of loops>: New sub-section.  <Other Optimization Switches>:
	Minor tweak.

From-SVN: r180955
2011-11-04 15:09:05 +01:00
Arnaud Charlet 4c9fe6c749 [multiple changes]
2011-11-04  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Minor reformatting.

2011-11-04  Matthew Heaney  <heaney@adacore.com>

	* a-convec.adb, a-coinve.adb, a-cobove.adb (Merge): Raise PE
	when Target and Source denote same non-empty object
	* a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Merge): Ditto

2011-11-04  Robert Dewar  <dewar@adacore.com>

	* exp_attr.adb: Minor reformatting.

2011-11-04  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch5.adb (Expand_Assign_Record): Do not generate a
	discriminant assignment within an initialization proc if the
	record is an unchecked union, as it can only come from the
	initialization of an unchecked union component.

2011-11-04  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Minor reformatting.

2011-11-04  Robert Dewar  <dewar@adacore.com>

	* par-labl.adb (Rewrite_As_Loop): Generate info msg rather than
	warning message.

2011-11-04  Robert Dewar  <dewar@adacore.com>

	* exp_ch4.adb: Minor code reorganization (remove junk obsolete
	var Save_Space).

From-SVN: r180954
2011-11-04 15:00:29 +01:00
Hristian Kirtchev 6ec084f387 exp_alfa.adb: Add local constant Disable_Processing_Of_Renamings;
2011-11-04  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_alfa.adb: Add local constant
	Disable_Processing_Of_Renamings;
	(Expand_Alfa_N_Object_Renaming_Declaration): Disable
	the name evaluation of object renamings for now.
	(Expand_Potential_Renaming): Do not perform the substitution
	for now.
	* exp_util.adb (Remove_Side_Effects): Remove processing for
        functions with side effects in Alfa mode.

From-SVN: r180953
2011-11-04 14:57:31 +01:00
Arnaud Charlet 73fe16797b [multiple changes]
2011-11-04  Gary Dismukes  <dismukes@adacore.com>

	* bindgen.adb (Gen_Elab_Calls): In the case
	of the AAMP target, set elaboration entities to 1 rather than
	incrementing.

2011-11-04  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch10.adb (Install_Limited_With_Unit): To establish the
	proper entities on the ancestors of a child unit that appear
	in a limited_with clause, follow the unit links because the
	units are not analyzed and scope information is incomplete.

2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch4.adb (Expand_N_Selected_Component): Refine code
	setting the Atomic_Sync_Required flag to detect one more case.
	* exp_util.adb (Activate_Atomic_Synchronization): Refine code
	setting the Atomic_Sync_Required flag to exclude more cases,
	depending on the parent of the node to be examined.

2011-11-04  Bob Duff  <duff@adacore.com>

	* g-excact.adb: Minor: use named notation.

2011-11-04  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb: Improve error messages for illegal iterators.

From-SVN: r180952
2011-11-04 14:55:34 +01:00
Arnaud Charlet b2ab8c33ed [multiple changes]
2011-11-04  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_alfa.adb: Add with and use clauses for Exp_Ch8 and
	Sem_Util.
	(Expand_Alfa): Alphabetize cases on first choice. Add
	processing for object renaming declarations, identifiers and
	expanded names.
	(Expand_Alfa_N_In): Remove useless return.
	(Expand_Alfa_N_Object_Renaming_Declaration): New routine.
	(Expand_Potential_Renaming): New routine.
	* exp_ch8.adb (Evaluate_Name): Moved to the top level.
	(Expand_N_Object_Declaration): Alphabetize local variables. Move
	Evaluate_Name out to the top level.
	* exp_ch8.ads (Evaluate_Name): Moved from body to package spec.
	* exp_util.adb (Remove_Side_Effects): Add processing for
	functions with side effects in Alfa mode.

2011-11-04  Hristian Kirtchev  <kirtchev@adacore.com>

	* gnat_rm.texi: Add entries for
	restrictions No_Relative_Delay, No_Requeue_Statements and
	No_Stream_Optimizations.

2011-11-04  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch4.adb: Set type of entity in prefixed call, for
	completeness in a generic context.

From-SVN: r180951
2011-11-04 14:52:11 +01:00
Arnaud Charlet 4c31825389 [multiple changes]
2011-11-04  Yannick Moy  <moy@adacore.com>

	* sem_prag.adb: Minor refactoring (renaming of a parameter).

2011-11-04  Robert Dewar  <dewar@adacore.com>

	* atree.ads: Minor reformatting.

2011-11-04  Robert Dewar  <dewar@adacore.com>

	* checks.adb (Atomic_Synchronization_Disabled): Check -gnatd.d
	and -gnatd.e here
	* exp_ch2.adb (Expand_Entity_Reference): Use
	Activate_Atomic_Synchronization
	* exp_ch4.adb (Expand_N_Explicit_Dereference): Use
	Activate_Atomic_Synchronization (Expand_N_Indexed_Compoonent):
	Activate_Atomic_Synchronization (Expand_N_Selected_Component):
	Use Activate_Atomic_Synchronization
	* exp_util.ads, exp_util.adb (Activate_Atomic_Synchronization): New
	procedure.
	* sinfo.ads, sinfo.adb (Atomic_Sync_Required): Can now apply to
	N_Selected_Component node

From-SVN: r180950
2011-11-04 14:48:52 +01:00
Robert Dewar 37765e95f1 sem_prag.adb, [...]: Minor reformatting.
2011-11-04  Robert Dewar  <dewar@adacore.com>

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

From-SVN: r180949
2011-11-04 14:46:55 +01:00
Arnaud Charlet 8c18a165e2 [multiple changes]
2011-11-04  Yannick Moy  <moy@adacore.com>

	* atree.adb, atree.ads (Set_Original_Node): New set procedure.
	* sem_ch13.adb (Analyze_Aspect_Specifications/Pre_Post_Aspects):
	In ASIS mode, no splitting of aspects between conjuncts.
	(Analyze_Aspect_Specifications/Aspect_Test_Case): Make pragma
	expressions refer to the original aspect expressions through
	the Original_Node link. This is used in semantic analysis for
	ASIS mode, so that the original expression also gets analyzed.
	* sem_prag.adb (Preanalyze_TC_Args,
	Check_Precondition_Postcondition,
	Analyze_Pragma/Pragma_Test_Case): In ASIS mode, for a pragma
	generated from a source aspect, also analyze the original aspect
	expression.
	(Check_Expr_Is_Static_Expression): New procedure
	similar to existing procedure Check_Arg_Is_Static_Expression,
	except called on expression inside pragma.

2011-11-04  Tristan Gingold  <gingold@adacore.com>

	* prj-env.adb, prj-env.ads (Find_Name_In_Path): New function, from
	Find_Project.Try_Path_Name.
	(Find_Project): Use Find_Name_In_Path to implement Try_Path_Name.

2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>

	* s-atocou.ads (Atomic_Counter): Remove redundant pragma Volatile.

2011-11-04  Pascal Obry  <obry@adacore.com>

	* projects.texi: Add short description for qualifiers aggregate
	and aggregate library.

2011-11-04  Matthew Heaney  <heaney@adacore.com>

	* Makefile.rtl, impunit.adb: Added a-cogeso.ad[sb]
	* a-cgaaso.adb: Replaced implementation with instantiation
	of Generic_Sort.
	* a-cogeso.ad[sb] This is the new Ada 2012 unit
	Ada.Containers.Generic_Sort

From-SVN: r180948
2011-11-04 14:45:01 +01:00
Tristan Gingold 872b942a5b vms.h (ASM_OUTPUT_DEF): Do not switch section.
2011-11-04  Tristan Gingold  <gingold@adacore.com>

	* config/alpha/vms.h (ASM_OUTPUT_DEF): Do not switch section.

From-SVN: r180947
2011-11-04 13:39:21 +00:00
Joel Sherrill 7084e0378d re PR target/50989 (sparc libgcc2 __udivmoddi4 has undefined reference to .umul)
2011-11-04  Joel Sherrill  <joel.sherrill@oarcorp.com>

	PR target/50989
	* config.host (sparc-*-rtems*): Add sparc/t-softmul.

From-SVN: r180946
2011-11-04 12:57:40 +00:00
Ira Rosen ba65ae4288 Unrevert:
2011-10-24  Ira Rosen  <ira.rosen@linaro.org>

        PR tree-optimization/50730
        * tree-vect-data-refs.c (vect_analyze_data_refs): Stop basic
        block analysis if encountered unsupported data-ref.

From-SVN: r180945
2011-11-04 12:55:06 +00:00
Jason Merrill b25dd954c4 re PR c++/48370 (G++ fails to extend reference temporary lifetime in some situations)
PR c++/48370
	* call.c (extend_ref_init_temps, extend_ref_init_temps_1): New.
	(set_up_extended_ref_temp): Use it.  Change cleanup parm to VEC.
	(initialize_reference): Just call convert_like.
	* decl.c (grok_reference_init): Just call initialize_reference.
	(build_init_list_var_init): Remove.
	(check_initializer): Change cleanup parm to VEC.  Handle references
	like other types.  Call perform_implicit_conversion instead
	of build_init_list_var_init.  Don't use build_aggr_init for
	aggregate initialization of arrays.
	(cp_finish_decl): Change cleanup to VEC.
	* typeck2.c (store_init_value): Call extend_ref_init_temps.
	Use build_vec_init for non-constant arrays.
	* init.c (expand_aggr_init_1): Adjust.
	(build_vec_init): Avoid re-converting an initializer
	that's already digested.
	* mangle.c (mangle_ref_init_variable): Add a discriminator.
	* cp-tree.h: Adjust.
	* typeck.c (convert_for_initialization): Adjust.
	* decl2.c (maybe_emit_vtables): Adjust.

From-SVN: r180944
2011-11-04 08:54:08 -04:00
Arnaud Charlet 5972791c34 [multiple changes]
2011-11-04  Robert Dewar  <dewar@adacore.com>

	* exp_ch2.adb (Expand_Entity_Reference): Do not set
	Atomic_Sync_Required for the case of a prefix of an attribute.
	* exp_ch4.adb (Expand_N_Explicit_Dereference): May require
	atomic synchronization
	(Expand_N_Indexed_Component): Ditto.
	(Expand_B_Selected_Component): Ditto.
	* sem_prag.adb (Process_Suppress_Unsuppress):
	Disable/Enable_Atomic_Synchronization can now occur for array
	types with pragma Atomic_Components.
	* sinfo.ads, sinfo.adb (Atomic_Sync_Required): Can now occur on
	N_Explicit_Dereference nodes and on N_Indexed_Component nodes.

2011-11-04  Gary Dismukes  <dismukes@adacore.com>

	* gnat_ugn.texi: Editorial corrections for gnattest section.

From-SVN: r180943
2011-11-04 13:04:55 +01:00
Rainer Orth 1a03203481 Restore c6x-elf bootstrap
* config/c6x/t-elf (LIB2ADDEH): Set.
	* config/c6x/t-c6x-elf: Remove.

From-SVN: r180942
2011-11-04 11:55:52 +00:00
Rainer Orth d385f772fe Use sol2-c[1n].S on more targets
* config/i386/sol2-ci.S: Rename to ...
	* config/i386/crti.S: ... this.
	* config/i386/sol2-cn.S: Rename to ...
	* config/i386/crtn.S: ... this.
	* config/sparc/sol2-ci.S: Rename to ...
	* config/sparc/crti.S: ... this.
	* config/sparc/sol2-cn.S: Rename to ...
	* config/sparc/crtn.S: ... this.
	* config/t-sol2 (CUSTOM_CRTIN): Remove.
	(crti.o, crtn.o): Remove.

From-SVN: r180941
2011-11-04 11:54:17 +00:00
Tom de Vries 5a042b4748 re PR tree-optimization/50763 (ICE: verify_gimple failed: missing PHI def with -ftree-tail-merge)
2011-11-04  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/50763
	* gcc.dg/pr50763-5.c: New test.

From-SVN: r180940
2011-11-04 11:44:50 +00:00
Robert Dewar 8751a35c53 sem_prag.adb: Minor reformatting.
2011-11-04  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb: Minor reformatting.
	* gnat_rm.texi: Update documentation for pragma Warnings (Off,
	"***") usage.
	* exp_ch2.adb (Expand_Entity_Reference): Only set
	Atomic_Sync_Required on entities that are variables. Doesn't
	make any sense on anything else.

From-SVN: r180939
2011-11-04 12:00:33 +01:00
Robert Dewar fb5d63c68a exp_ch2.adb (Expand_Entity_Reference): Extend handling of atomic sync to type case.
2011-11-04  Robert Dewar  <dewar@adacore.com>

	* exp_ch2.adb (Expand_Entity_Reference): Extend handling of
	atomic sync to type case.
	* sem_prag.adb (Process_Suppress_Unsuppress): Atomic Sync can
	apply to types.

From-SVN: r180938
2011-11-04 11:58:44 +01:00
Tom de Vries c2d1a4747c re PR tree-optimization/50763 (ICE: verify_gimple failed: missing PHI def with -ftree-tail-merge)
2011-11-04  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/50763
	* g++.dg/pr50763-4.C: New test.

From-SVN: r180936
2011-11-04 10:56:39 +00:00
Arnaud Charlet a51cd0ece5 [multiple changes]
2011-11-04  Robert Dewar  <dewar@adacore.com>

	* sem_warn.adb (Warn_On_Useless_Assignment): More accurate test
	for call vs assign.
	* gcc-interface/Make-lang.in: Update dependencies.

2011-11-04  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb: Detect more cases of Long_Float inconsistencies at
	compile time.

2011-11-04  Matthew Heaney  <heaney@adacore.com>

	* Makefile.rtl, impunit.adb: Added a-sfecin.ads,
	* a-sfhcin.ads, a-sflcin.ads, a-sbecin.ad[sb], a-sbhcin.ad[sb],
	a-sblcin.ad[sb], a-suecin.ad[sb], a-suhcin.ad[sb], a-sulcin.ad[sb]
	* a-sfecin.ads, a-sfhcin.ads, a-sflcin.ads, a-sbecin.ad[sb],
	a-sbhcin.ad[sb], a-sblcin.ad[sb], a-suecin.ad[sb], a-suhcin.ad[sb],
	a-sulcin.ad[sb]: New files.

2011-11-04  Geert Bosch  <bosch@adacore.com>

	* i-forbla-unimplemented.ads, s-gecola.adb, s-gecola.ads,
	s-gerebl.adb, s-gerebl.ads, i-forbla.adb, i-forbla.ads,
	i-forlap.ads, i-forbla-darwin.adb, s-gecobl.adb, s-gecobl.ads,
	s-gerela.adb, s-gerela.ads: Remove partial interface to BLAS/LAPACK.
	* gcc-interface/Makefile.in: Remove libgnala and related objects.

From-SVN: r180935
2011-11-04 11:55:41 +01:00
Jakub Jelinek 635c6321d4 i386.c (ix86_expand_vector_convert_uns_vsivsf): New function.
* config/i386/i386.c (ix86_expand_vector_convert_uns_vsivsf): New
	function.
	* config/i386/i386-protos.h (ix86_expand_vector_convert_uns_vsivsf):
	New prototype.
	* config/i386/sse.md (floatuns<sseintvecmodelower><mode>2): Use it.
	For floatunsv8siv8sf2 require TARGET_AVX2.

	* gcc.dg/torture/vec-cvt-1.c: Enable commented out inttoflttestui
	test.

From-SVN: r180934
2011-11-04 11:39:25 +01:00
Jakub Jelinek 2f2da9e931 i386.c (ix86_expand_adjust_ufix_to_sfix_si): Add XORP argument.
* config/i386/i386.c (ix86_expand_adjust_ufix_to_sfix_si): Add
	XORP argument.  Subtract 0x1p31 instead of 0x1p32.  Use normal
	signalling comparison instead of non-signalling.  Store into
	*XORP pseudo holding 0x80000000 integers if 0x1p31 has been
	subtracted and 0 otherwise.
	* config/i386/i386-protos.h (ix86_expand_adjust_ufix_to_sfix_si):
	Adjust prototype.
	* config/i386/sse.md (fixuns_trunc<mode><sseintvecmodelower>2): Enable
	already for TARGET_SSE2.  Xor in vector initialized by
	ix86_expand_adjust_ufix_to_sfix_si at the end.
	(vec_pack_ufix_trunc_<mode>): Likewise.

	* gcc.dg/torture/vec-cvt-1.c: Enable flttointtestui test.

From-SVN: r180933
2011-11-04 11:37:04 +01:00
Jakub Jelinek 4a00c76146 tree-vect-stmts.c (vectorizable_conversion): Rewritten to handle not just FLOAT_EXPR and FIX_TRUNC_EXPR...
* tree-vect-stmts.c (vectorizable_conversion): Rewritten to handle
	not just FLOAT_EXPR and FIX_TRUNC_EXPR, but also CONVERT_EXPR_CODE_P,
	WIDEN_MULT_EXPR and WIDEN_LSHIFT_EXPR to handle what
	vectorizable_type_demotion and vectorizable_type_promotion did.
	Additionally handle FLOAT_EXPR and FIX_TRUNC_EXPR where the integer
	is {,un}signed {char,short}.
	(vect_create_vectorized_demotion_stmts): Fix comment typo.  For
	recursive calls unconditionally use VEC_PACK_TRUNC_EXPR.
	Push vec_dest back to the vec_dsts vector at the end.
	(vect_create_vectorized_promotion_stmts): Don't recurse, do just
	one step.  Removed multi_step_cvt, vec_dsts, slp_node and
	prev_stmt_info arguments, add vec_dest argument.  Push always
	into vec_tmp, not just when multi_step_cvt != 0, replace *vec_oprdn0
	with vec_tmp at the end after freeing old *vec_oprnd0 vector.
	(vectorizable_type_demotion, vectorizable_type_promotion): Removed.
	(vect_analyze_stmt): Don't call vectorizable_type_demotion and
	vectorizable_type_promotion.  Call vectorizable_conversion even
	for SLP bb vectorization.
	(vect_transform_stmt): Call vectorizable_conversion instead of
	vectorizable_type_demotion and vectorizable_type_promotion.
	(supportable_widening_operation): Clear *multi_step_cvt first,
	simplify c1/c2 computation, free *interm_types vector on failure.
	(supportable_narrowing_operation): Clear *multi_step_cvt first,
	free *interm_types vector on failure, handle multi-step
	FIX_TRUNC_EXPR.

	* gcc.dg/torture/vec-cvt-1.c: New test.

From-SVN: r180932
2011-11-04 11:35:44 +01:00
Eric Botcazou 25ec1790d7 decl.c (gnat_to_gnu_entity): Do not assert that the type of the parameters isn't dummy in type_annotate_only...
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Do not assert
	that the type of the parameters isn't dummy in type_annotate_only mode.

From-SVN: r180931
2011-11-04 10:27:02 +00:00