[llvm-bugs] [Bug 38374] New: nested class using NSDMI fails std::is_default_constructible

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Jul 30 12:37:26 PDT 2018


https://bugs.llvm.org/show_bug.cgi?id=38374

            Bug ID: 38374
           Summary: nested class using NSDMI fails
                    std::is_default_constructible
           Product: clang
           Version: trunk
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++
          Assignee: unassignedclangbugs at nondot.org
          Reporter: rparolin at ea.com
                CC: dgregor at apple.com, llvm-bugs at lists.llvm.org

I'm seeing odd behavior in Clang when trying to determine if a nested class
using NSDMI is default constructible.  Has anyone seen this before?  I've seen
this on older versions of clang but it is reproducible on clang-trunk via
godbolt.

https://godbolt.org/g/XSC6wJ


The Clang AST dump claims the default-ctor exists.

  `-CXXRecordDecl <line:5:5, line:10:5> line:5:12 struct inner definition
    |-DefinitionData pass_in_registers aggregate standard_layout
trivially_copyable literal has_constexpr_non_copy_move_ctor
can_const_default_init
    | |-DefaultConstructor exists non_trivial constexpr needs_implicit
defaulted_is_constexpr


In addition, there appears to be some wierdness where the static_asserts are
being suppressed based on their ordering.  ie.  The first static_assert fires
but others don't.
https://godbolt.org/g/9V7tqK

-- 
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/20180730/78da6b63/attachment.html>


More information about the llvm-bugs mailing list