1. 05 Oct, 2010 13 commits
    • [multiple changes] · 96d2756f
      2010-10-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_res.adb (Check_Parameterless_Call): If the prefix of 'Address is
      	an explicit dereference of an access to function, the prefix is not
      	interpreted as a parameterless call.
      
      2010-10-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_attr.adb: For 'Read and 'Write, use full view of base type if
      	private.
      
      2010-10-05  Vincent Celier  <celier@adacore.com>
      
      	* make.adb (Switches_Of): Allow wild cards in index of attributes
      	Switches.
      	* prj-util.adb (Value_Of): When Allow_Wildcards is True, use the index
      	of the associative array as a glob regular expression.
      	* prj-util.ads (Value_Of (Index, In_Array)): New Boolean parameter
      	Allow_Wildcards, defaulted to False.
      	(Value_Of (Name, Attribute_Or_Array_Name)): Ditto
      	* projects.texi: Document that attribute Switches (<file name>) may
      	use wild cards in the index.
      
      2010-10-05  Robert Dewar  <dewar@adacore.com>
      
      	* a-direct.adb, a-direct.ads, back_end.adb, checks.adb,
      	einfo.adb: Minor reformatting.
      	* debug.adb: Remove obsolete documentation for d.Z flag.
      
      From-SVN: r164978
      Arnaud Charlet committed
    • vms_data.ads: Add VMS qualifier /SRC_INFO= corresponding to gnatmake switch --create-info-file=. · 610ef7c0
      2010-10-05  Vincent Celier  <celier@adacore.com>
      
      	* vms_data.ads: Add VMS qualifier /SRC_INFO= corresponding to gnatmake
      	switch --create-info-file=.
      	* gnat_ugn.texi: Add documentation for new gnatmake switch
      	--source-info=
      
      From-SVN: r164977
      Vincent Celier committed
    • [multiple changes] · 1c218ac3
      2010-10-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb: Do not elaborate type definition if syntax error.
      
      2010-10-05  Javier Miranda  <miranda@adacore.com>
      
      	* sprint.adb (Sprint_Node_Actual): Improve output of subprogram bodies
      	to generate the full-qualified names of its corresponding spec.
      	This facilitates locating the corresponing body when reading
      	the DG output.
      
      2010-10-05  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_dist.adb (Make_Helper_Function_Name): For a tagged type, use
      	canonical name without serial number only if the helper is becoming a
      	primitive of the type.
      
      2010-10-05  Javier Miranda  <miranda@adacore.com>
      
      	* exp_disp.adb (Make_DT): Minor code reorganization.
      
      2010-10-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* par-ch6.adb: improve recovery with extra paren in function spec.
      
      2010-10-05  Quentin Ochem  <ochem@adacore.com>
      
      	* prj-tree.ads: Project_Path is now aliased.
      
      2010-10-05  Thomas Quinot  <quinot@adacore.com>
      
      	* checks.adb: Minor reformatting.
      
      2010-10-05  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* mlib-tgt-specific-mingw.adb (No_Argument_List): Delete.
      	(Shared_Libgcc): New aliased variable.
      	(Shared_Libgcc_Switch): New constant.
      	(Build_Dynamic_Library): Pass Shared_Libgcc_Switch to the compiler
      	* gcc-interface/Makefile.in (gnatlib-shared-win32): Pass -shared-libgcc
      	to the compiler.
      	
      2010-10-05  Vincent Celier  <celier@adacore.com>
      
      	* prj-part.adb (Parse_Simple_Project): When checking if a child project
      	imports its parent project, also look in projects being extended by
      	imported projects.
      
      2010-10-05  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* gnat_ugn.texi: Adjust instructions in G.10 Building DLLs with GNAT.
      
      2010-10-05  Javier Miranda  <miranda@adacore.com>
      
      	* exp_cg.adb (Slot_Number): Add support to handle aliased entities.
      	(Generate_CG_Output): Switch -gnatd.Z is no longer needed to
      	activate this output.
      
      2010-10-05  Arnaud Charlet  <charlet@adacore.com>
      
      	* back_end.adb (Call_Back_End): Generate an error message when scil
      	generation is enabled, and no scil back-end (by default) is available.
      
      2010-10-05  Javier Miranda  <miranda@adacore.com>
      
      	* debug.adb: Update documentation because -gnatd.Z is no longer required
      	to generate the call-graph information.
      
      2010-10-05  Javier Miranda  <miranda@adacore.com>
      
      	* exp_ch5.adb (Expand_Simple_Function_Return): Rewrite expansion of a
      	runtime access check by an equivalent expansion that causes
      	no problems in the VM backend. The original expansion was
      	not good for the VM backends because when Tagged_Type_Expansion
      	is disabled the attribute Access_Disp_Table is not available.
      
      2010-10-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_type.adb (Covers): In a dispatching context, T1 covers T2 if T2
      	is class-wide and T1 is its specific type.
      
      2010-10-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* einfo.adb: Add guard to Is_String_Type to prevent cascaded errors.
      
      2010-10-05  Vincent Celier  <celier@adacore.com>
      
      	* back_end.ads: Minor spelling error correction.
      
      2010-10-05  Arnaud Charlet  <charlet@adacore.com>
      
      	* switch-c.adb, gnat1drv.adb (Scan_Front_End_Switches): Disable
      	warnings when -gnatC is specified here so that warnings can be
      	re-enabled  explicitly.
      	(Adjust_Global_Switches): No longer suppress warnings.
      
      2010-10-05  Vincent Celier  <celier@adacore.com>
      
      	* makeutl.adb: Minor reformatting.
      
      2010-10-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch4.adb: add guard in Analyze_One_Call to prevent crash when a
      	non-discrete type appears as an actual in a call.
      
      From-SVN: r164976
      Arnaud Charlet committed
    • make.adb (Scan_Make_Arg): Take into account new switch --source-info=file. · dfa8a067
      2010-10-05  Vincent Celier  <celier@adacore.com>
      
      	* make.adb (Scan_Make_Arg): Take into account new switch
      	--source-info=file.
      	* makeusg.adb: Add line for new switch --source-info=file.
      	* makeutl.ads (Source_Info_Option): New constant String for new builder
      	switch.
      	* prj-conf.adb: Put subprograms in alphabetical order
      	(Process_Project_And_Apply_Config): Read/write an eventual source info
      	file, if necessary.
      	* prj-nmsc.adb (Look_For_Sources.Get_Sources_From_Source_Info): New
      	procedure.
      	(Look_For_Sources): If a source info file was successfully read, get the
      	source data from the data read from the source info file.
      	* prj-util.adb (Source_Info_Table): New table
      	(Source_Info_Project_HTable): New hash table
      	(Create): New procedure
      	(Put (File), Put_Line): New procedures
      	(Write_Source_Info_File): New procedure
      	(Read_Source_Info_File): New procedure
      	(Initialize): New procedure
      	(Source_Info_Of): New procedure
      	(Next): New procedure
      	(Close): When file is an out file, fail if the buffer cannot be written
      	or if the file cannot be close successfully.
      	(Get_Line): Fail if file is an out file
      	* prj-util.ads (Create): New procedure
      	(Put (File), Put_Line): New procedures
      	(Write_Source_Info_File): New procedure
      	(Read_Source_Info_File): New procedure
      	(Source_Info_Data): New record type
      	(Source_Info_Iterator): New private type
      	(Initialize): New procedure
      	(Source_Info_Of): New procedure
      	(Next): New procedure
      	* prj.ads (Project_Tree_Data): New components Source_Info_File_Name and
      	Source_Info_File_Exists.
      
      From-SVN: r164975
      Vincent Celier committed
    • [multiple changes] · a8ef12e5
      2010-10-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch4.adb: Fix typo.
      
      2010-10-05  Thomas Quinot  <quinot@adacore.com>
      
      	* lib-writ.adb: Minor reformatting.
      
      2010-10-05  Javier Miranda  <miranda@adacore.com>
      
      	* sem_ch3.adb (Access_Definition): Remove useless code.
      
      From-SVN: r164974
      Arnaud Charlet committed
    • re PR libstdc++/44647 (std::nothrow and std::bad_alloc are coupled) · 79d34420
      2010-10-05  Sebastian Huber  <sebastian.huber@embedded-brains.de>
      	    Jonathan Wakely  <jwakely.gcc@gmail.com>
      
      	PR libstdc++/44647
      	* libsupc++/Makefile.am (sources): Add bad_alloc.cc.
      	* libsupc++/new_handler.cc (bad_alloc): Move to ...
      	* libsupc++/bad_alloc.cc (bad_alloc): ... here, new file.
      	* libsupc++/Makefile.in: Regenerate.
      
      Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>
      
      From-SVN: r164973
      Sebastian Huber committed
    • [multiple changes] · 92817e89
      2010-10-05  Emmanuel Briot  <briot@adacore.com>
      
      	* prj-env.adb, prj-env.ads (Set_Path): New subprogram.
      	(Deep_Copy): Removed, not used.
      
      2010-10-05  Javier Miranda  <miranda@adacore.com>
      
      	* sem_ch3.adb (Add_Internal_Interface_Entities): Code reorganization:
      	move code that searches in the list of primitives of a tagged type for
      	the entity that will be overridden by user-defined routines.
      	* sem_disp.adb (Find_Primitive_Covering_Interface): Move here code
      	previously located in routine Add_Internal_Interface_Entities.
      	* sem_disp.ads (Find_Primitive_Covering_Interface): Update documentation
      	* sem_ch6.adb (New_Overloaded_Entity): Add missing check on
      	availability of attribute Alias.
      
      2010-10-05  Ed Falis  <falis@adacore.com>
      
      	* s-taprop-vxworks.adb, s-osinte-vxworks.adb, s-osinte-vxworks.ads,
      	s-vxwext.ads, s-vxwext-kernel.ads, s-vxwext-rtp.adb, s-vxwext-rtp.ads:
      	Move definition of intContext to System.OS_Interface.
      	Add necessary variants in System.VxWorks.Extensions.
      
      2010-10-05  Doug Rupp  <rupp@adacore.com>
      
      	* s-asthan-vms-alpha.adb: On VMS, a task using
      	pragma AST_Entry exhibits a memory leak when the task terminates
      	because the vector allocated for the AST interface is not freed. Fixed
      	by making the vector a controlled type.
      
      From-SVN: r164972
      Arnaud Charlet committed
    • prj-nmsc.adb (Expand_Subdirectory_Pattern): Check that the prefix in a "**"… · eada5fd1
      prj-nmsc.adb (Expand_Subdirectory_Pattern): Check that the prefix in a "**" pattern properly exists...
      
      2010-10-05  Emmanuel Briot  <briot@adacore.com>
      
      	* prj-nmsc.adb (Expand_Subdirectory_Pattern): Check that the prefix in
      	a "**" pattern properly exists, and report an error otherwise.
      
      2010-10-05  Emmanuel Briot  <briot@adacore.com>
      
      	* prj-env.ads: Use GNAT.OS_Lib rather than System.OS_Lib.
      
      From-SVN: r164971
      Emmanuel Briot committed
    • prj-nmsc.adb, [...] (Expand_Subdirectory_Pattern): New subprogram. · c5be6c3a
      2010-10-05  Emmanuel Briot  <briot@adacore.com>
      
      	* prj-nmsc.adb, prj-err.adb (Expand_Subdirectory_Pattern): New
      	subprogram.
      	Extract some code from Get_Directories, to share with the handling
              of aggregate projects (for the Project_Files attributes)
      
      From-SVN: r164970
      Emmanuel Briot committed
    • gnatcmd.adb, [...] (Project_Search_Path): New type. · a0a786e3
      2010-10-05  Emmanuel Briot  <briot@adacore.com>
      
      	* gnatcmd.adb, prj-proc.adb, prj-part.adb, prj-ext.adb, prj-ext.ads,
      	switch-m.adb, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-env.adb,
      	prj-env.ads, prj-tree.adb, prj-tree.ads (Project_Search_Path): New type.
      
      From-SVN: r164969
      Emmanuel Briot committed
    • [multiple changes] · 9d9f5f49
      2010-10-05  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* exp_ch5.adb (Make_Field_Expr): Revert previous change (removed).
      
      2010-10-05  Emmanuel Briot  <briot@adacore.com>
      
      	* prj-dect.adb, prj-nmsc.adb, prj-attr.adb, snames.ads-tmpl
      	(Aggregate projects): added support for parsing aggregate projects.
      	In particular, check the presence and value of the new attributes
      	related to aggregate projects, ie Project_Files, Project_Path
      	and External.
      	(Check_Attribute_Allowed, Check_Package_Allowed,
      	Rename_Obsolescent_Attributes): new subprogram, extracting code
      	from existing subprogram to keep their sizes smaller.
      	(Check_Aggregate_Project, Check_Abstract_Project,
      	Check_Missing_Sources): new subprograms
      	(Check): remove comments that duplicated either the name of the
      	following subprogram call, or the comment on that subprogram.
      	* prj-part.adb (Check_Extending_All_Imports): New subprogram, extracted
      	from Parse_Single_Project.
      	(Check_Aggregate_Imports): new subprogram.
      
      From-SVN: r164968
      Arnaud Charlet committed
    • [multiple changes] · 98ee5fc4
      2010-10-05  Vincent Celier  <celier@adacore.com>
      
      	* make.adb (Check): When compiling with -gnatc, recompile if the ALI
      	file has not been generated for the current source, for example if it
      	has been generated for the spec, but we are compiling the body.
      
      2010-10-05  Bob Duff  <duff@adacore.com>
      
      	* xgnatugn.adb: Remove unused procedure.
      
      From-SVN: r164967
      Arnaud Charlet committed
    • Daily bump. · de953578
      From-SVN: r164966
      GCC Administrator committed
  2. 04 Oct, 2010 27 commits
    • re PR debug/45849 (ICE: in emit_note_insn_var_location, at var-tracking.c:7336 with -O -g) · 098db05e
      	PR debug/45849
      	* var-tracking.c (strip_pointer_flags): New function.
      	(emit_note_insn_var_location): If rtx_equal_p check failed,
      	retry on locations simplified with simplify_replace_fn_rtx
      	and strip_pointer_flags as its callback.
      
      	* gcc.dg/debug/pr45849.c: New test.
      
      From-SVN: r164962
      Jakub Jelinek committed
    • gimple-fold.c (static_object_in_other_unit_p): Rename to... · b3b9f3d0
      
      	* gimple-fold.c (static_object_in_other_unit_p): Rename to...
      	(can_refer_decl_in_current_unit_p): ... this one; reverse return
      	value; handle comdats too.
      	(canonicalize_constructor_val): Use it; handle function_decls
      	correctly.
      	(gimple_fold_obj_type_ref_known_binfo): Likewise.
      	* gimple.c (get_base_address): Accept all kinds of decls.
      
      From-SVN: r164961
      Jan Hubicka committed
    • flags.h (g_switch_value, [...]): Remove. · fa37ed29
      	* flags.h (g_switch_value, g_switch_set): Remove.
      	* opts.c (g_switch_value, g_switch_set): Remove.
      	* config/g.opt (G): Add Var(g_switch_value).
      	* config/alpha/alpha.c (alpha_handle_option): Don't handle -G
      	here.
      	(alpha_option_override): Check global_options_set.x_g_switch_value
      	instead of g_switch_set.
      	(alpha_in_small_data_p): Remove cast in comparison with
      	g_switch_value.
      	* config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Cast
      	g_switch_value to unsigned HOST_WIDE_INT.
      	* config/frv/frv.c (frv_const_unspec_p): Remove cast in comparison
      	with g_switch_value.
      	(frv_handle_option): Don't handle -G here.
      	(frv_option_override): Check global_options_set.x_g_switch_value
      	instead of g_switch_set.  Don't modify g_switch_set.
      	(frv_in_small_data_p): Remove cast in comparison with
      	g_switch_value.
      	* config/frv/frv.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Cast
      	g_switch_value to unsigned HOST_WIDE_INT.
      	* config/ia64/ia64.c (ia64_handle_option): Don't handle -G here.
      	(ia64_option_override): Check global_options_set.x_g_switch_value
      	instead of g_switch_set.
      	* config/lm32/lm32.c (lm32_handle_option, TARGET_HANDLE_OPTION):
      	Remove.
      	(lm32_in_small_data_p): Remove cast in comparison with
      	g_switch_value.
      	* config/lm32/lm32.h (ASM_OUTPUT_ALIGNED_LOCAL,
      	ASM_OUTPUT_ALIGNED_COMMON): Cast g_switch_value to unsigned
      	HOST_WIDE_INT.
      	* config/m32r/m32r.c (m32r_handle_option): Don't handle -G here.
      	(m32r_init): Check global_options_set.x_g_switch_value instead of
      	g_switch_set.
      	(m32r_in_small_data_p): Remove cast in comparison with
      	g_switch_value.
      	(m32r_file_start): Format g_switch_value with %d.
      	* config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_COMMON,
      	ASM_OUTPUT_ALIGNED_BSS): Cast g_switch_value to unsigned
      	HOST_WIDE_INT.
      	* config/microblaze/microblaze.c (microblaze_handle_option): Don't
      	handle -G here.
      	(microblaze_option_override): Check
      	global_options_set.x_g_switch_value instead of g_switch_set.
      	* config/mips/mips.c (mips_handle_option): Don't handle -G here.
      	(mips_option_override): Check global_options_set.x_g_switch_value
      	instead of g_switch_set.
      	* config/rs6000/rs6000.c (rs6000_handle_option): Don't handle -G
      	here.
      	(rs6000_file_start): Format g_switch_value with %d.
      	(small_data_operand, rs6000_elf_in_small_data_p): Remove casts in
      	comparisons with g_switch_value.
      	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Check
      	global_options_set.x_g_switch_value instead of g_switch_set.
      	* config/rs6000/vxworks.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
      	global_options_set.x_g_switch_value instead of g_switch_set.
      	* config/score/score.c (score_handle_option): Don't handle -G
      	here.
      	* config/score/score3.c (score3_option_override): Check
      	global_options_set.x_g_switch_value instead of g_switch_set.
      	* config/score/score7.c (score7_option_override): Check
      	global_options_set.x_g_switch_value instead of g_switch_set.
      
      From-SVN: r164960
      Joseph Myers committed
    • common.opt (fira-coalesce): Remove. · 22b0982c
      2010-10-04  Vladimir Makarov  <vmakarov@redhat.com>
      
      	* common.opt (fira-coalesce): Remove.
      
      	* doc/invoke.texi (flag_ira_coalesce): Remove.
      
      	* ira-color.c (allocno_coalesced_p): Move before
      	copy_freq_compare_func.
      	processed_coalesced_allocno_bitmap): Ditto.
      	(update_conflict_hard_regno_costs): Don't use
      	ALLOCNO_FIRST_COALESCED_ALLOCNO.
      	(allocno_cost_compare_func, print_coalesced_allocno): Remove.
      	(assign_hard_reg): Assume no coalesced allocnos.
      	(get_coalesced_allocnos_attributes): Remove.
      	(bucket_allocno_compare_func): Assume no coalesced allocnos.
      	(push_allocno_to_stack): Ditto.
      	(remove_allocno_from_bucket_and_push): Use
      	ira_print_expanded_allocno instead of print_coalesced_allocno.
      	(push_allocnos_to_stack): Assume uncoalesced allocnos.
      	(all_conflicting_hard_regs_coalesced): Ditto.  Rename to
      	all_conflicting_hard_regs.
      	(setup_allocno_available_regs_num): Assume uncoalesced allocnos.
      	(setup_allocno_left_conflicts_size): Ditto.
      	(put_allocno_into_bucket): Ditto.
      	(copy_freq_compare_func): Remove.
      	(copy_freq_compare_func, merge_allocnos): Move before
      	coalesced_pseudo_reg_freq_compare.
      	coalesced_allocno_conflict_p): Ditto.
      	(coalesced_allocno_conflict_p, coalesce_allocnos): Ditto.  Remove
      	parameter.  Assume it true.
      	(color_allocnos): Assume uncoalesced allocnos.  Use
      	ira_print_expanded_allocno instead of print_coalesced_allocno.
      	(ira_sort_regnos_for_alter_reg): Call coalesce_allocnos without
      	parameter.
      
      	* ira.c: Remove comment about coalescing.
      
      From-SVN: r164959
      Vladimir Makarov committed
    • mips.h (target_flags_explicit): Declare for GENERATOR_FILE. · f770d743
      	* config/mips/mips.h (target_flags_explicit): Declare for
      	GENERATOR_FILE.
      
      From-SVN: r164958
      Joseph Myers committed
    • functional (function<>::swap): Use std::swap. · 6703f185
      2010-10-04  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* include/std/functional (function<>::swap): Use std::swap.
      	* include/tr1/functional (function<>::swap): Likewise.
      
      From-SVN: r164952
      Paolo Carlini committed
    • Mark linker Makefile rules for job server build · a90163e9
      -fwhopr=jobserver requires telling GNU make that the linker (= lto)
      rules support job server, so that the necessary jobserver
      information is passed through.
      
      Add + to all the executable targets that run LTO for this purpose.
      
      This improves build performance with a -fwhopr=jobserver
      bootstrap (or BUILD_CONFIG=bootstrap-lto) significantly.
      
      I didn't change Ada because that apparently doesn't support LTO.
      
      Passes bootstrap and test suite. Ok to commit?
      
      gcc/
      
      2010-10-04  Andi Kleen <ak@linux.intel.com>
      
      	* Makefile.in (xgcc, cpp, cc1, collect2, lto-wrapper, gcov,
              gcov-dump, cc1-dummy, genprog, build/gcov-iov):
              Add + to build rule.
      
      gcc/cp/
      
      2010-10-04  Andi Kleen <ak@linux.intel.com>
      
      	* Make-lang.in (g++, cc1plus): Add + to build rule.
      
      gcc/fortran/
      
      2010-10-04  Andi Kleen <ak@linux.intel.com>
      
      	* Make-lang.in (gfortran, f951): Add + to build rule.
      
      gcc/java/
      
      2010-10-04  Andi Kleen <ak@linux.intel.com>
      
      	* Make-lang.in (xgcj, jc1, jcf-dump, jvgenmain):
              Add + to build rule.
      
      gcc/lto/
      
      2010-10-04  Andi Kleen <ak@linux.intel.com>
      
      	* Make-lang.in (lto1): Add + to build rule.
      
      gcc/objc/
      
      2010-10-04  Andi Kleen <ak@linux.intel.com>
      
      	* Make-lang.in (cc1obj-dummy, cc1obj): Add + to build rule.
      
      gcc/objcp/
      
      2010-10-04  Andi Kleen <ak@linux.intel.com>
      
      	* Make-lang.in (cc1objplus-dummy, cc1objplus): Add + to build rule.
      
      More plus fixes
      
      From-SVN: r164949
      Andi Kleen committed
    • t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the multilib osdirname if it exists. · 6fda54ac
      2010-10-04  Matthias Klose  <doko@ubuntu.com>
      
              * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the
              multilib osdirname if it exists.
              * config/s390/t-linux64 (MULTILIB_OSDIRNAMES): Likewise.
      
      From-SVN: r164947
      Matthias Klose committed
    • tree.c (decl_storage_duration): New. · b95ca513
      	* tree.c (decl_storage_duration): New.
      	* cp-tree.h: Declare it.
      	(duration_kind): Return values.
      
      From-SVN: r164944
      Jason Merrill committed
    • re PR middle-end/45876 (ICE: verify_gimple failed) · 828fde80
      	PR middle-end/45876
      	* fold-const.c (fold_binary_loc) <case BIT_AND_EXPR>: Use
      	arg0's type or its unsigned counterpart as utype.  Convert
      	arg1 to utype unconditionally.
      
      	* gcc.c-torture/compile/pr45876.c: New test.
      
      From-SVN: r164943
      Jakub Jelinek committed
    • [multiple changes] · bed8af19
      2010-10-04  Vincent Celier  <celier@adacore.com>
      
      	* a-direct.adb (Copy_File): Interpret the Form parameter and call
      	System.OS_Lib.Copy_File to do the work accordingly. Raise Use_Error if
      	the Form parameter contains an incorrect value for field preserve= or
      	mode=.
      	* a-direct.ads (Create_Directory, Create_Path): Indicate that the Form
      	parameter is ignored.
      	(Copy_File): Indicate the interpretation of the Form parameter.
      
      2010-10-04  Vincent Celier  <celier@adacore.com>
      
      	* make.adb (Gnatmake): When there are no foreign languages declared and
      	a main in attribute Main of the main project does not exist or is a
      	source of another project, fail immediately before attempting
      	compilation.
      
      2010-10-04  Javier Miranda  <miranda@adacore.com>
      
      	* exp_disp.ads (Convert_Tag_To_Interface): New function which must be
      	used to convert a node referencing a tag to a class-wide interface type.
      	* exp_disp.adb (Convert_Tag_To_Interface): New function.
      	(Expand_Interface_Conversion): Replace invocation of
      	Unchecked_Conversion by new function Convert_Tag_To_Interface.
      	(Write_DT): Add support for null primitives.
      	* exp_ch3.adb (Expand_N_Object_Declaration): For tagged type objects,
      	cleanup code that handles interface conversions and avoid unchecked
      	conversion of referenced tag components.
      	* exp_ch5.adb (Expand_N_Assignment_Statement): Code cleanup. Avoid
      	unrequired conversions when generating a dispatching call to _assign.
      	* sprint.adb (Write_Itype): Fix wrong output of not null access itypes.
      
      2010-10-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch4.adb (Expand_N_Op_Not): Handle properly both operands when the
      	parent is a binary boolean operation and the operand is an unpacked
      	array.
      	(Build_Boolean_Array_Proc_Call): If the operands are both negations, the
      	operands of the rewritten node are the operands of the negations, not
      	the negations themselves.
      
      From-SVN: r164942
      Arnaud Charlet committed
    • expr.c (expand_assignment): Add assertion to prevent emitting null rtx for movmisalign pattern. · c452684d
      	gcc/
      	* expr.c (expand_assignment): Add assertion to prevent emitting
      	null rtx for movmisalign pattern.
      	(expand_expr_real_1): Likewise.
      	* config/arm/arm.c (arm_builtin_support_vector_misalignment): New.
      	(TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT): New. Use above.
      	(arm_vector_alignment_reachable): New.
      	(TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): New. Use above.
      	(neon_vector_mem_operand): Disallow PRE_DEC for misaligned loads.
      	(arm_print_operand): Include alignment qualifier in %A.
      	* config/arm/neon.md (UNSPEC_MISALIGNED_ACCESS): New constant.
      	(movmisalign<mode>): New expander.
      	(movmisalign<mode>_neon_store, movmisalign<mode>_neon_load): New
      	insn patterns.
      
      	gcc/testsuite/
      	* gcc.dg/vect/vect-42.c: Use vect_element_align instead of
      	vect_hw_misalign.
      	* gcc.dg/vect/vect-60.c: Likewise.
      	* gcc.dg/vect/vect-56.c: Likewise.
      	* gcc.dg/vect/vect-93.c: Likewise.
      	* gcc.dg/vect/no-scevccp-outer-8.c: Likewise.
      	* gcc.dg/vect/vect-95.c: Likewise.
      	* gcc.dg/vect/vect-96.c: Likewise.
      	* gcc.dg/vect/vect-outer-5.c: Use quad-word vectors when available.
      	* gcc.dg/vect/slp-25.c: Likewise.
      	* gcc.dg/vect/slp-3.c: Likewise.
      	* gcc.dg/vect/vect-multitypes-1.c: Likewise.
      	* gcc.dg/vect/no-vfa-pr29145.c: Likewise.
      	* gcc.dg/vect/vect-multitypes-4.c: Likewise. Use vect_element_align.
      	* gcc.dg/vect/vect-109.c: Likewise.
      	* gcc.dg/vect/vect-peel-1.c: Likewise.
      	* gcc.dg/vect/vect-peel-2.c: Likewise.
      	* lib/target-supports.exp
      	(check_effective_target_arm_vect_no_misalign): New.
      	(check_effective_target_vect_no_align): Use above.
      	(check_effective_target_vect_element_align): New.
      	(add_options_for_quad_vectors): New.
      
      From-SVN: r164941
      Julian Brown committed
    • [multiple changes] · a3f2babd
      2010-10-04  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch13.adb (Set_Biased): New procedure, now used throughout, adds
      	name of entity to biased warning msg.
      	(Analyze_Enumeration_Representation_Clause): Remove attempt to use
      	biased rep (wrong and never worked anyway).
      
      2010-10-04  Arnaud Charlet  <charlet@adacore.com>
      
      	* sem_elab.adb: Minor reformatting.
      
      2010-10-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch4.adb (Expand_N_Null): Handle properly the case of a subtype of
      	an access_to_protected subprogram type, and convert null value into
      	corresponding aggregate.
      
      2010-10-04  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* gnat_ugn.texi: Clarify first point of 7.1.5 about pragma Inline.
      
      2010-10-04  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* make.adb (Scan_Make_Arg): Pass -Oxxx switches to the linker as well.
      	* gnatlink.adb (Gnatlink): Filter out -Oxxx switches for CLI, RTX and
      	AAMP.
      
      2010-10-04  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* sem_ch4.adb (Analyze_Indexed_Component_Form): Remove redundant test
      	for N_Operator_Symbol.
      	(Indicate_Name_And_Type): Likewise.
      	* sem_ch8.adb (Analyze_Subprogram_Renaming): Likewise.
      	* sem_res.adb (Resolve): Likewise.
      	* sem_type.adb (Add_One_Interp): Likewise.
      	(Disambiguate): Likewise.
      	
      2010-10-04  Vincent Celier  <celier@adacore.com>
      
      	* osint.adb (Read_Library_Info_From_Full): If object timestamp is less
      	than ALI file timestamp, return null.
      
      2010-10-04  Vincent Celier  <celier@adacore.com>
      
      	* prj-makr.adb (Finalize): Invoke Pretty_Print with Max_Length set to 79
      	* prj-pp.adb (Pretty_Print): New parameter Max_Line_Length, that
      	replaces global constant with the same name. When a line is too long,
      	indent properly the next continuation line.
      	* prj-pp.ads (Pretty_Print): New parameter Max_Line_Length with a range
      	from 50 to 255, defaulted to 255, to indicate the maximum length of
      	lines in the project file.
      
      2010-10-04  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* sem_ch7.adb (Analyze_Package_Body_Helper) <Has_Referencer>: New
      	Check_Subprogram_Ref function and Check_Subprogram_Refs instantiation
      	of Traverse_Func on it to look for subprogram references in a body.
      	Call Check_Subprogram_Refs on the body of inlined subprograms at the
      	outer level and keep clearing the Is_Public flag of subprograms as long
      	as it returns OK.  Do not look at anything else than subprograms once
      	an inlined subprogram has been seen.
      
      From-SVN: r164940
      Arnaud Charlet committed
    • [multiple changes] · d69cf005
      2010-10-04  Robert Dewar  <dewar@adacore.com>
      
      	* exp_cg.adb: Minor reformatting.
      
      2010-10-04  Javier Miranda  <miranda@adacore.com>
      
      	* exp_cg.adb (Expand_N_Assignment_Statement): Restore tag check when
      	the target object is an interface.
      	* sem_disp.adb (Propagate_Tag): If the controlling argument is an
      	interface type then we generate an implicit conversion to force
      	displacement of the pointer to the object to reference the secondary
      	dispatch table associated with the interface.
      
      2010-10-04  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Set
      	Enumeration_Rep_Expr to point to the literal, not the identifier.
      	(Analyze_Enumeration_Representation_Clause): Improve error message for
      	size too small for enum rep value
      	(Analyze_Enumeration_Representation_Clause): Fix size test to use proper
      	size (RM_Size, not Esize).
      
      From-SVN: r164939
      Arnaud Charlet committed
    • [multiple changes] · f5d96d00
      2010-10-04  Robert Dewar  <dewar@adacore.com>
      
      	* s-taprop-vxworks.adb, sem_res.adb: Minor reformatting.
      
      2010-10-04  Javier Miranda  <miranda@adacore.com>
      
      	* exp_cg.adb (Write_Call_Info): Code clean up.
      
      From-SVN: r164938
      Arnaud Charlet committed
    • [multiple changes] · 39eb6542
      2010-10-04  Arnaud Charlet  <charlet@adacore.com>
      
      	* s-taprop-mingw.adb (Create_Task): Initialize Thread_Id field to 0.
      
      2010-10-04  Robert Dewar  <dewar@adacore.com>
      
      	* exp_cg.adb: Minor code reorganization
      	Minor reformatting.
      	* exp_ch5.adb, prj-nmsc.adb: Minor reformatting.
      
      From-SVN: r164937
      Arnaud Charlet committed
    • [multiple changes] · 9db0b232
      2010-10-04  Bob Duff  <duff@adacore.com>
      
      	* sem_res.adb (Resolve_Type_Conversion): If a type conversion is needed
      	to make a qualified expression into a name (syntax-wise), then do not
      	consider it redundant.
      
      2010-10-04  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_warn.ads: Fix typo.
      
      2010-10-04  Javier Miranda  <miranda@adacore.com>
      
      	* exp_cg.adb (Is_Predefined_Dispatching_Operation): Handle suffix in
      	TSS names.
      	(Write_Call_Info): Add missing support for renamed primitives.
      
      2010-10-04  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_ch5.adb (Make_Field_Expr): New subprogram, to factor duplicated
      	code between Make_Component_List_Assign and Make_Field_Assign.
      
      2010-10-04  Vincent Celier  <celier@adacore.com>
      
      	* prj-nmsc.adb (Get_Directories): For non extending projects that
      	declare that they have no sources, do not create a non existing object
      	or exec directory if builder switch -p is used.
      
      2010-10-04  Sergey Rybin  <rybin@adacore.com>
      
      	* gnat_ugn.texi (gnatcheck): Change the description of the report file
      	format.
      
      2010-10-04  Ed Falis  <falis@adacore.com>
      
      	* s-taprop-vxworks.adb (Is_Task_Context): Import VxWorks intContext to
      	determine whether Set_True is called from a task or an ISR.
      	(Set_True): test for being in a task context before trying to
      	dereference Defer_Abort or Undefer_Abort.
      
      From-SVN: r164936
      Arnaud Charlet committed
    • [multiple changes] · 477bd732
      2010-10-04  Robert Dewar  <dewar@adacore.com>
      
      	* sem_res.adb, sinput-l.adb: Minor reformatting.
      
      2010-10-04  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch5.adb (Expand_N_Assignment_Statement): Do not generate a tag
      	check when the target object is an interface since the expression of
      	the right hand side must only cover the interface.
      
      From-SVN: r164935
      Arnaud Charlet committed
    • frontend.adb: Set Lib.Parsing_Main_Extended_Source to True before loading the main source... · ea4ce0f7
      2010-10-04  Vincent Celier  <celier@adacore.com>
      
      	* frontend.adb: Set Lib.Parsing_Main_Extended_Source to True before
      	loading the main source, so that if it is preprocessed and -gnateG is
      	used, the preprocessed file is written.
      	* lib.ads (Analysing_Subunit_Of_Main): New global variable to indicate
      	if a subunit is from the main unit when it is loaded.
      	* sem_ch10.adb (Analyze_Proper_Body): Set Lib.Analysing_Subunit_Of_Main
      	to True before loading a subunit.
      	* sem_ch12.adb (Copy_Generic_Node): Set Lib.Analysing_Subunit_Of_Main
      	to True when the main is a generic unit before loading one of its
      	subunits.
      	* sinput-l.adb (Load_File): If -gnateG is used, write the preprocessed
      	file only for the main unit (spec, body and subunits).
      
      From-SVN: r164934
      Vincent Celier committed
    • [multiple changes] · 1366997b
      2010-10-04  Vincent Celier  <celier@adacore.com>
      
      	* sinput-l.adb (Load_File): Do not fail when switch -gnateG is
      	specified and the processed file cannot be written. Just issue a
      	warning and continue.
      
      2010-10-04  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_res.adb: Minor reformatting.
      
      2010-10-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch8.adb (Analyze_Subprogram_Renaming): If the renamed operation
      	is an overridden inherited operation, the desired operation is the
      	overriding one, which is the alias of the visible one.
      
      2010-10-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Find_Corresponding_Spec): Check that the wrapper body is
      	present before deleting from the tree, when an inherited function with
      	a controlling result that returns a null extension is overridden by a
      	later declaration or body.
      
      2010-10-04  Gary Dismukes  <dismukes@adacore.com>
      
      	* checks.adb: Update comment.
      
      From-SVN: r164933
      Arnaud Charlet committed
    • optc-gen.awk: Define global_options_set. · d4d24ba4
      	* optc-gen.awk: Define global_options_set.  Don't define
      	target_flags_explicit.
      	* opth-gen.awk: Declare global_options_set.  Define
      	target_flags_explicit as macro.
      	* opts-common.c (handle_option): Take opts_set and generated_p
      	parameters.
      	(handle_generated_option, read_cmdline_option, set_option): Take
      	opts_set parameter.
      	(set_option): Use opts_set instead of hardcoding target_flags and
      	target_flags_explicit.
      	* opts.c (sel_sched_switch_set, profile_arc_flag_set,
      	flag_profile_values_set, flag_unroll_loops_set, flag_tracer_set,
      	flag_value_profile_transformations_set, flag_peel_loops_set,
      	flag_branch_probabilities_set, flag_inline_functions_set,
      	flag_ipa_cp_set, flag_ipa_cp_clone_set,
      	flag_predictive_commoning_set, flag_unswitch_loops_set,
      	flag_gcse_after_reload_set): Remove.
      	(common_handle_option, lang_handle_option, target_handle_option):
      	Take opts_set parameter.  Assert that it is &global_options_set.
      	(common_handle_option): Don't set _set variables.  Check opts_set
      	instead of such variables.
      	(enable_warning_as_error): Pass &global_options_set to
      	handle_generated_option.
      	* opts.h (cl_option_handler_func.handler, set_option,
      	handle_option, handle_generated_option, read_cmdline_option): Add
      	opts_set parameters.
      	(handle_option): Add generated_p parameter.
      	* config/i386/i386.c (ix86_function_specific_save,
      	ix86_function_specific_restore): Updat for renaming of
      	target_flags_explicit field.
      	* config/i386/i386.opt (target_flags_explicit): Rename to
      	ix86_target_flags_explicit.
      	* config/ia64/ia64.c (ia64_override_options_after_change): Check
      	global_options_set.x_flag_selective_scheduling and
      	global_options_set.x_flag_selective_scheduling2, not
      	sel_sched_switch_set.
      	* flags.h (sel_sched_switch_set,
      	flag_speculative_prefetching_set): Remove.
      	* gcc.c (driver_handle_option): Take opts_set parameter.  Assert
      	that it is &global_options_set.
      	(process_command): Pass &global_options_set to
      	read_cmdline_option.
      	* lto-opts.c (lto_reissue_options): Pass &global_options_set to
      	set_option.
      	* toplev.c (target_flags_explicit): Remove.
      
      c-family:
      	* c-opts.c (c_common_handle_option): Pass &global_options_set to
      	handle_generated_option.
      
      From-SVN: r164932
      Joseph Myers committed
    • re PR middle-end/45871 (lto bootstrap miscompiles expmed.c) · 4a2da105
      
      	PR middle-end/45871
      	* tree-ssa-ccp.c (get_base_constructor): Take HOST_WIDE_INT offset;
      	use get_ref_base_and_offset to handle references.
      	(fold_const_aggregate_ref): Update.
      
      From-SVN: r164931
      Jan Hubicka committed
    • re PR tree-optimization/45572 (various ICEs with -finline-small-functions… · 1dbee8c9
      re PR tree-optimization/45572 (various ICEs with -finline-small-functions -findirect-inlining -finline-functions)
      
      2010-10-04  Martin Jambor  <mjambor@suse.cz>
      
      	PR tree-optimization/45572
      	* ipa-prop.c (ipa_make_edge_direct_to_target): Call
      	ipa_check_create_node_params.
      	* ipa-inline.c (add_new_edges_to_heap): Do not insert inlined edges.
      
      	* testsuite/g++.dg/ipa/pr45572-1.C: New test.
      	* testsuite/g++.dg/ipa/pr45572-2.C: Likewise.
      
      From-SVN: r164930
      Martin Jambor committed
    • passes.texi: Clean up. · eeb4dfda
      2010-10-04  Yao Qi  <yao@codesourcery.com>
      
              * doc/passes.texi: Clean up.
      
      From-SVN: r164929
      Yao Qi committed
    • f95-lang.c (current_translation_unit): New global variable. · e5b16755
      2010-10-04  Richard Guenther  <rguenther@suse.de>
      
      	* f95-lang.c (current_translation_unit): New global variable.
      	(gfc_create_decls): Build a translation-unit decl.
      	(pushdecl): In the global binding-level use the
      	translation-unit decl as DECL_CONTEXT.
      	* trans-decl.c (gfc_get_symbol_decl): Use DECL_FILE_SCOPE_P.
      	(build_function_decl): Likewise.  Delay setting the assembler
      	name, leave setting of DECL_CONTEXT to pushdecl.
      	(trans_function_start): Use DECL_FILE_SCOPE_P.
      	(gfc_create_module_variable): Likewise.  Remove questionable
      	asserts.
      	* trans.c (gfc_generate_module_code): Likewise.
      
      From-SVN: r164928
      Richard Guenther committed
    • acinclude.m4 (GLIBCXX_ENABLE): Properly quote argument to AC_HELP_STRING. · b453ace3
      * acinclude.m4 (GLIBCXX_ENABLE): Properly quote argument to
      AC_HELP_STRING.  Double quote expansion of _g_help.
      (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Double quote third argument of
      GLIBCXX_ENABLE.
      (GLIBCXX_ENABLE_CHEADERS): Likewise.
      (GLIBCXX_ENABLE_CLOCALE): Likewise.
      (GLIBCXX_ENABLE_ALLOCATOR): Likewise.
      (GLIBCXX_ENABLE_CSTDIO): Likewise.
      (GLIBCXX_ENABLE_SYMVERS): Likewise.
      * configure: Regenerate.
      
      From-SVN: r164927
      Andreas Schwab committed
    • c-typeck.c (lookup_field): If -fplan9-extensions, permit referring to a field using a typedef name. · 478a1c5b
      gcc/:
      	* c-typeck.c (lookup_field): If -fplan9-extensions, permit
      	referring to a field using a typedef name.
      	(find_anonymous_field_with_type): New static function.
      	(convert_to_anonymous_field): New static function.
      	(convert_for_assignment): If -fplan9-extensions, permit converting
      	pointer to struct to pointer to anonymous field.
      	* c-decl.c (grokfield): If -fplan9-extensions, permit anonymous
      	fields.
      	(is_duplicate_field): New static function.
      	(detect_field_duplicates_hash): If -fplan9-extensions, check for
      	typedef names duplicating field names.
      	(detect_field_duplicates): Likewise.
      	* doc/invoke.texi (Option Summary): Mention -fplan9-extensions.
      	(C Dialect Options): Document -fplan9-extensions.
      	* doc/extend.texi (Unnamed Fields): Document -fplan9-extensions.
      gcc/c-family/:
      	* c.opt (-fplan9-extensions): New option.
      gcc/testsuite/:
      	* gcc.dg/anon-struct-11.c: New test.
      	* gcc.dg/anon-struct-12.c: New test.
      	* gcc.dg/anon-struct-13.c: New test.
      	* gcc.dg/anon-struct-14.c: New test.
      
      From-SVN: r164926
      Ian Lance Taylor committed