1. 04 Nov, 2011 40 commits
    • gcc-dg.exp (gcc_force_conventional_output): New global variable, default empty,… · e03af9c4
      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
      Hans-Peter Nilsson committed
    • typeck.c (build_indirect_ref): Use ATTRIBUTE_UNUSED. · d269f788
      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
      Paolo Carlini committed
    • parser.c (cp_parser_enumerator_list): Do not warn about trailing commas in C++0x mode. · 669cc68c
              * parser.c (cp_parser_enumerator_list): Do not warn about
              trailing commas in C++0x mode.
      
      From-SVN: r180967
      Magnus Fromreide committed
    • re PR target/50979 (architecture mismatch: "mul32" not enabled for "smul" or "umul") · a5c037e2
      	PR target/50979
      	* config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=v8.
      
      From-SVN: r180966
      Eric Botcazou committed
    • re PR c++/50965 (C++11 Non static member initializer are not run when class is initialized with {}) · ec3ebf45
      	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
      Olivier Goffart committed
    • re PR rtl-optimization/38644 (Optimization flag -O1 -fschedule-insns2 causes wrong code) · e98925f6
      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
      Jiangning Liu committed
    • re PR c++/48420 (Missed -Wconversion-null warning when passing const bool to T*) · 92b4d64c
      /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
      Paolo Carlini committed
    • re PR target/50931 ([avr] Support a 24-bit scalar integer mode) · e4fe948a
      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
      Georg-Johann Lay committed
    • re PR c++/50941 ([C++0x] user-defined string literals provide incorrect length… · 2fcc5e64
      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
      Ed Smith-Rowland committed
    • * gcc-interface/Make-lang.in: Update dependencies. · b6d185a5
      From-SVN: r180960
      Arnaud Charlet committed
    • re PR target/50980 (arm-rtems multilib not matching for -mfpu=vfp -mfloat-abi=soft) · 79598127
      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
      Thomas Doerfler committed
    • Minor reformatting. · 288f28c8
      From-SVN: r180957
      Arnaud Charlet committed
    • gnat_ugn.texi (Performance Considerations): New sub-section. · 8daa1407
      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
      Eric Botcazou committed
    • [multiple changes] · 1adaea16
      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
      Arnaud Charlet committed
    • [multiple changes] · 4c9fe6c7
      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
      Arnaud Charlet committed
    • exp_alfa.adb: Add local constant Disable_Processing_Of_Renamings; · 6ec084f3
      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
      Hristian Kirtchev committed
    • [multiple changes] · 73fe1679
      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
      Arnaud Charlet committed
    • [multiple changes] · b2ab8c33
      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
      Arnaud Charlet committed
    • [multiple changes] · 4c318253
      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
      Arnaud Charlet committed
    • sem_prag.adb, [...]: Minor reformatting. · 37765e95
      2011-11-04  Robert Dewar  <dewar@adacore.com>
      
      	* sem_prag.adb, atree.ads, prj-env.adb, prj-env.ads: Minor reformatting.
      
      From-SVN: r180949
      Robert Dewar committed
    • [multiple changes] · 8c18a165
      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
      Arnaud Charlet committed
    • vms.h (ASM_OUTPUT_DEF): Do not switch section. · 872b942a
      2011-11-04  Tristan Gingold  <gingold@adacore.com>
      
      	* config/alpha/vms.h (ASM_OUTPUT_DEF): Do not switch section.
      
      From-SVN: r180947
      Tristan Gingold committed
    • re PR target/50989 (sparc libgcc2 __udivmoddi4 has undefined reference to .umul) · 7084e037
      2011-11-04  Joel Sherrill  <joel.sherrill@oarcorp.com>
      
      	PR target/50989
      	* config.host (sparc-*-rtems*): Add sparc/t-softmul.
      
      From-SVN: r180946
      Joel Sherrill committed
    • Unrevert: · ba65ae42
              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
      Ira Rosen committed
    • re PR c++/48370 (G++ fails to extend reference temporary lifetime in some situations) · b25dd954
      	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
      Jason Merrill committed
    • [multiple changes] · 5972791c
      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
      Arnaud Charlet committed
    • Restore c6x-elf bootstrap · 1a032034
      	* config/c6x/t-elf (LIB2ADDEH): Set.
      	* config/c6x/t-c6x-elf: Remove.
      
      From-SVN: r180942
      Rainer Orth committed
    • Use sol2-c[1n].S on more targets · d385f772
      	* 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
      Rainer Orth committed
    • re PR tree-optimization/50763 (ICE: verify_gimple failed: missing PHI def with -ftree-tail-merge) · 5a042b47
      2011-11-04  Tom de Vries  <tom@codesourcery.com>
      
      	PR tree-optimization/50763
      	* gcc.dg/pr50763-5.c: New test.
      
      From-SVN: r180940
      Tom de Vries committed
    • sem_prag.adb: Minor reformatting. · 8751a35c
      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
      Robert Dewar committed
    • exp_ch2.adb (Expand_Entity_Reference): Extend handling of atomic sync to type case. · fb5d63c6
      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
      Robert Dewar committed
    • re PR tree-optimization/50763 (ICE: verify_gimple failed: missing PHI def with -ftree-tail-merge) · c2d1a474
      2011-11-04  Tom de Vries  <tom@codesourcery.com>
      
      	PR tree-optimization/50763
      	* g++.dg/pr50763-4.C: New test.
      
      From-SVN: r180936
      Tom de Vries committed
    • [multiple changes] · a51cd0ec
      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
      Arnaud Charlet committed
    • i386.c (ix86_expand_vector_convert_uns_vsivsf): New function. · 635c6321
      	* 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
      Jakub Jelinek committed
    • i386.c (ix86_expand_adjust_ufix_to_sfix_si): Add XORP argument. · 2f2da9e9
      	* 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
      Jakub Jelinek committed
    • tree-vect-stmts.c (vectorizable_conversion): Rewritten to handle not just… · 4a00c761
      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
      Jakub Jelinek committed
    • decl.c (gnat_to_gnu_entity): Do not assert that the type of the parameters isn't… · 25ec1790
      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
      Eric Botcazou committed
    • [multiple changes] · a31945d7
      2011-11-04  Matthew Heaney  <heaney@adacore.com>
      
      	* a-cdlili.ad[sb], a-cidlli.ad[sb], a-coorse.ad[sb], a-ciorse.ad[sb],
      	a-coorma.ad[sb], a-ciorma.ad[sb], a-coormu.ad[sb], a-ciormu.ad[sb],
      	a-cohama.ad[sb], a-cihama.ad[sb], a-cohase.ad[sb], a-cihase.ad[sb],
      	a-convec.ad[sb], a-coinve.ad[sb] (Assign, Copy): New operations
      	added to package.
      
      2011-11-04  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch12.adb: Minor reformatting
      
      2011-11-04  Gary Dismukes  <dismukes@adacore.com>
      
      	* bindgen.adb (Gen_Elab_Calls): In the case of the AAMP target,
      	initialize elaboration entities to zero when specs are processed.
      
      From-SVN: r180930
      Arnaud Charlet committed
    • fde-vms.c: Do not include md-unwind-support.h · 1ba878a9
      2011-11-04  Tristan Gingold  <gingold@adacore.com>
      
      	* config/ia64/fde-vms.c: Do not include md-unwind-support.h
      
      From-SVN: r180929
      Tristan Gingold committed
    • alpha.c (alpha_write_linkage): Remove fundecl argument. · 735f469b
      2011-11-04  Tristan Gingold  <gingold@adacore.com>
      
      	* config/alpha/alpha.c (alpha_write_linkage): Remove fundecl
      	argument.  Conditionally generate crash debug info.  Adjust
      	for alpha_funcs_tree removal.
      	(machine_function): Add links field.
      	(alpha_start_function): Conditionally generate crash debug info.
      	(alpha_end_function): Adjust call to alpha_write_linkage.
      	(alpha_funcs): Remove.
      	(links_kind): Remove.
      	(alpha_links): Remove num, target and lkind field.  Add func field.
      	(alpha_links_tree): Remove.
      	(alpha_funcs_tree): Remove.
      	(alpha_need_linkage): Remove.
      	(alpha_use_linkage): Change prototype.  Adjust.
      	(alpha_write_one_linkage): Use ASM_OUTPUT_INTERNAL_LABEL.
      	Use SYMBOL_REF_EXTERNAL_P and SYMBOL_REF_LOCAL_P macro.
      	* config/alpha/alpha-protos.h (alpha_use_linkage): Update.
      	(alpha_need_linkage): Remove.
      	* config/alpha/alpha.md: Update calls to alpha_use_linkage.
      	Adjust calls to alpha_need_linkage.
      
      From-SVN: r180928
      Tristan Gingold committed