Comments (2)
The long long
built-in type was introduced only in C99 and FrontC supports only C89. So it is the expected behavior, see also #9.
If you want to introduce the C99 built-in types, i.e., long long
, _Bool
, _Complex
, and _Imaginary
, you need to add them to the built-in lexicon of identifiers here, e.g.,
("long long", id LLONG);
and add the corresponding tokens (LLONG
, BOOL
, COMPLEX
, and IMAGINARY
), here. We probably also need to update the scan_ident primitive so that it accepts strings like long .. <many spaces> ..long
1, i.e., we need to strip repetitive whitespace.
Finally, we will need to deal with the ambiguity in the modifier parser that our change will introduce. As previously long long
was not parsed as a builtin type, but rather than a modifier to long
so that long long x;
was accepted but sizeof(long long)
or alignof(long long)
were not.
1) Githubs markdown eats consecutive spaces even inside backticked strings, but you got the idea.
from frontc.
In fact, the main culprit is that gnu attributes are not allowed in a structure field definition.
from frontc.
Related Issues (20)
- Fails to parse function declaration involving asm HOT 2
- include cmxs into the distribution
- Dynamic loading frontc fails HOT 1
- Fail parsing attributes after __asm__
- Fail parsing named type right after it is defined HOT 3
- anonymous union and struct HOT 1
- designated initializer style HOT 3
- support additional floating types HOT 1
- FrontC fails to parse C99 static array size
- FrontC 4.0 reverses the fields in the struct HOT 2
- Fails to parse bitfields involving typedefs
- ctoxml section of readme is hardly understandable
- Cannot parse 'inline' from OCaml headers
- prints `const char *` as `char const *` HOT 1
- cannot parse `typedef` with `bitfields`
- Repository has diverged with sourcesup/renater FrontC git repository HOT 3
- Build fails due to syntax error on Set.Make(String) HOT 5
- `const volatile` not parsed
- Fails to parse re-typedefs HOT 2
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 frontc.