Comments (4)
Strange, gccxml never supported uninstantiated templates at all. What does pygccxml expect that gccxml provides and CastXML doesn't?
from castxml.
Ok, sorry I was confused and did not post everything.
In fact the real code which being tested by pygccxml is the following:
template <typename T> struct A {};
template <int N> struct A<const char[N]>
{ static int size(const char[N]) { return N - 1; } };
The resulting xml file with castxml:
https://gist.github.com/iMichka/e1faf2d67076260539c0
The resulting xml file with gccxml:
https://gist.github.com/iMichka/af55f8e8a2c56d8ed1fa
With gccxml I got:
<Struct id="_140" name="A<const char [N]>" context="_1" mangled="1AIAT__KcE" location="f1:4" file="f1" line="4" artificial="1" size="0" align="8" members="_160 " bases=""/>
Pyggcxml is expecting the to find the struct named in the global namespace: 'A<const char [N]>'
from castxml.
This was a case where gccxml would incorrectly output a partial template specialization as if it were a full specialization. This was a bug that we never fixed in gccxml. CastXML does not have the bug.
So, pygccxml should be taught to accept the lack of this output as correct or have the test case simply removed.
from castxml.
Thanks. I found the discussion on the mailing list.
http://public.kitware.com/pipermail/gccxml/2010-January.txt
I guess the tests were just added to make sure if the bug was fixed one day in gccxml, it would detect it and trigger an error; telling the maintainer to look what has changed. It was confusing as there were no comments and I was not sure if this was the wanted output.
I kept the test for the moment and modified it for CastXML, so that it makes sures this output can not be found:
CastXML/pygccxml@a2b1230
Thanks for the help
from castxml.
Related Issues (20)
- How to generate xml description for C++14 file HOT 1
- crash on deeply nested parentheses in input HOT 14
- generate xml description for C++ header file HOT 1
- llvm/clang 14 reports using clauses separately HOT 8
- Trying to run CastXML on C++ project HOT 2
- arm64v8 rounding intrinsics not activated under --castxml-cc-gnu g++ HOT 1
- Help: Can I get access to default member initializer? HOT 5
- Wrapping ITK modules for ARM architecture fails at CastXML step HOT 3
- 0.5 release series for post-0.4 features HOT 7
- CastXML 0.5.0 tests fail on 32-bit architectures HOT 4
- Tests are failing with LLVM/CLANG-15 HOT 1
- CastXML tests fail with LLVM/Clang 16
- Skipping methods containing rvalue reference parameters HOT 2
- Generating unnecessary syntax HOT 1
- 0.6.0: Many tests fail HOT 2
- Different behaviour on linux and windows HOT 3
- gcc-13.2.0 unknown type name '_Float32' HOT 9
- Building against LLVM/Clang 18.x fails using MSVC
- arm64 ubuntu make failed. cannot find -ltinfo: No such file or directory HOT 2
- GCC 13 vector header include
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from castxml.