1. 06 Nov, 2013 13 commits
  2. 05 Nov, 2013 27 commits
    • N3655 C++1y TransformationTraits Redux · 4457e88c
      	N3655 C++1y TransformationTraits Redux
      	* include/std/type_traits (remove_const_t, remove_volatile_t,
      	remove_cv_t, add_const_t, add_volatile_t, add_cv_t, remove_reference_t,
      	add_lvalue_reference_t, add_rvalue_reference_t, make_signed_t,
      	make_unsigned_t, remove_extent_t, remove_all_extents_t,
      	remove_pointer_t, add_pointer_t, aligned_storage_t, decay_t,
      	enable_if_t, conditional_t, common_type_t, underlying_type_t,
      	result_of_t): Define.
      	* doc/xml/manual/status_cxx2014.xml: Update.
      	* testsuite/20_util/add_lvalue_reference/requirements/typedefs-3.cc:
      	New.
      	* testsuite/20_util/add_rvalue_reference/requirements/typedefs-3.cc:
      	New.
      	* testsuite/20_util/common_type/requirements/typedefs-3.cc: New.
      	* testsuite/20_util/conditional/requirements/typedefs-2.cc: New.
      	* testsuite/20_util/decay/requirements/typedefs-2.cc: New.
      	* testsuite/20_util/enable_if/requirements/typedefs-2.cc: New.
      	* testsuite/20_util/make_signed/requirements/typedefs-3.cc: New.
      	* testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: New.
      	* testsuite/20_util/remove_reference/requirements/typedefs.cc: New.
      	* testsuite/20_util/result_of/requirements/typedefs.cc: New.
      	* testsuite/20_util/underlying_type/requirements/typedefs-3.cc: New.
      	* testsuite/20_util/common_type/requirements/typedefs-2.cc: Change to
      	compile-only test.
      	* testsuite/20_util/decay/requirements/typedefs.cc: Likewise.
      	* testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
      	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
      	line number.
      	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
      	Likewise.
      	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
      	Likewise.
      
      From-SVN: r204426
      Jonathan Wakely committed
    • rtlanal.c (tablejump_p): Expect a JUMP_TABLE_DATA to always follow immediately… · 592a16fc
      rtlanal.c (tablejump_p): Expect a JUMP_TABLE_DATA to always follow immediately after a label for a...
      
      
      	* rtlanal.c (tablejump_p): Expect a JUMP_TABLE_DATA to always follow
      	immediately after a label for a tablejump pattern.
      
      	* config/arm/arm.c (is_jump_table): Remove.
      	(create_fix_barrier): Use tablejump_p instead.
      	(arm_reorg): Likewise.
      	(thumb1_output_casesi): Expect JUMP_TABLE_DATA to always be NEXT_INSN.
      	(thumb2_output_casesi): Likewise.
      	* config/aarch64/aarch64.c (aarch64_output_casesi): Likewise.
      	* config/sh/sh.md (casesi_worker_1, casesi_worker_2,
      	casesi_shift_media, casesi_load_media): Likewise.
      	* config/iq2000/iq2000.md: Likewise (in anonymous define_insn).
      	* config/microblaze/microblaze.md: Likewise.
      
      From-SVN: r204424
      Steven Bosscher committed
    • c.opt (-Wdate-time): New option · e8ff5196
      2013-11-05  Tobias Burnus  <burnus@net-b.de>
      
      gcc/c-family/
              * c.opt (-Wdate-time): New option
              * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
      
      gcc/
              * doc/invoke.texi (-Wdate-time): Document.
      
      gcc/fortran
              * lang.opt (-Wdate-time): New option
              * cpp.c (gfc_cpp_option_data): Add warn_date_time.
              (gfc_cpp_init_options, gfc_cpp_handle_option,
              gfc_cpp_post_options): Handle it and pass on to libcpp.
      
      gcc/testsuite/
              * g++.dg/warn/wdate-time.C: New.
              * gcc.dg/wdate-time.c: New.
              * gfortran.dg/wdate-time.F90: New.
      
      libcpp/
              * include/cpplib.h (CPP_W_DATE_TIME): Added.
              (cpp_options): Add warn_date_time.
              * init.c (cpp_create_reader): Init it.
              * macro.c (_cpp_builtin_macro_text): Warn when
              __DATE__/__TIME__/__TIMESTAMP__ is used.
      
      From-SVN: r204420
      Tobias Burnus committed
    • re PR fortran/58989 (internal compiler error when using reshape function) · df1c8791
      2013-11-05  Steven G. Kargl <kargl@gcc.gnu.org>
      
      	PR fortran/58989
      	* check.c (gfc_check_reshape): ensure that shape is a constant
      	expression.
      
      2013-11-05  Steven G. Kargl <kargl@gcc.gnu.org>
      
      	PR fortran/58989
      	* gfortran.dg/reshape_6.f90: New test.
      
      From-SVN: r204419
      Steven G. Kargl committed
    • status_cxx2011.xml: Document aligned_union as missing. · ae40b2ff
      	* doc/xml/manual/status_cxx2011.xml: Document aligned_union as
      	missing.
      
      From-SVN: r204416
      Jonathan Wakely committed
    • double-int.c (lshift_double, [...]): Remove SHIFT_COUNT_TRUNCATED handling. · bc0d6b17
      gcc/
      	* double-int.c (lshift_double, rshift_double): Remove
      	SHIFT_COUNT_TRUNCATED handling.
      
      From-SVN: r204415
      Richard Sandiford committed
    • Makefile.in (OBJS): Add gimple-ssa-isolate-paths.o · 8fdc414d
      	* Makefile.in (OBJS): Add gimple-ssa-isolate-paths.o
      	* common.opt (-fisolate-erroneous-paths): Add option and
      	documentation.
      	* gimple-ssa-isolate-paths.c: New file.
      	* gimple.c (check_loadstore): New function.
      	(infer_nonnull_range): Moved into gimple.c from tree-vrp.c
      	Verify OP is in the argument list and the argument corresponding
      	to OP is a pointer type.  Use operand_equal_p rather than
      	pointer equality when testing if OP is on the nonnull list.
      	Use check_loadstore rather than count_ptr_derefs.  Handle
      	GIMPLE_RETURN statements.
      	* tree-vrp.c (infer_nonnull_range): Remove.
      	* gimple.h (infer_nonnull_range): Declare.
      	* opts.c (default_options_table): Add
      	* OPT_fisolate_erroneous_paths.
      	* passes.def: Add pass_isolate_erroneous_paths.
      	* timevar.def (TV_ISOLATE_ERRONEOUS_PATHS): New timevar.
      	* tree-pass.h (make_pass_isolate_erroneous_paths): Declare.
      	* tree-ssa.c (struct count_ptr_d): Remove.
      	(count_ptr_derefs, count_uses_and_derefs): Remove.
      	* tree-ssa.h (count_uses_and_derefs): Remove.
      
      	* gcc.dg/pr38984.c: Add -fno-isolate-erroneous-paths.
      	* gcc.dg/tree-ssa/isolate-1.c: New test.
      	* gcc.dg/tree-ssa/isolate-2.c: New test.
      	* gcc.dg/tree-ssa/isolate-3.c: New test.
      	* gcc.dg/tree-ssa/isolate-4.c: New test.
      
      From-SVN: r204414
      Jeff Law committed
    • re PR rtl-optimization/58997 (ICE on valid code at -O3 on x86_64-linux-gnu… · 50fae5a6
      re PR rtl-optimization/58997 (ICE on valid code at -O3 on x86_64-linux-gnu (affecting gcc trunk and 4.8.2))
      
      	PR rtl-optimization/58997
      	* loop-iv.c (iv_subreg): For IV_UNKNOWN_EXTEND, expect
      	get_iv_value to be in iv->mode rather than iv->extend_mode.
      	(iv_extend): Likewise.  Otherwise, if iv->extend != extend,
      	use lowpart_subreg on get_iv_value before calling simplify_gen_unary.
      	* loop-unswitch.c (may_unswitch_on): Make sure op[i] is in the right
      	mode.
      
      	* gcc.c-torture/compile/pr58997.c: New test.
      
      From-SVN: r204413
      Jakub Jelinek committed
    • gimple.h: Move some prototypes to gimple-expr.h and add to include list. · 2a0603f1
      
      
      	* gimple.h: Move some prototypes to gimple-expr.h and add to include
      	list.
      	(extract_ops_from_tree, gimple_call_addr_fndecl, is_gimple_reg_type):
      	Move to gimple-expr.h.
      	* gimple-expr.h: New file.  Relocate some prototypes from gimple.h.
      	(types_compatible_p, is_gimple_reg_type, is_gimple_variable,
      	is_gimple_id, virtual_operand_p, is_gimple_addressable,
      	is_gimple_constant, extract_ops_from_tree, gimple_call_addr_fndecl):
      	Relocate here.
      	* gimple.c (extract_ops_from_tree_1, gimple_cond_get_ops_from_tree,
      	gimple_set_body, gimple_body, gimple_has_body_p, is_gimple_lvalue,
      	is_gimple_condexpr, is_gimple_addressable, is_gimple_constant,
      	is_gimple_address, is_gimple_invariant_address,
      	is_gimple_ip_invariant_address, is_gimple_min_invariant,
      	is_gimple_ip_invariant, is_gimple_variable, is_gimple_id,
      	virtual_operand_p, is_gimple_reg, is_gimple_val, is_gimple_asm_val,
      	is_gimple_min_lval, is_gimple_call_addr, is_gimple_mem_ref_addr,
      	gimple_decl_printable_name, useless_type_conversion_p,
      	types_compatible_p, gimple_can_coalesce_p, copy_var_decl): Move to 
      	gimple-expr.[ch].
      	* gimple-expr.c: New File.
      	(useless_type_conversion_p, gimple_set_body, gimple_body,
      	gimple_has_body_p, gimple_decl_printable_name, copy_var_decl,
      	gimple_can_coalesce_p, extract_ops_from_tree_1, 
      	gimple_cond_get_ops_from_tree, is_gimple_lvalue, is_gimple_condexpr,
      	is_gimple_address, is_gimple_invariant_address,
      	is_gimple_ip_invariant_address, is_gimple_min_invariant,
      	is_gimple_ip_invariant, is_gimple_reg, is_gimple_val,
      	is_gimple_asm_val, is_gimple_min_lval, is_gimple_call_addr,
      	is_gimple_mem_ref_addr): Relocate here.
      	* Makefile.in (OBJS): Add gimple-expr.o.
      
      From-SVN: r204412
      Andrew MacLeod committed
    • Support empty structs in gengtype · c180e495
      gcc/
      	* gengtype-parse.c (struct_field_seq): Support empty structs.
      
      From-SVN: r204411
      David Malcolm committed
    • t-rtems (MULTILIB_MATCHES): Fix option typos. · 4b632a06
      	* config/i386/t-rtems (MULTILIB_MATCHES): Fix option typos.
      
      From-SVN: r204407
      Uros Bizjak committed
    • re PR c++/58868 (ICE: in count_type_elements, at expr.c:5495 with -std=gnu++0x) · 136d4b89
      	PR c++/58868
      	* decl.c (check_initializer): Don't use build_vec_init for arrays
      	of trivial type.
      
      From-SVN: r204406
      Jason Merrill committed
    • i386-c.c (ix86_target_macros): Define _SOFT_FLOAT for !TARGET_80387. · 02ac9503
      gcc/
      
      	* config/i386/i386-c.c (ix86_target_macros): Define _SOFT_FLOAT
      	for !TARGET_80387.
      	* config/i386/rtemself.h (TARGET_OS_CPP_BUILTINS): Do not define
      	_SOFT_FLOAT here.
      	(LONG_DOUBLE_TYPE_SIZE): New define.
      	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Ditto.
      
      libgcc/
      
      	* config/i386/32/sfp-machine.h (_FP_MUL_MEAT_S): Define.
      	(_FP_MUL_MEAT_D): Ditto.
      	(_FP_DIV_MEAT_S): Ditto.
      	(_FP_DIV_MEAT_D): Ditto.
      	* config.host (i[34567]86-*-rtems*): Remove i386/t-softfp, add
      	t-softfp-sfdf and t-softfp to tmake_file.
      
      M    gcc/config/i386/i386-c.c
      M    gcc/config/i386/rtemself.h
      M    gcc/ChangeLog
      M    libgcc/ChangeLog
      M    libgcc/config.host
      M    libgcc/config/i386/32/sfp-machine.h
      
      From-SVN: r204404
      Uros Bizjak committed
    • optional: Use __and_<> and __not_<> in conditions. · b1705a63
      2013-11-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
      	    Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* include/experimental/optional: Use __and_<> and __not_<> in
      	conditions. Style fixes.
      	(__constexpr_addressof, swap): Make inline.
      	* testsuite/experimental/optional/cons/copy.cc: Adjust constants for
      	32-bit targets.
      	* testsuite/experimental/optional/cons/move.cc: Likewise.
      	* testsuite/experimental/optional/cons/value.cc: Likewise.
      	* testsuite/experimental/optional/constexpr/cons/value.cc: Likewise.
      
      Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
      
      From-SVN: r204402
      Jonathan Wakely committed
    • re PR c++/58724 (ICE with attribute [[gnu::visibility("default")]] on namespace) · 33b5d6da
      2013-11-05  Paolo Carlini  <paolo.carlini@oracle.com>
      	
      	PR c++/58724
      	* doc/extend.texi [visibility ("visibility_type")]: Add example
      	about visibility attribute on namespace declaration.
      
      /cp
      2013-11-05  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/58724
      	* name-lookup.c (handle_namespace_attrs): Use get_attribute_name.
      
      /testsuite
      2013-11-05  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/58724
      	* g++.dg/cpp0x/gen-attrs-56.C: New.
      
      From-SVN: r204401
      Paolo Carlini committed
    • re PR ipa/58492 (ICE: verify_flow_info failed) · 9c39fca1
      2013-11-05  Richard Biener  <rguenther@suse.de>
      
      	PR ipa/58492
      	* passes.def (all_passes): Start with pass_fixup_cfg again.
      
      	* gcc.dg/ipa/pr58492.c: New testcase.
      
      From-SVN: r204399
      Richard Biener committed
    • re PR tree-optimization/58955 (wrong code at -O3 on x86_64-linux-gnu) · d8f4f4db
      2013-11-05  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/58955
      	* tree-loop-distribution.c (pg_add_dependence_edges): Fix
      	edge direction.
      
      	* gcc.dg/torture/pr58955-1.c: New testcase.
      	* gcc.dg/torture/pr58955-2.c: Likewise.
      
      From-SVN: r204398
      Richard Biener committed
    • Disable libcilkrts when C++ is not used. · 186bc287
      2013-11-04  Balaji V. Iyer  <balaji.v.iyer@intel.com>
      
              * configure.ac: Added libcilkrts to noconfig list when C++ is not
              supported.
              * configure: Regenerated.
      
      From-SVN: r204396
      Balaji V. Iyer committed
    • vector.md (vec_pack_sfix_trunc_v2df): Adjust for little endian. · 6e8fd64f
      2013-11-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* config/rs6000/vector.md (vec_pack_sfix_trunc_v2df): Adjust for
      	little endian.
      	(vec_pack_ufix_trunc_v2df): Likewise.
      
      From-SVN: r204395
      Bill Schmidt committed
    • Don't use mode wider than Pmode for size in movmem/setmem · 5689294c
      gcc/
      
      	PR middle-end/58981
      	* doc/md.texi (@code{movmem@var{m}}): Specify Pmode as mode of
      	pattern, instead of word_mode.
      
      	* expr.c (emit_block_move_via_movmem): Don't use mode wider than
      	Pmode for size.
      	(set_storage_via_setmem): Likewise.
      
      gcc/testsuite/
      
      	PR middle-end/58981
      	* gcc.dg/pr58981.c: New test.
      
      From-SVN: r204394
      H.J. Lu committed
    • tree-outof-ssa.c (queue_phi_copy_p): Combine phi_ssa_name_p from gimple.h and… · c8d97db2
      tree-outof-ssa.c (queue_phi_copy_p): Combine phi_ssa_name_p from gimple.h and the rest of the condition in...
      
      
      2013-11-05  Andrew MacLeod  <amacleod@redhat.com>
      
      	* tree-outof-ssa.c (queue_phi_copy_p): Combine phi_ssa_name_p from 
      	gimple.h and the rest of the condition in eliminate_build.
      	(eliminate_build): Call new routine.
      	* gimple.h (phi_ssa_name_p): Delete.
      
      From-SVN: r204393
      Andrew MacLeod committed
    • don't try and free what must be a null vector when reserving 0 elements · ecbffdd8
      in va_heap::reserve
      
      2013-11-05  Trevor Saunders  <tsaunders@mozilla.com>
      
      	* vec.c (vec_prefix::calculate_allocation): Don't try to handle the
      	case of no prefix and reserving zero slots, because when that's the
      	case we'll never get here.
      	* vec.h (va_heap::reserve): Don't try and handle
      	vec_prefix::calculate_allocation returning zero because that should
      	never happen.
      
      From-SVN: r204392
      Trevor Saunders committed
    • re PR middle-end/58941 (value modification on zero-length array optimized away) · 4f94d87c
      2013-11-05  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/58941
      	* tree-dfa.c (get_ref_base_and_extent): Merge common code
      	in MEM_REF and TARGET_MEM_REF handling.  Make sure to
      	process trailing array detection before diving into the
      	view-converted object (and possibly apply some extra offset).
      
      	* gcc.dg/torture/pr58941.c: New testcase.
      
      From-SVN: r204391
      Richard Biener committed
    • i386.c (ix86_float_exceptions_rounding_supported_p): New function. · 254a0760
      	* config/i386/i386.c (ix86_float_exceptions_rounding_supported_p):
      	New function.
      	(TARGET_FLOAT_EXCEPTIONS_ROUNDING_SUPPORTED_P): Define.
      
      c-family:
      	* c-cppbuiltin.c (cpp_iec_559_value): Test
      	flag_excess_precision_cmdline not flag_excess_precision.
      
      From-SVN: r204390
      Joseph Myers committed
    • re PR tree-optimization/58958 (Wrong aliasing info for variable index) · 4de9c53f
      2013-11-05  Marc Glisse  <marc.glisse@inria.fr>
      
      	PR tree-optimization/58958
      gcc/
      	* tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Use
      	get_addr_base_and_unit_offset instead of get_ref_base_and_extent.
      
      gcc/testsuite/
      	* gcc.dg/tree-ssa/pr58958.c: New file.
      
      From-SVN: r204389
      Marc Glisse committed
    • tree-ssa-alias.h (ranges_overlap_p): Handle negative offsets. · 75081240
      2013-11-05  Marc Glisse  <marc.glisse@inria.fr>
      
      gcc/
      	* tree-ssa-alias.h (ranges_overlap_p): Handle negative offsets.
      	* tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Likewise.
      
      gcc/testsuite/
      	* gcc.dg/tree-ssa/alias-26.c: New file.
      
      From-SVN: r204388
      Marc Glisse committed
    • re PR tree-optimization/58984 (wrong code at -Os and above on x86_64-linux-gnu in 64-bit mode) · 3ff2ca23
      	PR tree-optimization/58984
      	* ipa-prop.c (ipa_load_from_parm_agg_1): Add SIZE_P argument,
      	set *SIZE_P if non-NULL on success.
      	(ipa_load_from_parm_agg, ipa_analyze_indirect_call_uses): Adjust
      	callers.
      	(ipcp_transform_function): Likewise.  Punt if size of access
      	is different from TYPE_SIZE on v->value's type.
      
      	* gcc.c-torture/execute/pr58984.c: New test.
      
      From-SVN: r204385
      Jakub Jelinek committed