1. 05 Aug, 2011 10 commits
    • [multiple changes] · 97ed5872
      2011-08-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb: (Check_Private_Overriding): better error message,
      	suggested by AI95-0068.
      
      2011-08-05  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch7.adb (Find_Last_Init): Use Next_Suitable_Statement to retrieve
      	the two potential initialization calls. This accounts for any
      	access-before-elaboration checks which may precede the initialization
      	calls.
      	(Next_Suitable_Statement): New routine. Returns the next real statement
      	after the input node while skipping generated checks.
      	* sem_elab.adb (Check_A_Call): New formal parameter In_Init_Proc along
      	with comment on usage.
      	Do not generate Elaborate_All when the trigger is a finalization call
      	coming from a type init proc.
      	(Check_Elab_Call): Propagate the initialization procedure context to
      	subsequent calls to Check_A_Call.
      	(Check_Internal_Call_Continue): Propagate the initialization procedure
      	context to subsequent calls to Check_Elab_Call.
      	(Is_Finalization_Procedure): New routine. Returns True if the input
      	entity denotes a [Deep_]Finalize routine.
      	* sem_elab.ads (Check_Elab_Call): New formal parameter In_Init_Proc
      	along with comment on usage.
      
      2011-08-05  Vadim Godunko  <godunko@adacore.com>
      
      	* s-atocou.ads: Add list of supported platforms.
      
      2011-08-05  Yannick Moy  <moy@adacore.com>
      
      	* sem_prag.adb, restrict.adb: Correct style for or'ing Boolean variables
      
      	* opt.ads (Disable_ALI_File): new Boolean flag
      	* lib-writ.adb (Write_ALI): when Disable_ALI_File is set, do nothing
      
      2011-08-05  Ed Falis  <falis@adacore.com>
      
      	* env.c (__gnat_environ): Fix includes for RTPs and VTHREADS so that
      	environ is properly defined.
      
      2011-08-05  Vincent Celier  <celier@adacore.com>
      
      	* make.adb (Compilation_Phase): Exit immediately when all objects have
      	been found up to date, to avoid multiple exit messages.
      	* prj-nmsc.adb (Add_Source): Allow duplicate source file names in the
      	same project for languages with no compiler.
      	* gnat_ugn.texi: Document compiler switch -gnateI and gnatmake switch
      	-eI.
      
      From-SVN: r177434
      Arnaud Charlet committed
    • exp_ch7.ads, [...]: Minor reformatting. · 9aff36e9
      2011-08-05  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch7.ads, sem_type.adb, make.adb, sem_prag.adb, sem_util.adb,
      	sem_util.ads, sem_attr.adb, restrict.ads, sem_ch6.adb, prj-conf.adb,
      	prj-conf.ads, s-atocou.ads, s-atocou.adb, s-atocou-x86.adb,
      	s-atocou-builtin.adb: Minor reformatting.
      
      From-SVN: r177433
      Robert Dewar committed
    • [multiple changes] · 406935b6
      2011-08-05  Yannick Moy  <moy@adacore.com>
      
      	* exp_ch7.adb (Establish_Transient_Scope): in formal verification mode,
      	if the node to wrap is a pragma check, this node and enclosed
      	expression are not expanded, so do not apply any transformations here.
      	* exp_prag.adb (Expand_Pragma_Check): document the need to avoid
      	introducing transient scopes.
      
      2011-08-05  Jose Ruiz  <ruiz@adacore.com>
      
      	* adaint.c (__gnat_set_writable, __gnat_set_readable,
      	__gnat_set_executable, __gnat_set_non_writable, __gnat_set_non_readable,
      	__gnat_copy_attribs): On VxWorks 6.x and later, the required chmod
      	routine is available, so we use the default implementation of these
      	functions.
      	* s-os_lib.ads (Copy_File, Copy_Time_Stamps): Document that there is
      	support for copying attributes on VxWorks 6.
      
      2011-08-05  Yannick Moy  <moy@adacore.com>
      
      	* debug.adb: Remove use of -gnatd.D.
      	* gnat1drv.adb (Adjust_Global_Switches): adjust switches for ALFA mode
      	* opt.ads: Simplify variables for ALFA mode, to keep one only
      	* restrict.adb, sem_prag.adb: Adapt treatment done for CodePeer mode
      	to ALFA mode.
      
      2011-08-05  Vincent Celier  <celier@adacore.com>
      
      	* prj-conf.adb (Do_Autoconf): Look also for --RTS in
      	Builder'Default_Switches.
      
      2011-08-05  Vincent Celier  <celier@adacore.com>
      
      	* makeusg.adb: Add lines for --create-map-file switches.
      
      2011-08-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* freeze.adb (Freeze_Entity): For a subprogram, if a type in the
      	profile is incomplete and the full view is available, replace it with
      	the full view.
      	* sem_ch6.adb (Possible_Freeze): if a type in the profile is
      	incomplete, freezing the subprogram is delayed until the full view is
      	frozen.
      	* sem_type.adb (Disambiguate): an ambiguity between a user-defined
      	fixed-point multiplication operator and the predefined operator is
      	resolved in favor of the user-defined one.
      
      From-SVN: r177432
      Arnaud Charlet committed
    • Add -march=core-avx-i. · cee0d6d2
      2011-08-05  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* config/i386/i386.c (processor_alias_table): Add core-avx-i.
      
      	* doc/invoke.texi: Document core-avx-i.
      
      From-SVN: r177429
      H.J. Lu committed
    • re PR target/49965 (libgomp.c++/reduction-4.C and libgomp.c++/task-8.C FAIL on Solaris 11/SPARC) · 98d03683
      	PR libgomp/49965
      	* testsuite/libgomp.c++/task-8.C: Replaced err by errval.
      
      From-SVN: r177428
      Rainer Orth committed
    • tsystem.h (CONST_CAST2, CONST_CAST): Define. · 96c891b3
      	gcc:
      	* tsystem.h (CONST_CAST2, CONST_CAST): Define.
      
      	gcc/ada:
      	* init.c [__alpha__ && __osf__] (__gnat_error_handler): Use
      	CONST_CAST.
      
      From-SVN: r177427
      Rainer Orth committed
    • tree-vect-loop.c (vect_create_epilog_for_reduction): Use the result of multiple… · 2aacf3c3
      tree-vect-loop.c (vect_create_epilog_for_reduction): Use the result of multiple results reduction when...
      
      
              * tree-vect-loop.c (vect_create_epilog_for_reduction): Use the
              result of multiple results reduction when extracting the final
              value using scalar code.
      
      From-SVN: r177426
      Ira Rosen committed
    • re PR tree-optimization/49984 (VRP does not handle BIT_XOR_EXPR) · 0f36b2da
      2011-08-05  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/49984
      	* tree-vrp.c (extract_range_from_binary_expr_1): Handle BIT_XOR_EXPR.
      
      	* gcc.dg/tree-ssa/vrp59.c: New testcase.
      
      From-SVN: r177425
      Richard Guenther committed
    • tree-vrp.c (zero_nonzero_bits_from_vr): Make sure to always return true for… · 8b201bc5
      tree-vrp.c (zero_nonzero_bits_from_vr): Make sure to always return true for constant integer ranges.
      
      2011-08-05  Richard Guenther  <rguenther@suse.de>
      
      	* tree-vrp.c (zero_nonzero_bits_from_vr): Make sure to always
      	return true for constant integer ranges.
      	(extract_range_from_binary_expr_1): Simplify BIT_AND_EXPR and
      	BIT_IOR_EXPR handling.
      
      	* gcc.dg/tree-ssa/vrp51.c: Disable CCP.
      	* gcc.dg/tree-ssa/vrp52.c: Likewise.
      	* gcc.dg/tree-ssa/vrp53.c: Likewise.
      
      From-SVN: r177423
      Richard Guenther committed
    • Daily bump. · 44997fe4
      From-SVN: r177422
      GCC Administrator committed
  2. 04 Aug, 2011 30 commits
    • build_hacking.xml: Use relative fileref for PNG imagedata. · a6aff075
      2011-08-04  Benjamin Kosnik  <bkoz@redhat.com>
      
      	* doc/xml/manual/build_hacking.xml: Use relative fileref for PNG
      	imagedata.
      	* doc/xml/manual/test_policy_data_structures.xml: Same.
      	* doc/xml/manual/policy_data_structures.xml: Same.
      
      	* doc/Makefile.am (stamp-html-docbook-images)
      	(stamp-html-docbook-lwg, stamp-html-docbook-data): New.
      	(xml_extra): Add lwg html file dependencies.
      	(xml_images): Add image html file dependencies.
      	* doc/Makefile.in: Regenerate.
      	(stamp-html): Change to stamp-html-docbook-data.
      	(stamp-html-copy): Remove.
      
      From-SVN: r177418
      Benjamin Kosnik committed
    • Add directory to filenames in the ChangeLog · d2ff573e
      From-SVN: r177416
      Mikael Morin committed
    • dependency_26.f90: Add a module to the cleanup directive. · e863e4de
      2011-08-04  Mikael Morin  <mikael.morin@sfr.fr>
      
      	* gfortran.dg/dependency_26.f90: Add a module to the cleanup directive.
      	* gfortran.dg/trim_optimize_2.f90: Add a module cleanup directive.
      	* gfortran.dg/ldist-pr43023.f90: Ditto.
      	* gfortran.dg/namelist_52.f90: Ditto.
      	* gfortran.dg/interface_proc_end.f90: Ditto.
      	* gfortran.dg/vector_subscript_bound_1.f90: Ditto.
      	* gfortran.dg/generic_typebound_operator_1.f90: Ditto.
      
      From-SVN: r177415
      Mikael Morin committed
    • atomic.cc: Use noexcept. · bdc05efb
      2011-08-04  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* src/atomic.cc: Use noexcept.
      	* include/std/atomic: Likewise.
      	* include/bits/atomic_0.h: Likewise.
      	* include/bits/atomic_2.h: Likewise.
      	* include/bits/atomic_base.h: Likewise.
      
      From-SVN: r177413
      Paolo Carlini committed
    • i386.c (setup_incoming_varargs_ms_64): Set ix86_varargs_gpr_size and ix86_varargs_fpr_size to zero. · c1ea7f07
      2011-08-04  Kai Tietz  <ktietz@redhat.com>
      
              * config/i386/i386.c (setup_incoming_varargs_ms_64): Set
              ix86_varargs_gpr_size and ix86_varargs_fpr_size to zero.
      
      From-SVN: r177412
      Kai Tietz committed
    • tree-vectorizer.h (struct _stmt_vec_info): Add new field for pattern def… · 1107f3ae
      tree-vectorizer.h (struct _stmt_vec_info): Add new field for pattern def statement, and its access macro.
      
      
              * tree-vectorizer.h (struct _stmt_vec_info): Add new field for
              pattern def statement, and its access macro.
              (NUM_PATTERNS): Set to 5.
              * tree-vect-loop.c (vect_determine_vectorization_factor): Handle
              pattern def statement.
              (vect_transform_loop): Likewise.
              * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Add new
              function vect_recog_over_widening_pattern ().
              (vect_operation_fits_smaller_type): New function.
              (vect_recog_over_widening_pattern, vect_mark_pattern_stmts):
              Likewise.
              (vect_pattern_recog_1): Move the code that marks pattern
              statements to vect_mark_pattern_stmts (), and call it.  Update
              documentation.
              * tree-vect-stmts.c (vect_supportable_shift): New function.
              (vect_analyze_stmt): Handle pattern def statement.
              (new_stmt_vec_info): Initialize pattern def statement.
      
      From-SVN: r177409
      Ira Rosen committed
    • re PR bootstrap/49964 (Bootstrap failed with AVX turned on) · 6394830f
      PR target/49964
              * config/i386/i386.c (ix86_expand_call): Don't create nested
              PARALLELs for TARGET_VZEROUPPER.
              (ix86_split_call_vzeroupper): Fix extraction of the original call.
              * config/i386/i386.md (*call_rex64_ms_sysv_vzeroupper): Don't
              recognize nested PARALLELs.
              (*call_pop_vzeroupper, *sibcall_pop_vzeroupper,
              *call_value_rex64_ms_sysv_vzeroupper, *call_value_pop_vzeroupper,
              *sibcall_value_pop_vzeroupper): Likewise.
      
      From-SVN: r177408
      Richard Henderson committed
    • [multiple changes] · 276e7ed0
      2011-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_util.ads, sem_unit.adb (Type_Without_Stream_Operation): determine
      	whether a type lacks user-defined Read or Write operations, or has a
      	component that lacks them.
      	* sem_attr.adb (Check_Stream_Attribute): if restriction
      	No_Default_Stream_Attributes is active, verify that all subcomponent
      	types of the target have user-defined stream operations, and report
      	error otherwise.
      	* exp_ch3.adb (Stream_Operqtion_OK): use Type_Without_Stream_Operation.
      	* exp_strm.adb: Build_Elementary_Input_Call,
      	Build_Elementary_Write_Call): remove checks for restriction
      	No_Default_Stream_Attributes, now checked in semantics.
      
      2011-08-04  Vincent Celier  <celier@adacore.com>
      
      	* prj-conf.ads, prj-conf.adb (Do_Autoconf): If there is no --RTS
      	switches on the command line, look for all valid --RTS switches in the
      	Builder switches and for each language use the first runtime name found
      	to invoke gprconfig.
      	(Get_Or_Create_Configuration_File): Warn if --RTS is specified on the
      	command line and there is no auto-configuration.
      	(Runtime_Name_Set_For): New function.
      
      2011-08-04  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch7.adb (Build_Object_Declarations): Do not generate the
      	elaborate initialization expression for variable Abort when processing
      	a package body or a declaration.
      	(Create_Finalizer): Propagate the package context when creating the
      	exception-related variables.
      	* exp_ch7.ads (Build_Object_Declarations): New formal parameter
      	For_Package along with usage comment.
      
      From-SVN: r177407
      Arnaud Charlet committed
    • Makefile.in: Clean up targets. · 19172ae9
      	* gcc-interface/Makefile.in: Clean up targets.
      	Enable new package for atomic counters and copy-on-write implementation
      	of unbounded strings on x86 platforms.
      	* gcc-interface/Make-lang.in: Update dependencies.
      
      From-SVN: r177405
      Arnaud Charlet committed
    • re PR middle-end/49968 (ICE in calls.c:3141 / assert after emit_stack_restore) · faf7a23d
      PR middle-end/49968
              * calls.c (expand_call): Use fixup_args_size_notes for
              emit_stack_restore.
              * expr.c (fixup_args_size_notes): Allow STACK_POINTER_REGNUM sets
              in non-standard modes.
      
      From-SVN: r177404
      Richard Henderson committed
    • [multiple changes] · 0319cacc
      2011-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch7.adb: Minor reformatting.
      
      2011-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* exp_strm.adb: Minor reformatting.
      
      2011-08-04  Vadim Godunko  <godunko@adacore.com>
      
      	* s-atocou.adb: Replace by dummy version and use on targets where atomic
      	operations are not supported.
      	* s-atocou-builtin.adb: Renamed from s-atocou.adb.
      	* s-atocou-x86.adb: New file.
      	* Makefile.rtl: Add s-atocou.o file
      
      2011-08-04  Arnaud Charlet  <charlet@adacore.com>
      
      	* make.adb (Compile): Move setting of CodePeer_Mode to ...
      	(Compilation_Phase): ... here.
      	(Scan_Make_Arg): Now bind and link by default in CodePeer mode.
      
      2011-08-04  Thomas Quinot  <quinot@adacore.com>
      
      	* Make-generated.in: Fix minor typo in comment.
      
      From-SVN: r177403
      Arnaud Charlet committed
    • [multiple changes] · 26e7e1a0
      2011-08-04  Thomas Quinot  <quinot@adacore.com>
      
      	* gnatls.adb: Use Prj.Env.Initialize_Default_Project_Path to retrieve
      	the project path.
      
      2011-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* a-coinho.adb: Minor reformatting.
      
      2011-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* a-coinho.ads: Minor reformatting.
      
      2011-08-04  Vadim Godunko  <godunko@adacore.com>
      
      	* s-atocou.ads, s-atocou.adb: New files.
      	* a-strunb-shared.ads, a-strunb-shared.adb, a-stwiun-shared.ads,
      	a-stwiun-shared.adb, a-stzunb-shared.ads, a-stzunb-shared.adb: Remove
      	direct use of GCC's atomic builtins and replace them by use of new
      	atomic counter package.
      
      2011-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_strm.adb: better error message for No_Default_Stream_Attributes.
      
      2011-08-04  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* a-tags.adb (Unregister_Tag): Replace the complex address arithmetic
      	with a call to Get_External_Tag.
      	* exp_ch7.adb (Build_Cleanup_Statements): Update the comment on
      	subprogram usage. Remove the guard against package declarations and
      	bodies since Build_Cleanup_Statements is no longer invoked in that
      	context.
      	(Build_Components): Initialize Tagged_Type_Stmts when the context
      	contains at least one library-level tagged type.
      	(Build_Finalizer): New local variables Has_Tagged_Types and
      	Tagged_Type_Stmts along with associated comments on usage. Update the
      	logic to include tagged type processing.
      	(Create_Finalizer): Insert all library-level tagged type unregistration
      	code before the jump block circuitry.
      	(Expand_N_Package_Body): Remove the call to Build_Cleanup_Statements.
      	(Expand_N_Package_Declaration): Remove the call to
      	Build_Cleanup_Statements.
      	(Process_Tagged_Type_Declaration): New routine. Generate a call to
      	unregister the external tag of a tagged type.
      	(Processing_Actions): Reimplemented to handle tagged types.
      	(Process_Declarations): Detect the declaration of a library-level
      	tagged type and carry out the appropriate actions.
      	(Unregister_Tagged_Types): Removed. The machinery has been directly
      	merged with Build_Finalizer.
      
      From-SVN: r177401
      Arnaud Charlet committed
    • [multiple changes] · 7483c888
      2011-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* bindgen.ads, gnatlink.adb, sem_ch4.adb, gnatbind.adb, put_alfa.adb,
      	gnatls.adb, exp_ch3.adb: Minor reformatting.
      
      2011-08-04  Marc Sango  <sango@adacore.com>
      
      	* sem_attr.adb (Analyze_Attribute): Replace the message
      	"invisible attribute of}" of the spark restriction violation in
      	attribute reference by the simple message "invisible attribute of type".
      	Indeed, the node value Error_Msg_Node_1 used is in conflit with the
      	two insertion characters: '&' and '}'.
      
      2011-08-04  Vadim Godunko  <godunko@adacore.com>
      
      	* impunit.adb (Non_Imp_File_Names_12): Add "a-coinho".
      	* a-coinho.ads, a-coinho.adb: New file.
      	* Makefile.rtl: Add Ada.Containers.Indefinite_Holders.
      
      From-SVN: r177400
      Arnaud Charlet committed
    • [multiple changes] · 5207696c
      2011-08-04  Nicolas Roche  <roche@adacore.com>
      
      	* alfa_test.adb: Not all ali files are containing alfa information even
      	if compiled with -gnatd.F. So suppress warning about missing ALFA
      	information.
      
      2011-08-04  Yannick Moy  <moy@adacore.com>
      
      	* lib-xref-alfa.adb (Add_ALFA_Scope): use non-empty unique name for
      	scope.
      	* put_alfa.adb: Check that scope name is not empty.
      
      2011-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch3.adb (Stream_Operation_Ok): new predicate
      	Needs_Elementary_Stream_Operation, to determine whether user-defined
      	Read and Write attributes are available for the elementary components
      	of the given type. If only the predefined attributes are available,
      	then when restriction No_Default_Stream_Attributes is active the
      	predefined stream attributes for the composite type cannot be created.
      
      2011-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* bindgen.adb: Fix obsolete comments and names from Ada/C days.
      	Put routines in alpha order
      
      From-SVN: r177399
      Arnaud Charlet committed
    • Makefile.in: Remove xenomai specific versions of system. · 2bd2d858
      2011-08-04  Jose Ruiz  <ruiz@adacore.com>        
      
      	* gcc-interface/Makefile.in: Remove xenomai specific versions of system.
      	* gcc-interface/Make-lang.in: Update dependencies.
      
      From-SVN: r177398
      Jose Ruiz committed
    • lang.opt: Add AdaWhy language, simimlar to Ada. · 8fae6016
      	* gcc-interface/lang.opt: Add AdaWhy language, simimlar to Ada.
      	* gcc-interface/lang-specs.h: Add handling of AdaWhy specs (calls       
      	gnat1why).
      
      From-SVN: r177396
      Arnaud Charlet committed
    • [multiple changes] · a54d0eb4
      2011-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch3.adb, make.adb, a-cohata.ads, sem_prag.adb, makeutl.adb,
      	lib-xref-alfa.adb: Minor reformatting.
      
      2011-08-04  Marc Sango  <sango@adacore.com>
      
      	* sem_ch12.adb (Analyze_Generic_Package_Declaration,
      	Analyze_Generic_Subprogram_Declaration, Analyze_Package_Instantiation,
      	Analyze_Subprogram_Instantiation): Check absence of generic in SPARK
      	mode.
      
      2011-08-04  Tristan Gingold  <gingold@adacore.com>
      
      	* bindgen.adb (Gen_Adainit_C): Remove.
      	(Gen_Adafinal_C): Ditto.
      	(Gen_Elab_Externals_C): Ditto.
      	(Gen_Elab_Calls_C): Ditto.
      	(Gen_Elab_Order_C): Ditto.
      	(Gen_Elab_Defs_C): Ditto.
      	(Gen_Finalize_Library_C): Ditto.
      	(Gen_Finalize_Library_Defs_C): Ditto.
      	(Gen_Main_C): Ditto.
      	(Gen_Output_File_C): Ditto.
      	(Gen_Restrictions_C): Ditto.
      	(Gen_Versions_C): Ditto.
      	(Write_Info_Ada_C): Ditto.
      	(Gen_Object_Files_Options): Call WBI instead of Write_Info_Ada_C
      	(Gen_Output_File): Do not force Ada_Bind_File anymore.
      	Always call Gen_Output_File_Ada.
      	* gnatlink.adb (Begin_Info): Now a constant.
      	(End_Info): Ditto.
      	(Ada_Bind_File): Remove
      	(Process_Args): Do not handle -A/-C.  Remove not Ada_Bind_File cases.
      	* switch-b.adb (Scan_Binder_Switches): Do not handle -C.
      	* gnatbind.adb (Gnatbind): Remove not Ada_Bind_File cases.
      	* opt.ads (Ada_Bind_File): Remove.
      
      2011-08-04  Thomas Quinot  <quinot@adacore.com>
      
      	* projects.texi: Document target-specific directory in default project
      	path for gnatmake.
      
      2011-08-04  Thomas Quinot  <quinot@adacore.com>
      
      	* gnatls.adb, prj-env.adb: Add $prefix/share/gpr to default project
      	path in all cases .
      
      From-SVN: r177395
      Arnaud Charlet committed
    • gcc.c (self_spec): New variable. · 84f405a1
      	* gcc.c (self_spec): New variable.
      	(static_specs): Add self_spec.
      	(main): Call do_self_spec on "self_spec" specs after reading
      	user specs files.  Move compare_debug handling right after that.
      
      From-SVN: r177394
      Jakub Jelinek committed
    • tree-vrp.c (vrp_expr_computes_nonnegative): Remove. · 4d320da4
      2011-08-04  Richard Guenther  <rguenther@suse.de>
      
      	* tree-vrp.c (vrp_expr_computes_nonnegative): Remove.
      	(value_range_nonnegative_p): New function.
      	(ssa_name_nonnegative_p): Use it.
      	(value_range_constant_singleton): New function.
      	(op_with_constant_singleton_value_range): Use it.
      	(extract_range_from_binary_expr_1): New function, split out from ...
      	(extract_range_from_binary_expr): ... this.  Remove fallback
      	constant folding done here.
      
      From-SVN: r177393
      Richard Guenther committed
    • re PR middle-end/49806 (FAIL: gcc.dg/tree-ssa/vrp47.c) · 7e29ba60
      2011-08-04  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/49806
      	* tree-vrp.c (op_with_boolean_value_range_p): New function.
      	(simplify_truth_ops_using_ranges): Simplify.  Allow inserting
      	a new statement for a final conversion to bool.
      
      From-SVN: r177392
      Richard Guenther committed
    • [multiple changes] · 24558db8
      2011-08-04  Yannick Moy  <moy@adacore.com>
      
      	* sem_ch3.adb, sem_ch5.adb, sem_util.adb, sem_ch4.adb, sem_ch8.adb,
      	opt.ads, lib-xref.ads: Code clean up.
      
      2011-08-04  Yannick Moy  <moy@adacore.com>
      
      	* gnat_rm.texi: Update description of Test_Case
      	* gnat_ugn.texi: Typo.
      
      2011-08-04  Ed Falis  <falis@adacore.com>
      
      	* adaint.c (__gnat_get_number_of_cpus): fix typo in last checkin.
      
      2011-08-04  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch4.adb (Suitable_Element): Skip field _parent on .NET/JVM when
      	it is of type Root_Controlled. This action eliminates fields Prev and
      	Next from type equality.
      
      2011-08-04  Yannick Moy  <moy@adacore.com>
      
      	* lib-xref-alfa.adb: Correct typo.
      
      2011-08-04  Matthew Heaney  <heaney@adacore.com>
      
      	* a-cohata.ads (Hash_Table_Type): default-initialize the Nodes
      	component.
      
      From-SVN: r177390
      Arnaud Charlet committed
    • [multiple changes] · 1f9939b5
      2011-08-04  Yannick Moy  <moy@adacore.com>
      
      	* sem_prag.adb (Check_Arg_Is_String_Literal): remove useless procedure
      	(Analyze_Pragma): allow static string expression for name of Test_Case,
      	instead of simply string literals.
      	* sem_util.adb (Get_Name_From_Test_Case_Pragma): adapt to static string
      	expressions.
      
      2011-08-04  Vincent Celier  <celier@adacore.com>
      
      	* makeutl.adb (Complete_Mains.Find_File_Add_Extension): Use canonical
      	case suffixes to find truncated main sources.
      
      2011-08-04  Tristan Gingold  <gingold@adacore.com>
      
      	* impunit.adb (Non_Imp_File_Names_95): Add g-tastus.
      	s-stusta.adb (Compute_All_Task): Use Put_Line instead of Put.
      	(Compute_Current_Task): Ditto.
      
      2011-08-04  Tristan Gingold  <gingold@adacore.com>
      
      	* gnat_ugn.texi: Mention GNAT.Task_Stack_Usage.
      
      2011-08-04  Yannick Moy  <moy@adacore.com>
      
      	* lib-xref-alfa.adb (Is_Global_Constant): new function that detects
      	library-level constant.
      	(Add_ALFA_Xrefs): ignore global constants in ALFA xref.
      	* sem_res.adb (Resolve_Actuals): do not add cross-reference to Formal
      	used as selector of parameter association, in ALFA mode.
      
      From-SVN: r177389
      Arnaud Charlet committed
    • [multiple changes] · 15d8a51d
      2011-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch5.adb, exp_ch7.adb, exp_util.adb, bindgen.adb, sem_prag.adb,
      	s-tassta.adb, exp_ch4.adb, exp_disp.adb, s-stausa.adb: Minor
      	reformatting.
      
      2011-08-04  Arnaud Charlet  <charlet@adacore.com>
      
      	* make.adb (Linking_Phase): Set source search path before calling
      	gnatlink in CodePeer mode.
      
      From-SVN: r177388
      Arnaud Charlet committed
    • [multiple changes] · f46faa08
      2011-08-04  Javier Miranda  <miranda@adacore.com>
      
      	* exp_ch7.adb (Expand_N_Package_Body, Expand_N_Package_Declaration):
      	Remove code which takes care of building TSDs.
      	* rtsfind.ads (RE_Check_Interface_Conversion): New entity.
      	* exp_ch4.adb (Apply_Accessibility_Check): Add support for generating
      	the accessibility check in VM targets.
      	* exp_disp.adb (Make_VM_TSD): Spec moved to exp_disp.ads
      	(Building_Static_DT): Now returns false for VM targets.
      	(Build_VM_TSDs): Removed.
      	(Expand_Interface_Conversion): Generate missing runtime check for
      	conversions to interface types whose target type is unknown at compile
      	time.
      	(Make_VM_TSD): Add missing code to disable the generation of calls to
      	Check_TSD if the tagged type is not defined at library level, or not
      	has a representation clause specifying its external tag, or -gnatdQ is
      	active.
      	* exp_disp.ads (Build_VM_TSDs): Removed.
      	(Make_VM_TSDs): Spec relocated from exp_disp.adb
      	* sem_disp.adb (Check_Dispatching_Operation): No code required to
      	register primitives in the dispatch tables in VM targets.
      	* exp_ch3.adb (Expand_N_Object_Declaration): Remove wrong expansion of
      	initialization of class-wide interface objects in VM targets.
      	(Expand_Freeze_Record_Type): For VM targets call Make_VM_TSD (instead
      	of Make_DT).
      
      2011-08-04  Jerome Lambourg  <lambourg@adacore.com>
      
      	* gnatlink.adb (Gnatlink): Correct missleading error message displayed
      	when dotnet-ld cannot be found.
      
      2011-08-04  Arnaud Charlet  <charlet@adacore.com>
      
      	* bindgen.adb: Simplify significantly generation of binder body file in
      	CodePeer mode.
      	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Prevent assert failure
      	when compiling binder generated file in CodePeer mode (xxx'Elab_Spec
      	not expanded).
      
      From-SVN: r177387
      Arnaud Charlet committed
    • [multiple changes] · 2ba7e31e
      2011-08-04  Yannick Moy  <moy@adacore.com>
      
      	* sem_prag.adb, sem.ads: Code cleanup.
      
      2011-08-04  Tristan Gingold  <gingold@adacore.com>
      
      	* s-tassta.adb (Task_Wrapper): Rewrite the dynamic stack usage part.
      	* s-stausa.adb, s-stausa.ads: Major rewrite. Now provides accurate
      	results if possible.
      	* s-stusta.adb (Print): Adjust after changes in s-stausa.
      	* gnat_ugn.texi: Update dynamic stack usage section.
      
      2011-08-04  Steve Baird  <baird@adacore.com>
      
      	* bindgen.adb (Gen_CodePeer_Wrapper): new procedure.
      	Generate (if CodePeer_Mode is set) a "wrapper" subprogram which
      	contains only a call to the user-defined main subprogram.
      	(Gen_Main_Ada) - If CodePeer_Mode is set, then
      	call the "wrapper" subprogram instead of directly
      	calling the user-defined main subprogram.
      
      2011-08-04  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch5.adb (Expand_N_Case_Statement): Check the statements of all
      	alternatives of a case statement for controlled objects. Rename local
      	variable A to Dead_Alt.
      	(Expand_N_If_Statement): Check the then and else statements of an if
      	statement for controlled objects. Check the then statements of all
      	elsif parts of an if statement for controlled objects.
      	(Expand_N_Loop_Statement): Check the statements of a loop for controlled
      	objects.
      	* exp_ch7.adb (Process_Transient_Objects): Rewrite the condition which
      	detects a loop associated with the expansion of an array object.
      	Augment the processing of the loop statements to account for a possible
      	wrap done by Process_Statements_For_Controlled_Objects.
      	* exp_ch9.adb (Expand_N_Asynchronous_Select): Check the triggering
      	statements and abortable part of an asynchronous select for controlled
      	objects.
      	(Expand_N_Conditional_Entry_Call): Check the else statements of a
      	conditional entry call for controlled objects.
      	(Expand_N_Selective_Accept): Check the alternatives of a selective
      	accept for controlled objects.
      	(Expand_N_Timed_Entry_Call): Check the entry call and delay
      	alternatives of a timed entry call for controlled objects.
      	* exp_ch11.adb (Expand_Exception_Handlers): Check the statements of an
      	exception handler for controlled objects.
      	* exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean, Boolean)):
      	Add formal parameter Nested_Constructs along with its associated
      	comment.
      	(Requires_Cleanup_Actions (Node_Id)): Update all calls to
      	Requires_Cleanup_Actions.
      	(Process_Statements_For_Controlled_Objects): New routine.
      	* exp_util.ads (Process_Statements_For_Controlled_Objects): New
      	routine. Inspect a node which contains a non-handled sequence of
      	statements for controlled objects. If such an object is found, the
      	statements are wrapped in a block.
      
      From-SVN: r177386
      Arnaud Charlet committed
    • [multiple changes] · 1bf773bb
      2011-08-04  Bob Duff  <duff@adacore.com>
      
      	* sem_type.adb (Covers): If T2 is a subtype of a class-wide type, we
      	need to compare with Class_Wide_Type (T2), in order to get at the
      	original class-wide type node.
      	* sem_type.ads (Covers): Improve the comment.
      	* einfo.ads (Class_Wide_Type): Improve the comment.
      	* exp_intr.adb (Expand_Unc_Deallocation): Remove unnecessary setting of
      	the type of the Deref.
      
      2011-08-04  Yannick Moy  <moy@adacore.com>
      
      	* gnat_rm.texi: Document that Test_Case pragma can only appear on
      	separate declarations.
      	* sem_prag.adb (procedure Check_Identifier_Is_One_Of): new procedure to
      	check identifier of pragma argument.
      	(Chain_TC): check that no other test case associated to the same entity
      	share the same name.
      	(Check_Test_Case): disallow test case inside subprogram body
      	(Analyze_Pragma): correct call to check identifier and not argument
      	* sem_util.adb, sem_util.ads (Get_Name_From_Test_Case_Pragma): new
      	function gets name from test case pragma.
      
      From-SVN: r177385
      Arnaud Charlet committed
    • gnat_rm.texi: Document new pragma and aspect. · dac3bede
      2011-08-04  Yannick Moy  <moy@adacore.com>
      
      	* gnat_rm.texi: Document new pragma and aspect.
      	* aspects.adb, aspects.ads (Aspect_Id): new value Aspect_Test_Case
      	(No_Duplicates_Allowed): new constant array defining whether duplicates
      	aspects of each kind can appear on the same declaration.
      	* einfo.adb, einfo.ads (Spec_PPC_List): replace field with Contract
      	field, which points to a node holding the previous Spec_PPC_List.
      	* exp_ch9.adb, sem_ch6.adb, sem_prag.adb: Reach to Spec_PPC_List
      	through the indirection with Contract.
      	* exp_util.adb (Insert_Actions): raise Program_Error on N_Contract node
      	* par-prag.adb (Prag): do nothing on Test_Case pragma
      	* sem.adb (Analyze): abort on N_Contract, on which Analyze should not
      	be called directly.
      	* sem_attr.adb (Analyze_Attribute): allow attribute 'Result in
      	component Ensures of Test_Case.
      	* sem_ch12.adb, sem_ch6.adb, sem_ch9.adb
      	(Analyze_Generic_Subprogram_Declaration,
      	Analyze_Subprogram_Instantiation,
      	Analyze_Abstract_Subprogram_Declaration,
      	Analyze_Subprogram_Body_Helper,
      	Analyze_Subprogram_Specification, Analyze_Entry_Declaration):
      	insert contract in subprogram node at point of definition
      	* sem_ch13.adb
      	(Aspect_Loop): do not raise error on duplicate Test_Case aspect
      	(Analyze_Aspect_Specifications): analyze Test_Case aspect and create
      	corresponding pragma
      	(Check_Aspect_At_Freeze_Point): raise Program_Error on Test_Case aspect
      	* sem_ch3.adb (Analyze_Declarations): insert analysis of test-cases,
      	similar to the analysis of pre/post
      	(Derive_Subprogram): insert contract in subprogram node at point of
      	derivation.
      	* sem_prag.adb, sem_prag.ads
      	(Check_Arg_Is_String_Literal, Check_Identifier):
      	new checking procedures to be called in treatment of pragmas
      	(Check_Test_Case): new procedure to check that a Test_Case aspect or
      	pragma is well-formed. This does not check currently that 'Result is
      	used only in the Ensures component of a Test_Case.
      	(Analyze_Pragma): add case for Test_Case
      	(Analyze_TC_In_Decl_Part): pre-analyze the Requires and Ensures
      	components of a Test_Case.
      	(Preanalyze_TC_Args): new procedure to preanalyze the boolean
      	expressions in the 3rd (and 4th if present) arguments of a Test_Case
      	pragma, treated as spec expressions.
      	(Sig_Flags): add value -1 for Test_Case.
      	* sem_util.adb, sem_util.ads (Get_Ensures_From_Test_Case_Pragma,
      	Get_Requires_From_Test_Case_Pragma): getters for both expression
      	components of a Test_Case.
      	* sinfo.adb, sinfo.ads (N_Contract): new kind of node used as
      	indirection between an entry or [generic] subprogram entity and its
      	pre/post + test-cases.
      	(Spec_PPC_List, Spec_TC_List, Set_Spec_PPC_List, Set_Spec_TC_List):
      	get/set for fields of an N_Contract node.
      	* snames.ads-tmpl (Name_Test_Case, Name_Ensures, Name_Mode,
      	Name_Normal, Name_Requires, Name_Robustness, Pragma_Test_Case): new
      	names and pragma for Test_Case.
      	* sprint.adb (Sprint_Node): raise Program_Error on N_Contract node
      
      From-SVN: r177384
      Yannick Moy committed
    • [multiple changes] · 6a2e5d0f
      2011-08-04  Vincent Celier  <celier@adacore.com>
      
      	* gnat_ugn.texi: Improve documentation of gnatmake switch
      	--source-info-file=.
      
      2011-08-04  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch7.adb (Make_Final_Call): Add local variable Atyp (assertion
      	type). Initialize Atyp to the appropriate type which is later checked
      	for completion. Rewrite the assertion associated with private type
      	completion.
      
      2011-08-04  Ed Falis  <falis@adacore.com>
      
      	* adaint.c: Add call to vxCpuConfiguredGet for VxWorks SMP to
      	initialize the number of CPUs.
      
      2011-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_type.adb (Disambiguate): New subsidiary routine
      	In_Same_Declaration_List, to implement AI05-0020: a user-defined
      	equality on an anonymous access type whose designated type is private
      	does not lead to an ambiguity with the universal access equality
      	operator in the body or child units of the defining package. The same
      	is true for a multiplication operator on a private type completed with
      	a fixed-point-type.
      
      2011-08-04  Javier Miranda  <miranda@adacore.com>
      
      	* opt.ads (Init_Or_Norm_Scalars_Config): Removed.
      	(Normalize_Scalars_Config): Removed.
      	* opt.adb
      	(Register_Opt_Config_Switches): Remove registering config values of
      	Init_Or_Norm_Scalars_Config and Normalize_Scalars_Config.
      	(Restore_Opt_Config_Switches): Remove code which restores the values of
      	Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of
      	Init_Or_Norm_Scalars.
      	(Save_Opt_Config_Switches): Remove code which saves values of
      	Init_Or_Norm_Scalars and Normalize_Scalars.
      	(Set_Opt_Config_Switches): Remove code which restores config values of
      	Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of
      	Init_Or_Norm_Scalars.
      
      2011-08-04  Yannick Moy  <moy@adacore.com>
      
      	* frontend.adb (Frontend): remove previous patch to avoid full
      	qualification in ALFA mode.
      	* lib-xref-alfa.adb (Add_ALFA_Xrefs): use unique name for variables.
      	* sem_util.adb, sem_util.ads (Unique_Name): new function to define a
      	unique name for an entity, which could be used to identify the entity
      	across compilation units.
      
      2011-08-04  Thomas Quinot  <quinot@adacore.com>
      
      	* prj-env.adb
      	(Initialize_Default_Project_Path): Add target specific directory
      	($prefix/$target/lib/gnat) in front of project path in all cases
      	(making gnatmake's behaviour consistent with gprbuild).
      	* gnatcmd.adb, make.adb, prj-makr.adb, clean.adb:
      	Pass target name from Sdefault to project subsystem.
      	* gnatls.adb: Show new target specific default project directory.
      
      2011-08-04  Johannes Kanig  <kanig@adacore.com>
      
      	* cstand.adb: Add Information to Identifier in Standard
      	(Identifer_For): Set Entity to the corresponding entity
      
      From-SVN: r177383
      Arnaud Charlet committed
    • [multiple changes] · 483361a6
      2011-08-04  Sergey Rybin  <rybin@adacore.com>
      
      	* gnat_ugn.texi: Update doc on gnatcheck.
      
      2011-08-04  Yannick Moy  <moy@adacore.com>
      
      	* lib-xref-alfa.adb (Add_ALFA_Xrefs): correct definition of ranges of
      	xrefs in a scope.
      
      2011-08-04  Yannick Moy  <moy@adacore.com>
      
      	* exp_prag.adb (Expand_Pragma_Check): in ALFA mode, return without
      	performing expansion.
      	* sem_ch6.adb (Analyze_Subprogram_Body_Helper,
      	Analyze_Generic_Subprogram_Body): protect call to Process_PCCs so that
      	it is not called in ALFA mode.
      
      From-SVN: r177382
      Arnaud Charlet committed
    • [multiple changes] · ef5569c6
      2011-08-04  Emmanuel Briot  <briot@adacore.com>
      
      	* make.adb, osint.adb, osint.ads (Reset_Command_Line_Files): not used
      	after all, so removed.
      
      2011-08-04  Sergey Rybin  <rybin@adacore.com>
      
      	* vms_data.ads: Add missing VMS qualifiers.
      
      From-SVN: r177381
      Arnaud Charlet committed