Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-71448

std::make_unique is available in clang-3.4.1 with c++11

    XMLWordPrintable

    Details

    • Commits:
      c765d5945b75a54d61297b8923497a034020337a (qt/qtdeclarative/5.12.0)

      Description

      Moin moin

       

      The commit [1] breaks compilation of Qml on FreeBSD 10.4 with clang 3.4.1 – and therefore likely also other (supported) platforms which are using clang.

       

      In file included from jsapi/qjsvalue.cpp:52:
      In file included from jsruntime/qv4regexpobject_p.h:61:
      In file included from jsruntime/qv4regexp_p.h:63:
      In file included from ../3rdparty/masm/yarr/YarrInterpreter.h:29:
      ../3rdparty/masm/yarr/YarrPattern.h:315:31: error: call to 'make_unique' is ambiguous
       m_alternatives.append(std::make_unique<PatternAlternative>(this));
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      /usr/include/c++/v1/memory:3045:1: note: candidate function [with _Tp = JSC::Yarr::PatternAlternative, _Args = <JSC::Yarr::PatternDisjunction *>]
      make_unique(_Args&&... __args)
      ^
      ../3rdparty/masm/stubs/wtf/Optional.h:90:19: note: candidate function [with T = JSC::Yarr::PatternAlternative, Args = <JSC::Yarr::PatternDisjunction *>]
       unique_ptr<T> make_unique(Args &&...args)
       ^
      1 error generated.
      *** [.obj/qjsvalue.o] Error code 1
      
      make[2]: stopped in /wrkdirs/usr/ports/lang/qt5-qml/work/qtdeclarative-everywhere-src-5.12.0-beta3/src/qml
      --- .obj/qv4compileddata.o ---
      In file included from compiler/qv4compileddata.cpp:47:
      In file included from ../../include/QtQml/5.12.0/QtQml/private/qv4regexpobject_p.h:1:
      In file included from ../../include/QtQml/5.12.0/QtQml/private/../../../../../src/qml/jsruntime/qv4regexpobject_p.h:61:
      In file included from jsruntime/qv4regexp_p.h:63:
      In file included from ../3rdparty/masm/yarr/YarrInterpreter.h:29:
      ../3rdparty/masm/yarr/YarrPattern.h:315:31: error: call to 'make_unique' is ambiguous
       m_alternatives.append(std::make_unique<PatternAlternative>(this));
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      /usr/include/c++/v1/memory:3045:1: note: candidate function [with _Tp = JSC::Yarr::PatternAlternative, _Args = <JSC::Yarr::PatternDisjunction *>]
      make_unique(_Args&&... __args)
      ^
      ../3rdparty/masm/stubs/wtf/Optional.h:90:19: note: candidate function [with T = JSC::Yarr::PatternAlternative, Args = <JSC::Yarr::PatternDisjunction *>]
       unique_ptr<T> make_unique(Args &&...args)
       ^
      1 error generated.
      *** [.obj/qv4compileddata.o] Error code 1
      

       
      [1] https://github.com/qt/qtdeclarative/commit/f97e72d1da5961b5702f05653e42c9e853f75400

        Attachments

        For Gerrit Dashboard: QTBUG-71448
        # Subject Branch Project Status CR V

          Activity

            People

            Assignee:
            laknoll Lars Knoll
            Reporter:
            tberner Tobias C. Berner
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes