Commit Graph

131853 Commits

Author SHA1 Message Date
Arnaud Charlet
78433fec9a exp_attr.adb (Is_Inline_Floating_Point_Attribute): Revert to previous state in CodePeer_Mode.
2014-08-01  Arnaud Charlet  <charlet@adacore.com>

	* exp_attr.adb (Is_Inline_Floating_Point_Attribute): Revert to
	previous state in CodePeer_Mode.

From-SVN: r213435
2014-08-01 11:46:10 +02:00
Arnaud Charlet
09c954dc79 [multiple changes]
2014-08-01  Robert Dewar  <dewar@adacore.com>

	* hostparm.ads: Put back definition of OpenVMS as False to aid
	the transition process.
	* sem_ch7.adb: Minor reformatting.
	* prj-env.adb: Minor code fix.
	* gnat_rm.texi: Complete previous change.
	* sem_ch3.adb: Minor reformatting.
	* sem_ch6.adb: Minor reformatting.
	* sem_elab.adb: Minor reformatting.
	* exp_strm.adb: Complete previous change.

2014-08-01  Vincent Celier  <celier@adacore.com>

	* sem_warn.adb (Warn_On_Unreferenced_Entity): Do not issue a
	warning when a constant is unreferenced and its type has pragma
	Unreferenced_Objects.

2014-08-01  Hristian Kirtchev  <kirtchev@adacore.com>

	* einfo.adb: Flag2 is now known as
	Is_Hidden_Non_Overridden_Subprogram.
	(Is_Hidden_Non_Overridden_Subprogram): New routine.
	(Set_Is_Hidden_Non_Overridden_Subprogram): New routine.
	(Write_Entity_Fields): Output Flag2.
	* einfo.ads: New attribute Is_Hidden_Non_Overridden_Subprogram
	along with occurrences in entities.
	(Is_Hidden_Non_Overridden_Subprogram): New routine and pragma Inline.
	(Set_Is_Hidden_Non_Overridden_Subprogram): New routine
	and pragma Inline.
	* sem_ch7.adb (Install_Package_Entity): Do not enter implicitly
	declared non-overriden homographs into visibility.
	* sem_ch13.adb (Freeze_Entity_Checks): Hide all
	implicitly declared non-overriden homographs.
	(Hide_Non_Overridden_Subprograms): New routine.

From-SVN: r213434
2014-08-01 11:44:35 +02:00
Paolo Carlini
cd916532cf pt.c (lookup_template_class_1): Use DECL_TYPE_TEMPLATE_P.
2014-08-01  Paolo Carlini  <paolo.carlini@oracle.com>

	* pt.c (lookup_template_class_1): Use DECL_TYPE_TEMPLATE_P.

From-SVN: r213433
2014-08-01 09:43:07 +00:00
Robert Dewar
78f8727c3a snames.ads-tmpl, [...]: Remove VMS-specific code.
2014-08-01  Robert Dewar  <dewar@adacore.com>

	* snames.ads-tmpl, s-os_lib.adb, s-os_lib.ads, s-fileio.adb: Remove
	VMS-specific code.
	* prj-conf.adb: Minor reformatting.
	* xr_tabls.adb (Read_File): Restore code which was enabled on
	non VMS platforms before.
	* prj-env.adb (Initialize_Default_Project_Path): Ditto.
	* sem_ch5.adb: Minor reformatting.
	* lib-writ.adb, lib-writ.ads, bindgen.adb, sem_vfpt.adb,
	sem_vfpt.ads, ali.adb, ali.ads, opt.ads, bcheck.adb, exp_strm.adb:
	Remove VMS-specific code.

From-SVN: r213432
2014-08-01 11:41:55 +02:00
Arnaud Charlet
7a5b62b0c7 [multiple changes]
2014-08-01  Vincent Celier  <celier@adacore.com>

	* make.adb (Await_Compile): Remove loop that was only needed
	for VMS.

2014-08-01  Robert Dewar  <dewar@adacore.com>

	* a-calcon.ads, a-direct.adb, a-dirval-mingw.adb, a-dirval.adb,
	a-dirval.ads, a-except-2005.adb, a-excpol-abort.adb,
	a-numaux-darwin.ads, a-numaux.ads, bindgen.adb, bindusg.adb,
	einfo.adb, einfo.ads, err_vars.ads, errout.ads, errutil.adb,
	exp_ch3.adb, exp_ch4.adb, exp_ch7.adb, exp_ch7.ads, fname-uf.adb,
	fname.adb, fname.ads, freeze.adb, g-debpoo.adb, g-dirope.ads,
	g-excact.ads, g-expect.ads, g-socket.adb, g-socket.ads, g-sothco.ads,
	g-traceb.ads, gnat_rm.texi, gnatlink.adb, gnatls.adb, i-cstrea.adb,
	krunch.adb, krunch.ads, layout.adb, lib-util.adb, make.adb,
	mlib.adb, osint-b.adb, osint-b.ads, osint-c.adb, osint.adb,
	osint.ads, output.ads, par.adb, prj-conf.adb, prj-env.adb,
	prj-makr.adb, prj-nmsc.adb, prj.adb, prj.ads, repinfo.adb, rtsfind.adb,
	rtsfind.ads, s-excmac-gcc.ads, s-fatgen.adb, s-mastop.ads,
	s-parame-ae653.ads, s-parame-hpux.ads, s-parame-vxworks.ads,
	s-parame.ads, s-soflin.ads, s-stoele.adb, s-tasini.adb,
	s-taspri-dummy.ads, s-taspri-hpux-dce.ads, s-taspri-mingw.ads,
	s-taspri-posix-noaltstack.ads, s-taspri-posix.ads,
	s-taspri-solaris.ads, s-taspri-vxworks.ads, s-trasym.ads,
	sem_ch12.adb, sem_ch4.adb, sem_eval.adb, sem_intr.adb, sem_mech.adb,
	sem_mech.ads, sem_prag.adb, sem_res.adb, sem_util.adb, sem_util.ads,
	sinfo.adb, sinfo.ads, sinput-c.adb, symbols.ads, targparm.adb,
	treepr.adb, types.ads, xr_tabls.adb, xr_tabls.ads: Remove VMS
	specific code and comments.

2014-08-01  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb (Analyze_Iterator_Specification): New procedure
	Check_Reverse_Iteration, to verify the legality of the Reverse
	indicator on various container types, and to detect illegal
	reverse iterations on containers that only supoort forward
	iteration.

From-SVN: r213431
2014-08-01 11:38:48 +02:00
Arnaud Charlet
935a9145c6 [multiple changes]
2014-08-01  Vincent Celier  <celier@adacore.com>

	* gnatcmd.adb: Remove the VMS specific stuff.  Integrate in
	procedure GNATCmd the relevant declarations from packages VMS_Cmds
	and VMS_Conv.
	* gnatcmd.ads: Update comments to remove any trace of VMS

2014-08-01  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb: sem_ch12.adb (Build_Wrapper): Capture entity for
	defaulted actual that is an operator, before building wrapper
	for it in GNATprove mode. Restrict construction of wrapper to
	actuals that are operators.

2014-08-01  Vincent Celier  <celier@adacore.com>

	* vms_conv.adb, vms_conv.ads, vms_data.ads, vms_cmds.ads: Remove VMS
	specific packages no longer needed.

2014-08-01  Pascal Obry  <obry@adacore.com>

	* s-os_lib.ads (System.CRTL): Move with clause to body.
	(File_Size): New type.
	(File_Length64): Use it.
	(File_Length): Restore previous spec returning a Long_Integer.
	* s-os_lib.adb (System.CRTL): Move with clause here.

2014-08-01  Vincent Celier  <celier@adacore.com>

	* mlib-prj.adb: Update comments to remove any mention of VMS.

From-SVN: r213430
2014-08-01 11:32:00 +02:00
Arnaud Charlet
2422831252 [multiple changes]
2014-08-01  Arnaud Charlet  <charlet@adacore.com>

	* ug_words, xgnatugn.adb, gcc-interface/Make-lang.in: Remove
	xgnatugn.adb and ug_words.

2014-08-01  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference): Check whether
	expansion can be avoid for Machine, Model and Rounding.
	(Is_Inline_Floating_Point_Attribute): Return true for Machine
	& Model, as well as Rounding if wrapped in a conversion to an
	integer type.
	* sem_res.adb (Simplify_Type_Conversion): Deal with Rounding as well.
	* gcc-interface/gigi.h (fp_arith_may_widen): Declare.
	* gcc-interface/utils.c (fp_arith_may_widen): New global variable.
	* gcc-interface/misc.c (enumerate_modes): Compute it.
	* gcc-interface/trans.c (FP_ARITH_MAY_WIDEN): Delete.
	(lvalue_required_for_attribute_p): Deal with Descriptor_Size,
	Machine and Model.
	(Attribute_to_gnu) <Attr_Model>: New case.
	<Attr_Machine>): Likewise.
	(convert_with_check): Test
	fp_arith_may_widen variable.

2014-08-01  Pascal Obry  <obry@adacore.com>

	* adaint.h (GNAT_FOPEN): New definition for Windows.
	(GNAT_OPEN): Likewise.
	(GNAT_STAT): Likewise.
	(GNAT_FSTAT): Likewise.
	(GNAT_LSTAT): Likewise.
	(GNAT_STRUCT_STAT): Likewise.
	* adaint.c (__gnat_stat): Fix computation of file size for
	Windows.

2014-08-01  Vincent Celier  <celier@adacore.com>

	* Makefile.rtl: Minor comment update.

2014-08-01  Vincent Celier  <celier@adacore.com>

	* Make-generated.in: Remove dependencies for vms-help.

From-SVN: r213429
2014-08-01 11:22:39 +02:00
Arnaud Charlet
d77cfab281 [multiple changes]
2014-08-01  Gary Dismukes  <dismukes@adacore.com>

	* makeutl.ads, opt.ads: Minor grammar fixes.
	* makeutl.adb: Minor code reorganization.

2014-08-01  Arnaud Charlet  <charlet@adacore.com>

	* gcc-interface/Makefile.in, gcc-interface/Make-lang.in,
	gnatsym.adb: Remove gnatsym (VMS only tool).

2014-08-01  Ben Brosgol  <brosgol@adacore.com>

	* gnat_ugn.texi, projects.texi, xgnatugn.adb: Removed all VMS
	conditionalization from gnat_ugn.texi and projects.texi, and updated
	(considerably simplified) xgnatugn.adb, to be removed soon.

From-SVN: r213427
2014-08-01 10:58:50 +02:00
James Greenhalgh
c84495c0e1 [Patch] Not very subtle fix for pr61510
gcc/

	PR regression/61510
	* cgraphunit.c (analyze_functions): Use get_create rather than get
	for decls which are clones of abstract functions.

From-SVN: r213425
2014-08-01 08:56:05 +00:00
Vincent Celier
3849c24686 debug.adb: Remove doc for gnatmake/gprbuild switch -ds.
2014-08-01  Vincent Celier  <celier@adacore.com>

	* debug.adb: Remove doc for gnatmake/gprbuild switch -ds.
	* make.adb (List_Bad_Compilations): Use Opt.No_Exit_Message
	instead of Debug.Debug_Flag_S.
	* makeutl.adb (Finish_Program, Fail_Program): Use Opt flag
	No_Exit_Message instead of Debug.Debug_Flag_S to suppress exit
	error messages.
	* makeutl.ads (No_Exit_Message_Option): New constant string
	for switch --no-exit-message.
	* opt.ads (No_Exit_Message): New Boolean flag, defaulted to False.
	* switch-m.adb (Scan_Make_Switches): Recognize new switch
	--no-exit-message.

From-SVN: r213424
2014-08-01 10:34:02 +02:00
Arnaud Charlet
16b10ccc1f [multiple changes]
2014-08-01  Arnaud Charlet  <charlet@adacore.com>

	* exp_vfpt.adb, exp_vfpt.ads: Removed, no longer used.
	* gcc-interface/Make-lang.in: Remove exp_vfpt.o

2014-08-01  Javier Miranda  <miranda@adacore.com>

	* inline.ads (Inlined_Calls, Backend_Calls,
	Backend_Inlined_Subps, Backend_Not_Inlined_Subps): Declarations
	moved to inline.adb (Cannot_Inline): Update documentation.
	(Check_And_Build_Body_To_Inline): Renamed.
	(List_Inlining_Info): Subprogram moved here from package exp_ch6.
	* inline.adb (Check_Inlining_Restrictions): New local variable.
	(Inlined_Calls, Backend_Calls, Backend_Inlined_Subps,
	Backend_Not_Inlined_Subps): Declarations moved here
	from inline.ads (Number_Of_Statements): Removed.
	(Remove_Pragmas): Avoid duplicated version of this subprogram.
	(Build_Body_To_Inline): Code cleanup.
	(Build_Body_To_Inline.Has_Excluded_Statament): Removed.
	(Check_And_Build_Body_To_Inline): Renamed. Code cleanup.
	(Check_Body_To_Inline): Removed.
	(Generate_Body_To_Inline): Renamed as Generate_Subprogram_Body.
	(Has_Excluded_Declaration): No action if not
	Check_Inlining_Restrictions.
	(Has_Excluded_Statement): No action if not Check_Inlining_Restrictions.
	(Initialize): Initialize the lists of inlined calls and subprograms.
	(List_Inlining_Info): Subprogram moved here from package exp_ch6.
	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Update call
	to Check_And_Build_Body_To_Inline since it has been renamed as
	Check_And_Split_Unconstrained_Function
	* exp_ch6.ad[sb] (List_Inlining_Info): Subprogram moved to
	package inline.
	* gnat1drv.adb Update call to Inline.List_Inlining_Info.

2014-08-01  Vincent Celier  <celier@adacore.com>

	* debug.adb: Add documentation for new debug switch -ds.
	* make.adb (List_Bad_Compilations): Do not issue any message
	when switch -ds is specified.
	* makeutl.adb (Fail_Program): Do not issue any message when
	-ds is specified.
	(Finish_Program): Ditto.

2014-08-01  Robert Dewar  <dewar@adacore.com>

	* s-exnint.adb, s-exnint.ads, s-wwdwch.ads, s-carsi8.ads,
	s-casi32.ads, indepsw.adb, a-timoau.ads, s-explli.adb, s-explli.ads,
	s-casi16.ads, s-powtab.ads, g-wistsp.ads, a-ztmoau.adb,
	indepsw-gnu.adb, s-imgllb.ads, types.adb, gnat.ads, s-proinf.adb,
	indepsw-aix.adb, s-caun64.ads, s-imgllw.ads, s-traces-default.adb,
	s-vxwork-x86.ads, s-expllu.adb, s-exnlli.adb, s-exnlli.ads,
	s-traces.adb, widechar.ads, stand.adb, s-expint.adb,
	s-tratas-default.adb, s-expint.ads, s-geveop.ads, s-caun32.ads,
	s-expuns.adb, s-mantis.adb, s-mantis.ads, s-caun16.ads, s-tasinf.adb,
	s-memcop.ads, s-dsaser.ads, s-imgbiu.ads, a-szmzco.ads, g-strspl.ads,
	s-casi64.ads, g-zstspl.ads, indepsw-mingw.adb, tree_io.adb,
	s-boarop.ads, uname.ads, s-fore.adb, s-fore.ads, g-timsta.adb,
	g-timsta.ads, s-assert.adb, s-vector.ads, s-tratas.adb,
	s-tratas.ads: Minor fix to copyright notices.

2014-08-01  Eric Botcazou  <ebotcazou@adacore.com>

	* sinfo.ads: Remove long obsolete comment.

From-SVN: r213423
2014-08-01 10:32:27 +02:00
Ed Schonberg
de65e0e4ec sem_util.adb: Add guard to setting of No_Predicate_On_Actual.
* sem_util.adb: Add guard to setting of No_Predicate_On_Actual.
       * sem_ch3.adb: Minor reformatting.

From-SVN: r213422
2014-08-01 10:26:57 +02:00
Ed Schonberg
5e01ce1266 sem_util.adb: Add guard to setting of No_Predicate_On_Actual.
2014-08-01  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb: Add guard to setting of No_Predicate_On_Actual.
	* sem_ch3.adb: Minor reformatting.

From-SVN: r213421
2014-08-01 10:24:57 +02:00
Pascal Obry
8616f0a2d8 cstreams.c: Only enable large file support on know supported platforms.
2014-08-01  Pascal Obry  <obry@adacore.com>                           
                                                                      
        * cstreams.c: Only enable large file support on know supported
        platforms. Add missing defines/includes.

From-SVN: r213420
2014-08-01 10:24:09 +02:00
Ed Schonberg
a628285204 2014-08-01 Ed Schonberg <schonberg@adacore.com>
* einfo.ads, einfo.adb New flags No_Predicate_On_Actual and
	No_Dynamic_Predicate_On_Actual, to enforce the generic contract
	on generic units that contain constructs that forbid subtypes
	with predicates.
	* sem_ch3.adb (Analyze_Subtype_Declaration, Process_Subtype):
	Inherit flags indicating the presence of predicates in subtype
	declarations with and without constraints.
	(Inherit_Predicate_Flags): Utility for the above.
	* sem_util.adb (Bad_Predicated_Subtype_Use): In a generic context,
	indicate that the actual cannot have predicates, and preserve
	warning. In an instance, report error if actual has predicates
	and the construct appears in a package declaration.
	* sem_ch12.adb (Diagnose_Predicated_Actual): Report error
	for an actual with predicates, if the corresponding formal
	carries No_Predicate_On_Actual or (in the case of a loop)
	No_Dynamic_Predicate_On_Actual.
	* sem_ch13.adb (Build_Predicate_Functions); Do not build a
	Static_Predicate function if the type is non-static (in the
	presence of previous errors),
	* sem_ch5.adb (Analyze_Loop_Parameter_Specification): Set flag
	No_Dynamic_Predicate_On_Actual in a generic context, to enforce
	generic contract on actuals that cannot have predicates.

From-SVN: r213418
2014-08-01 10:22:22 +02:00
Martin Liska
fd29c0247a IPA ICF pass 1/N
* gimple-iterator.h (gsi_next_nonvirtual_phi): New function.
	* ipa-prop.h (count_formal_params): Global function created from static.
	* ipa-prop.c (count_formal_params): Likewise.
	* ipa-utils.c (ipa_merge_profiles): Be more tolerant if we merge
	profiles for semantically equivalent functions.
	* passes.c (do_per_function): If we load body of a function
	during WPA, this condition should behave same.
	* varpool.c (ctor_for_folding): More tolerant assert for variable
	aliases created during WPA.

From-SVN: r213417
2014-08-01 08:20:57 +00:00
Pascal Obry
0ef40c649b a-direct.adb (C_Size): Returns an int64.
2014-08-01  Pascal Obry  <obry@adacore.com>

	* a-direct.adb (C_Size): Returns an int64.
	* osint.adb (System.CRTL): New with clause.
	(File_Length.Internal): Returns an int64.
	* s-os_lib.ads (File_Length): Returns an int64.

From-SVN: r213416
2014-08-01 10:19:53 +02:00
Robert Dewar
f1a85fe719 * gcc-interface/decl.c, gcc-interface/trans.c: Remove VMS handling.
From-SVN: r213415
2014-08-01 10:19:00 +02:00
Robert Dewar
ea0c8cfb98 gnatchop.adb, [...]: Minor reformatting.
2014-08-01  Robert Dewar  <dewar@adacore.com>

	* gnatchop.adb, gnatcmd.adb, make.adb, mlib-prj.adb, bindgen.adb,
	mlib.ads, butil.adb, clean.adb, binde.adb, gnatls.adb, gnatname.adb,
	osint.adb, krunch.adb: Minor reformatting.

2014-08-01  Robert Dewar  <dewar@adacore.com>

	* inline.adb, inline.ads, fe.h, einfo.adb, einfo.ads, sem_util.adb,
	sem_util.ads, exp_ch4.adb, exp_ch11.adb, exp_ch6.adb, cstand.adb,
	sem_mech.adb, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb, snames.ads-tmpl:
	Remove VMS-specific code.

From-SVN: r213414
2014-08-01 10:17:20 +02:00
Arnaud Charlet
62883e6b17 binde.adb, [...]: Remove VMS handling.
2014-08-01  Arnaud Charlet  <charlet@adacore.com>

	* binde.adb, bindgen.adb, butil.adb, clean.adb, gnatbind.adb,
	gnatchop.adb, gnatcmd.adb, gnatls.adb, gnatname.adb, krunch.adb,
	make.adb, makeutl.adb, memtrack.adb, mlib-prj.adb, mlib.adb,
	mlib.ads, tempdir.adb: Remove VMS handling.

From-SVN: r213413
2014-08-01 10:12:27 +02:00
Pascal Obry
148c744a17 adaint.h, adaint.c (__gnat_file_length): Returns an __int64.
2014-08-01  Pascal Obry  <obry@adacore.com>

	* adaint.h, adaint.c (__gnat_file_length): Returns an __int64.
	(__gnat_named_file_length): Likewise.
	(__gnat_file_length_attr): Likewise.
	* a-direct.adb (C_Size): Use size_t as returned type.
	* osint.adb (File_Length): Adjust spec for Internal routine
	(returns size_t).
	* s-os_lib.adb (File_Length): Now returns a CRTL.size_t.
	(System.CRTL): With claused moved to spec.
	* s-os_lib.ads (System.CRTL): With clause moved to here.

From-SVN: r213412
2014-08-01 10:10:34 +02:00
Pascal Obry
479f90598a adaint.h, adaint.c (__gnat_open): Added.
2014-08-01  Pascal Obry  <obry@adacore.com>

	* adaint.h, adaint.c (__gnat_open): Added.
	* s-crtl.ads (open): Import __gnat_open for large file support.

From-SVN: r213411
2014-08-01 10:09:43 +02:00
Arnaud Charlet
2b9fbec94e [multiple changes]
2014-08-01  Robert Dewar  <dewar@adacore.com>

	* sem_case.adb (Dup_Choice): Improve message for integer constants.

2014-08-01  Arnaud Charlet  <charlet@adacore.com>

	* gnatlink.adb: Remove special handling of VMS, RTX and JVM.

2014-08-01  Pascal Obry  <obry@adacore.com>

	* adaint.h (GNAT_OPEN): Defines as open64 where supported.
	* adaint.c (GNAT_OPEN): Uses new macro where needed.

From-SVN: r213410
2014-08-01 10:08:59 +02:00
Jakub Jelinek
0494285ab0 libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
* libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
	(struct gomp_taskwait): New type.
	(struct gomp_task): Add taskwait and parent_depends_on, remove
	in_taskwait and taskwait_sem fields.
	(gomp_finish_task): Don't destroy taskwait_sem.
	* task.c (gomp_init_task): Don't init in_taskwait, instead init
	taskwait and parent_depends_on.
	(GOMP_task): For if (0) tasks with depend clause that depend on
	earlier tasks don't defer them, instead call
	gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
	Initialize redundant_out field, for redundant out entries just
	move them at the end of linked list instead of removing them
	completely, and set redundant_out flag instead of redundant.
	(gomp_task_run_pre): Update last_parent_depends_on if scheduling
	that task.
	(gomp_task_run_post_handle_dependers): If parent is in
	gomp_task_maybe_wait_for_dependencies and newly runnable task
	is not parent_depends_on, queue it in parent->children linked
	list after all runnable tasks with parent_depends_on set.
	Adjust for addition of taskwait indirection.
	(gomp_task_run_post_remove_parent): If parent is in
	gomp_task_maybe_wait_for_dependencies and task to be removed
	is parent_depends_on, decrement n_depend and if needed awake
	parent.  Adjust for addition of taskwait indirection.
	(GOMP_taskwait): Adjust for addition of taskwait indirection.
	(gomp_task_maybe_wait_for_dependencies): New function.
	* testsuite/libgomp.c/depend-5.c: New test.

From-SVN: r213408
2014-08-01 10:05:13 +02:00
Martin Liska
bab9b7cb64 invoke.texi (Options That Control Optimization): Documentation for -foptimize-strlen introduced.
* doc/invoke.texi (Options That Control Optimization): Documentation
	for -foptimize-strlen introduced. Optimization levels default options
	fixed.

From-SVN: r213407
2014-08-01 07:58:47 +00:00
Jakub Jelinek
944fa280bc opts.c (common_handle_option): Handle -fsanitize=alignment.
* opts.c (common_handle_option): Handle -fsanitize=alignment.
	* ubsan.h (enum ubsan_null_ckind): Add UBSAN_CTOR_CALL.
	(ubsan_expand_bounds_ifn, ubsan_expand_null_ifn): Change return
	type to bool.
	* stor-layout.h (min_align_of_type): New prototype.
	* asan.c (pass_sanopt::execute): Don't perform gsi_next if
	ubsan_expand* told us not to do it.  Remove the extra gsi_end_p
	check.
	* ubsan.c: Include builtins.h.
	(ubsan_expand_bounds_ifn): Change return type to bool,
	always return true.
	(ubsan_expand_null_ifn): Change return type to bool, change
	argument to gimple_stmt_iterator *.  Handle both null and alignment
	sanitization, take type from ckind argument's type rather than
	first argument.
	(instrument_member_call): Removed.
	(instrument_mem_ref): Remove t argument, add mem and base arguments.
	Handle both null and alignment sanitization, don't say whole
	struct access is member access.  Build 3 argument IFN_UBSAN_NULL
	call instead of 2 argument.
	(instrument_null): Adjust instrument_mem_ref caller.  Don't
	instrument calls here.
	(pass_ubsan::gate, pass_ubsan::execute): Handle SANITIZE_ALIGNMENT
	like SANITIZE_NULL.
	* stor-layout.c (min_align_of_type): New function.
	* flag-types.h (enum sanitize_code): Add SANITIZE_ALIGNMENT.
	Or it into SANITIZE_UNDEFINED.
	* doc/invoke.texi (-fsanitize=alignment): Document.
cp/
	* cp-gimplify.c (cp_genericize_r): For -fsanitize=null and/or
	-fsanitize=alignment call ubsan_maybe_instrument_reference
	for casts to REFERENCE_TYPE and ubsan_maybe_instrument_member_call
	for calls to member functions.
c-family/
	* c-common.h (min_align_of_type): Removed prototype.
	* c-common.c (min_align_of_type): Removed.
	* c-ubsan.h (ubsan_maybe_instrument_reference,
	ubsan_maybe_instrument_member_call): New prototypes.
	* c-ubsan.c: Include stor-layout.h and builtins.h.
	(ubsan_maybe_instrument_reference_or_call,
	ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
	functions.
testsuite/
	* c-c++-common/ubsan/align-1.c: New test.
	* c-c++-common/ubsan/align-2.c: New test.
	* c-c++-common/ubsan/align-3.c: New test.
	* c-c++-common/ubsan/align-4.c: New test.
	* c-c++-common/ubsan/align-5.c: New test.
	* c-c++-common/ubsan/attrib-4.c: New test.
	* g++.dg/ubsan/align-1.C: New test.
	* g++.dg/ubsan/align-2.C: New test.
	* g++.dg/ubsan/align-3.C: New test.
	* g++.dg/ubsan/attrib-1.C: New test.
	* g++.dg/ubsan/null-1.C: New test.
	* g++.dg/ubsan/null-2.C: New test.

From-SVN: r213406
2014-08-01 09:52:43 +02:00
Tom de Vries
bbe2542f72 Don't run cproj-fails-with-broken-glibc for broken glibc
2014-08-01  Tom de Vries  <tom@codesourcery.com>

	* lib/target-supports.exp (check_effective_target_glibc)
	(check_effective_target_glibc_2_12_or_later)
	(check_effective_target_not_glibc_2_11_or_earlier): New proc.
	* gcc.dg/cproj-fails-with-broken-glibc.c: Require effective target
	not_glibc_2_11_or_earlier.

From-SVN: r213403
2014-08-01 06:16:07 +00:00
Yury Gribov
649aa8c183 mklog: Allow running from arbitrary folder.
2014-08-01  Yury Gribov  <y.gribov@samsung.com>

	* mklog: Allow running from arbitrary folder.

From-SVN: r213401
2014-08-01 04:19:59 +00:00
Andi Kleen
bb7e83fccb Convert tree-ssa-tail-merge to inchash
gcc/:

2014-07-31  Andi Kleen  <ak@linux.intel.com>

	* tree-ssa-tail-merge.c (same_succ_hash): Convert to inchash.

From-SVN: r213400
2014-08-01 02:52:52 +00:00
Andi Kleen
4e44a6e8bd Convert tree-ssa-sccvn to inchash
gcc/:

2014-07-31  Andi Kleen  <ak@linux.intel.com>

	* tree-ssa-sccvn.c (vn_reference_op_compute_hash): Convert to
	inchash.
	(vn_reference_compute_hash): Dito.
	(vn_nary_op_compute_hash): Dito.
	(vn_phi_compute_hash): Dito.
	* tree-ssa-sccvn.h (vn_hash_constant_with_type): Dito.

From-SVN: r213399
2014-08-01 02:52:41 +00:00
Andi Kleen
2bc105372d Convert tree-ssa-dom to inchash
gcc/:

2014-07-31  Andi Kleen  <ak@linux.intel.com>

	* tree-ssa-dom.c (iterative_hash_exprs_commutative):
	Rename to inchash:add_expr_commutative. Convert to inchash.
	(iterative_hash_hashable_expr): Rename to
	inchash:add_hashable_expr. Convert to inchash.
	(avail_expr_hash): Dito.

From-SVN: r213398
2014-08-01 02:52:30 +00:00
Andi Kleen
d313d45fe1 Convert ipa-devirt to inchash
gcc/:

2014-07-31  Andi Kleen  <ak@linux.intel.com>

	* ipa-devirt.c (polymorphic_call_target_hasher::hash):
	Convert to inchash.

From-SVN: r213397
2014-08-01 02:52:19 +00:00
Andi Kleen
1a4d885106 Convert asan.c to inchash
gcc/:

2014-07-31  Andi Kleen  <ak@linux.intel.com>

	* asan.c (asan_mem_ref_hasher::hash): Convert to inchash.

From-SVN: r213396
2014-08-01 02:52:08 +00:00
Andi Kleen
f768061c4c RTL & dwarf2out changes
Convert dwarf2out and rtl.c to the new inchash interface.

gcc/:

2014-07-31  Andi Kleen  <ak@linux.intel.com>

	* Makefile.in (OBJS): Add rtlhash.o
	* dwarf2out.c (addr_table_entry_do_hash): Convert to inchash.
	(loc_checksum): Dito.
	(loc_checksum_ordered): Dito.
	(hash_loc_operands): Dito.
	(hash_locs): Dito.
	(hash_loc_list): Dito.
	* rtl.c (iterative_hash_rtx): Moved to rtlhash.c
	* rtl.h (iterative_hash_rtx): Moved to rtlhash.h
	* rtlhash.c: New file.
	* rtlhash.h: New file.

From-SVN: r213395
2014-08-01 02:51:57 +00:00
Andi Kleen
50de5793fc Change inchash to name space.
Change class inchash to move into a inchash namespace as requested.
The class is now inchash::hash

Rename iterative_hstate_expr to inchash::add_expr
... and convert existing users. It wasn't possible to use hash::,
because that lead to name space conflicts with cp and objc.

So class inchash is now inchash::hash and iterative_hstate_expr
is now inchash::add_expr.

gcc/:

2014-07-31  Andi Kleen  <ak@linux.intel.com>

	* inchash.h (inchash): Change inchash class to namespace.
	(class hash): ... Rename from inchash.
	(add_object): Move from macro to class template.
	* lto-streamer-out.c (hash_tree): Change inchash
	to inchash::hash.
	* tree.c (build_type_attribute_qual_variant): Dito.
	(type_hash_list): Dito.
	(attribute_hash_list): Dito.
	(iterative_hstate_expr): Rename to inchash::add_expr
	(build_range_type_1): Change inchash to inchash::hash
	and use hash::add_expr.
	(build_array_type_1): Dito.
	(build_function_type): Dito
	(build_method_type_directly): Dito.
	(build_offset_type): Dito.
	(build_complex_type): Dito.
	(make_vector_type): Dito.
	* tree.h (iterative_hash_expr): Dito.

gcc/lto/:

2014-07-31  Andi Kleen  <ak@linux.intel.com>

	* lto.c (hash_canonical_type): Use inchash::hash
	and use inchash::add_expr.
	(iterative_hash_canonical_type): Dito.

From-SVN: r213394
2014-08-01 02:51:46 +00:00
GCC Administrator
79ce6d77f6 Daily bump.
From-SVN: r213391
2014-08-01 00:17:00 +00:00
Chen Gang
e3cb8f057f * gcc.c (do_spec_1): Allocate enough space for saved_suffix.
From-SVN: r213387
2014-07-31 16:31:39 -06:00
Tom de Vries
f3d95c6903 Remove superfluous function declaration
2014-07-31  Tom de Vries  <tom@codesourcery.com>

	* gcc.dg/pr51879-7.c: Remove superfluous declaration of bar.

From-SVN: r213383
2014-07-31 18:51:54 +00:00
James Greenhalgh
9052a1e331 [AArch64] arm_neon.h - add vpaddd_f64, vpaddd_s64, vpaddd_u64 intrinsics
gcc/

	* config/aarch64/arm_neon.h (vpadd_<suf><8,16,32,64>): Move to
	correct alphabetical position.
	(vpaddd_f64): Rewrite using builtins.
	(vpaddd_s64): Move to correct alphabetical position.
	(vpaddd_u64): New.

gcc/testsuite/

	* gcc.target/aarch64/scalar_intrinsics.c (test_vpaddd_f64): New.
	(test_vpaddd_s64): Likewise.
	(test_vpaddd_s64): Likewise.
	* gcc.target/aarch64/simd/vpaddd_f64: New.
	* gcc.target/aarch64/simd/vpaddd_s64: New.
	* gcc.target/aarch64/simd/vpaddd_u64: New.

From-SVN: r213382
2014-07-31 16:45:38 +00:00
Oleg Endo
79a1fe43fb re PR target/61844 (ICE when building libgcc for sh64 cross-compiler)
gcc/
	PR target/61844
	* config/sh/sh.c (sh_legitimate_address_p,
	sh_legitimize_reload_address): Handle reg+reg address modes when
	ALLOW_INDEXED_ADDRESS is false.
	* config/sh/predicates.md (general_movsrc_operand,
	general_movdst_operand): Likewise.

From-SVN: r213381
2014-07-31 16:27:56 +00:00
Alan Modra
6adaaa1d3f ibm-ldouble.c (typedef union longDblUnion): Delete.
* config/rs6000/ibm-ldouble.c (typedef union longDblUnion): Delete.
	(pack_ldouble): New function.
	(__gcc_qadd): Use it.
	(__gcc_qmul): Likewise.
	(__gcc_qdiv): Likewise.
	(__gcc_qneg): Likewise.
	(__gcc_stoq): Likewise.
	(__gcc_dtoq): Likewise.

Co-Authored-By: Peter Bergner <bergner@vnet.ibm.com>

From-SVN: r213380
2014-07-31 11:22:58 -05:00
James Greenhalgh
22756ccf24 [AArch64_be] Don't fold reduction intrinsics.
gcc/

	* config/aarch64/aarch64-builtins.c
	(aarch64_gimple_fold_builtin): Don't fold reduction operations for
	BYTES_BIG_ENDIAN.

From-SVN: r213379
2014-07-31 15:32:44 +00:00
James Greenhalgh
988fa69392 [AArch64_be] Fix vec_select hi/lo mask confusions.
gcc/

	* config/aarch64/aarch64.c (aarch64_simd_vect_par_cnst_half): Vary
	the generated mask based on BYTES_BIG_ENDIAN.
	(aarch64_simd_check_vect_par_cnst_half): New.
	* config/aarch64/aarch64-protos.h
	(aarch64_simd_check_vect_par_cnst_half): New.
	* config/aarch64/predicates.md (vect_par_cnst_hi_half): Refactor
	the check out to aarch64_simd_check_vect_par_cnst_half.
	(vect_par_cnst_lo_half): Likewise.
	* config/aarch64/aarch64-simd.md
	(aarch64_simd_move_hi_quad_<mode>): Always use vec_par_cnst_lo_half.
	(move_hi_quad_<mode>): Always generate a low mask.

From-SVN: r213378
2014-07-31 15:31:24 +00:00
Senthil Kumar Selvaraj
08938c896f invoke.texi (AVR Options): Add documentation about __AVR_DEVICE_NAME__ built-in macro.
* doc/invoke.texi (AVR Options): Add documentation about 
	__AVR_DEVICE_NAME__ built-in macro.

From-SVN: r213377
2014-07-31 18:51:02 +04:00
Charles Baylis
3290f5e7c7 re PR target/61948 ([ARM] [4.10 regression] ICE with DImode shift by 1 bit (in copyprop_hardreg_forward_1))
PR target/61948

gcc/ChangeLog:
2014-07-29  Charles Baylis  <charles.baylis@linaro.org>

	PR target/61948
	* config/arm/neon.md (ashldi3_neon): Don't emit arm_ashldi3_1bit unless
	constraints are satisfied.
	(<shift>di3_neon): Likewise.

gcc/testsuite/ChangeLog:
2014-07-29  Charles Baylis  <charles.baylis@linaro.org>

        PR target/61948
        * gcc.target/arm/pr61948.c: New test case.

From-SVN: r213376
2014-07-31 14:27:58 +00:00
Richard Biener
030e321a73 re PR tree-optimization/61964 (krb5 database propagation enters infinite loop; reduced test case)
2014-07-31  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/61964
	* tree-ssa-tail-merge.c (gimple_equal_p): Handle non-SSA LHS solely
	by structural equality.

	* gcc.dg/torture/pr61964.c: New testcase.

From-SVN: r213375
2014-07-31 14:06:59 +00:00
Eric Botcazou
5cb7516dca utils.c (lookup_and_insert_pad_type): New function extracted from...
2014-07-31  Eric Botcazou  <ebotcazou@adacore.com>
        
        * gcc-interface/utils.c (lookup_and_insert_pad_type): New function
        extracted from...
        (maybe_pad_type): ...here.  Call it to canonicalize the pad type.
        * gcc-interface/gigi.h: Update comment.

From-SVN: r213374
2014-07-31 15:57:42 +02:00
Arnaud Charlet
6c26bac268 [multiple changes]
2014-07-31  Javier Miranda  <miranda@adacore.com>

	* debug.adb Remove documentation of -gnatd.k (no longer needed).
	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Code cleanup.
	* inline.ads (Backend_Inlined_Subps): New
	Elist.	(Backend_Not_Inlined_Subps): New Elist.
	(Has_Excluded_Declaration): Declaration previously located in
	* inline.adb (Has_Excluded_Statement): Declaration previously
	located in inline.adb
	* inline.adb (Has_Single_Return): Moved out of
	Build_Body_To_Inline to avoid having duplicated code.
	(Number_Of_Statements): New subprogram.
	(Register_Backend_Inlined_Subprogram): New subprogram.
	(Register_Backend_Not_Inlined_Subprogram): New subprogram.
	(Add_Inlined_Subprogram): Register backend inlined subprograms and
	also register subprograms that cannot be inlined by the backend.
	(Has_Excluded_Declaration): Moved out of Build_Body_To_Inline
	to avoid having duplicated code.  Replace occurrences of
	Debug_Flag_Dot_K by Back_End_Inlining.
	* sem_res.adb (Resolve_Call): Code cleanup.
	* exp_ch6.adb (Expand_Call): Complete previous patch. Replace
	occurrence of Debug_Flag_Dot_K by Back_End_Inlining.
	(List_Inlining_Info): Add listing of subprograms passed to the
	backend and listing of subprograms that cannot be inlined by
	the backend.
	* sem_ch12.adb, sem_ch3.adb Replace occurrences of
	Debug_Flag_Dot_K by Back_End_Inlining.

2014-07-31  Robert Dewar  <dewar@adacore.com>

	* nlists.ads: Minor code fix (remove unwise Inline for
	List_Length).

From-SVN: r213373
2014-07-31 15:56:11 +02:00
Arnaud Charlet
0c9aebea0f (gnatlib-shared-vms): Remove.
From-SVN: r213372
2014-07-31 15:54:10 +02:00
Arnaud Charlet
802118024c [multiple changes]
2014-07-31  Arnaud Charlet  <charlet@adacore.com>

	* einfo.adb: Remove VMS specific code.
	* exp_attr.adb: Remove VAX specific code.
	* set_targ.adb: Remove handling of VAX_Float.
	* sem_vfpt.adb: Remove references to Vax_Native.
	* sem_attr.adb (Is_VAX_Float): Remove ref to VAX_Native.

2014-07-31  Robert Dewar  <dewar@adacore.com>

	* sem_ch4.adb: Minor reformatting.

From-SVN: r213371
2014-07-31 15:53:40 +02:00