[llvm-bugs] [Bug 26001] New: [clang-cl] error: "asm operand has incomplete type" on boost::atomic

via llvm-bugs llvm-bugs at lists.llvm.org
Sat Jan 2 12:26:24 PST 2016


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

            Bug ID: 26001
           Summary: [clang-cl] error: "asm operand has incomplete type" on
                    boost::atomic
           Product: clang
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: -New Bugs
          Assignee: unassignedclangbugs at nondot.org
          Reporter: heavenandhell171 at gmail.com
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

Clang is failing to compile this:

#include <boost/atomic.hpp>

int main() {
  boost::atomic<boost::int64_t> counter;
  counter.store(0, boost::memory_order_relaxed);
  return 0;
}

This is one of the errors i'm getting:

../boost_1_60_0\boost/atomic/detail/ops_msvc_x86.hpp(640,26) :  error: asm
operand has incomplete type 'volatile storage_type *' (aka 'volatile typename
      make_storage_type<8U, Signed>::type *')
                mov edx, p
                         ^

The snippet is a reduced test case i extracted from a library. It can be built
with the following command (there's no need to build boost):

clang-cl Tmp.cpp -Ic:\boost_1_60_0\

Note, the error only happen with 64 bit integers, if i change the type to
int32_t or long, there's no error.

-- 
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/20160102/aadad31b/attachment.html>


More information about the llvm-bugs mailing list