MantisBT - GCC-XML
View Issue Details
0014912GCC-XML(No Category)public2014-05-11 01:112015-03-26 11:59
ellert 
Brad King 
highmajoralways
resolvedsuspended 
LinuxFedora21
0014912: gccxml lacks support for gcc 4.9
There are no support files for gcc 4.9.
Try to compile gccxmk using gcc 4.9. Test suite fails.
No tags attached.
patch stl_algo.patch (758) 2014-07-01 13:48
https://public.kitware.com/Bug/file/5181/stl_algo.patch
Issue History
2014-05-11 01:11ellertNew Issue
2014-06-03 09:19Mathieu MalaterreNote Added: 0036106
2014-07-01 05:48Gert WollnyNote Added: 0036292
2014-07-01 13:48Steve RobbinsFile Added: stl_algo.patch
2014-07-01 13:49Steve RobbinsNote Added: 0036299
2014-07-14 09:02Brad KingNote Added: 0036359
2014-12-03 12:28Mark MollNote Added: 0037369
2014-12-08 15:34Oliver KurzNote Added: 0037417
2015-03-26 11:59Brad KingNote Added: 0038303
2015-03-26 11:59Brad KingStatusnew => resolved
2015-03-26 11:59Brad KingResolutionopen => suspended
2015-03-26 11:59Brad KingAssigned To => Brad King

Notes
(0036106)
Mathieu Malaterre   
2014-06-03 09:19   
This is currently blocking gccxml/activiz.net and gdcm in debian, see:

https://bugs.debian.org/746846 [^] for example.
(0036292)
Gert Wollny   
2014-07-01 05:48   
Even the latest GIT version that supposently introduced g++4.9 support [a012b8] does not not work when compiling ITK python bindings on Debian with g++4.9.

https://bugs.debian.org/746863 [^]

i.e.

/usr/share/gccxml-0.9/GCC/4.9/bits/stl_algo.h: In function
'_OutputIterator std::__unique_copy(_InputIterator, _InputIterator,
_OutputIterator, _BinaryPredicate, std::input_iterator_tag,
std::output_iterator_tag)':
/usr/share/gccxml-0.9/GCC/4.9/bits/stl_algo.h:1086: error: expected `;'
before '__rebound_pred'
(0036299)
Steve Robbins   
2014-07-01 13:49   
Turns out the stl_algo.h issue Gert noted is easily fixed. Patch uploaded.

I'm checking now if this enables all of ITK to build.
(0036359)
Brad King   
2014-07-14 09:02   
These commits add 4.9 support and fix the problem in 0014912:0036292.

Add gccxml_builtins.h for GCC 4.9 starting with 4.8 version
https://github.com/gccxml/gccxml/commit/baced94a9e0773d0a205eb66ac6ac12dcc2eefbd [^]

Override GCC 4.9 <bits/c++config.h> to disable __int128
https://github.com/gccxml/gccxml/commit/37593d450acce5affca2ebe16dcbe15df192a671 [^]

Add GCC 4.9 original headers
https://github.com/gccxml/gccxml/commit/7a9a1ce1f94b20ff99a1c1fbc55abaee1ea8abde [^]

Update GCC 4.9 headers to work with gccxml's GCC 4.2 parser
https://github.com/gccxml/gccxml/commit/a012b8fe170abb51a43613c6c8e67ce9c900e95d [^]

Update GCC 4.9 bits/stl_algo.h to work with 4.2 parser
https://github.com/gccxml/gccxml/commit/7f997cfebca31d49c3a04b856efdf354c2b4d84b [^]
(0037369)
Mark Moll   
2014-12-03 12:28   
I get the following errors on Ubuntu 14.10, where the default compiler is gcc 4.9.1:

 gccxml cmd: /usr/local/bin/gccxml -I"." -I"/home/mmoll/omplapp-1.0.0-Source/ompl/src" -I"/home/mmoll/omplapp-1.0.0-Source/src" -I"/usr/include/python2.7" -I"/usr/include" -I"/usr/include/assimp" "bindings/geometric.h" -fxml="/tmp/tmpmSfvke.xml"
In file included from /usr/include/boost/atomic/detail/platform.hpp:22,
                 from /usr/include/boost/atomic/atomic.hpp:17,
                 from /usr/include/boost/atomic.hpp:12,
                 from /usr/include/boost/thread/pthread/once_atomic.hpp:20,
                 from /usr/include/boost/thread/once.hpp:20,
                 from /usr/include/boost/thread.hpp:17,
                 from bindings/geometric.h:1236:
/usr/include/boost/atomic/detail/gcc-atomic.hpp: In member function 'bool boost::atomic_flag::test_and_set(boost::memory_order) volatile':
/usr/include/boost/atomic/detail/gcc-atomic.hpp:59: error: '__atomic_test_and_set' was not declared in this scope
/usr/include/boost/atomic/detail/gcc-atomic.hpp: In member function 'void boost::atomic_flag::clear(boost::memory_order) volatile':
/usr/include/boost/atomic/detail/gcc-atomic.hpp:64: error: '__atomic_clear' was not declared in this scope
In file included from /usr/include/boost/atomic/detail/platform.hpp:22,
                 from /usr/include/boost/atomic/atomic.hpp:17,
                 from /usr/include/boost/atomic.hpp:12,
                 from /usr/include/boost/thread/pthread/once_atomic.hpp:20,
                 from /usr/include/boost/thread/once.hpp:20,
                 from /usr/include/boost/thread.hpp:17,
                 from bindings/geometric.h:1236:
/usr/include/boost/atomic/detail/gcc-atomic.hpp: In function 'void boost::atomic_thread_fence(boost::memory_order)':
/usr/include/boost/atomic/detail/gcc-atomic.hpp:117: error: '__atomic_thread_fence' was not declared in this scope
/usr/include/boost/atomic/detail/gcc-atomic.hpp: In function 'void boost::atomic_signal_fence(boost::memory_order)':
/usr/include/boost/atomic/detail/gcc-atomic.hpp:123: error: '__atomic_signal_fence' was not declared in this scope

I am using the latest version of gccxml from the repo.
(0037417)
Oliver Kurz   
2014-12-08 15:34   
Mark, I think your issue might be more related to boost than gccxml. I can confirm that gccxml works with gcc 4.9.1 including a project using boost-python. So I guess this issue can be fixed as well as http://www.cmake.org/Bug/view.php?id=13930 [^] about gcc 4.8 which implicitly is also done.
(0038303)
Brad King   
2015-03-26 11:59   
As announced here:

 [ANNOUNCE] GCC-XML maintenance moving to Github
 http://thread.gmane.org/gmane.comp.compilers.gccxml/731 [^]
 http://public.kitware.com/pipermail/gccxml/2015-March/003206.html [^]

gccxml will no longer be developed by its original author, who will instead focus on CastXML:

 https://github.com/CastXML/CastXML#readme [^]

The original GCC-XML issue tracker is now closed. In order to facilitate ongoing maintenance by community participants, issues will now be tracked on the Github repository page:

 https://github.com/gccxml/gccxml/issues [^]