1. 07 Mar, 2014 18 commits
    • typeck.c (comp_template_parms_position): 'auto' and 'decltype(auto)' are… · d08a068b
      typeck.c (comp_template_parms_position): 'auto' and 'decltype(auto)' are different from real template parms.
      
      	* typeck.c (comp_template_parms_position): 'auto' and
      	'decltype(auto)' are different from real template parms.
      
      From-SVN: r208414
      Jason Merrill committed
    • parser.c (cp_parser_using_declaration): Consume the semicolon after bare parameter pack error. · 94151520
      	* parser.c (cp_parser_using_declaration): Consume the semicolon
      	after bare parameter pack error.
      
      From-SVN: r208413
      Jason Merrill committed
    • cp-tree.h (REF_PARENTHESIZED_P): New. · 0e4cf887
      	* cp-tree.h (REF_PARENTHESIZED_P): New.
      	* semantics.c (force_paren_expr): Set it.
      	* pt.c (do_auto_deduction): Check it.
      	(tsubst) [COMPONENT_REF]: Copy it.
      	* typeck.c (maybe_warn_about_useless_cast): Don't strip dereference.
      
      From-SVN: r208412
      Jason Merrill committed
    • decl.c (create_array_type_for_decl): Only warn about invalid C++1y VLA if flag_iso or warn_vla>0. · b75bf8b1
      	* decl.c (create_array_type_for_decl): Only warn about invalid
      	C++1y VLA if flag_iso or warn_vla>0.
      	(grokdeclarator): Likewise.
      	* pt.c (tsubst): Likewise.
      	* semantics.c (finish_decltype_type): Likewise.
      	* typeck.c (cxx_sizeof_or_alignof_type): Likewise.
      	(cp_build_addr_expr_1): Likewise.
      	* init.c (build_new_1): Improve diagnostics.
      
      From-SVN: r208411
      Jason Merrill committed
    • re PR c++/58609 ([c++11] ICE with uninitialized variable in constexpr) · c12b3bd3
      /cp
      2014-03-07  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/58609
      	* decl.c (check_initializer): Return NULL_TREE after error;
      	consistently use inform.
      
      /testsuite
      2014-03-07  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/58609
      	* g++.dg/cpp0x/constexpr-ice12.C: New.
      
      From-SVN: r208410
      Paolo Carlini committed
    • MAINTAINERS: Remove avr maintainers: Anatoly Sokolov and Eric Weddington · df5bc1cb
      	* MAINTAINERS: Remove avr maintainers: Anatoly Sokolov and Eric Weddington
      
      From-SVN: r208406
      Denis Chertykov committed
    • * c.opt: Add -std=c++14. · 70e24808
      From-SVN: r208404
      Jason Merrill committed
    • * sort.c (backtrace_qsort): Use middle element as pivot. · dbe20842
      From-SVN: r208403
      Ian Lance Taylor committed
    • decl.c (check_initializer): Remove dead code. · bc65bdd5
      2014-03-07  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* decl.c (check_initializer): Remove dead code.
      
      From-SVN: r208402
      Paolo Carlini committed
    • Handle backtrace_qsort · a6c9ab4e
      	* libbacktrace/Makefile.am (libsanitizer_libbacktrace_la_SOURCES):
      	Add ../../libbacktrace/sort.c.
      	* libbacktrace/Makefile.in: Regenerate.
      	* libbacktrace/backtrace-rename.h (backtrace_qsort): Define.
      
      From-SVN: r208401
      Rainer Orth committed
    • re PR bootstrap/58572 (make bootstrap-lean leads to installation failure (doing… · 3b9edeac
      re PR bootstrap/58572 (make bootstrap-lean leads to installation failure (doing extra rebuilds and invoking system compiler))
      
      	PR bootstrap/58572
      	* Makefile.tpl (POSTSTAGE1_CXX_EXPORT): Use -isystem instead of
      	-I for libstdc++-v3 includes if $(LEAN).
      	* Makefile.in: Regenerated.
      
      From-SVN: r208400
      Jakub Jelinek committed
    • Improve @tlsldmplt test on Solaris 11/x86 · 040c446d
      	* configure.ac (HAVE_AS_IX86_TLSLDMPLT): Improve test for Solaris
      	11/x86 ld.
      	* configure: Regenerate.
      
      From-SVN: r208399
      Rainer Orth committed
    • Disable local dynamic TLS model on Solaris/x86 if as/ld cannot handle it · caa16d41
      	* configure.ac (TLS_SECTION_ASM_FLAG): Save as tls_section_flag.
      	(LIB_TLS_SPEC): Save as ld_tls_libs.
      	(HAVE_AS_IX86_TLSLDMPLT): Define as 1/0.
      	(HAVE_AS_IX86_TLSLDM): New test.
      	* configure, config.in: Regenerate.
      	* config/i386/i386.c (legitimize_tls_address): Fall back to
      	TLS_MODEL_GLOBAL_DYNAMIC on 32-bit Solaris/x86 if tool chain
      	cannot support TLS_MODEL_LOCAL_DYNAMIC.
      	* config/i386/i386.md (*tls_local_dynamic_base_32_gnu): Use if
      	instead of #ifdef in HAVE_AS_IX86_TLSLDMPLT test.
      
      From-SVN: r208398
      Rainer Orth committed
    • common.opt (fira-loop-pressure): Mark as optimization. · f3d83ffe
      2014-03-07  Paulo Matos  <paulo@matos-sorge.com>
      
      	* common.opt (fira-loop-pressure): Mark as optimization.
      
      From-SVN: r208395
      Paulo Matos committed
    • The error_mark_node is not an OpenMP mappable type. · b17a8b07
      	gcc/
      	* langhooks.c (lhd_omp_mappable_type): The error_mark_node is not
      	an OpenMP mappable type.
      	gcc/c/
      	* c-decl.c (c_decl_attributes): Use
      	lang_hooks.types.omp_mappable_type.
      	* c-typeck.c (c_finish_omp_clauses): Likewise.
      	gcc/testsuite/
      	* c-c++-common/gomp/map-1.c: Extend.
      
      From-SVN: r208394
      Thomas Schwinge committed
    • sort.c: New file. · c5604b48
      	* sort.c: New file.
      	* stest.c: New file.
      	* internal.h (backtrace_qsort): Declare.
      	* dwarf.c (read_abbrevs): Call backtrace_qsort instead of qsort.
      	(read_line_info, read_function_entry): Likewise.
      	(read_function_info, build_dwarf_data): Likewise.
      	* elf.c (elf_initialize_syminfo): Likewise.
      	* Makefile.am (libbacktrace_la_SOURCES): Add sort.c.
      	(stest_SOURCES, stest_LDADD): Define.
      	(check_PROGRAMS): Add stest.
      
      From-SVN: r208392
      Ian Lance Taylor committed
    • runtime: Fix GC bug caused by Entersyscall modifying reg. · 9c48398f
      This patch fixes a rare but serious bug.  The Go garbage
      collector only examines Go stacks.  When Go code calls a
      function that is not written in Go, it first calls
      syscall.Entersyscall.  Entersyscall records the position of
      the Go stack pointer and saves a copy of all the registers.
      If the garbage collector runs while the thread is executing
      the non-Go code, the garbage collector fetches the stack
      pointer and registers from the saved location.
      
      Entersyscall saves the registers using the getcontext
      function.  Unfortunately I didn't consider the possibility
      that Entersyscall might itself change a register before
      calling getcontext.  This only matters for callee-saved
      registers, as caller-saved registers would be visible on the
      saved stack.  And it only matters if Entersyscall is compiled
      to save and modify a callee-saved register before it calls
      getcontext.  And it only matters if a garbage collection
      occurs while the non-Go code is executing.  And it only
      matters if the only copy of a valid Go pointer happens to be
      in the callee-saved register when Entersyscall is called.
      When all those conditions are true, the Go pointer might get
      collected incorrectly, leading to memory corruption.
      
      This patch tries to avoid the problem by splitting
      Entersyscall into two functions.  The first is a simple
      function that just calls getcontext and then calls the rest of
      Entersyscall.  This should fix the problem, provided the
      simple Entersyscall function does not itself modify any
      callee-saved registers before calling getcontext.  That seems
      to be true on the systems I checked.  But since the argument
      to getcontext is an offset from a TLS variable, it won't be
      true on a system which needs to save callee-saved registers in
      order to get the address of a TLS variable.  I don't know why
      any system would work that way, but I don't know how to rule
      it out.  I think that on any such system this will have to be
      implemented in assembler.  I can't put the ucontext_t
      structure on the stack, because this function can not split
      stacks, and the ucontext_t structure is large enough that it
      could cause a stack overflow.
      
      From-SVN: r208390
      Ian Lance Taylor committed
    • Daily bump. · 663a7087
      From-SVN: r208389
      GCC Administrator committed
  2. 06 Mar, 2014 12 commits
    • re PR fortran/51976 ([F2003] Support deferred-length character components of… · 2b3dc0db
      re PR fortran/51976 ([F2003] Support deferred-length character components of derived types (allocatable string length))
      
      2014-03-06  Paul Thomas  <pault@gcc.gnu.org>
      	    Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/51976
      	* gfortran.h (symbol_attribute): Add deferred_parameter attribute.
      	* primary.c (build_actual_constructor): It is not an error if
      	a missing component has the deferred_parameter attribute;
      	equally, if one is given a value, it is an error.
      	* resolve.c (resolve_fl_derived0): Remove error for deferred
      	character length components.  Add the hidden string length
      	field to the structure. Give it the deferred_parameter
      	attribute.
      	* trans-array.c (duplicate_allocatable): Add a strlen field
      	which is used as the element size if it is non-null.
      	(gfc_duplicate_allocatable, gfc_copy_allocatable_data): Pass a
      	NULL to the new argument in duplicate_allocatable.
      	(structure_alloc_comps): Set the hidden string length as
      	appropriate. Use it in calls to duplicate_allocatable.
      	(gfc_alloc_allocatable_for_assignment): When a deferred length
      	backend declaration is variable, use that; otherwise use the
      	string length from the expression evaluation.
      	* trans-expr.c (gfc_conv_component_ref): If this is a deferred
      	character length component, the string length should have the
      	value of the hidden string length field.
      	(gfc_trans_subcomponent_assign): Set the hidden string length
      	field for deferred character length components.  Allocate the
      	necessary memory for the string.
      	(alloc_scalar_allocatable_for_assignment): Same change as in
      	gfc_alloc_allocatable_for_assignment above.
      	* trans-stmt.c (gfc_trans_allocate): Likewise.
      	* trans-intrinsic (size_of_string_in_bytes): Make non-static.
      	* trans-types.c (gfc_get_derived_type): Set the tree type for
      	a deferred character length component.
      	* trans.c (gfc_deferred_strlen): New function.
      	* trans.h (size_of_string_in_bytes,gfc_deferred_strlen): New prototypes.
      
      
      2014-03-06  Paul Thomas  <pault@gcc.gnu.org>
      	    Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/51976
      	* gfortran.dg/deferred_type_component_1.f90 : New test.
      	* gfortran.dg/deferred_type_component_2.f90 : New test.
      
      Co-Authored-By: Janus Weil <janus@gcc.gnu.org>
      
      From-SVN: r208386
      Paul Thomas committed
    • Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if MULTILIB_OSDIRNAMES is not defined. · 4973b0f9
      2014-03-06  Matthias Klose  <doko@ubuntu.com>
      
              * Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if
              MULTILIB_OSDIRNAMES is not defined.
      
      From-SVN: r208383
      Matthias Klose committed
    • re PR c/60197 (ICE with _Cilk_spawn in expression) · 3af9c5e9
      	PR c/60197
      c-family/
      	* cilk.c (contains_cilk_spawn_stmt): New function.
      	(contains_cilk_spawn_stmt_walker): Likewise.
      	(recognize_spawn): Give error on invalid use of _Cilk_spawn.
      	* c-common.h (contains_cilk_spawn_stmt): Add declaration.
      c/
      	* c-typeck.c (c_finish_return): Call contains_cilk_spawn_stmt instead
      	of checking tree code.
      cp/
      	* typeck.c (check_return_expr): Call contains_cilk_spawn_stmt instead
      	of checking tree code.
      testsuite/
      	* c-c++-common/cilk-plus/CK/pr60197.c: New test.
      	* c-c++-common/cilk-plus/CK/pr60197-2.c: New test.
      
      From-SVN: r208382
      Marek Polacek committed
    • Don't install vtv_*.o unless --enable-vtable-verify (PR libgcc/59339) · 227a7dc8
      	PR libgcc/59339
      	* config.host (*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu)
      	(*-*-knetbsd*-gnu, *-*-gnu*, *-*-kopensolaris*-gnu): Only add
      	vtv_*.o to extra_parts if enable_vtable_verify.
      
      From-SVN: r208381
      Rainer Orth committed
    • re PR target/58595 (internal compiler error: in gen_movsi when compiling on arm… · ab19cc6c
      re PR target/58595 (internal compiler error: in gen_movsi when compiling on arm some files of lttng-tools with -fPIE)
      
      	PR target/58595
      	* config/arm/arm.c (arm_tls_symbol_p): Remove.
      	(arm_legitimize_address): Call legitimize_tls_address for any
      	arm_tls_referenced_p expression, handle constant addend.  Call it
      	before testing for !TARGET_ARM.
      	(thumb_legitimize_address): Don't handle arm_tls_symbol_p here.
      
      	* gcc.dg/tls/pr58595.c: New test.
      
      Co-Authored-By: Meador Inge <meadori@codesourcery.com>
      
      From-SVN: r208380
      Jakub Jelinek committed
    • re PR middle-end/60445 (473.astar miscompares with -Ofast) · a74158c7
      2014-03-06  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/60445
      	PR lto/60424
      	PR lto/60427
      	Revert
      	2014-03-04  Paulo Matos  <paulo@matos-sorge.com>
      
              * tree-streamer.c (record_common_node): Assert we don't record
              nodes with type double.
              (preload_common_node): Skip type double, complex double and
              double pointer since it is now frontend dependent due to
              fshort-double option.
      
              * gcc.dg/lto/pr55113_0.c: New testcase.
      
      From-SVN: r208379
      Richard Biener committed
    • parser.c (cp_lexer_set_source_position): New. · d9d8f6b1
      2014-03-06  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* parser.c (cp_lexer_set_source_position): New.
      	(cp_parser_mem_initializer): Use it.
          	(cp_parser_postfix_open_square_expression): Likewise.
          	(cp_parser_parenthesized_expression_list): Likewise.
          	(cp_parser_new_initializer): Likewise.
          	(cp_parser_jump_statement): Likewise.
          	(cp_parser_initializer): Likewise.
          	(cp_parser_functional_cast): Likewise.
      
      From-SVN: r208378
      Paolo Carlini committed
    • gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin or -fno-lto is… · f3ba16d0
      gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin or -fno-lto is specified and the...
      
      2014-03-06  Richard Biener  <rguenther@suse.de>
      
      	* gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin
      	or -fno-lto is specified and the linker has full plugin support.
      	* collect2.c (lto_mode): Default to LTO_MODE_WHOPR if LTO is
      	enabled.
      	(main): Remove -flto processing, adjust lto_mode using
      	use_plugin late.
      	* lto-wrapper.c (merge_and_complain): Merge compile-time
      	optimization levels.
      	(run_gcc): And pass it through to the link options.
      
      From-SVN: r208375
      Richard Biener committed
    • t-msp430 (LIB2ADD): Add lib2hw_mul.S · df2b279c
      	* config/msp430/t-msp430 (LIB2ADD): Add lib2hw_mul.S
      	* config/msp430/lib2hw_mul.S: New: Hardware multiply routines.
      
      From-SVN: r208374
      Nick Clifton committed
    • re PR debug/60381 (ICE: in vt_expand_var_loc_chain, at var-tracking.c:8245) · 80662856
      PR debug/60381
      Revert:
      2014-02-28  Alexandre Oliva <aoliva@redhat.com>
      PR debug/59992
      * cselib.c (remove_useless_values): Skip to avoid quadratic
      behavior if the condition moved from...
      (cselib_process_insn): ... here holds.
      
      From-SVN: r208361
      Alexandre Oliva committed
    • Daily bump. · 21218047
      From-SVN: r208357
      GCC Administrator committed
  3. 05 Mar, 2014 9 commits
  4. 04 Mar, 2014 1 commit