public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libstdc++/57899] bind/function with data member: infinite recursion
       [not found] <bug-57899-4@http.gcc.gnu.org/bugzilla/>
@ 2013-07-15 10:53 ` redi at gcc dot gnu.org
  2013-07-15 10:56 ` redi at gcc dot gnu.org
                   ` (17 subsequent siblings)
  18 siblings, 0 replies; 19+ messages in thread
From: redi at gcc dot gnu.org @ 2013-07-15 10:53 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57899

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2013-07-15
          Component|c++                         |libstdc++
     Ever confirmed|0                           |1

--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> ---
N.B. you can simplify
         bind(&pair<const string, int>::first, _1); 
to:
        mem_fn(&pair<const string, int>::first);
although that doesn't fix the problem.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug libstdc++/57899] bind/function with data member: infinite recursion
       [not found] <bug-57899-4@http.gcc.gnu.org/bugzilla/>
  2013-07-15 10:53 ` [Bug libstdc++/57899] bind/function with data member: infinite recursion redi at gcc dot gnu.org
@ 2013-07-15 10:56 ` redi at gcc dot gnu.org
  2013-07-21 19:32 ` paolo.carlini at oracle dot com
                   ` (16 subsequent siblings)
  18 siblings, 0 replies; 19+ messages in thread
From: redi at gcc dot gnu.org @ 2013-07-15 10:56 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57899

--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Reduced slightly:

#include <string>
#include <functional>
using namespace std;
using namespace std::placeholders;

int main()
{
    pair<string, int> table = {"0123456789012345", 0};
    auto get_first = mem_fn(&pair<string, int>::first);

    auto it = bind(greater<size_t>(), bind(&string::length, bind(get_first,
_1)), 5);
    it(table);
}


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug libstdc++/57899] bind/function with data member: infinite recursion
       [not found] <bug-57899-4@http.gcc.gnu.org/bugzilla/>
  2013-07-15 10:53 ` [Bug libstdc++/57899] bind/function with data member: infinite recursion redi at gcc dot gnu.org
  2013-07-15 10:56 ` redi at gcc dot gnu.org
@ 2013-07-21 19:32 ` paolo.carlini at oracle dot com
  2013-07-21 19:58 ` redi at gcc dot gnu.org
                   ` (15 subsequent siblings)
  18 siblings, 0 replies; 19+ messages in thread
From: paolo.carlini at oracle dot com @ 2013-07-21 19:32 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57899

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jwakely.gcc at gmail dot com

--- Comment #3 from Paolo Carlini <paolo.carlini at oracle dot com> ---
Do we know if this is a library or a c++ front-end issue? In the latter case
should be reduced a lot more...


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug libstdc++/57899] bind/function with data member: infinite recursion
       [not found] <bug-57899-4@http.gcc.gnu.org/bugzilla/>
                   ` (2 preceding siblings ...)
  2013-07-21 19:32 ` paolo.carlini at oracle dot com
@ 2013-07-21 19:58 ` redi at gcc dot gnu.org
  2013-09-18 11:56 ` redi at gcc dot gnu.org
                   ` (14 subsequent siblings)
  18 siblings, 0 replies; 19+ messages in thread
From: redi at gcc dot gnu.org @ 2013-07-21 19:58 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57899

--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> ---
I think it's the library, but haven't been able to reduce it yet.

With only one nested bind expressions the code works, but with a second nested
bind it fails.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug libstdc++/57899] bind/function with data member: infinite recursion
       [not found] <bug-57899-4@http.gcc.gnu.org/bugzilla/>
                   ` (3 preceding siblings ...)
  2013-07-21 19:58 ` redi at gcc dot gnu.org
@ 2013-09-18 11:56 ` redi at gcc dot gnu.org
  2013-09-18 12:14 ` redi at gcc dot gnu.org
                   ` (13 subsequent siblings)
  18 siblings, 0 replies; 19+ messages in thread
From: redi at gcc dot gnu.org @ 2013-09-18 11:56 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57899

--- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Reduced a bit more to only depend on std::bind

#include <functional>
using std::bind;
using std::placeholders::_1;

struct S { int i; };

struct P { S s; };

struct get_s
{
    const S& operator()(const P& p) const { return p.s; }
} gs;

int gi(const S& s) { return s.i; }

bool cmp(int, int) { return true; }

int main()
{
    P p{};
    auto f1 = bind(gs, _1);
    auto f2 = bind(gi, f1);
    auto f3 = bind(cmp, f2, 5);
    f3(p);
}


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug libstdc++/57899] bind/function with data member: infinite recursion
       [not found] <bug-57899-4@http.gcc.gnu.org/bugzilla/>
                   ` (4 preceding siblings ...)
  2013-09-18 11:56 ` redi at gcc dot gnu.org
@ 2013-09-18 12:14 ` redi at gcc dot gnu.org
  2013-10-21 12:12 ` paolo.carlini at oracle dot com
                   ` (12 subsequent siblings)
  18 siblings, 0 replies; 19+ messages in thread
From: redi at gcc dot gnu.org @ 2013-09-18 12:14 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57899

--- Comment #6 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Clang compiles the preprocessed source OK, so the problem may be in the
front-end not the library.

Commenting out the volatile and const volatile overloads of _Bind::operator()
allows the program to compile with G++.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug libstdc++/57899] bind/function with data member: infinite recursion
       [not found] <bug-57899-4@http.gcc.gnu.org/bugzilla/>
                   ` (5 preceding siblings ...)
  2013-09-18 12:14 ` redi at gcc dot gnu.org
@ 2013-10-21 12:12 ` paolo.carlini at oracle dot com
  2014-01-08 14:34 ` redi at gcc dot gnu.org
                   ` (11 subsequent siblings)
  18 siblings, 0 replies; 19+ messages in thread
From: paolo.carlini at oracle dot com @ 2013-10-21 12:12 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57899

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |joerg.richter@pdv-fs.de

--- Comment #7 from Paolo Carlini <paolo.carlini at oracle dot com> ---
*** Bug 58825 has been marked as a duplicate of this bug. ***


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug libstdc++/57899] bind/function with data member: infinite recursion
       [not found] <bug-57899-4@http.gcc.gnu.org/bugzilla/>
                   ` (6 preceding siblings ...)
  2013-10-21 12:12 ` paolo.carlini at oracle dot com
@ 2014-01-08 14:34 ` redi at gcc dot gnu.org
  2014-01-08 15:43 ` redi at gcc dot gnu.org
                   ` (10 subsequent siblings)
  18 siblings, 0 replies; 19+ messages in thread
From: redi at gcc dot gnu.org @ 2014-01-08 14:34 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57899

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rafal at rawicki dot org

--- Comment #8 from Jonathan Wakely <redi at gcc dot gnu.org> ---
*** Bug 59721 has been marked as a duplicate of this bug. ***


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug libstdc++/57899] bind/function with data member: infinite recursion
       [not found] <bug-57899-4@http.gcc.gnu.org/bugzilla/>
                   ` (7 preceding siblings ...)
  2014-01-08 14:34 ` redi at gcc dot gnu.org
@ 2014-01-08 15:43 ` redi at gcc dot gnu.org
  2014-01-08 18:14 ` [Bug c++/57899] [4.8/4.9 Regression] " redi at gcc dot gnu.org
                   ` (9 subsequent siblings)
  18 siblings, 0 replies; 19+ messages in thread
From: redi at gcc dot gnu.org @ 2014-01-08 15:43 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57899

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |eric.niebler at gmail dot com

--- Comment #9 from Jonathan Wakely <redi at gcc dot gnu.org> ---
*** Bug 59360 has been marked as a duplicate of this bug. ***


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/57899] [4.8/4.9 Regression] bind/function with data member: infinite recursion
       [not found] <bug-57899-4@http.gcc.gnu.org/bugzilla/>
                   ` (8 preceding siblings ...)
  2014-01-08 15:43 ` redi at gcc dot gnu.org
@ 2014-01-08 18:14 ` redi at gcc dot gnu.org
  2014-01-21 17:48 ` rafal at rawicki dot org
                   ` (8 subsequent siblings)
  18 siblings, 0 replies; 19+ messages in thread
From: redi at gcc dot gnu.org @ 2014-01-08 18:14 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57899

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jason at gcc dot gnu.org
          Component|libstdc++                   |c++

--- Comment #10 from Jonathan Wakely <redi at gcc dot gnu.org> ---
I still haven't reduced this to a reasonable test-case but I do think it's a
front-end issue. It started with:

commit c85d5a000d09ffe63d1706b7dd25fed5215f227a
Author: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Sat Aug 25 03:30:11 2012 +0000

        PR c++/51213 (again)
        * pt.c (deduction_tsubst_fntype): Remove.
        (fn_type_unification): Check deduction depth and call
        instantiate_template here.  Handle default argument access checks.
        (determine_specialization): Suppress access control.
        (tsubst_decl): Check for excessive deduction depth.
        (recheck_decl_substitution): Make sure access control is on.
        (type_unification_real): Don't mess with access deferring here.
        (get_bindings): Adjust for fn_type_unification return type.
        * call.c (enum rejection_reason_code): Drop rr_template_instantiation.
        (template_instantiation_rejection): Remove.
        (struct rejection_reason): Change targs to num_targs.
        (template_unification_rejection, print_z_candidate): Adjust.
        (add_template_candidate_real): Adjust for fn_type_unification change.
        * class.c (resolve_address_of_overloaded_function): Likewise.
        * cp-tree.h: Adjust declaration.

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


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/57899] [4.8/4.9 Regression] bind/function with data member: infinite recursion
       [not found] <bug-57899-4@http.gcc.gnu.org/bugzilla/>
                   ` (9 preceding siblings ...)
  2014-01-08 18:14 ` [Bug c++/57899] [4.8/4.9 Regression] " redi at gcc dot gnu.org
@ 2014-01-21 17:48 ` rafal at rawicki dot org
  2014-01-21 18:01 ` redi at gcc dot gnu.org
                   ` (7 subsequent siblings)
  18 siblings, 0 replies; 19+ messages in thread
From: rafal at rawicki dot org @ 2014-01-21 17:48 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57899

--- Comment #11 from Rafał Rawicki <rafal at rawicki dot org> ---
Created attachment 31909
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31909&action=edit
C-reduced testcase

I've c-reduced given testcase. Compare lines 103 and 115, I think the problem
lies here.
>From gcc-bugs-return-441135-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Tue Jan 21 17:56:08 2014
Return-Path: <gcc-bugs-return-441135-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 1369 invoked by alias); 21 Jan 2014 17:56:08 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 1316 invoked by uid 55); 21 Jan 2014 17:55:59 -0000
From: "joseph at codesourcery dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug other/59893] Use LTO for libgcc.a, libstdc++.a, etc
Date: Tue, 21 Jan 2014 17:56:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: other
X-Bugzilla-Version: 4.9.0
X-Bugzilla-Keywords: build, lto
X-Bugzilla-Severity: enhancement
X-Bugzilla-Who: joseph at codesourcery dot com
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-59893-4-SaFbVEve7O@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-59893-4@http.gcc.gnu.org/bugzilla/>
References: <bug-59893-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2014-01/txt/msg02277.txt.bz2
Content-length: 1484

http://gcc.gnu.org/bugzilla/show_bug.cgi?idY893

--- Comment #3 from joseph at codesourcery dot com <joseph at codesourcery dot com> ---
On Tue, 21 Jan 2014, glisse at gcc dot gnu.org wrote:

> http://gcc.gnu.org/bugzilla/show_bug.cgi?idY893
>
> --- Comment #2 from Marc Glisse <glisse at gcc dot gnu.org> ---
> (In reply to joseph@codesourcery.com from comment #1)
> > Are LTO objects now independent of the compiler host (see bug 41526) (so
> > that such libraries will work properly when copied from one host to
> > another as part of a Canadian cross build)?
>
> Thanks for the link (I don't know much about the implementation of LTO). Maybe
> restricting my proposition to the case build==host would be safer? If only
> native builds work, I am still ok with that, but I won't be surprised if there
> are bugs preventing it...

My point is not just that a Canadian cross build where the target
libraries get rebuilt would rebuild them with the build-x-target compiler
(producing results not actually usable on the host), but that the normal
case for a Canadian cross build would copy the libraries from the
build-x-target compiler - which was built with build = host - rather than
rebuilding them at all (using make all-host when building the Canadian
cross compiler).

Essentially, I'm suggesting that host-dependence of LTO information *is* a
reason to consider use of LTO in GCC's libraries as something experimental
and not appropriate to enable by default.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/57899] [4.8/4.9 Regression] bind/function with data member: infinite recursion
       [not found] <bug-57899-4@http.gcc.gnu.org/bugzilla/>
                   ` (10 preceding siblings ...)
  2014-01-21 17:48 ` rafal at rawicki dot org
@ 2014-01-21 18:01 ` redi at gcc dot gnu.org
  2014-01-21 18:29 ` rafal at rawicki dot org
                   ` (6 subsequent siblings)
  18 siblings, 0 replies; 19+ messages in thread
From: redi at gcc dot gnu.org @ 2014-01-21 18:01 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57899

--- Comment #12 from Jonathan Wakely <redi at gcc dot gnu.org> ---
C-reduce has created an invalid testcase, hasn't it?  Line 115 is invalid, but
the corresponding line in <functional> is not the same.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/57899] [4.8/4.9 Regression] bind/function with data member: infinite recursion
       [not found] <bug-57899-4@http.gcc.gnu.org/bugzilla/>
                   ` (11 preceding siblings ...)
  2014-01-21 18:01 ` redi at gcc dot gnu.org
@ 2014-01-21 18:29 ` rafal at rawicki dot org
  2014-01-21 19:08 ` rafal at rawicki dot org
                   ` (5 subsequent siblings)
  18 siblings, 0 replies; 19+ messages in thread
From: rafal at rawicki dot org @ 2014-01-21 18:29 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57899

--- Comment #13 from Rafał Rawicki <rafal at rawicki dot org> ---
Right, the reduced testcase is invalid. I'll try to generate a valid one.

In the meantime, I looked at the corresponding place in <functional> (gcc
4.8.2):

1125   /**
1126    *  If the argument is a bind expression, we invoke the underlying
1127    *  function object with the same cv-qualifiers as we are given and
1128    *  pass along all of our arguments (unwrapped). [TR1 3.6.3/5 bullet 2]
1129    */
1130   template<typename _Arg>
1131     class _Mu<_Arg, true, false>
1132     {
1133     public:
1134       template<typename _CVArg, typename... _Args>
1135     auto operator()(_CVArg& __arg, tuple<_Args...>& __tuple) const
volatile
1136     -> decltype(__arg(declval<_Args>()...))
1137     {
1138       // Construct an index tuple and forward to __call
1139       typedef typename _Build_index_tuple<sizeof...(_Args)>::__type
1140         _Indexes;
1141       return __arg(std::forward<_Args>(get<_Indexes>(__tuple))...);
1142       //return this->__call(__arg, __tuple, _Indexes());
1143     } 
1144     
1145     private:
1146       // Invokes the underlying function object __arg by unpacking all
1147       // of the arguments in the tuple.
1148       template<typename _CVArg, typename... _Args, std::size_t...
_Indexes>
1149     auto __call(_CVArg& __arg, tuple<_Args...>& __tuple, const
_Index_tuple<_Indexes...>&) const volatile
1150     -> decltype(__arg(declval<_Args>()...))
1151     {
1152       return __arg(std::forward<_Args>(get<_Indexes>(__tuple))...);
1153     } 
1154     };

When I commented out return statement in the operator() and put _call body in
that place I got ICE without infinite recursion.
>From gcc-bugs-return-441142-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Tue Jan 21 18:50:07 2014
Return-Path: <gcc-bugs-return-441142-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 5846 invoked by alias); 21 Jan 2014 18:50:06 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 5711 invoked by uid 55); 21 Jan 2014 18:50:00 -0000
From: "sje at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/59462] c-c++-common/cilk-plus/AN/builtin_func_double2.c fails on MIPS
Date: Tue, 21 Jan 2014 18:50:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: target
X-Bugzilla-Version: unknown
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: sje at gcc dot gnu.org
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-59462-4-NLNumriPLT@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-59462-4@http.gcc.gnu.org/bugzilla/>
References: <bug-59462-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2014-01/txt/msg02284.txt.bz2
Content-length: 579

http://gcc.gnu.org/bugzilla/show_bug.cgi?idY462

--- Comment #2 from Steve Ellcey <sje at gcc dot gnu.org> ---
Author: sje
Date: Tue Jan 21 18:49:27 2014
New Revision: 206894

URL: http://gcc.gnu.org/viewcvs?rev 6894&root=gcc&view=rev
Log:
Backport from mainline.

2014-01-17  Andrew Pinski <apinski@cavium.com>
        Steve Ellcey  <sellcey@mips.com>

    PR target/59462
    * config/mips/mips.c (mips_print_operand): Check operand mode instead
    of operator mode.

Modified:
    branches/gcc-4_8-branch/gcc/ChangeLog
    branches/gcc-4_8-branch/gcc/config/mips/mips.c


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/57899] [4.8/4.9 Regression] bind/function with data member: infinite recursion
       [not found] <bug-57899-4@http.gcc.gnu.org/bugzilla/>
                   ` (12 preceding siblings ...)
  2014-01-21 18:29 ` rafal at rawicki dot org
@ 2014-01-21 19:08 ` rafal at rawicki dot org
  2014-01-30 14:42 ` paolo.carlini at oracle dot com
                   ` (4 subsequent siblings)
  18 siblings, 0 replies; 19+ messages in thread
From: rafal at rawicki dot org @ 2014-01-21 19:08 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57899

--- Comment #14 from Rafał Rawicki <rafal at rawicki dot org> ---
Created attachment 31910
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31910&action=edit
C-reduced testcase with valid code

C-reduce seems to be very stubborn in removing these parentheses, but this
testcase compiles under clang 3.4 and gcc 4.7 and causes infinite recursion
under gcc 4.8.2
>From gcc-bugs-return-441146-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Tue Jan 21 19:12:43 2014
Return-Path: <gcc-bugs-return-441146-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 27456 invoked by alias); 21 Jan 2014 19:12:42 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 27420 invoked by uid 55); 21 Jan 2014 19:12:38 -0000
From: "jakub at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/59003] [4.9 Regression] profiledbootstrap miscompiles gcc during stagefeedback --with-tune=amdfam10
Date: Tue, 21 Jan 2014 19:12:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: target
X-Bugzilla-Version: 4.9.0
X-Bugzilla-Keywords: wrong-code
X-Bugzilla-Severity: normal
X-Bugzilla-Who: jakub at gcc dot gnu.org
X-Bugzilla-Status: ASSIGNED
X-Bugzilla-Priority: P1
X-Bugzilla-Assigned-To: jakub at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 4.9.0
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-59003-4-tIG6JQ1fen@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-59003-4@http.gcc.gnu.org/bugzilla/>
References: <bug-59003-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2014-01/txt/msg02288.txt.bz2
Content-length: 715

http://gcc.gnu.org/bugzilla/show_bug.cgi?idY003

--- Comment #11 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Author: jakub
Date: Tue Jan 21 19:12:06 2014
New Revision: 206896

URL: http://gcc.gnu.org/viewcvs?rev 6896&root=gcc&view=rev
Log:
    PR target/59003
    * config/i386/i386.c (expand_small_movmem_or_setmem): If mode is
    smaller than size, perform several stores or loads and stores
    at dst + count - size to store or copy all of size bytes, rather
    than just last modesize bytes.

    * gcc.dg/tree-prof/pr59003.c: New test.

Added:
    trunk/gcc/testsuite/gcc.dg/tree-prof/pr59003.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/i386/i386.c
    trunk/gcc/testsuite/ChangeLog


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/57899] [4.8/4.9 Regression] bind/function with data member: infinite recursion
       [not found] <bug-57899-4@http.gcc.gnu.org/bugzilla/>
                   ` (13 preceding siblings ...)
  2014-01-21 19:08 ` rafal at rawicki dot org
@ 2014-01-30 14:42 ` paolo.carlini at oracle dot com
  2014-01-30 15:35 ` jason at gcc dot gnu.org
                   ` (3 subsequent siblings)
  18 siblings, 0 replies; 19+ messages in thread
From: paolo.carlini at oracle dot com @ 2014-01-30 14:42 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57899

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P2

--- Comment #15 from Paolo Carlini <paolo.carlini at oracle dot com> ---
This should be at least a P2, IMO (I thought it was already...)


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/57899] [4.8/4.9 Regression] bind/function with data member: infinite recursion
       [not found] <bug-57899-4@http.gcc.gnu.org/bugzilla/>
                   ` (14 preceding siblings ...)
  2014-01-30 14:42 ` paolo.carlini at oracle dot com
@ 2014-01-30 15:35 ` jason at gcc dot gnu.org
  2014-01-31  3:48 ` jason at gcc dot gnu.org
                   ` (2 subsequent siblings)
  18 siblings, 0 replies; 19+ messages in thread
From: jason at gcc dot gnu.org @ 2014-01-30 15:35 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57899

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |jason at gcc dot gnu.org


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/57899] [4.8/4.9 Regression] bind/function with data member: infinite recursion
       [not found] <bug-57899-4@http.gcc.gnu.org/bugzilla/>
                   ` (16 preceding siblings ...)
  2014-01-31  3:48 ` jason at gcc dot gnu.org
@ 2014-01-31  3:48 ` jason at gcc dot gnu.org
  2014-01-31  3:48 ` jason at gcc dot gnu.org
  18 siblings, 0 replies; 19+ messages in thread
From: jason at gcc dot gnu.org @ 2014-01-31  3:48 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57899

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED
   Target Milestone|---                         |4.8.3

--- Comment #17 from Jason Merrill <jason at gcc dot gnu.org> ---
Fixed for 4.8.3/4.9.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/57899] [4.8/4.9 Regression] bind/function with data member: infinite recursion
       [not found] <bug-57899-4@http.gcc.gnu.org/bugzilla/>
                   ` (17 preceding siblings ...)
  2014-01-31  3:48 ` jason at gcc dot gnu.org
@ 2014-01-31  3:48 ` jason at gcc dot gnu.org
  18 siblings, 0 replies; 19+ messages in thread
From: jason at gcc dot gnu.org @ 2014-01-31  3:48 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57899

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED
   Target Milestone|---                         |4.8.3

--- Comment #17 from Jason Merrill <jason at gcc dot gnu.org> ---
Fixed for 4.8.3/4.9.

--- Comment #18 from Jason Merrill <jason at gcc dot gnu.org> ---
Author: jason
Date: Fri Jan 31 03:48:05 2014
New Revision: 207333

URL: http://gcc.gnu.org/viewcvs?rev=207333&root=gcc&view=rev
Log:
    PR c++/57899
    * pt.c (instantiate_template_1): Save/restore local_specializations.

Added:
    branches/gcc-4_8-branch/libstdc++-v3/testsuite/20_util/bind/57899.cc
Modified:
    branches/gcc-4_8-branch/gcc/cp/ChangeLog
    branches/gcc-4_8-branch/gcc/cp/pt.c


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/57899] [4.8/4.9 Regression] bind/function with data member: infinite recursion
       [not found] <bug-57899-4@http.gcc.gnu.org/bugzilla/>
                   ` (15 preceding siblings ...)
  2014-01-30 15:35 ` jason at gcc dot gnu.org
@ 2014-01-31  3:48 ` jason at gcc dot gnu.org
  2014-01-31  3:48 ` jason at gcc dot gnu.org
  2014-01-31  3:48 ` jason at gcc dot gnu.org
  18 siblings, 0 replies; 19+ messages in thread
From: jason at gcc dot gnu.org @ 2014-01-31  3:48 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57899

--- Comment #16 from Jason Merrill <jason at gcc dot gnu.org> ---
Author: jason
Date: Fri Jan 31 03:47:22 2014
New Revision: 207332

URL: http://gcc.gnu.org/viewcvs?rev=207332&root=gcc&view=rev
Log:
    PR c++/57899
    * cp-tree.h (struct saved_scope): Add x_local_specializations.
    (local_specializations): New macro.
    * pt.c (local_specializations): Remove variable.

Added:
    trunk/libstdc++-v3/testsuite/20_util/bind/57899.cc
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/cp-tree.h
    trunk/gcc/cp/pt.c


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2014-01-31  3:48 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-57899-4@http.gcc.gnu.org/bugzilla/>
2013-07-15 10:53 ` [Bug libstdc++/57899] bind/function with data member: infinite recursion redi at gcc dot gnu.org
2013-07-15 10:56 ` redi at gcc dot gnu.org
2013-07-21 19:32 ` paolo.carlini at oracle dot com
2013-07-21 19:58 ` redi at gcc dot gnu.org
2013-09-18 11:56 ` redi at gcc dot gnu.org
2013-09-18 12:14 ` redi at gcc dot gnu.org
2013-10-21 12:12 ` paolo.carlini at oracle dot com
2014-01-08 14:34 ` redi at gcc dot gnu.org
2014-01-08 15:43 ` redi at gcc dot gnu.org
2014-01-08 18:14 ` [Bug c++/57899] [4.8/4.9 Regression] " redi at gcc dot gnu.org
2014-01-21 17:48 ` rafal at rawicki dot org
2014-01-21 18:01 ` redi at gcc dot gnu.org
2014-01-21 18:29 ` rafal at rawicki dot org
2014-01-21 19:08 ` rafal at rawicki dot org
2014-01-30 14:42 ` paolo.carlini at oracle dot com
2014-01-30 15:35 ` jason at gcc dot gnu.org
2014-01-31  3:48 ` jason at gcc dot gnu.org
2014-01-31  3:48 ` jason at gcc dot gnu.org
2014-01-31  3:48 ` jason at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).