Commit Graph

133580 Commits

Author SHA1 Message Date
Igor Zamyatin
948cf550b4 re PR c/63307 (Cilk+ breaks -fcompare-debug bootstrap)
PR c/63307
gcc/c-family/
	* cilk.c: Include vec.h.
	(struct cilk_decls): New structure.
	(wrapper_parm_cb): Split this function to...
	(fill_decls_vec): ...this...
	(create_parm_list): ...and this.
	(compare_decls): New function.
	(for_local_cb): Remove.
	(wrapper_local_cb): Ditto.
	(build_wrapper_type): For now first traverse and fill vector of
	declarations then sort it and then deal with sorted vector.
	(cilk_outline): Ditto.
	(declare_one_free_variable): Ditto.

From-SVN: r216483
2014-10-20 15:22:09 +00:00
Arnaud Charlet
dbb4cfef76 [multiple changes]
2014-10-20  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, prj-proc.adb, prj-proc.ads, prj-conf.adb: Minor
	reformatting.

2014-10-20  Robert Dewar  <dewar@adacore.com>

	* par-prag.adb (Add_List_Pragma_Entry): New procedure.
	* par.adb (P_Pragma): Document requirement to handle multiple calls.

2014-10-20  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb (Analyze_Pragma, case No_Elaboration_Code_All):
	Fix error of bad inheritance of this pragma from with'ed unit.

2014-10-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb (Inherit_Aspects_At_Freeze_Point): For a subtype,
	inherit convention from parent type, because the subtype may
	have been declared on a partial view, prior to the pragma on
	the parent.

2014-10-20  Olivier Hainque  <hainque@adacore.com>
	    Tristan Gingold  <gingold@adacore.com>

	* gcc-interface/Makefile.in: Handle arm-darwin and VxWorks 7.
	Misc clean ups.

2014-10-20  Nicolas Roche  <roche@adacore.com>

	* gcc-interface/Make-lang.in: ensure that automatically generated
	dependency are referencing generated gnatvsn rather than original
	one.

From-SVN: r216482
2014-10-20 17:06:52 +02:00
Gary Dismukes
c19273ff4a gnat_ugn.texi: Minor reformatting.
2014-10-20  Gary Dismukes  <dismukes@adacore.com>

	* gnat_ugn.texi: Minor reformatting.
	* sem_ch3.adb: Minor reformatting.

From-SVN: r216480
2014-10-20 16:34:37 +02:00
Arnaud Charlet
bdafba6f35 [multiple changes]
2014-10-20  Vincent Celier  <celier@adacore.com>

	* prj-attr.adb: New project level attribute Runtime.
	* prj-conf.adb (Get_Project_Runtimes): New procedure to get
	the attributes Runtime declared in the main project, to use
	in auto-configuration.
	(Get_Or_Create_Configuration_File): Call Get_Project_Runtimes.
	* prj-proc.adb (Runtime_Defaults): New table to store
	the default values of attributes Runtime (<language>).
	(Set_Default_Runtime_For): New procedure to store the default
	value of a Runtime (<language>) in table Runtime_Defaults.
	(Expression): Use the value stored in table Runtime_Defaults as
	the default for Runtime (<language>).
	* prj-proc.ads (Set_Default_Runtime_For): New procedure.
	* prj.ads (Attribute_Default_Value): New enumerated value
	Runtime_Value.

2014-10-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Analyze_Object_Declaration): If the type is
	an unconstrained unchecked_union type, rewrite declaration
	as a renaming to prevent attempt to retrieve non- existent
	discriminants from expression.

2014-10-20  Ed Schonberg  <schonberg@adacore.com>

	* gnat_ugn.texi: Minor reformatting.

From-SVN: r216479
2014-10-20 16:32:17 +02:00
Arnaud Charlet
a905304c94 [multiple changes]
2014-10-20  Tristan Gingold  <gingold@adacore.com>

	* init.c (__gnat_is_stack_guard): Don't use mach_vm_region_recurse on
	arm-darwin.
	* raise-gcc.c: Add ATTRIBUTE_UNUSED to remove warnings for
	unused arguments.

2014-10-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_attr.adb (Analyze_Attribute): Replace
	variables CS and PS with Proc_Id and Subp_Id to better illustrate
	their purpose. Account for the case where _Postconditions
	has not been generated yet and the context is aspect/pragma
	Refined_Post. In that scenario the expected prefix of attribute
	'Result is the current scope.

2014-10-20  Robert Dewar  <dewar@adacore.com>

	* par-ch4.adb (P_Expression): Handle extraneous comma/semicolon
	in middle of expression with logical operators.

2014-10-20  Robert Dewar  <dewar@adacore.com>

	* par-ch13.adb (Possible_Misspelled_Aspect): New function.

2014-10-20  Steve Baird  <baird@adacore.com>

	* pprint.adb: Improve Expression_Image function.

From-SVN: r216477
2014-10-20 16:27:24 +02:00
Robert Dewar
49d4139726 gnat_rm.texi: Document No_Tagged_Streams pragma and aspect.
2014-10-20  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Document No_Tagged_Streams pragma and aspect.
	* snames.ads-tmpl: Add entry for pragma No_Tagged_Streams.
	* aspects.ads, aspects.adb: Add aspect No_Tagged_Streams.
	* einfo.adb (No_Tagged_Streams_Pragma): New field.
	* einfo.ads: Minor reformatting (reorder entries).
	(No_Tagged_Streams_Pragma): New field.
	* exp_ch3.adb: Minor comment update.
	* opt.ads (No_Tagged_Streams): New variable.
	* par-prag.adb: Add dummy entry for pragma No_Tagged_Streams.
	* sem.ads (Save_No_Tagged_Streams): New field in scope record.
	* sem_attr.adb (Check_Stream_Attribute): Check stream ops
	prohibited by No_Tagged_Streams.
	* sem_ch3.adb (Analyze_Full_Type_Declaration): Set
	No_Tagged_Streams_Pragma.
	(Analyze_Subtype_Declaration): ditto.
	(Build_Derived_Record_Type): ditto.
	(Record_Type_Declaration): ditto.
	* sem_ch8.adb (Pop_Scope): Restore No_Tagged_Streams.
	(Push_Scope): Save No_Tagged_Streams.
	* sem_prag.adb (Analyze_Pragma, case No_Tagged_Streams): Implement new
	pragma.

From-SVN: r216476
2014-10-20 16:24:15 +02:00
Arnaud Charlet
adc876a840 [multiple changes]
2014-10-20  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, prj-proc.adb, sem_ch4.adb, prj-env.adb, lib.ads,
	sem_ch13.adb: Minor reformatting.

2014-10-20  Javier Miranda  <miranda@adacore.com>

	* exp_ch3.adb (Expand_N_Object_Declaration): Expand the
	declaration of a class-wide limited object containing an
	initializing expression into a renaming declaration.  Required to
	avoid passing such declaration to the backend and also to avoid
	generating an extra copy.

From-SVN: r216475
2014-10-20 16:22:09 +02:00
Arnaud Charlet
1725676d08 [multiple changes]
2014-10-20  Eric Botcazou  <ebotcazou@adacore.com>

	* inline.adb (List_Inlining_Info): Minor tweaks.
	(Add_Inlined_Body): Inline the enclosing package
	if it is not internally generated, even if it doesn't come
	from source.

2014-10-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch4.adb (Process_Function_Call): If the first actual
	denotes a discrete type, the mode must be interpreted as a slice
	of an array returned by a parameterless call.

2014-10-20  Vasiliy Fofanov  <fofanov@adacore.com>

	* prj-env.ads, prj-env.adb (Get_Runtime_Path): No longer inhibit
	searching for runtime referenced by a simple name on a project path.

2014-10-20  Olivier Hainque  <hainque@adacore.com>

	* vxworks-x86-link.spec: New file.
	* system-vxworks-x86.ads: Add pragma Linker_Options to link with
	vxworks-x86-link.spec.

2014-10-20  Vincent Celier  <celier@adacore.com>

	* opt.ads (Origin_Of_Target): New type.
	(Target_Origin): New variable.
	* prj-conf.adb (Parse_Project_And_Apply_Config): Record
	Target_Value and Target_Origin.  If target was not specified
	on the command line with --target=, check if attribute Target
	is declared in the main project. If it is and it is not the
	native target, parse again the projects so that 'Target get
	the new value. Fail if the target has changed again.  Invoke
	Process_Project_And_Apply_Config with Do_Phase_1 set to False
	is Process_Project_Tree_Phase_1 has already been invoked.
	* prj-conf.ads (Process_Project_And_Apply_Config): New Boolean
	parameter Do_Phase_1, defaulted to True.
	* prj-proc.adb (Expression): Check the special values and
	defaults for attribute Target.

2014-10-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Handle_Late_Controlled_Primitive): Do not analyze
	the subprogram spec of the body in full, because it will be
	reanalyzed when the declaration itself is analyzed;  otherwise. a
	formal may end up duplicated in the list of formals leading to
	spurious conformance errors with an existing declaration.

From-SVN: r216473
2014-10-20 16:17:37 +02:00
Ed Schonberg
3e1862b1fd sem_ch13.adb: Improve error recovery on illegal aspect.
2014-10-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb: Improve error recovery on illegal aspect.

From-SVN: r216472
2014-10-20 16:13:02 +02:00
Arnaud Charlet
a9bbfbd052 [multiple changes]
2014-10-20  Arnaud Charlet  <charlet@adacore.com>

	* set_targ.adb (Write_Target_Dependent_Values, Write_Line):
	Fix calling C APIs with no trailing NUL char by calling better
	wrappers instead.

2014-10-20  Tristan Gingold  <gingold@adacore.com>

	* gnat_ugn.texi: Document that gdb users must be in group
	_developer on mac os.

2014-10-20  Arnaud Charlet  <charlet@adacore.com>

	* a-tgdico.ads: Fix typo.

2014-10-20  Ed Schonberg  <schonberg@adacore.com>

	* exp_aggr.adb (Convert_To_Assignments): Do not create a
	transient scope for a component whose type requires it, if the
	context is an initialization procedure, because the target of
	the assignment must be visible outside of the block.

2014-10-20  Tristan Gingold  <gingold@adacore.com>

	* tracebak.c: Define PC_ADJUST for arm-darwin.
	* env.c: Remove darwin specific code.
	* raise-gcc.c (__gnat_Unwind_ForcedUnwind): Error on arm-darwin.

2014-10-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Analyze_Full_Type_Declaration): If previous view
	is incomplete rather than private, and full type declaration
	has aspects, analyze aspects on the full view rather than
	the incomplete view, to prevent freezing anomalies with the
	class-wide type.

From-SVN: r216470
2014-10-20 16:11:43 +02:00
Richard Biener
8bc598fffb slsr-19.c: Make robust against operand order changes.
2014-10-20  Richard Biener  <rguenther@suse.de>

	* gcc.dg/tree-ssa/slsr-19.c: Make robust against operand order changes.
	* gcc.dg/tree-ssa/reassoc-20.c: Likewise.

From-SVN: r216465
2014-10-20 12:44:32 +00:00
Jonathan Wakely
a3e4cd810c Makefile.am: Move ctype.cc, ctype_configure_char.cc and ctype_members.cc to ...
* src/c++98/Makefile.am: Move ctype.cc, ctype_configure_char.cc and
	ctype_members.cc to ...
	* src/c++11/Makefile.am: Here.
	* src/c++98/Makefile.in: Regenerate.
	* src/c++11/Makefile.in: Regenerate.
	* src/c++98/ctype.cc: Move file to ...
	* src/c++11/ctype.cc: Here, define ctype_base::blank.
	* config/abi/pre/gnu.ver: Export ctype_base::blank.
	* config/locale/generic/ctype_members.cc
	(ctype<wchar_t>::_M_convert_to_wmask): Handle blank. Update comments.
	* config/locale/gnu/ctype_members.cc
	(ctype<wchar_t>::_M_convert_to_wmask): Likewise.
	* config/os/aix/ctype_base.h (ctype_base::blank): Declare.
	* config/os/bionic/ctype_base.h (ctype_base::blank): Likewise.
	* config/os/bsd/darwin/ctype_base.h (ctype_base::blank): Declare.
	* config/os/bsd/darwin/ctype_inline.h (ctype<char>::is): Use blank.
	(ctype<wchar_t::do_is): Likewise.
	* config/os/bsd/dragonfly/ctype_base.h (ctype_base::blank): Declare.
	* config/os/bsd/dragonfly/ctype_inline.h (ctype<char>::is): Use blank.
	(ctype<wchar_t::do_is): Likewise.
	* config/os/bsd/freebsd/ctype_base.h (ctype_base::blank): Declare.
	* config/os/bsd/freebsd/ctype_inline.h (ctype<char>::is): Use blank.
	(ctype<wchar_t::do_is): Likewise.
	* config/os/bsd/netbsd/ctype_base.h (ctype_base::blank): Declare.
	* config/os/bsd/openbsd/ctype_base.h (ctype_base::blank): Likewise.
	* config/os/djgpp/ctype_base.h (ctype_base::blank): Likewise.
	* config/os/generic/ctype_base.h (ctype_base::blank): Declare.
	* config/os/generic/ctype_inline.h (ctype<char>::is): Use blank.
	* config/os/gnu-linux/ctype_base.h (ctype_base::blank): Declare.
	* config/os/hpux/ctype_base.h (ctype_base::blank): Likewise.
	* config/os/mingw32-w64/ctype_base.h (ctype_base::blank): Declare.
	* config/os/mingw32-w64/ctype_configure_char.cc
	(ctype<char>::classic_table()): Set blank bit for space and tab.
	* config/os/mingw32/ctype_base.h (ctype_base::blank): Declare.
	* config/os/mingw32/ctype_configure_char.cc
	(ctype<char>::classic_table()): Set blank bit for space and tab.
	* config/os/newlib/ctype_base.h (ctype_base::blank): Declare.
	* config/os/qnx/qnx6.1/ctype_base.h (ctype_base::blank): Likewise.
	* config/os/solaris/solaris2.10/ctype_base.h (ctype_base::blank):
	Likewise.
	* config/os/tpf/ctype_base.h (ctype_base::blank): Likewise.
	* config/os/uclibc/ctype_base.h (ctype_base::blank): Likewise.
	* config/os/vxworks/ctype_base.h (ctype_base::blank): Likewise.
	* include/bits/locale_facets.h (isblank): Define.
	* include/bits/localefwd.h (isblank): Declare.
	* testsuite/22_locale/classification/isblank.cc: New.
	* testsuite/22_locale/ctype_base/blank.cc: New.

From-SVN: r216464
2014-10-20 13:34:10 +01:00
Richard Biener
b0b4483eef tree-vect-slp.c (vect_get_and_check_slp_defs): Try swapping operands to get a def operand kind match.
2014-10-20  Richard Biener  <rguenther@suse.de>

	* tree-vect-slp.c (vect_get_and_check_slp_defs): Try swapping
	operands to get a def operand kind match.  Signal mismatches
	to the parent so we can try swapping its operands.
	(vect_build_slp_tree): Try swapping operands if they have
	a mismatched operand kind.

From-SVN: r216463
2014-10-20 12:28:10 +00:00
Alan Modra
c11c866488 re PR debug/60655 (ICE: output_operand: invalid expression as operand)
PR debug/60655
	* simplify-rtx.c (simplify_plus_minus): Delete unused "input_ops".
	Increase "ops" array size.  Correct array size tests.  Init
	n_constants in loop.  Break out of innermost loop when finding
	a trivial CONST expression.

From-SVN: r216462
2014-10-20 22:24:22 +10:30
Martin Liska
13f659d456 re PR tree-optimization/63583 (ICF does not check that the template strings are the same)
PR ipa/63583

	* ipa-icf-gimple.c (func_checker::compare_gimple_asm):
	Gimple tempate string is compared.

	* gcc.dg/ipa/pr63595.c: New test.

From-SVN: r216458
2014-10-20 10:44:54 +00:00
Uros Bizjak
d3f027a185 varasm.c (const_alias_set): Remove.
* varasm.c (const_alias_set): Remove.
	(init_varasm_once): Remove initialization of const_alias_set.
	(build_constant_desc): Do not set alias set to const_alias_set.

From-SVN: r216454
2014-10-20 11:21:09 +02:00
Janne Blomqvist
70480968b4 PR 63589 Fix splitting of PATH in find_addr2line.
2014-10-20  Janne Blomqvist  <jb@gcc.gnu.org>

	PR libfortran/63589
	* configure.ac: Check for strtok_r.
	* runtime/main.c (gfstrtok_r): Fallback implementation of
	strtok_r.
	(find_addr2line): Use strtok_r to split PATH.
	* config.h.in: Regenerated.
	* configure: Regenerated.

From-SVN: r216449
2014-10-20 10:53:37 +03:00
GCC Administrator
e0d3744192 Daily bump.
From-SVN: r216447
2014-10-20 00:16:18 +00:00
Maxim Kuvyrkov
17a8a7aa55 Fix race in libstdc++ testsuite
* testsuite/lib/libstdc++.exp (v3-copy-file): New proc split from ...
	(v3-copy-files): ... this.  Update.
	(check_v3_target_fileio): Fix race on cin_unget-1.txt file.

From-SVN: r216444
2014-10-19 21:07:29 +00:00
Francois-Xavier Coudert
565fad70aa re PR fortran/48979 (FRACTION und EXPONENT return invalid results for infinity/NaN)
PR fortran/48979

	* trans-const.c (gfc_build_nan): New function.
	* trans-const.h (gfc_build_nan): New prototype.
	* trans-intrinsic.c (gfc_conv_intrinsic_exponent): Handle special
	values.
	(gfc_conv_intrinsic_minmaxval): Use gfc_build_nan.
	(gfc_conv_intrinsic_fraction): Handle special values.
	(gfc_conv_intrinsic_spacing): Likewise.
	(gfc_conv_intrinsic_rrspacing): Likewise.
	(gfc_conv_intrinsic_set_exponent): Likewise.

	* gfortran.dg/ieee/intrinsics_2.F90: New test.

From-SVN: r216443
2014-10-19 20:49:27 +00:00
Ilya Verbin
d856054bc7 Set SECTION_EXCLUDE flag for LTO sections.
gcc/
	* configure: Regenerate.
	* configure.ac: Move the test for section attribute specifier "e" in GAS
	out to all i[34567]86-*-* | x86_64-*-* targets and add --fatal-warnings.
	* langhooks.c (lhd_begin_section): Set SECTION_EXCLUDE flag.
	* varasm.c (default_elf_asm_named_section): Guard SECTION_EXCLUDE with
	ifdef HAVE_GAS_SECTION_EXCLUDE.

From-SVN: r216442
2014-10-19 19:40:59 +00:00
Andreas Schwab
e80f9fef34 md.texi (RTL Template): Correct equivalent match_operand expression.
* doc/md.texi (RTL Template) [match_scratch]: Correct equivalent
match_operand expression.

From-SVN: r216441
2014-10-19 17:47:29 +00:00
Marek Polacek
4435bb9232 re PR c/63567 (Linux kernel build error due to non-static initializers)
PR c/63567
	* c-typeck.c (output_init_element): Allow initializing objects with
	static storage duration with compound literals even in C99 and add
	pedwarn for it.

	* gcc.dg/pr63567-3.c: New test.
	* gcc.dg/pr63567-4.c: New test.

From-SVN: r216440
2014-10-19 16:47:35 +00:00
Adhemerval Zanella
f4b0b1e3bb rs6000.c (rs6000_atomic_assign_expand_fenv): New function.
2014-10-19  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>
            David Edelsohn  <dje.gcc@gmail.com>

        * config/rs6000/rs6000.c (rs6000_atomic_assign_expand_fenv): New
        function.
        (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New define.
	* gcc.dg/atomic/c11-atomic-exec-5.c
	(test_main_long_double_add_overflow): Define and run only for
	LDBL_MANT_DIG != 106.
	(test_main_complex_long_double_add_overflow): Likewise.
	(test_main_long_double_sub_overflow): Likewise.
	(test_main_complex_long_double_sub_overflow): Likewise.

Co-Authored-By: David Edelsohn <dje.gcc@gmail.com>

From-SVN: r216437
2014-10-19 09:49:26 -04:00
GCC Administrator
fad0fe1eda Daily bump.
From-SVN: r216432
2014-10-19 00:16:19 +00:00
Manuel López-Ibáñez
104e02e991 invoke.texi (Options to Request or Suppress Warnings): Explain options precedence.
2014-10-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* doc/invoke.texi (Options to Request or Suppress Warnings):
	Explain options precedence.
	(Wtrampolines): Do not indent paragraph.

From-SVN: r216429
2014-10-18 16:10:25 +00:00
John David Anglin
bf95e88b66 invoke.texi: Update documentation of hppa -mjump-in-delay option.
* doc/invoke.texi: Update documentation of hppa -mjump-in-delay option.
	* config/pa/pa-protos.h (pa_following_call): Delete declaration.
	(pa_jump_in_call_delay): Likewise.
	* config/pa/pa.c (pa_option_override): Remove jump in call delay
	override.
	(pa_output_millicode_call): Remove support for jump in call delay.
	(pa_output_call): Likewise.
	(pa_jump_in_call_delay): Delete.
	(pa_following_call): Likewise.
	* config/pa/pa.md (in_call_delay): Remove jump in delay check.
	(uncond_branch): Remove following call check from attribute length.

From-SVN: r216428
2014-10-18 15:53:59 +00:00
Paul Thomas
22c23886db re PR fortran/63553 ([OOP] Wrong code when assigning a CLASS to a TYPE)
2014-10-18  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/63553
	* resolve.c (resolve_ordinary_assign): Add data component to
	rvalue expression for class to type assignment.

2014-10-18  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/63553
	* gfortran.dg/class_to_type_3.f03 : New test

From-SVN: r216427
2014-10-18 14:35:51 +00:00
Oleg Endo
54157b5241 pr58314.c: Fix excess failures caused by switch to GNU11.
gcc/testsuite/
	* gcc.target/sh/torture/pr58314.c: Fix excess failures caused by switch
	to GNU11.

From-SVN: r216426
2014-10-18 12:07:35 +00:00
Oleg Endo
3bb5c3a972 attr-isr.c: Move SH specific test to ...
gcc/testsuite/
	* gcc.dg/attr-isr.c: Move SH specific test to ...
	* gcc.target/sh/attr-isr.c: ... here.

From-SVN: r216425
2014-10-18 11:48:05 +00:00
Oleg Endo
fe3e478fb1 re PR target/53513 ([SH] Add support for fpchg insn and improve fenv support)
gcc/
	PR target/53513
	* config/sh/sh-modes.def (PSI): Remove.
	* config/sh/sh-protos.h (get_fpscr_rtx): Remove.
	* config/sh/sh.c (fpscr_rtx, get_fpscr_rtx): Remove.
	(sh_reorg): Remove commented out FPSCR code.
	(fpscr_set_from_mem): Use SImode instead of PSImode.  Emit lds_fpscr
	insn instead of move insn.
	(sh_hard_regno_mode_ok): Return SImode for FPSCR.
	(sh_legitimate_address_p, sh_legitimize_reload_address): Remove PSImode
	handling.
	(sh_emit_mode_set): Emit lds_fpscr and sts_fpscr insns.
	(sh1_builtin_p): Uncomment.
	(SH_BLTIN_UV 25, SH_BLTIN_VU 26): New macros.
	(bdesc): Add __builtin_sh_get_fpscr and __builtin_sh_set_fpscr.
	* config/sh/sh/predicates.md (fpscr_operand): Simplify.
	(fpscr_movsrc_operand, fpscr_movdst_operand): New predicates.
	(general_movsrc_operand, general_movdst_operand): Disallow
	fpscr_operand.
	* config/sh/sh.md (FPSCR_FR): New constant.
	(push_fpscr): Emit sts_fpscr insn.
	(pop_fpscr): Emit lds_fpscr_insn.
	(movsi_ie): Disallow FPSCR operands.
	(fpu_switch, unnamed related split, extend_psi_si,
	truncate_si_psi): Remove insns.
	(lds_fpscr, sts_fpscr): New insns.
	(toggle_sz, toggle_pr): Use SImode for FPSCR_REG instead of PSImode.

From-SVN: r216424
2014-10-18 10:51:08 +00:00
Ian Lance Taylor
7e813472a2 compiler: Don't allow tuple assignments to contain duplicate symbols.
Fixes issue 8436.

From-SVN: r216420
2014-10-18 00:41:42 +00:00
GCC Administrator
10e77e325c Daily bump.
From-SVN: r216419
2014-10-18 00:16:18 +00:00
Marek Polacek
7278465e24 re PR c/63567 (Linux kernel build error due to non-static initializers)
PR c/63567
	* c-typeck.c (digest_init): Allow initializing objects with static
	storage duration with compound literals even in C99 and add pedwarn
	for it.

	* gcc.dg/pr61096-1.c: Change dg-error into dg-warning.
	* gcc.dg/pr63567-1.c: New test.
	* gcc.dg/pr63567-2.c: New test.

From-SVN: r216416
2014-10-17 21:02:54 +00:00
Eric Botcazou
d83fa499b9 ipa-inline-transform.c (master_clone_with_noninline_clones_p): New.
* ipa-inline-transform.c (master_clone_with_noninline_clones_p): New.
	(clone_inlined_nodes): Do not overwrite the clone if above predicate
	returns true.

From-SVN: r216415
2014-10-17 19:53:18 +00:00
Marek Polacek
d9b7be2ebd re PR c/63543 (incomplete type error should suppress duplicates)
PR c/63543
	* c-tree.h (C_TYPE_ERROR_REPORTED): Define.
	* c-typeck.c (build_indirect_ref): Don't print the "dereferencing..."
	error multiple times.  Print the type.

	* gcc.dg/pr63543.c: New test.
	* gcc.dg/array-8.c: Remove dg-error.
	* gcc.dg/pr48552-1.c: Remove and adjust dg-error.
	* gcc.dg/pr48552-2.c: Likewise.

From-SVN: r216414
2014-10-17 18:53:35 +00:00
Marek Polacek
f406ae1fd6 re PR c/63549 ([4.8/4.9/5] ICE in build_array_ref with invalid code)
PR c/63549
	* c-typeck.c (build_array_ref): Bail if the index in an incomplete
	type.

	* gcc.dg/pr63549.c: New test.

From-SVN: r216413
2014-10-17 18:42:27 +00:00
Marek Polacek
92574c7cdb c-opts.c (c_common_post_options): Set warn_implicit_int.
c-family/
	* c-opts.c (c_common_post_options): Set warn_implicit_int.
	* c.opt (Wimplicit-int): Initialize to -1.
c/
	* c-decl.c (grokdeclarator): Use OPT_Wimplicit_int unconditionally.
	(start_function): Use OPT_Wimplicit_int instead of 0.
	(store_parm_decls_oldstyle): Likewise.
testsuite/
	* gcc.dg/Wimplicit-int-1.c: New test.
	* gcc.dg/Wimplicit-int-2.c: New test.
	* gcc.dg/Wimplicit-int-3.c: New test.
	* gcc.dg/Wimplicit-int-4.c: New test.

From-SVN: r216412
2014-10-17 18:37:25 +00:00
Ilya Tocar
f5db965fda AVX512. 63.1 Update permute expanding.
gcc/
2014-10-17  Ilya Tocar  <ilya.tocar@intel.com>

	* config/i386/i386.c (MAX_VECT_LEN): Move earlier.
	(expand_vec_perm_d): Ditto.
	(ix86_expand_vec_perm_vpermi2): Handle V8HImode, V16HImode, V32HImode,
	V32HImode, V4SImode, V8SImode, V4SFmode, V8SFmode, V2DImode, V4DImode,
	V4DFmode.
	(ix86_expand_vec_perm): Update call to ix86_expand_vec_perm_vpermi2.
	(ix86_expand_sse_unpack): Handle V64QImode.
	(expand_vec_perm_blend): Update conditions for TARGET, handle
	V8DFmode, V16SFmode, V32HImode, V64QImode, V16SImode, V8DImode.
	(expand_vec_perm_pshufb): Handle V64QImode.
	(expand_vec_perm_1): Handle V64QImode, V32HImode, V16SImode, V16SFmode,
	V8DFmode, V8DImode, V4DFmode, V2DFmode, V8SFmode, V4SFmode.
	(ix86_expand_vec_perm_const_1): Call  ix86_expand_vec_perm_vpermi2.
	(ix86_vectorize_vec_perm_const_ok): Handle V32HImode, V64QImode.
	(ix86_expand_vecop_qihi): Handle V64QImode.
	* config/i386/sse.md (define_mode_iterator VI1_AVX512): New.
	(define_mode_iterator VEC_PERM_AVX2): Add V32HI.
	(define_mode_iterator VEC_PERM_CONST): Add V32HI.
	(define_insn "<ssse3_avx2>_pshufb<mode>3<mask_name>"): Add masking.
	(mul<mode>3): Use VI1_AVX512.
	(<sse2_avx2>_packsswb): Ditto.
	(<sse2_avx2>_packuswb): Ditto.
	(<ssse3_avx2>_pshufb<mode>3): Ditto.
	(<shift_insn><mode>3): Ditto.

From-SVN: r216405
2014-10-17 19:11:51 +04:00
Kirill Yukhin
cad7438c75 Fix bootstrap failure.
gcc/
	* config/i386/i386.c (ix86_expand_sse2_mulvxdi3): Refactor
	conditions to fix bootstrap.

From-SVN: r216403
2014-10-17 14:32:26 +00:00
Andrew MacLeod
3bb2b4cdac gcc-plugin.h: Add tm.h and flattened includes from function.h.
2014-10-17  Andrew MacLeod  <amacleod@redhat.com>

	* gcc-plugin.h:  Add tm.h and flattened includes from function.h.

	* testsuite/g++.dg/plugin/pragma_plugin.c: Revert flattening, only
	include function.h.

From-SVN: r216402
2014-10-17 13:21:52 +00:00
Alexander Ivchenko
bf584ca0af AVX-512. 75/n. Update vec_init.
gcc/
	* config/i386/i386.c (ix86_expand_vector_init_duplicate): Handle V64QI
	and V32HI modes, update V8HI, V16QI, V32QI modes handling.
	(ix86_expand_vector_init_general): Handle V64QI and V32HI modes.
	* config/i386/sse.md (define_mode_iterator VI48F_512): Rename to ...
	(define_mode_iterator VF48_I1248): ... this. Extend to AVX-512 modes.
	(define_expand "vec_init<mode>"): Use VF48_I1248.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>

From-SVN: r216401
2014-10-17 13:16:36 +00:00
Alexander Ivchenko
fde2c35121 AVX-512. 80/n. Extend expand_sse2_mulvxdi3.
gcc/
	* config/i386/i386.c (ix86_expand_sse2_mulvxdi3): Extend
	expand_sse2_mulvxdi3.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>

From-SVN: r216400
2014-10-17 12:53:24 +00:00
Kyrylo Tkachov
0706642955 Fix ChangeLog spacing
From-SVN: r216399
2014-10-17 12:30:16 +00:00
Jonathan Wakely
6666a3ef87 hexfloat.cc: Add dg-require-string-conversions.
* testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
	Add dg-require-string-conversions.
	* testsuite/27_io/headers/cstdio/types_std.cc: Test for fpos_t.

From-SVN: r216398
2014-10-17 13:21:29 +01:00
Ville Voutilainen
37285913f3 Implement the Library Fundamentals v1 variable templates.
2014-10-17  Ville Voutilainen  <ville.voutilainen@gmail.com>

	Implement the Library Fundamentals v1 variable templates.
	* include/Makefile.am: Add the new header.
	* include/Makefile.in: Regenerate.
	* include/experimental/type_traits: New.
	* testsuite/experimental/type_traits/value.cc: Likewise.

From-SVN: r216397
2014-10-17 13:21:21 +01:00
Richard Biener
a342326069 fold-const.c (fold_comparison): Remove redundant constant folding and operand swapping.
2014-10-17  Richard Biener  <rguenther@suse.de>

	* fold-const.c (fold_comparison): Remove redundant constant
	folding and operand swapping.
	(fold_binary_loc): Do comparison operand swapping here.
	(fold_ternary_loc): Canonicalize operand order for
	commutative ternary operations.
	* tree.c (commutative_ternary_tree_code): Add DOT_PROD_EXPR
	and FMA_EXPR.

From-SVN: r216394
2014-10-17 11:32:12 +00:00
Jakub Jelinek
73049af5fa re PR tree-optimization/63464 (compare one character to many: faster)
PR tree-optimization/63464
	* gimple.h (gimple_seq_discard): New prototype.
	* gimple.c: Include stringpool.h and tree-ssanames.h.
	(gimple_seq_discard): New function.
	* optabs.h (lshift_cheap_p): New prototype.
	* optabs.c (lshift_cheap_p): New function, moved from...
	* tree-switch-conversion.c (lshift_cheap_p): ... here.
	* tree-ssa-reassoc.c: Include gimplify.h and optabs.h.
	(reassoc_branch_fixups): New variable.
	(update_range_test): Add otherrangep and seq arguments.
	Unshare exp.  If otherrange is NULL, use for other ranges
	array of pointers pointed by otherrangep instead.
	Emit seq before gimplified statements for tem.
	(optimize_range_tests_diff): Adjust update_range_test
	caller.
	(optimize_range_tests_xor): Likewise.  Fix up comment.
	(extract_bit_test_mask, optimize_range_tests_to_bit_test): New
	functions.
	(optimize_range_tests): Adjust update_range_test caller.
	Call optimize_range_tests_to_bit_test.
	(branch_fixup): New function.
	(execute_reassoc): Call branch_fixup.

	* gcc.dg/torture/pr63464.c: New test.
	* gcc.dg/tree-ssa/reassoc-37.c: New test.
	* gcc.dg/tree-ssa/reassoc-38.c: New test.

From-SVN: r216393
2014-10-17 12:54:54 +02:00
Jakub Jelinek
4eb4a256cd re PR tree-optimization/63302 (Code with 64-bit long long constants is miscompiled on 32-bit host)
PR tree-optimization/63302
	* tree-ssa-reassoc.c (optimize_range_tests_xor,
	optimize_range_tests_diff): Use !integer_pow2p () instead of
	tree_log2 () < 0.

	* gcc.c-torture/execute/pr63302.c: New test.

From-SVN: r216391
2014-10-17 12:50:16 +02:00
Martin Liska
9d4ded759a Temporary fix for PR63566.
* ipa-icf.c (sem_function::merge): Local flags are set to false
	to enforce equal calling convention to be used.
	* opts.c (common_handle_option): Indentation fix.

From-SVN: r216386
2014-10-17 09:37:35 +00:00