[Bug 23051] New: lldb 3.6.0 fails to compile with gcc 4.9

Bug ID 23051
Summary lldb 3.6.0 fails to compile with gcc 4.9
Product lldb
Version 3.6
Hardware PC
OS FreeBSD
Status NEW
Severity normal
Priority P
Component All Bugs
Assignee lldb-dev@cs.uiuc.edu
Reporter rodrigc@freebsd.org
Classification Unclassified

Created attachment 14109 [details]
patch

I'm part of the [https://jenkins.freebsd.org](https://jenkins.freebsd.org) continuous integration team.

I used this script:
[https://github.com/freebsd/freebsd-ci/blob/master/scripts/build/cross-build.sh](https://github.com/freebsd/freebsd-ci/blob/master/scripts/build/cross-build.sh)

to cross-build FreeBSD-CURRENT with gcc 4.9.

While building, I encountered this compilation problem with lldb:

/opt2/branches/head/lib/clang/liblldbCore/../../../contrib/llvm/tools/lldb/source/Core/Mangled.cpp:4889:20:
error: declaration of 'typedef using String = class std::__1::basic_string
<char, std::__1::char_traits<char>, {anonymous}::malloc_alloc<char> >
{anonymous}::Db::Stri
ng' [-fpermissive]
     typedef String String;
                    ^
/opt2/branches/head/lib/clang/liblldbCore/../../../contrib/llvm/tools/lldb/source/Core/Mangled.cpp:4868:83:
error: changes meaning of 'String' from 'using String = class
std::__1::basic_string<char, std::__1::char_traits<char>,
{anonymous}::malloc_alloc<char> >' [-fpermissive]
 using String = std::basic_string<char, std::char_traits<char>,
malloc_alloc<char>>;
                                                                               
   ^

The attached patch fixed it for me.

Sylvestre Ledru changed bug 23051

What | Removed | Added |

Comment # 1 on bug 23051 from Sylvestre Ledru

Commit in revision 233478.
Thanks.
We probably want this in the 3.6 branch too.