[LLVMbugs] [Bug 19361] New: MS mangler: No mangling for C++11 reference qualified methods

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Apr 7 13:27:47 PDT 2014


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

            Bug ID: 19361
           Summary: MS mangler: No mangling for C++11 reference qualified
                    methods
           Product: clang
           Version: unspecified
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: LLVM Codegen
          Assignee: unassignedclangbugs at nondot.org
          Reporter: rnk at google.com
                CC: llvmbugs at cs.uiuc.edu
            Blocks: 12477
    Classification: Unclassified

TIL this program should print "lval ref\nrval ref\n":

extern "C" void puts(const char *);
struct A {
  void foo() &;
  void foo() &&;
};
void A::foo() & {
  puts("lval ref");
}
void A::foo() && {
  puts("rval ref");
}
int main() {
  A a;
  a.foo();
  A().foo();
}

MSVC doesn't know how to parse ref-qualified functions, so we don't have any
mangling to follow.  Clang currently does this:
$ clang-cl t.cpp -c
t.cpp(9,9) :  error: definition with same mangled name as another definition
void A::foo() && {
        ^
1 error generated.

-- 
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/20140407/d37fcb7c/attachment.html>


More information about the llvm-bugs mailing list