[LLVMbugs] [Bug 14943] New: using std::async can produce invalid code

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Sun Jan 13 07:40:03 PST 2013


http://llvm.org/bugs/show_bug.cgi?id=14943

             Bug #: 14943
           Summary: using std::async can produce invalid code
           Product: clang
           Version: 3.2
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++11
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: moswald at gmail.com
                CC: dgregor at apple.com, llvmbugs at cs.uiuc.edu
    Classification: Unclassified


The following code compiles cleanly with clang 3.1, but 3.2 will always result
in an illegal hardware instruction:

    #include <future>
    #include <iostream>

    int main()
    {
        std::async(
            []() {}
        ).get();

        std::cout << "success\n";
    }

~/projects/scratch> clang++3.1 test.cpp -std=c++11 -stdlib=libstdc++ -pthread
&& ./a.out
success

~/projects/scratch> clang++3.2 test.cpp -std=c++11 -stdlib=libstdc++ -pthread
&& ./a.out
[1]    2576 illegal hardware instruction (core dumped)  ./a.out

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list