- Add make install target
- Stub support for
-Oz
- Accept
__attribute
as alias for__attribute__
- Update online help
- Support
--sysroot
and-isysroot
- Enable
-Wunreachable-code
,-Wunused-function
,-Wunused-label
,-Wunused-parameter
and-Wunused-variable
by default - Rename
-Wsystem
to-Wsystem-headers
for gcc/clang compatibility - Support
-Wcpp
- Stub support for
#ident
and#sccs
- Add switch
-Wreturn-local-addr
and handle compound literals - Bugfixes
- Bump version number to somewhat match libfirm
- Color diagnostics
- Full preprocessor support
- Support C99 complex numbers
- Improved commandline option handling emulating even more gcc options
- Create libcparser to facilitate the creation of external tools
- Bugfixes
- Improved diagnostics
- Support -Wa, -Xlinker, -Xpreprocessor, -Xassembler
- Support -Wsystem
- Partial support for C11 features
- Support -pedantic and -pedantic-errors
- Support
__attribute__((alias()))
- Support -Wnot-compound-assign
- Support -Wcompat-option
- Support -Wunknown-warning-option
- Select the base type for enums like gcc
- Support -no-integrated-cpp
- Support -Wcomment (warn about
/*
within/**/
comments) - Use integrated preprocessor by default
- Improve auto-detection of host machine triple
- Support -Wunused-option
- Support -Wenum-conversion
- Improve -Wsign-compare
- Support -Wdistinct-pointer-types
- Make semantic checks more strict
- Add mechanism to optimize well-known libc functions
- Support -dumpmachine
- Support -Wpointer-sign
- Stub support for -fasynchronous-unwind-tables, -funwind-tables, -frounding-math
- Support -fexcess-precision
- Support -nostdlib
- Support Makefile dependency generation (-M, -MD, ...)
- Support -fno-verbose-asm (-fverbose-asm is default)
- Improve diagnostics for disabled language extensions
- Support setting the mantissa with
__builtin_nan
- Recognize, but reject, MSC asm statements, i.e.
__asm { ... }
- Support attribute for custom printf-like format checks, e.g.
int my_printf(char const* fmt, ...) __attribute__((custom_format(1, "#0", "%": void, "d": int, "ld": long, "s": char const*));
- Show an explanation for each warning switch when printing the help
- Improve PIC commandline options
- Support -f[no-]builtin
- Adapt to libfirm-1.21.0
- Improved error recovery
- Improved firm graph generation (faster/smaller graphs)
- Implement U,u and u8 strings
- Preliminary preprocessor (we still use system cpp by default, as some macro expansion corner cases are still buggy and prevent us from compiling glibc headers)
- More gcc extensions: binary constants, leaf attribute
- Adapt to libfirm-1.20.0
- Implement --help
- More work on preprocessor (still not finished though)
- Refactoring work so others can reuse input, optimization order logic
- Columns in source positions (but external preprocessor doesn't preserve all spaces)
- Improvements to gnu builtins/attributes
- Bugfixes (we did alot of csmith testing)
- Adapt to libfirm-1.19.0
- Introduce -mtarget (and -mtriple for llvm compatibility) for conventient cross-compilation
- Fix big-endian struct layouting
- Bugfixes
- add missing NEWS entries
- fix crash when known C library functions had the wrong number of arguments
- bugfixes
- adapt to libfirm-1.18.0
- bugfixes
- extend and improve support for attributes
- adapat to latest libfirm
- several bugfixes
- add/correct semantic checks
- improve error recovery
- support more GCC extensions
- add/improve/correct warnings
- several bugfixes
- add/correct semantic checks
- improved error recovery
- support more GCC extensions
- support more GCC switches
- add a manpage
- lots of bugfixes
- add/correct semantic checks
- more/improved warnings
- internal cleanups (introduce entity_t types)
- support more gnu extensions
- improved error recovery
- support more switches for gcc compatibility
- support for libc builtins
- lots of bugfixes
- sync with latest libfirm
- improve error handling (more graceful continue in case of an error)
- compatibility fixes for old C stuff (=> SPECint2000 works now)
- improved commandline, more gcc compatibility flags
- support more gnu extensions
- parse all gnu extensions
- initial release
- cparser is able to bootstrap itself