2014-08-29  Richard Biener  <rguenther@suse.de>

	PR middle-end/62292
	* gimple-fold.c (gimple_fold_builtin_strcpy): Fix error
	from previous refactoring.
	(gimple_fold_builtin_strncpy): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214716 138bc75d-0d04-0410-961f-82ee72b054a4
2014-08-29  Richard Biener  <rguenther@suse.de>

	* tree-cfg.c (verify_gimple_assign_unary): Do not allow
	NON_LVALUE_EXPR in gimple.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214717 138bc75d-0d04-0410-961f-82ee72b054a4
2014-08-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/61484
	* g++.dg/cpp0x/constexpr-61484.C: New.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214718 138bc75d-0d04-0410-961f-82ee72b054a4
2014-08-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59938
	* g++.dg/cpp0x/constexpr-59938.C: New.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214724 138bc75d-0d04-0410-961f-82ee72b054a4
AVX-512. Add narrowing vpmov.

gcc/
	* config/i386/i386-modes.def: Add V12QI, V14QI, V6HI modes.
	* config/i386/sse.md
	(define_mode_iterator VI4_128_8_256): New.
	(define_mode_iterator VI2_128_4_256): Ditto.
	(define_mode_iterator PMOV_DST_MODE): Rename into
	(define_mode_iterator PMOV_DST_MODE_1): this.
	(define_insn "*avx512f_<code><pmov_src_lower><mode>2"):
	Use PMOV_DST_MODE_1 mode iterator.
	(define_insn "avx512f_<code><pmov_src_lower><mode>2_mask"):
	Ditto.
	(define_insn "avx512f_<code><pmov_src_lower><mode>2_mask"):
	Ditto.
	(define_insn "*avx512bw_<code>v32hiv32qi2"): New.
	(define_insn "avx512bw_<code>v32hiv32qi2_mask"): Ditto.
	(define_expand "avx512bw_<code>v32hiv32qi2_store_mask"): Ditto.
	(define_mode_iterator PMOV_DST_MODE_2): New.
	(define_insn "*avx512vl_<code><ssedoublemodelower><mode>2"): Ditto.
	(define_insn "<avx512>_<code><ssedoublemodelower><mode>2_mask"): Ditto.
	(define_expand "<avx512>_<code><ssedoublemodelower><mode>2_store_mask"):
	Ditto.
	(define_mode_iterator PMOV_SRC_MODE_3): Ditto.
	(define_mode_attr pmov_dst_3): Ditto.
	(define_mode_attr pmov_dst_zeroed_3): Ditto.
	(define_mode_attr pmov_suff_3): Ditto.
	(define_insn "*avx512vl_<code><mode>v<ssescalarnum>qi2"): Ditto.
	(define_insn "*avx512vl_<code>v2div2qi2_store"): Ditto.
	(define_insn "avx512vl_<code>v2div2qi2_mask"): Ditto.
	(define_insn "avx512vl_<code>v2div2qi2_store_mask"): Ditto.
	(define_insn "*avx512vl_<code><mode>v4qi2_store"): Ditto.
	(define_insn "avx512vl_<code><mode>v4qi2_mask"): Ditto.
	(define_insn "avx512vl_<code><mode>v4qi2_store_mask"): Ditto.
	(define_insn "*avx512vl_<code><mode>v8qi2_store"): Ditto.
	(define_insn "avx512vl_<code><mode>v8qi2_mask"): Ditto.
	(define_insn "avx512vl_<code><mode>v8qi2_store_mask"): Ditto.
	(define_mode_iterator PMOV_SRC_MODE_4): Ditto.
	(define_mode_attr pmov_dst_4): Ditto.
	(define_mode_attr pmov_dst_zeroed_4): Ditto.
	(define_mode_attr pmov_suff_4): Ditto.
	(define_insn "*avx512vl_<code><mode>v<ssescalarnum>hi2"): Ditto.
	(define_insn "*avx512vl_<code><mode>v4hi2_store"): Ditto.
	(define_insn "avx512vl_<code><mode>v4hi2_mask"): Ditto.
	(define_insn "avx512vl_<code><mode>v4hi2_store_mask"): Ditto.
	(define_insn "*avx512vl_<code>v2div2hi2_store"): Ditto.
	(define_insn "avx512vl_<code>v2div2hi2_mask"): Ditto.
	(define_insn "avx512vl_<code>v2div2hi2_store_mask"): Ditto.
	(define_insn "*avx512vl_<code>v2div2si2"): Ditto.
	(define_insn "*avx512vl_<code>v2div2si2_store"): Ditto.
	(define_insn "avx512vl_<code>v2div2si2_mask"): Ditto.
	(define_insn "avx512vl_<code>v2div2si2_store_mask"): Ditto.




git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214725 138bc75d-0d04-0410-961f-82ee72b054a4
AVX-512. Add SI/DI masked interleave.

gcc/
	* config/i386/sse.md
	(define_insn "avx2_interleave_highv4di<mask_name>"): Add masking.
	(define_insn "vec_interleave_highv2di<mask_name>"): Ditto.
	(define_insn "avx2_interleave_lowv4di<mask_name>"): Ditto.
	(define_insn "vec_interleave_lowv2di<mask_name>"): Ditto.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214726 138bc75d-0d04-0410-961f-82ee72b054a4
2014-08-29  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/62291
	* tree-ssa-pre.c (sorted_array_from_bitmap_set): Reserve
	exactly the vector size needed and use quick_push.
	(phi_translate_1): Adjust comment.
	(valid_in_sets): Remove block argument and remove pointless
	checking of NAMEs.
	(dependent_clean): Adjust for removal of block argument.
	(clean): Likewise.
	(compute_antic_aux): Likewise.
	(compute_partial_antic_aux): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214727 138bc75d-0d04-0410-961f-82ee72b054a4
2014-08-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/57764
	* g++.dg/cpp0x/constexpr-57764.C: New.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214728 138bc75d-0d04-0410-961f-82ee72b054a4
2014-08-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/56991
	* g++.dg/cpp0x/constexpr-56991.C: New.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214729 138bc75d-0d04-0410-961f-82ee72b054a4
libcpp/ChangeLog:

2014-08-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* macro.c (warn_of_redefinition): Suppress warnings for builtins
	that lack the NODE_WARN flag, unless Wbuiltin-macro-redefined.
	(_cpp_create_definition): Use Wbuiltin-macro-redefined for
	builtins that lack the NODE_WARN flag.
	* directives.c (do_undef): Likewise.
	* init.c (cpp_init_special_builtins): Do not change flags
	depending on Wbuiltin-macro-redefined.


gcc/c-family/ChangeLog:

2014-08-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
	* c-opts.c (c_common_handle_option): Do not handle here.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214730 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	PR bootstrap/62301
	* rtlanal.c (rtx_referenced_p): Fix typo in LABEL_P call.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214733 138bc75d-0d04-0410-961f-82ee72b054a4
2014-08-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/54002
	* g++.dg/cpp0x/constexpr-54002.C: New.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214734 138bc75d-0d04-0410-961f-82ee72b054a4
libcpp/ChangeLog:

2014-08-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* directives.c (check_eol_1): New.
	(check_eol_endif_labels): New.
	(check_eol): Call check_eol_1.
	(do_else,do_endif): Call check_eol_endif_labels.

gcc/c-family/ChangeLog:

2014-08-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
	Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
	Wundef): Use CPP, Var and Init.
	* c-opts.c (c_common_handle_option): Do not handle the above flags here.




git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214735 138bc75d-0d04-0410-961f-82ee72b054a4
	* include/std/complex (complex): Define copy constructor and
	assignment operator as defaulted. Improve Doxygen comments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214736 138bc75d-0d04-0410-961f-82ee72b054a4
	* cp-demangle.c (d_dump): Only access field from s_fixed part of
	the union for DEMANGLE_COMPONENT_FIXED_TYPE.
	(d_count_templates_scopes): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214740 138bc75d-0d04-0410-961f-82ee72b054a4
gdbinit.in: Skip various inline functions in rtl.h when stepping

gcc/
2014-08-29  David Malcolm  <dmalcolm@redhat.com>

	* gdbinit.in: Skip various inline functions in rtl.h when
	stepping.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214741 138bc75d-0d04-0410-961f-82ee72b054a4
PR 62215 Reinstate unlinking old module file before renaming.

2014-08-29  Jeffrey Armstrong  <jeffrey.armstrong@approximatrix.com>

	PR fortran/62215
	* module.c (gfc_dump_module): Unlink old module file before
	renaming new one.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214742 138bc75d-0d04-0410-961f-82ee72b054a4
Use ISO C remove() instead of POSIX unlink()

2014-08-30  Janne Blomqvist  <jb@gcc.gnu.org>

	* module.c (gfc_dump_module): Use ISO C remove() instead of POSIX
	unlink().


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214744 138bc75d-0d04-0410-961f-82ee72b054a4
[Patch, microblaze]: Add optimized lshrsi3

When barrel shifter is not present, the immediate value
is greater than #5 and optimization is -OS, the
compiler will generate shift operation using loop.

Changelog

2013-11-26  David Holsgrove <david.holsgrove@xilinx.com>

 * gcc/config/microblaze/microblaze.md: Add size optimized lshrsi3 insn

ChangeLog/testsuite

2014-02-12  David Holsgrove <david.holsgrove@xilinx.com>

 * gcc/testsuite/gcc.target/microblaze/others/lshrsi_Os_1.c: New test.

Signed-off-by:Nagaraju <nmekala@xilix.com>
Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
[Patch, microblaze]: Add INIT_PRIORITY support

Added TARGET_ASM_CONSTRUCTOR and TARGET_ASM_DESTRUCTOR macros.

These macros allows users to control the order of initialization
of objects defined at namespace scope with the init_priority
attribute by specifying a relative priority, a constant integral
expression currently bounded between 101 and 65535 inclusive.

Lower numbers indicate a higher priority.

Changelog

2013-11-26  Nagaraju Mekala <nagaraju.mekala@xilinx.com>

 * gcc/config/microblaze/microblaze.c: Add microblaze_asm_constructor,
   microblaze_asm_destructor. Define TARGET_ASM_CONSTRUCTOR and
   TARGET_ASM_DESTRUCTOR.

Signed-off-by:nagaraju <nmekala@xilix.com>
Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>