fix cases where compoundlits are constant/get an entity
[cparser] / README.md
1 cparser - A C99 parser (with gnu extensions)
2 ============================================
3
4 1. Introduction
5 ---------------
6
7 cparser is a recursive descent C99 parser written in C99. It contains lexer,
8 parser, constructs an AST and does semantic analysis. It is currently used as
9 a frontend to the libFirm intermediate representation, but can be used
10 independently. cparser is able to bootstrap itself. It currently uses an
11 external preprocessor.
12
13 2. Building and Installation
14 ----------------------------
15
16 Requirements:
17
18 * A C99 compiler (gcc and icc are known to work).
19 * pkg-config (recommended)
20 * libFirm-1.21 or later
21
22 Make sure you have installed libFirm and pkg-config can find the libfirm.pc
23 files ("pkg-config --modversion libfirm" should work). Use (GNU)-make to build
24 cparser.
25
26 3. Troubleshooting
27 ------------------
28
29 x86\_64 Systems:
30 libFirm uses a 32bit x86 backend by default, while it also uses the systems
31 default preprocessor/linker. This results on a x86\_64 linker being used
32 for 32bit assembly. If you see assembler errors like
33 "suffix or operand invalid for 'push'", then you probably have this problem.
34 Use the -m32 flag to force usage of system 32bit preprocessor/linker.
35
36 4. Contact
37 ----------
38
39 There's a Bugtracker at http://pp.info.uni-karlsruhe.de/~firm/bugs
40 You can contact me at matze@braunis.de
41 You might also visit the #firm channel on irc.freenode.net