obscure system header errors using clang frontend

109 views
Skip to first unread message

Geoffrey Irving

unread,
Apr 4, 2014, 1:57:47 PM4/4/14
to xdress, James Casbon
James: Were you seeing errors like this before using the clang
frontend? How did you end up solving them? I seem to see the same
errors with both clang 3.2 and master.

Geoffrey

-------------------------------------------------------------

xdress --rc geode/xdressrc.py --builddir
build/native/release/geode/xdress -p clang
--extra-parser-args=-std=c++11
autoall: discovering API names
autoall: no API names to discover!
dtypes: registering numpy dtypes
stlwrap: registering C++ standard library types
autodescribe: scraping C/C++ APIs from source
autodescribe: describing predicate_tests
['-x', 'c++', '-I/usr/local/lib/clang/3.4/include', '-I.', '-I.',
'-DXDRESS', '-std=c++11']
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/alloc_traits.h:57:35:
error: in-class initializer for static data member is not a constant
expression
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/alloc_traits.h:90:24:
error: type 'int' cannot be used prior to '::' because it has no
members
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/ext/alloc_traits.h:137:11:
error: using declaration refers into '_Base_type::', which is not a
base class of '__alloc_traits<int>'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/ext/alloc_traits.h:138:11:
error: using declaration refers into '_Base_type::', which is not a
base class of '__alloc_traits<int>'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/ext/alloc_traits.h:139:11:
error: using declaration refers into '_Base_type::', which is not a
base class of '__alloc_traits<int>'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/ext/alloc_traits.h:140:11:
error: using declaration refers into '_Base_type::', which is not a
base class of '__alloc_traits<int>'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/ext/alloc_traits.h:141:11:
error: using declaration refers into '_Base_type::', which is not a
base class of '__alloc_traits<int>'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_vector.h:80:16:
error: base specifier must name a class
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_vector.h:237:13:
error: using declaration refers into '_Base::', which is not a base
class of 'vector<double, std::allocator<double> >'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_vector.h:238:13:
error: using declaration refers into '_Base::', which is not a base
class of 'vector<double, std::allocator<double> >'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_vector.h:239:13:
error: using declaration refers into '_Base::', which is not a base
class of 'vector<double, std::allocator<double> >'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_vector.h:240:13:
error: using declaration refers into '_Base::', which is not a base
class of 'vector<double, std::allocator<double> >'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_vector.h:529:13:
error: using declaration refers into '_Base::', which is not a base
class of 'vector<double, std::allocator<double> >'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/alloc_traits.h:57:35:
error: in-class initializer for static data member is not a constant
expression
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_vector.h:80:16:
error: base specifier must name a class
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_vector.h:237:13:
error: using declaration refers into '_Base::', which is not a base
class of 'vector<unsigned int, std::allocator<unsigned int> >'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_vector.h:238:13:
error: using declaration refers into '_Base::', which is not a base
class of 'vector<unsigned int, std::allocator<unsigned int> >'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_vector.h:239:13:
error: using declaration refers into '_Base::', which is not a base
class of 'vector<unsigned int, std::allocator<unsigned int> >'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_vector.h:240:13:
error: using declaration refers into '_Base::', which is not a base
class of 'vector<unsigned int, std::allocator<unsigned int> >'
fatal error: too many errors emitted, stopping now [-ferror-limit=]
ERROR: failed to parse
build/native/release/geode/xdress/geode_exact_predicates.h.cpp
scons: *** [build/native/release/geode/xdress/blah] Error 1

Anthony Scopatz

unread,
Apr 4, 2014, 2:11:07 PM4/4/14
to Geoffrey Irving, xdress, James Casbon
Hello All, 

This is strange, I haven't seen these ever.

Be Well
Anthony



--
You received this message because you are subscribed to the Google Groups "xdress" group.
To view this discussion on the web visit https://groups.google.com/d/msgid/xdress/CAJ1ofpf%3D_WfzmGFseoi26TXe2w3P8JzFBPTSG1ycVpFghgyscg%40mail.gmail.com.

Geoffrey Irving

unread,
Apr 4, 2014, 2:21:51 PM4/4/14
to Anthony Scopatz, xdress, James Casbon
Correction: I thought I was using clang 3.4, but I appear to still be
using clang 3.2. Maybe the errors will go away with 3.4 once I purge
it more completely from my system.

Geoffrey
> https://groups.google.com/d/msgid/xdress/CAPk-6T7gmOhNdPFQj0Qvmbu7rH5k2MO1fTkZJrmn26q7PUEFJw%40mail.gmail.com.

James Casbon

unread,
Apr 7, 2014, 3:06:57 AM4/7/14
to Geoffrey Irving, Anthony Scopatz, xdress
Hi Geoffrey, 

I have certainly seen strange messages, but not these strange messages.

I still think some work needs to be done to get the include locations to work because the clang headers are included relative to the location of libclang that we build.  This might be a place to look if you still see this problem.

James


Reply all
Reply to author
Forward
0 new messages