1. 20 Jun, 2013 12 commits
  2. 19 Jun, 2013 24 commits
  3. 18 Jun, 2013 4 commits
    • compiler, runtime: Use function descriptors. · fdbc38a6
      This changes the representation of a Go value of function type
      from being a pointer to function code (like a C function
      pointer) to being a pointer to a struct.  The first field of
      the struct points to the function code.  The remaining fields,
      if any, are the addresses of variables referenced in enclosing
      functions.  For each call to a function, the address of the
      function descriptor is passed as the last argument.
      
      This lets us avoid generating trampolines, and removes the use
      of writable/executable sections of the heap.
      
      From-SVN: r200181
      Ian Lance Taylor committed
    • re PR libstdc++/57641 (std::timed_mutex.try_lock_until() is broken) · 25e00ab6
      	PR libstdc++/57641
      	* include/std/mutex (timed_mutex, recursive_timed_mutex): Move common
      	functionality to new __timed_mutex_impl mixin. Overload try_lock_until
      	to handle conversion between different clocks. Replace constrained
      	__try_lock_for_impl overloads with conditional increment.
      	* include/std/shared_mutex (shared_mutex::_Mutex): Use the new mixin.
      	* testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: New.
      
      From-SVN: r200180
      Jonathan Wakely committed
    • Emit errors when always_inline functions cannot be inlined in -O0 mode. · bef8491a
      	* tree-inline.c (expand_call_inline): Allow the error to be flagged
      	in early inline pass.
      	* ipa-inline.c (inline_always_inline_functions): Pretend always_inline
      	functions are inlined during failures to flag an error.
      	* gcc.target/i386/inline_error.c: New test.
      	* gcc.c-torture/compile/pr44043.c: Fix test to expect an error.
      	* gcc.c-torture/compile/pr43791.c: Fix test to expect an error.
      
      From-SVN: r200179
      Sriraman Tallam committed
    • re PR c++/53211 (range-based 'for' expression of type 'const int []' has incomplete type) · 3dd55b2f
      /cp
      2013-06-18  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/53211
      	* pt.c (type_dependent_expression_p): Handle an array of unknown
      	bound depending on a variadic parameter.
      	* parser.c (cp_parser_range_for): Revert PR56794 changes.
      
      /testsuite
      2013-06-18  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/53211
      	* g++.dg/cpp0x/decltype55.C: New.
      
      From-SVN: r200178
      Paolo Carlini committed