Bug 42702 - Unimplemented functionality
Summary: Unimplemented functionality
Status: RESOLVED INVALID
Alias: None
Product: gcc
Classification: Unclassified
Component: c++ (show other bugs)
Version: 4.5.0
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-01-12 12:56 UTC by Piotr Wyderski
Modified: 2010-01-12 13:11 UTC (History)
1 user (show)

See Also:
Host: Cygwin/GCC-trunk
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Piotr Wyderski 2010-01-12 12:56:10 UTC
g++ -std=gnu++0x -c -O2

prints:

minimal.cpp:8:44: sorry, unimplemented: cannot expand '_Tail ...' into a fixed-l
ength argument list

reduced testcase:

  template<typename _Tp>
    class tuple<>
    {
        {
 }
  template<std::size_t __i, typename _Head, typename... _Tail>
    struct tuple_element<__i, tuple<_Head, _Tail...> >
    : tuple_element<__i - 1, tuple<_Tail...> > { };
Comment 1 Paolo Carlini 2010-01-12 12:59:32 UTC
If it's unimplemented, it's unimplemented, the issue is obviously known.
Comment 2 Piotr Wyderski 2010-01-12 13:05:28 UTC
Subject: Re:  Unimplemented functionality

paolo dot carlini wrote:

at oracle dot com <gcc-bugzilla@gcc.gnu.org>:

> If it's unimplemented, it's unimplemented, the issue
> is obviously known.

Even in this case?

runtime/base/stack_trace.h:130:30: sorry,
 unimplemented: inlining failed in call to
'base::stack_trace::stack_trace(size_t)': function not inlinable

Best regards
Piotr Wyderski
Comment 3 Paolo Carlini 2010-01-12 13:11:32 UTC
No, in this case it's just a diagnostic telling you that the function cannot be inlined by the optimizers, there is nothing in the Standard about that, and it can well be that for some reason (there are many possible) it will *never* be in the foreseeable future. But if exactly the same function *could* be inlined by a previous version of GCC and you cannot convince the new GCC to do that even playing with the various --param knobs, you could (should) file an optimization regression PR.