[LLVMbugs] [Bug 18560] New: decltype as default template argument & C++11 in-class initialization

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Jan 20 10:25:56 PST 2014


            Bug ID: 18560
           Summary: decltype as default template argument & C++11 in-class
           Product: clang
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: -New Bugs
          Assignee: unassignedclangbugs at nondot.org
          Reporter: malekchristoph at gmail.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

clang++ -v:
clang version 3.4 (tags/RELEASE_34/final)
Target: x86_64-unknown-linux-gnu
Thread model: posix


This code crashes the frontend.
As you can see, only the in-class initialization does not work.

struct some_type
    int m_some_member{0};

template<typename T, typename Value_Type = decltype(T::m_some_member)>
Value_Type some_func()
{return 10;}

class some_wrapper
    int m_some_more_member{some_func<some_type>()}; // CRASH!

    some_wrapper() :
        m_some_more_member{some_func<some_type>()} // WORKS!
    { }

    void some_method() noexcept
        m_some_more_member = some_func<some_type>(); // WORKS!

You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20140120/d7b0f5d7/attachment.html>

More information about the llvm-bugs mailing list