[LLVMbugs] [Bug 10167] New: Failure to Compile Boost Lambda Function

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Jun 21 15:50:02 PDT 2011


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

           Summary: Failure to Compile Boost Lambda Function
           Product: clang
           Version: 2.7
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: ViperX883 at gmail.com
                CC: llvmbugs at cs.uiuc.edu, dgregor at apple.com


This program fails to compile:

------------------
#include <vector>
#include <iostream>
#include <algorithm>

#include <boost/lambda/lambda.hpp>

int main( ) {

  std::vector< int > v( 5, 5 );

  std::for_each( v.begin( ), v.end( ), std::cout << boost::lambda::_1 );
}
------------------

The output when using the -v command line option is:

------------------
clang version 1.1 (branches/release_27)
Target: x86_64-pc-linux-gnu
Thread model: posix
 "/usr/bin/clang" -cc1 -triple x86_64-pc-linux-gnu -S -disable-free
-disable-llvm-verifier -main-file-name blah.cpp -mrelocation-model static
-mdisable-fp-elim -mconstructor-aliases -munwind-tables -target-cpu x86-64 -v
-resource-dir /usr/lib/clang/1.1 -fmessage-length 150 -fexceptions
-fgnu-runtime -fdiagnostics-show-option -fcolor-diagnostics -o /tmp/cc-msASiK.s
-x c++ blah.cpp
clang -cc1 version 1.1 based upon llvm 2.7 hosted on x86_64-pc-linux-gnu
ignoring nonexistent directory "/usr/include/c++/4.4.3/x86_64-pc-linux-gnu/"
ignoring nonexistent directory "/usr/include/c++/4.4.3/i686-pc-linux-gnu/"
ignoring nonexistent directory "/usr/include/c++/4.4/i486-linux-gnu/"
ignoring nonexistent directory "/usr/include/c++/4.1.3"
ignoring nonexistent directory "/usr/include/c++/4.1.3/i486-linux-gnu/"
ignoring nonexistent directory "/usr/include/c++/4.1.3/backward"
ignoring nonexistent directory "/usr/include/c++/4.3.3"
ignoring nonexistent directory "/usr/include/c++/4.3.3/x86_64-linux-gnu/"
ignoring nonexistent directory "/usr/include/c++/4.3.3/backward"
ignoring nonexistent directory "/usr/include/c++/4.4.1"
ignoring nonexistent directory "/usr/include/c++/4.4.1/x86_64-linux-gnu/"
ignoring nonexistent directory "/usr/include/c++/4.4.1/backward"
ignoring nonexistent directory "/usr/include/c++/4.1.2"
ignoring nonexistent directory "/usr/include/c++/4.1.2/i386-redhat-linux/"
ignoring nonexistent directory "/usr/include/c++/4.1.2/backward"
ignoring nonexistent directory "/usr/include/c++/4.3.0"
ignoring nonexistent directory "/usr/include/c++/4.3.0/i386-redhat-linux/"
ignoring nonexistent directory "/usr/include/c++/4.3.0/backward"
ignoring nonexistent directory "/usr/include/c++/4.3.2"
ignoring nonexistent directory "/usr/include/c++/4.3.2/i386-redhat-linux/"
ignoring nonexistent directory "/usr/include/c++/4.3.2/backward"
ignoring nonexistent directory "/usr/include/c++/4.3.2"
ignoring nonexistent directory "/usr/include/c++/4.3.2/x86_64-redhat-linux/"
ignoring nonexistent directory "/usr/include/c++/4.3.2/backward"
ignoring nonexistent directory "/usr/include/c++/4.4.1"
ignoring nonexistent directory "/usr/include/c++/4.4.1/i586-redhat-linux/"
ignoring nonexistent directory "/usr/include/c++/4.4.1/backward"
ignoring nonexistent directory "/usr/include/c++/4.4.2"
ignoring nonexistent directory "/usr/include/c++/4.4.2/i686-redhat-linux/"
ignoring nonexistent directory "/usr/include/c++/4.4.2/backward"
ignoring nonexistent directory "/usr/include/c++/4.4.3/i686-redhat-linux/"
ignoring nonexistent directory "/usr/include/c++/4.3"
ignoring nonexistent directory "/usr/include/c++/4.3/i586-suse-linux/"
ignoring nonexistent directory "/usr/include/c++/4.3/backward"
ignoring nonexistent directory "/usr/include/c++/4.3"
ignoring nonexistent directory "/usr/include/c++/4.3/x86_64-suse-linux/"
ignoring nonexistent directory "/usr/include/c++/4.3/backward"
ignoring nonexistent directory "/usr/include/c++/4.4/i586-suse-linux/"
ignoring nonexistent directory "/usr/include/c++/4.4/x86_64-suse-linux/"
ignoring nonexistent directory "/usr/include/c++/4.3.1"
ignoring nonexistent directory "/usr/include/c++/4.3.1/i686-pc-linux-gnu/"
ignoring nonexistent directory "/usr/include/c++/4.3.1/backward"
ignoring nonexistent directory "/usr/include/c++/4.3.1"
ignoring nonexistent directory
"/usr/include/c++/4.3.1/x86_64-unknown-linux-gnu/"
ignoring nonexistent directory "/usr/include/c++/4.3.1/backward"
ignoring nonexistent directory
"/usr/lib/gcc/i686-pc-linux-gnu/4.3.4/include/g++-v4"
ignoring nonexistent directory
"/usr/lib/gcc/i686-pc-linux-gnu/4.3.4/include/g++-v4/i686-pc-linux-gnu/"
ignoring nonexistent directory
"/usr/lib/gcc/i686-pc-linux-gnu/4.3.4/include/g++-v4/backward"
ignoring nonexistent directory
"/usr/lib/gcc/i686-pc-linux-gnu/4.3.2/include/g++-v4"
ignoring nonexistent directory
"/usr/lib/gcc/i686-pc-linux-gnu/4.3.2/include/g++-v4/i686-pc-linux-gnu/"
ignoring nonexistent directory
"/usr/lib/gcc/i686-pc-linux-gnu/4.3.2/include/g++-v4/backward"
ignoring nonexistent directory
"/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/g++-v4"
ignoring nonexistent directory
"/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/g++-v4/i686-pc-linux-gnu/"
ignoring nonexistent directory
"/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/g++-v4/backward"
ignoring nonexistent directory "/usr/include/c++/4.3"
ignoring nonexistent directory "/usr/include/c++/4.3/i486-pc-linux-gnu/"
ignoring nonexistent directory "/usr/include/c++/4.3/backward"
ignoring nonexistent directory "/usr/include/c++/4.3"
ignoring nonexistent directory "/usr/include/c++/4.3/i486-linux-gnu/"
ignoring nonexistent directory "/usr/include/c++/4.3/backward"
ignoring nonexistent directory
"/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4"
ignoring nonexistent directory
"/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4/i686-pc-linux-gnu/"
ignoring nonexistent directory
"/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4/backward"
ignoring nonexistent directory
"/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/include/g++-v4"
ignoring nonexistent directory
"/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/include/g++-v4/x86_64-pc-linux-gnu/"
ignoring nonexistent directory
"/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/include/g++-v4/backward"
ignoring nonexistent directory
"/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.3/include/g++-v4"
ignoring nonexistent directory
"/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.3/include/g++-v4/x86_64-pc-linux-gnu/"
ignoring nonexistent directory
"/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.3/include/g++-v4/backward"
ignoring duplicate directory "/usr/include/c++/4.4.3"
ignoring duplicate directory "/usr/include/c++/4.4.3/backward"
ignoring duplicate directory "/usr/include/c++/4.4.3"
ignoring duplicate directory "/usr/include/c++/4.4.3/backward"
ignoring duplicate directory "/usr/include/c++/4.4.3"
ignoring duplicate directory "/usr/include/c++/4.4.3/backward"
ignoring duplicate directory "/usr/include/c++/4.4.3"
ignoring duplicate directory "/usr/include/c++/4.4.3/backward"
ignoring duplicate directory "/usr/include/c++/4.4.3"
ignoring duplicate directory "/usr/include/c++/4.4.3/backward"
ignoring duplicate directory "/usr/include/c++/4.4.3"
ignoring duplicate directory "/usr/include/c++/4.4.3/backward"
#include "..." search starts here:
#include <...> search starts here:
 /usr/lib/clang/1.1/include
 /usr/include/c++/4.4.3
 /usr/include/c++/4.4.3/backward
 /usr/include/c++/4.4/x86_64-linux-gnu
 /usr/local/include
 /usr/include
End of search list.
0  libLLVM-2.7.so.1 0x00007f4783d91d2f
1  libLLVM-2.7.so.1 0x00007f4783d9238d
2  libpthread.so.0  0x00007f47831838f0
3  clang            0x0000000000517ac7
4  clang            0x0000000000518039
5  clang            0x0000000000518d95
6  clang            0x0000000000519079
7  clang            0x000000000051bc5c
8  clang            0x000000000050868d
9  clang            0x000000000051046a
10 clang            0x000000000051069b
11 clang            0x00000000005072e1
12 clang            0x000000000041c3d4
13 clang            0x0000000000759cf1
14 clang            0x0000000000759675
15 clang            0x000000000075a15b
16 clang            0x0000000000759675
17 clang            0x000000000075a15b
18 clang            0x0000000000759675
19 clang            0x000000000075a15b
20 clang            0x0000000000759675
21 clang            0x00000000005f7a9a
22 clang            0x00000000008f783d
23 clang            0x00000000005f523b
24 clang            0x0000000000421479
25 clang            0x0000000000415186
26 clang            0x0000000000417b9b main + 1771
27 libc.so.6        0x00007f4782255c4d __libc_start_main + 253
28 clang            0x0000000000412cd9
Stack dump:
0.    Program arguments: /usr/bin/clang -cc1 -triple x86_64-pc-linux-gnu -S
-disable-free -disable-llvm-verifier -main-file-name blah.cpp
-mrelocation-model static -mdisable-fp-elim -mconstructor-aliases
-munwind-tables -target-cpu x86-64 -v -resource-dir /usr/lib/clang/1.1
-fmessage-length 150 -fexceptions -fgnu-runtime -fdiagnostics-show-option
-fcolor-diagnostics -o /tmp/cc-msASiK.s -x c++ blah.cpp 
1.    <eof> parser at end of file
2.    /usr/include/c++/4.4.3/bits/stl_algo.h:4194:5: instantiating function
definition 'std::for_each'
3.    /usr/include/boost/lambda/detail/lambda_functors.hpp:172:3: instantiating
function definition 'boost::lambda::lambda_functor<class
boost::lambda::lambda_functor_base<class boost::lambda::bitwise_action<class
boost::lambda::leftshift_action>, class boost::tuples::tuple<class
std::basic_ostream<char, struct std::char_traits<char> > &, class
boost::lambda::lambda_functor<struct boost::lambda::placeholder<1> >, struct
boost::tuples::null_type, struct boost::tuples::null_type, struct
boost::tuples::null_type, struct boost::tuples::null_type, struct
boost::tuples::null_type, struct boost::tuples::null_type, struct
boost::tuples::null_type, struct boost::tuples::null_type> > >::operator()'
4.    /usr/include/boost/lambda/detail/operator_lambda_func_base.hpp:212:1
<Spelling=/usr/include/boost/lambda/detail/operator_lambda_func_base.hpp:157:7>:
instantiating function definition 'boost::lambda::lambda_functor_base<class
boost::lambda::bitwise_action<class boost::lambda::leftshift_action>, class
boost::tuples::tuple<class std::basic_ostream<char, struct
std::char_traits<char> > &, class boost::lambda::lambda_functor<struct
boost::lambda::placeholder<1> >, struct boost::tuples::null_type, struct
boost::tuples::null_type, struct boost::tuples::null_type, struct
boost::tuples::null_type, struct boost::tuples::null_type, struct
boost::tuples::null_type, struct boost::tuples::null_type, struct
boost::tuples::null_type> >::call'
5.    /usr/include/boost/lambda/detail/select_functions.hpp:27:1: instantiating
function definition 'boost::lambda::detail::select'
6.    /usr/include/boost/lambda/detail/select_functions.hpp:27:1: LLVM IR
generation of declaration 'boost::lambda::detail::select'
7.    /usr/include/boost/lambda/detail/select_functions.hpp:27:1: Mangling
declaration 'boost::lambda::detail::select'
clang: error: compiler command failed due to signal 11 (use -v to see
invocation)
--------------------

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list