Compiler's errors on Ubuntu trusty: Impact of -stdlib=libc++ over a clang++-3.8

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Compiler's errors on Ubuntu trusty: Impact of -stdlib=libc++ over a clang++-3.8

Sumner, Brian via cfe-dev
Hello CFE list

I have an issue compiling a small c++ program with clang++-3.8 on Ubuntu trusty

Using the joined c++ program bug.cpp,
  • clang++-3.8 -std=c++11 bug.cpp compiles fine while
  • clang++-3.8 -std=c++11 -stdlib=libc++ bug.cpp produces invalid compile errors.

What could be the problem and how can it be solved?

TIA

fandre@ubuntu-trusty-64:~/clang$ uname -a
Linux ubuntu-trusty-64 4.4.0-83-generic #106~14.04.1-Ubuntu SMP Mon Jun 26 18:10:19 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
fandre@ubuntu-trusty-64:~/clang$ clang++-3.8 --version
clang version 3.8.0-2ubuntu3~trusty4 (tags/RELEASE_380/final)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/bin

Below is the console log

fandre@ubuntu-trusty-64:~/clang$ clang++-3.8 -std=c++11 bug.cpp
fandre@ubuntu-trusty-64:~/clang$ clang++-3.8 -std=c++11 -stdlib=libc++ bug.cpp
bug.cpp:56:88: error: 'Header' does not refer to a value
 typedef poco_static_assert_test<sizeof(POCO_STATIC_ASSERTION_FAILURE<(bool) (offsetof(Header, code) == 0x01)>)> poco_...
                                                                                       ^
bug.cpp:45:9: note: declared here
 struct Header
        ^
bug.cpp:56:96: error: use of undeclared identifier 'code'
 typedef poco_static_assert_test<sizeof(POCO_STATIC_ASSERTION_FAILURE<(bool) (offsetof(Header, code) == 0x01)>)> poco_...
                                                                                               ^
bug.cpp:56:111: error: type name requires a specifier or qualifier
 typedef poco_static_assert_test<sizeof(POCO_STATIC_ASSERTION_FAILURE<(bool) (offsetof(Header, code) == 0x01)>)> poco_...
                                                                                                              ^
bug.cpp:57:88: error: 'Header' does not refer to a value
 typedef poco_static_assert_test<sizeof(POCO_STATIC_ASSERTION_FAILURE<(bool) (offsetof(Header, checksum) == 0x02)>)> p...
                                                                                       ^
bug.cpp:45:9: note: declared here
 struct Header
        ^
bug.cpp:57:96: error: use of undeclared identifier 'checksum'
 typedef poco_static_assert_test<sizeof(POCO_STATIC_ASSERTION_FAILURE<(bool) (offsetof(Header, checksum) == 0x02)>)> p...
                                                                                               ^
bug.cpp:57:115: error: type name requires a specifier or qualifier
  ...poco_static_assert_test<sizeof(POCO_STATIC_ASSERTION_FAILURE<(bool) (offsetof(Header, checksum) == 0x02)>)> poco_stati...
                                                                                                              ^
bug.cpp:58:88: error: 'Header' does not refer to a value
 typedef poco_static_assert_test<sizeof(POCO_STATIC_ASSERTION_FAILURE<(bool) (offsetof(Header, id) == 0x04)>)> poco_st...
                                                                                       ^
bug.cpp:45:9: note: declared here
 struct Header
        ^
bug.cpp:58:96: error: use of undeclared identifier 'id'
 typedef poco_static_assert_test<sizeof(POCO_STATIC_ASSERTION_FAILURE<(bool) (offsetof(Header, id) == 0x04)>)> poco_st...
                                                                                               ^
bug.cpp:58:109: error: type name requires a specifier or qualifier
 typedef poco_static_assert_test<sizeof(POCO_STATIC_ASSERTION_FAILURE<(bool) (offsetof(Header, id) == 0x04)>)> poco_st...
                                                                                                            ^
bug.cpp:59:88: error: 'Header' does not refer to a value
 typedef poco_static_assert_test<sizeof(POCO_STATIC_ASSERTION_FAILURE<(bool) (offsetof(Header, seq) == 0x06)>)> poco_s...
                                                                                       ^
bug.cpp:45:9: note: declared here
 struct Header
        ^
bug.cpp:59:96: error: use of undeclared identifier 'seq'
 typedef poco_static_assert_test<sizeof(POCO_STATIC_ASSERTION_FAILURE<(bool) (offsetof(Header, seq) == 0x06)>)> poco_s...
                                                                                               ^
bug.cpp:59:110: error: type name requires a specifier or qualifier
 typedef poco_static_assert_test<sizeof(POCO_STATIC_ASSERTION_FAILURE<(bool) (offsetof(Header, seq) == 0x06)>)> poco_s...
                                                                                                             ^
12 errors generated.
fandre@ubuntu-trusty-64:~/clang$ cp bug.cpp ../shared
fandre@ubuntu-trusty-64:~/clang$ clang++-3.8 -std=c++11 bug.cpp
fandre@ubuntu-trusty-64:~/clang$ clang++-3.8 -std=c++11 -stdlib=libc++ bug.cpp
bug.cpp:56:88: error: 'Header' does not refer to a value
 typedef poco_static_assert_test<sizeof(POCO_STATIC_ASSERTION_FAILURE<(bool) (offsetof(Header, code) == 0x01)>)> poco_...
                                                                                       ^
bug.cpp:45:9: note: declared here
 struct Header
        ^
bug.cpp:56:96: error: use of undeclared identifier 'code'
 typedef poco_static_assert_test<sizeof(POCO_STATIC_ASSERTION_FAILURE<(bool) (offsetof(Header, code) == 0x01)>)> poco_...
                                                                                               ^
bug.cpp:56:111: error: type name requires a specifier or qualifier
 typedef poco_static_assert_test<sizeof(POCO_STATIC_ASSERTION_FAILURE<(bool) (offsetof(Header, code) == 0x01)>)> poco_...
                                                                                                              ^
bug.cpp:57:88: error: 'Header' does not refer to a value
 typedef poco_static_assert_test<sizeof(POCO_STATIC_ASSERTION_FAILURE<(bool) (offsetof(Header, checksum) == 0x02)>)> p...
                                                                                       ^
bug.cpp:45:9: note: declared here
 struct Header
        ^
bug.cpp:57:96: error: use of undeclared identifier 'checksum'
 typedef poco_static_assert_test<sizeof(POCO_STATIC_ASSERTION_FAILURE<(bool) (offsetof(Header, checksum) == 0x02)>)> p...
                                                                                               ^
bug.cpp:57:115: error: type name requires a specifier or qualifier
  ...poco_static_assert_test<sizeof(POCO_STATIC_ASSERTION_FAILURE<(bool) (offsetof(Header, checksum) == 0x02)>)> poco_stati...
                                                                                                              ^
bug.cpp:58:88: error: 'Header' does not refer to a value
 typedef poco_static_assert_test<sizeof(POCO_STATIC_ASSERTION_FAILURE<(bool) (offsetof(Header, id) == 0x04)>)> poco_st...
                                                                                       ^
bug.cpp:45:9: note: declared here
 struct Header
        ^
bug.cpp:58:96: error: use of undeclared identifier 'id'
 typedef poco_static_assert_test<sizeof(POCO_STATIC_ASSERTION_FAILURE<(bool) (offsetof(Header, id) == 0x04)>)> poco_st...
                                                                                               ^
bug.cpp:58:109: error: type name requires a specifier or qualifier
 typedef poco_static_assert_test<sizeof(POCO_STATIC_ASSERTION_FAILURE<(bool) (offsetof(Header, id) == 0x04)>)> poco_st...
                                                                                                            ^
bug.cpp:59:88: error: 'Header' does not refer to a value
 typedef poco_static_assert_test<sizeof(POCO_STATIC_ASSERTION_FAILURE<(bool) (offsetof(Header, seq) == 0x06)>)> poco_s...
                                                                                       ^
bug.cpp:45:9: note: declared here
 struct Header
        ^
bug.cpp:59:96: error: use of undeclared identifier 'seq'
 typedef poco_static_assert_test<sizeof(POCO_STATIC_ASSERTION_FAILURE<(bool) (offsetof(Header, seq) == 0x06)>)> poco_s...
                                                                                               ^
bug.cpp:59:110: error: type name requires a specifier or qualifier
 typedef poco_static_assert_test<sizeof(POCO_STATIC_ASSERTION_FAILURE<(bool) (offsetof(Header, seq) == 0x06)>)> poco_s...
                                                                                                             ^
12 errors generated.
fandre@ubuntu-trusty-64:~/clang$


_______________________________________________
cfe-dev mailing list
[hidden email]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev

bug.cpp (2K) Download Attachment
Loading...