Commit Graph

103760 Commits

Author SHA1 Message Date
Arnaud Charlet
a8ef12e56b [multiple changes]
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
2010-10-05 11:42:12 +02:00
Sebastian Huber
79d34420f6 re PR libstdc++/44647 (std::nothrow and std::bad_alloc are coupled)
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
2010-10-05 09:41:57 +00:00
Arnaud Charlet
92817e8977 [multiple changes]
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
2010-10-05 11:37:44 +02:00
Emmanuel Briot
eada5fd1cf 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
2010-10-05 11:32:05 +02:00
Emmanuel Briot
c5be6c3a9d prj-nmsc.adb, [...] (Expand_Subdirectory_Pattern): New subprogram.
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
2010-10-05 11:29:14 +02:00
Emmanuel Briot
a0a786e30d gnatcmd.adb, [...] (Project_Search_Path): New type.
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
2010-10-05 11:26:00 +02:00
Arnaud Charlet
9d9f5f49ae [multiple changes]
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
2010-10-05 11:22:21 +02:00
Arnaud Charlet
98ee5fc477 [multiple changes]
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
2010-10-05 11:16:23 +02:00
GCC Administrator
de9535785c Daily bump.
From-SVN: r164966
2010-10-05 00:18:20 +00:00
Jakub Jelinek
098db05ef4 re PR debug/45849 (ICE: in emit_note_insn_var_location, at var-tracking.c:7336 with -O -g)
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
2010-10-05 00:02:28 +02:00
Jan Hubicka
b3b9f3d0a8 gimple-fold.c (static_object_in_other_unit_p): Rename to...
* 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
2010-10-04 20:59:07 +00:00
Joseph Myers
fa37ed29b9 flags.h (g_switch_value, [...]): Remove.
* 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
2010-10-04 21:48:39 +01:00
Vladimir Makarov
22b0982c17 common.opt (fira-coalesce): Remove.
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
2010-10-04 20:37:57 +00:00
Joseph Myers
f770d743df mips.h (target_flags_explicit): Declare for GENERATOR_FILE.
* config/mips/mips.h (target_flags_explicit): Declare for
	GENERATOR_FILE.

From-SVN: r164958
2010-10-04 21:10:06 +01:00
Paolo Carlini
6703f185d4 functional (function<>::swap): Use std::swap.
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
2010-10-04 17:28:24 +00:00
Andi Kleen
a90163e973 Mark linker Makefile rules for job server build
-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
2010-10-04 17:09:45 +00:00
Matthias Klose
6fda54ac81 t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the multilib osdirname if it exists.
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
2010-10-04 16:51:59 +00:00
Jason Merrill
b95ca5135e tree.c (decl_storage_duration): New.
* tree.c (decl_storage_duration): New.
	* cp-tree.h: Declare it.
	(duration_kind): Return values.

From-SVN: r164944
2010-10-04 12:18:03 -04:00
Jakub Jelinek
828fde809c re PR middle-end/45876 (ICE: verify_gimple failed)
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
2010-10-04 17:49:13 +02:00
Arnaud Charlet
bed8af19ec [multiple changes]
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
2010-10-04 17:07:59 +02:00
Julian Brown
c452684d45 expr.c (expand_assignment): Add assertion to prevent emitting null rtx for movmisalign pattern.
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
2010-10-04 14:59:30 +00:00
Arnaud Charlet
a3f2babd42 [multiple changes]
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
2010-10-04 16:09:52 +02:00
Arnaud Charlet
d69cf005d0 [multiple changes]
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
2010-10-04 15:59:18 +02:00
Arnaud Charlet
f5d96d0038 [multiple changes]
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
2010-10-04 15:53:10 +02:00
Arnaud Charlet
39eb65425d [multiple changes]
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
2010-10-04 15:46:35 +02:00
Arnaud Charlet
9db0b2326f [multiple changes]
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
2010-10-04 15:43:01 +02:00
Arnaud Charlet
477bd73273 [multiple changes]
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
2010-10-04 15:38:32 +02:00
Vincent Celier
ea4ce0f777 frontend.adb: Set Lib.Parsing_Main_Extended_Source to True before loading the main source...
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
2010-10-04 15:27:57 +02:00
Arnaud Charlet
1366997bf2 [multiple changes]
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
2010-10-04 15:16:56 +02:00
Joseph Myers
d4d24ba450 optc-gen.awk: Define global_options_set.
* 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
2010-10-04 12:51:00 +01:00
Jan Hubicka
4a2da10512 re PR middle-end/45871 (lto bootstrap miscompiles expmed.c)
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
2010-10-04 11:11:57 +00:00
Martin Jambor
1dbee8c9f9 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
2010-10-04 12:15:10 +02:00
Yao Qi
eeb4dfdacf passes.texi: Clean up.
2010-10-04  Yao Qi  <yao@codesourcery.com>

        * doc/passes.texi: Clean up.

From-SVN: r164929
2010-10-04 09:59:54 +00:00
Richard Guenther
e5b1675528 f95-lang.c (current_translation_unit): New global variable.
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
2010-10-04 09:19:55 +00:00
Andreas Schwab
b453ace381 acinclude.m4 (GLIBCXX_ENABLE): Properly quote argument to AC_HELP_STRING.
* 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
2010-10-04 08:49:59 +00:00
Ian Lance Taylor
478a1c5b90 c-typeck.c (lookup_field): If -fplan9-extensions, permit referring to a field using a typedef name.
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
2010-10-04 03:50:39 +00:00
GCC Administrator
3b5269a95e Daily bump.
From-SVN: r164924
2010-10-04 00:17:33 +00:00
H.J. Lu
a1e53f3f45 Revert revision 164914.
gcc/

2010-10-03  H.J. Lu  <hongjiu.lu@intel.com>

	* tree-vect-data-refs.c (vect_analyze_data_ref_access): Revert
	revision 164914.
	(vect_create_data_ref_ptr): Likewise.
	* tree-vect-stmts.c (vectorizable_store): Likewise.
	(perm_mask_for_reverse): Likewise.
	(reverse_vec_elements): Likewise.
	(vectorizable_load): Likewise.

gcc/testsuite/

2010-10-03  H.J. Lu  <hongjiu.lu@intel.com>

	* g++.dg/torture/pr45764.C: Revert revision 164914.
	* gcc.dg/vect/pr43432.c: Likewise.
	* gcc.dg/vect/vect-114.c: Likewise.
	* gcc.dg/vect/vect-15.c: Likewise.

From-SVN: r164919
2010-10-03 16:57:01 -07:00
Jason Merrill
79fe346e8a typeck.c (require_complete_type_sfinae): Add complain parm to...
* typeck.c (require_complete_type_sfinae): Add complain parm to...
	(require_complete_type): ...this function.
	(cp_build_array_ref, convert_arguments): Use it.
	(convert_for_initialization, cp_build_modify_expr): Likewise.
	* cp-tree.h: Declare it.
	* call.c (build_over_call): Use it.

From-SVN: r164918
2010-10-03 19:28:15 -04:00
François-Xavier Coudert
82a1c2fe69 cppbuiltin.c: New file.
gcc/
	* cppbuiltin.c: New file.
	* cppbuiltin.h: New file.
	* Makefile.in: Take into account cppbuiltin.{h,c}.

gcc/c-family/
	* c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
	Remove.
	(c_cpp_builtins): Call functions from cppbuiltin.c instead
	of duplicating code.

gcc/fortran/
	* cpp.c (cpp_define_builtins): Call functions from cppbuiltin.c
	instead of duplicating code.
	* Make-lang.in: Add dependency on cppbuiltin.h. Don't define
	BASEVER.

From-SVN: r164917
2010-10-03 19:00:55 +00:00
Andi Kleen
f1e92a43e9 lto-cgraph.c (input_cgraph): Check for missing sections.
gcc/
    
2010-10-03  Andi Kleen <ak@linux.intel.com>
    
	* lto-cgraph.c (input_cgraph): Check for missing sections.
    
gcc/lto/
   
2010-10-03  Andi Kleen <ak@linux.intel.com>
    
    	* lto.c (lto_file_finalize): Replace gcc_assert for missing section
          with fatal_error.

From-SVN: r164916
2010-10-03 15:56:06 +00:00
Uros Bizjak
5ed6934450 i386.md (*ashl<mode>3_mask): Change operand 2 preticate to nonimmediate_operand.
* config/i386/i386.md (*ashl<mode>3_mask): Change operand 2 preticate
	to nonimmediate_operand.  Force operand 2 to register when allowed.
	(*<shiftrt_insn><mode>3_mask): Ditto.
	(*<rotate_insn><mode>3_mask): Ditto.

From-SVN: r164915
2010-10-03 15:09:42 +02:00
H.J. Lu
888a22d085 Disallow negative steps in vectorizer.
gcc/

2010-10-02  H.J. Lu  <hongjiu.lu@intel.com>

	PR tree-optimization/45720
	PR tree-optimization/45764
	* tree-vect-data-refs.c (vect_analyze_data_ref_access):
	Don't accept backwards consecutive accesses.
	(vect_create_data_ref_ptr): Disallow negative steps.

	* tree-vect-stmts.c (vectorizable_store): Allow negative steps.
	(perm_mask_for_reverse): Removed.
	(reverse_vec_elements): Likewise.
	(vectorizable_load): Don't hanle negative steps.

gcc/testsuite/

2010-10-02  H.J. Lu  <hongjiu.lu@intel.com>

	PR tree-optimization/45720
	PR tree-optimization/45764
	* g++.dg/torture/pr45764.C: New.

	* gcc.dg/vect/pr43432.c: Xfail.
	* gcc.dg/vect/vect-114.c: Likewise.
	* gcc.dg/vect/vect-15.c: Likewise.

From-SVN: r164914
2010-10-02 22:39:32 -07:00
H.J. Lu
128dbdd219 Revert the pvs change.
2010-10-02  H.J. Lu  <hongjiu.lu@intel.com>

	PR libstdc++/45863
	* scripts/extract_symvers: Revert the pvs change.

From-SVN: r164913
2010-10-02 17:31:06 -07:00
GCC Administrator
f140076904 Daily bump.
From-SVN: r164912
2010-10-03 00:17:46 +00:00
Jan Hubicka
31ceb57477 tree-ssa-ccp.c (ccp_fold_stmt): Fold away OBJ_TYPE_REF when call destination is known.
* tree-ssa-ccp.c (ccp_fold_stmt): Fold away OBJ_TYPE_REF when
	call destination is known.

From-SVN: r164908
2010-10-02 22:03:18 +00:00
John David Anglin
34e94db7ad pr45678-1.c: Add -fno-common to options on 32-bit hppa*-*-hpux*.
* gcc.dg/torture/pr45678-1.c: Add -fno-common to options on 32-bit
	hppa*-*-hpux*.
	* gcc.dg/torture/pr45678-2.c: Likewise.

From-SVN: r164906
2010-10-02 18:47:02 +00:00
John David Anglin
715a567d9a re PR target/45820 (FAIL: gcc.c-torture/compile/pr45728.c at -O1 and above)
PR target/45820
	* config/pa/pa.c (pa_secondary_reload): Handle symbolic operands
	earlier.

From-SVN: r164905
2010-10-02 17:38:35 +00:00
Ralf Wildenhues
ffedf5114c Allow to pass separate configure arguments for build, host and target.
/:
	PR bootstrap/45326
	PR bootstrap/45174
	* configure.ac: Honor initial values of $build_configargs,
	$host_configargs, $target_configargs.  Mark the precious, so
	environment settings get recorded.
	* configure: Regenerate.

gcc/:
	* doc/install.texi (Configuration): Document build_configargs,
	host_configargs, target_configargs.

From-SVN: r164904
2010-10-02 14:52:07 +00:00
Janus Weil
8b932a7106 re PR fortran/45748 (-fimplicit-none failures when using intrinsic MAX)
2010-10-02  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/45748
	* resolve.c (resolve_formal_arglist): Avoid setting default type for
	formal arguments of intrinsic procedures.

2010-10-02  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/45748
	* gfortran.dg/intrinsic_6.f90: New.

From-SVN: r164901
2010-10-02 12:38:42 +02:00