[llvm-bugs] [Bug 30853] New: Merge r284229 into the 3.9 branch

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Oct 31 12:24:22 PDT 2016


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

            Bug ID: 30853
           Summary: Merge r284229 into the 3.9 branch
           Product: OpenMP
           Version: unspecified
          Hardware: Macintosh
                OS: MacOS X
            Status: NEW
          Severity: normal
          Priority: P
         Component: Clang Compiler Support
          Assignee: unassignedclangbugs at nondot.org
          Reporter: howarth.mailing.lists at gmail.com
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

I would like to propose merging the change...

r284229 | abataev | 2016-10-14 08:43:59 -0400 (Fri, 14 Oct 2016) | 37 lines

Fix for PR30632: Name mangling issue.

There was a bug in the implementation of captured statements. If it has
a lambda expression in it and the same lambda expression is used outside
the captured region, clang produced an error:
```
error: definition with same mangled name as another definition
```
Here is an example:
```
struct A {
 template <typename L>
 void g(const L&) { }
};

template<typename T>
void f() {
  {
    A().g([](){});
  }
  A().g([](){});
}

int main() {
  f<void>();
}
```

Error report:
```
main.cpp:3:10: error: definition with same mangled name as another
definition
    void g(const L&) { }
             ^
main.cpp:3:10: note: previous definition is here
```
Patch fixes this bug.

to 3.9 branch for the 3.9.1 release

-- 
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/20161031/ab6a18f7/attachment.html>


More information about the llvm-bugs mailing list