[LLVMdev] 3.4 branch gcc 4.9 build error

Alp Toker alp at nuanti.com
Thu May 15 12:58:10 PDT 2014


On 15/05/2014 22:52, Tom Stellard wrote:
> On Thu, May 15, 2014 at 10:41:08PM +0300, Alp Toker wrote:
>> On 15/05/2014 22:12, Tom Stellard wrote:
>>> On Thu, May 15, 2014 at 01:38:32PM +0200, Tuncer Ayaz wrote:
>>>> On Thu, 15 May 2014 02:25:30 +0200, Tom Stellard wrote:
>>>>
>>>>> On Sat, May 10, 2014 at 11:48:23PM +0200, Tuncer Ayaz wrote:
>>>>>> Tom,
>>>>>>
>>>>>> now that 3.4.1 is out, any chance of a 3.4.2 with just the three
>>>>>> fixes or at least merging them to the 3.4 branch?
>>>>> I've pushed the two approved patches to the 3.4 branch, can you
>>>>> verify that they work with gcc 4.9.
>>>> Thanks, Tom.
>>>>
>>>> Fresh (svn rev 208853) checkout of llvm, clang, etc:
>>>>
>>>> llvm[1]: Compiling APFloat.cpp for Release build
>>>> In file included from APFloat.cpp:15:
>>>> In file included from /tmp/llvm/include/llvm/ADT/APFloat.h:20:
>>>> In file included from /tmp/llvm/include/llvm/ADT/APInt.h:19:
>>>> In file included from /tmp/llvm/include/llvm/ADT/ArrayRef.h:14:
>>>> In file included from /tmp/llvm/include/llvm/ADT/SmallVector.h:17:
>>>> In file included from /tmp/llvm/include/llvm/Support/AlignOf.h:19:
>>>> /usr/lib64/[...]/c++/4.9.0/cstddef:51:11: error:
>>>>        no member named 'max_align_t' in the global namespace
>>>>    using ::max_align_t;
>>>>          ~~^
>>>> 1 error generated.
>>>>
>>> Is this trunk or the 3.4 branch?
>>>
>>>> As the fixes got merged to the release_34 branch, I went to check the
>>>> local configure options and noticed I was passing --enable-cxx11. If I
>>>> omit that, there's no max_align_t error. I don't remember when I added
>>>> that, but it used to build prior to gcc 4.9. Just so I understand, is
>>>> that flag meant to be enabled (and known to work) when llvm is built
>>>> by clang, or is that also in need of fixing for gcc 4.9?
>>> So clang/llvm will only fail to build with gcc 4.9 if the --enable-cxx11 flag is used?
>> The underlying problem was that, without the fix, clang's C++11 mode
>> didn't work *at all* with system headers shipped by GCC 4.9.
>>
>> So the failure to self-host with --enable-cxx11 mentioned by Tuncer
>> is really only a secondary symptom of the wider problem reported by
>> distributions.
>>
> So does this mean there is an additional fix that is required for the 3.4 branch?

Nope, the two proposed patches should resolve the underlying issue just 
fine as well as the self-host problem.

Just writing to characterise the problem, which is slightly different to 
the OP's description.

Alp.

-- 
http://www.nuanti.com
the browser experts




More information about the llvm-dev mailing list