[LLVMbugs] [Bug 7107] New: SIGABRT when compiling <tr1/unordered_map>

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon May 10 08:11:33 PDT 2010


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

           Summary: SIGABRT when compiling <tr1/unordered_map>
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: pipping.elias at gmail.com
                CC: llvmbugs at cs.uiuc.edu, dgregor at apple.com


pipping at bogus ~ $ cat foo.cpp
#include <tr1/unordered_map>
int main()
{
  return 0;
}

pipping at bogus ~ $ clang++ foo.cpp  -c -ferror-limit=0 -std=c++0x
In file included from foo.cpp:1:
In file included from /usr/include/c++/4.4.4/tr1/unordered_map:37:
In file included from /usr/include/c++/4.4.4/utility:62:
In file included from /usr/include/c++/4.4.4/bits/stl_pair.h:60:
In file included from /usr/include/c++/4.4.4/bits/move.h:38:
In file included from /usr/include/c++/4.4.4/type_traits:50:
/usr/include/c++/4.4.4/tr1_impl/type_traits:230:41: error: expected ')'
    struct is_function<_Res(_ArgTypes......)>
                                        ^
/usr/include/c++/4.4.4/tr1_impl/type_traits:230:28: note: to match this '('
    struct is_function<_Res(_ArgTypes......)>
                           ^
/usr/include/c++/4.4.4/tr1_impl/type_traits:230:12: error: redefinition of
'is_function<type-parameter-0-0
      (type-parameter-0-1, ...)>'
    struct is_function<_Res(_ArgTypes......)>
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/4.4.4/tr1_impl/type_traits:227:12: note: previous definition
is here
    struct is_function<_Res(_ArgTypes...)>
           ^
/usr/include/c++/4.4.4/tr1_impl/type_traits:233:29: error: type qualifier is
not allowed on this function
    struct is_function<_Res(_ArgTypes...) const>
                            ^
/usr/include/c++/4.4.4/tr1_impl/type_traits:233:12: error: redefinition of
'is_function<type-parameter-0-0
      (type-parameter-0-1, ...)>'
    struct is_function<_Res(_ArgTypes...) const>
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/4.4.4/tr1_impl/type_traits:227:12: note: previous definition
is here
    struct is_function<_Res(_ArgTypes...)>
           ^
/usr/include/c++/4.4.4/tr1_impl/type_traits:236:41: error: expected ')'
    struct is_function<_Res(_ArgTypes......) const>
                                        ^
/usr/include/c++/4.4.4/tr1_impl/type_traits:236:28: note: to match this '('
    struct is_function<_Res(_ArgTypes......) const>
                           ^
/usr/include/c++/4.4.4/tr1_impl/type_traits:236:29: error: type qualifier is
not allowed on this function
    struct is_function<_Res(_ArgTypes......) const>
                            ^
/usr/include/c++/4.4.4/tr1_impl/type_traits:236:12: error: redefinition of
'is_function<type-parameter-0-0
      (type-parameter-0-1, ...)>'
    struct is_function<_Res(_ArgTypes......) const>
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/4.4.4/tr1_impl/type_traits:227:12: note: previous definition
is here
    struct is_function<_Res(_ArgTypes...)>
           ^
/usr/include/c++/4.4.4/tr1_impl/type_traits:239:29: error: type qualifier is
not allowed on this function
    struct is_function<_Res(_ArgTypes...) volatile>
                            ^
/usr/include/c++/4.4.4/tr1_impl/type_traits:239:12: error: redefinition of
'is_function<type-parameter-0-0
      (type-parameter-0-1, ...)>'
    struct is_function<_Res(_ArgTypes...) volatile>
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/4.4.4/tr1_impl/type_traits:227:12: note: previous definition
is here
    struct is_function<_Res(_ArgTypes...)>
           ^
/usr/include/c++/4.4.4/tr1_impl/type_traits:242:41: error: expected ')'
    struct is_function<_Res(_ArgTypes......) volatile>
                                        ^
/usr/include/c++/4.4.4/tr1_impl/type_traits:242:28: note: to match this '('
    struct is_function<_Res(_ArgTypes......) volatile>
                           ^
/usr/include/c++/4.4.4/tr1_impl/type_traits:242:29: error: type qualifier is
not allowed on this function
    struct is_function<_Res(_ArgTypes......) volatile>
                            ^
/usr/include/c++/4.4.4/tr1_impl/type_traits:242:12: error: redefinition of
'is_function<type-parameter-0-0
      (type-parameter-0-1, ...)>'
    struct is_function<_Res(_ArgTypes......) volatile>
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/4.4.4/tr1_impl/type_traits:227:12: note: previous definition
is here
    struct is_function<_Res(_ArgTypes...)>
           ^
/usr/include/c++/4.4.4/tr1_impl/type_traits:245:29: error: type qualifier is
not allowed on this function
    struct is_function<_Res(_ArgTypes...) const volatile>
                            ^
/usr/include/c++/4.4.4/tr1_impl/type_traits:245:12: error: redefinition of
'is_function<type-parameter-0-0
      (type-parameter-0-1, ...)>'
    struct is_function<_Res(_ArgTypes...) const volatile>
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/4.4.4/tr1_impl/type_traits:227:12: note: previous definition
is here
    struct is_function<_Res(_ArgTypes...)>
           ^
/usr/include/c++/4.4.4/tr1_impl/type_traits:248:41: error: expected ')'

    struct is_function<_Res(_ArgTypes......) const volatile>
                                        ^
/usr/include/c++/4.4.4/tr1_impl/type_traits:248:28: note: to match this '('
    struct is_function<_Res(_ArgTypes......) const volatile>
                           ^
/usr/include/c++/4.4.4/tr1_impl/type_traits:248:29: error: type qualifier is
not allowed on this function
    struct is_function<_Res(_ArgTypes......) const volatile>
                            ^
/usr/include/c++/4.4.4/tr1_impl/type_traits:248:12: error: redefinition of
'is_function<type-parameter-0-0
      (type-parameter-0-1, ...)>'
    struct is_function<_Res(_ArgTypes......) const volatile>
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/4.4.4/tr1_impl/type_traits:227:12: note: previous definition
is here
    struct is_function<_Res(_ArgTypes...)>
           ^
/usr/include/c++/4.4.4/tr1_impl/type_traits:345:38: error: expected expression
    : public integral_constant<bool, __has_virtual_destructor(_Tp)>
                                     ^
/usr/include/c++/4.4.4/tr1_impl/type_traits:346:5: error: expected class name
    { };
    ^
In file included from foo.cpp:1:
In file included from /usr/include/c++/4.4.4/tr1/unordered_map:37:
In file included from /usr/include/c++/4.4.4/utility:62:
In file included from /usr/include/c++/4.4.4/bits/stl_pair.h:60:
In file included from /usr/include/c++/4.4.4/bits/move.h:38:
/usr/include/c++/4.4.4/type_traits:207:38: error: expected expression
    : public integral_constant<bool, __has_nothrow_constructor(_Tp)>
                                     ^

/usr/include/c++/4.4.4/type_traits:208:5: error: expected class name
    { };
    ^
/usr/include/c++/4.4.4/type_traits:213:38: error: expected expression
    : public integral_constant<bool, __has_nothrow_copy(_Tp)>
                                     ^
/usr/include/c++/4.4.4/type_traits:214:5: error: expected class name
    { };
    ^
/usr/include/c++/4.4.4/type_traits:219:38: error: expected expression
    : public integral_constant<bool, __has_nothrow_assign(_Tp)>
                                     ^
/usr/include/c++/4.4.4/type_traits:220:5: error: expected class name
    { };
    ^
/usr/include/c++/4.4.4/type_traits:225:38: error: expected expression
    : public integral_constant<bool, __is_base_of(_Base, _Derived)>
                                     ^
/usr/include/c++/4.4.4/type_traits:226:5: error: expected class name
    { };
    ^
clang: ExprConstant.cpp:2280: ICEDiag CheckICE(clang::Expr const *,
clang::ASTContext &): Assertion `!E->isValueDependent() && "Should not see
value dependent exprs!"' failed.
0  libLLVM-2.8svn.so 0x00007f125aded28f
1  libLLVM-2.8svn.so 0x00007f125aded779
2  libpthread.so.0   0x00007f125a146c50
3  libc.so.6         0x00007f1259477ec5 gsignal + 53
4  libc.so.6         0x00007f125947916f abort + 383
5  libc.so.6         0x00007f1259471121 __assert_fail + 241
6  clang             0x0000000000871cab
7  clang             0x0000000000870e82
8  clang             0x000000000062a892
9  clang             0x0000000000629f61
10 clang             0x000000000062328a
11 clang             0x00000000008e4795

12 clang             0x00000000008d7da5
13 clang             0x00000000008e61c0
14 clang             0x00000000008e50a0
15 clang             0x00000000008e4845
16 clang             0x00000000008d7da5
17 clang             0x00000000008e61c0
18 clang             0x00000000008e50a0
19 clang             0x00000000008e4845
20 clang             0x00000000008d7da5
21 clang             0x00000000008f9a81
22 clang             0x00000000008f9614
23 clang             0x00000000008f92d5
24 clang             0x00000000008d66ac
25 clang             0x00000000008d2473
26 clang             0x00000000008e1a80
27 clang             0x00000000008d670f
28 clang             0x00000000008d2473
29 clang             0x00000000008d1bca
30 clang             0x00000000005e3c3e
31 clang             0x00000000004220e4
32 clang             0x00000000004156b1
33 clang             0x0000000000416c49 main + 233
34 libc.so.6         0x00007f1259464b6d __libc_start_main + 253
35 clang             0x0000000000413819
Stack dump:
0.      Program arguments: /usr/bin/clang -cc1 -triple x86_64-pc-linux-gnu -S
-disable-free -main-file-name foo.cpp -mrelocation-model static
-mdisable-fp-elim -mconstructor-aliases -munwind-tables -target-cpu x86-64
-resource-dir /usr/lib/clang/2.0 -std=c++0x -ferror-limit 0 -fmessage-length
118 -fexceptions -fgnu-runtime -fdiagnostics-show-option -fcolor-diagnostics -o
/tmp/cc-RMKuz3.s -x c++ foo.cpp 
1.      /usr/include/c++/4.4.4/type_traits:309:48: current parser token '{'
2.      /usr/include/c++/4.4.4/type_traits:57:1: parsing namespace 'std'
3.      /usr/include/c++/4.4.4/type_traits:304:5: parsing struct/union/class
body 'std::aligned_storage'
4.      /usr/include/c++/4.4.4/type_traits:306:7: parsing struct/union/class
body 'std::aligned_storage::type'
clang: error: compiler command failed due to signal 6 (use -v to see
invocation)
pipping at bogus ~ $ clang++ --version
clang version 2.0 (trunk 103331)
Target: x86_64-pc-linux-gnu
Thread model: posix
pipping at bogus ~ $

-- 
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