Christoph Mallon [Tue, 11 Oct 2011 08:31:33 +0000 (10:31 +0200)]
Remove stale and strange entries from .gitignore.
Christoph Mallon [Tue, 11 Oct 2011 08:20:41 +0000 (10:20 +0200)]
Consistently use $(BUILDDIR) instead of build.
Christoph Mallon [Tue, 11 Oct 2011 08:16:40 +0000 (10:16 +0200)]
cparser.bootstrap2 depends on cparser.bootstrap.
Christoph Mallon [Tue, 11 Oct 2011 08:16:13 +0000 (10:16 +0200)]
Remove dubious/unnecessary dependencies.
Christoph Mallon [Tue, 11 Oct 2011 08:15:25 +0000 (10:15 +0200)]
List all phony targets in .PHONY.
Christoph Mallon [Tue, 11 Oct 2011 08:12:28 +0000 (10:12 +0200)]
Use $(CC) -MMD instead of makedepend for tracking header dependencies.
makedepend might not be available.
Christoph Mallon [Tue, 11 Oct 2011 08:02:09 +0000 (10:02 +0200)]
Create build directories more systematically.
In particular this corrects one typo: cpbe2 should be cpbe.
Christoph Mallon [Tue, 11 Oct 2011 07:51:34 +0000 (09:51 +0200)]
Properly update revision.h.
revision.h was not updated anymore once it existed.
Christoph Mallon [Tue, 11 Oct 2011 06:39:56 +0000 (08:39 +0200)]
Remove stale comment.
Christoph Mallon [Mon, 10 Oct 2011 12:33:25 +0000 (14:33 +0200)]
Report an error if a struct contains only a flexible array member.
Christoph Mallon [Mon, 10 Oct 2011 10:59:46 +0000 (12:59 +0200)]
Use $(FIRM_HOME) instead of hardcoding libfirm. Also do not unconditionally show the sub-make command.
Christoph Mallon [Mon, 10 Oct 2011 07:09:14 +0000 (09:09 +0200)]
Build the debug version with -O0, not -O2.
Andreas Zwinkau [Fri, 30 Sep 2011 12:20:50 +0000 (14:20 +0200)]
Adapt CFLAGS according to variant
Andreas Zwinkau [Wed, 28 Sep 2011 08:27:27 +0000 (10:27 +0200)]
Update libfirm submodule reference
Some Sparc fixes
One local opt fix
Andreas Zwinkau [Mon, 26 Sep 2011 08:34:58 +0000 (10:34 +0200)]
Update libfirm submodule reference
Manuel Mohr [Fri, 23 Sep 2011 10:47:40 +0000 (12:47 +0200)]
Set visibility for compilerlib entities.
Manuel Mohr [Thu, 22 Sep 2011 14:35:41 +0000 (16:35 +0200)]
Set the compilerlib entity creation callback on non-linux systems.
Matthias Braun [Thu, 22 Sep 2011 14:55:41 +0000 (16:55 +0200)]
adapt to latest libfirm
Matthias Braun [Fri, 16 Sep 2011 11:07:55 +0000 (13:07 +0200)]
adapt to latest libfirm
Andreas Zwinkau [Thu, 15 Sep 2011 13:55:52 +0000 (15:55 +0200)]
Update libfirm submodule reference
Andreas Zwinkau [Wed, 14 Sep 2011 16:13:38 +0000 (18:13 +0200)]
Include adt/strutil.c within Makefile
Andreas Zwinkau [Wed, 14 Sep 2011 14:31:55 +0000 (16:31 +0200)]
Update libfirm submodule reference
Christoph Mallon [Wed, 14 Sep 2011 09:18:52 +0000 (11:18 +0200)]
When doing micro-optimisations, then go all the way: Use memcmp() instead of strncmp().
Christoph Mallon [Wed, 14 Sep 2011 09:10:48 +0000 (11:10 +0200)]
Use streq() instead of strcmp() == 0.
Christoph Mallon [Wed, 14 Sep 2011 09:02:50 +0000 (11:02 +0200)]
Use strstart() instead of strncmp().
Christoph Mallon [Wed, 14 Sep 2011 08:41:31 +0000 (10:41 +0200)]
Change strcmp_underscore() to streq_underscore().
Christoph Mallon [Wed, 14 Sep 2011 08:38:18 +0000 (10:38 +0200)]
Merge the two copies of strcmp_underscore().
Christoph Mallon [Wed, 14 Sep 2011 07:20:14 +0000 (09:20 +0200)]
Correct checking for well known functions: Properly check for __builtin_ prefix.
The code checked for _..uiltin_ (. being arbitrary chars) or even crashed on strings shorter than 3 chars.
Christoph Mallon [Wed, 14 Sep 2011 07:15:53 +0000 (09:15 +0200)]
Further correct re-typedef in C++: Even in system headers only identical (not just compatible) typedefs are allowed.
Christoph Mallon [Wed, 14 Sep 2011 07:05:25 +0000 (09:05 +0200)]
Move function descriptions into headers.
Andreas Zwinkau [Tue, 13 Sep 2011 14:55:43 +0000 (16:55 +0200)]
Update libfirm submodule reference
Matthias Braun [Tue, 13 Sep 2011 11:28:15 +0000 (13:28 +0200)]
add special treatment for known setjmp/longjmp function names
Matthias Braun [Tue, 13 Sep 2011 11:28:55 +0000 (13:28 +0200)]
noreturn, returns_twice, nothrow are method-type attributes
Sebastian Buchwald [Tue, 13 Sep 2011 07:45:39 +0000 (09:45 +0200)]
Pass -s flag to linker.
Sebastian Buchwald [Tue, 13 Sep 2011 06:41:52 +0000 (08:41 +0200)]
Fixed typo.
Matthias Braun [Mon, 12 Sep 2011 08:59:06 +0000 (10:59 +0200)]
fix/improve double typedef exceptions
Matthias Braun [Tue, 6 Sep 2011 15:25:42 +0000 (17:25 +0200)]
pass -w flag on to preprocessor
Christoph Mallon [Sat, 10 Sep 2011 10:16:32 +0000 (12:16 +0200)]
The typeof-type is always set, no need to check and use the expression's type as fallback.
Christoph Mallon [Sat, 10 Sep 2011 09:42:06 +0000 (11:42 +0200)]
Make get_type_alignment_compound() static.
Christoph Mallon [Sat, 10 Sep 2011 09:39:05 +0000 (11:39 +0200)]
Make sure that get_type_alignment() is not passed a typedef.
Andreas Zwinkau [Tue, 6 Sep 2011 10:26:48 +0000 (12:26 +0200)]
Update libfirm submodule reference
Matthias Braun [Mon, 5 Sep 2011 17:53:22 +0000 (19:53 +0200)]
parse line-directive flags to detect system headers
In system headers we disable the redundant decl warning and the
redefinition error for typedefs
Matthias Braun [Mon, 5 Sep 2011 17:02:20 +0000 (19:02 +0200)]
remove unfinished preproc directive parsing code
Christoph Mallon [Mon, 5 Sep 2011 11:04:03 +0000 (13:04 +0200)]
The variants of advance_current_object() and descend_into_subtype() in ast2firm must use skip_unnamed_bitfields(), too.
Christoph Mallon [Sat, 3 Sep 2011 15:28:11 +0000 (17:28 +0200)]
Skip unnamed bitfield in descend_into_subtype() and advance_current_object().
Unnamed bitfields cannot be initialized, so they must be skipped.
Christoph Mallon [Sat, 3 Sep 2011 09:09:42 +0000 (11:09 +0200)]
Correct copy&paste error.
The case above handles long long, this one is about unsigned long long.
Christoph Mallon [Sat, 3 Sep 2011 08:54:08 +0000 (10:54 +0200)]
The struct alignment of long double on 32 bit Darwin is 16 bytes.
Christoph Mallon [Sat, 3 Sep 2011 08:51:53 +0000 (10:51 +0200)]
The struct alignment of (unsigned) long long on 32 bit Darwin is 4 bytes.
Manuel Mohr [Wed, 31 Aug 2011 17:37:35 +0000 (19:37 +0200)]
Adapted cparser to CopyB lowering changes.
Manuel Mohr [Fri, 26 Aug 2011 12:30:05 +0000 (14:30 +0200)]
Pass -msoft-float to linker so that the correct libraries are linked.
Andreas Zwinkau [Fri, 8 Apr 2011 14:33:07 +0000 (16:33 +0200)]
Enable the usage of different firm variants
Andreas Zwinkau [Thu, 10 Mar 2011 21:24:54 +0000 (22:24 +0100)]
Download libfirm release if no submodule present
Fallback for tarball version
Set to version 1.19.1, as this will not work with
the current 1.18.1 anyways.
Andreas Zwinkau [Thu, 10 Mar 2011 17:40:59 +0000 (18:40 +0100)]
Use submodule for libfirm binding
cparser usually depends on a specific libfirm revision,
so it makes sense to target a specific one via submodules.
Andreas Zwinkau [Mon, 6 Jun 2011 13:28:13 +0000 (15:28 +0200)]
Generate revision from git describe
Matthias Braun [Mon, 22 Aug 2011 14:17:25 +0000 (16:17 +0200)]
adapt to firm va_start changes
Christoph Mallon [Fri, 19 Aug 2011 06:48:55 +0000 (08:48 +0200)]
Simplify sizeof(x) / sizeof(x[0]) to lengthof(x).
Christoph Mallon [Fri, 19 Aug 2011 06:58:00 +0000 (08:58 +0200)]
Simplify iterating over opts[].
Christoph Mallon [Fri, 19 Aug 2011 06:55:15 +0000 (08:55 +0200)]
Merge timers[] into opts[].
Christoph Mallon [Thu, 18 Aug 2011 17:50:31 +0000 (19:50 +0200)]
Correct size, alignment and rank of long long and unsigned long long.
Christoph Mallon [Wed, 17 Aug 2011 17:20:54 +0000 (19:20 +0200)]
Prevent duplicate entity for variadic paramters.
Christoph Mallon [Wed, 17 Aug 2011 17:20:31 +0000 (19:20 +0200)]
Select n+1st parameter for va_start.
Matthias Braun [Wed, 17 Aug 2011 11:45:52 +0000 (13:45 +0200)]
simplify builtin infrastructure
Matthias Braun [Tue, 16 Aug 2011 11:17:40 +0000 (13:17 +0200)]
rework atomic and related types
rank is now put in atomic_type_properties, enum, imaginar, complex have
been merged to use atomic_type_t as a base, allowing lots of code to
treat them the same.
Christoph Mallon [Tue, 16 Aug 2011 16:49:44 +0000 (18:49 +0200)]
Add missing operand promotion of unary integer expressions.
Sebastian Buchwald [Tue, 16 Aug 2011 14:35:00 +0000 (16:35 +0200)]
Adapt cpu_arch after processing a target tripel.
Andreas Zwinkau [Tue, 16 Aug 2011 13:30:06 +0000 (15:30 +0200)]
Adapt to libFirm API
Christoph Mallon [Mon, 15 Aug 2011 17:21:10 +0000 (19:21 +0200)]
Correct integer conversion rank of _Bool.
It should be the lowest of all integer types, not the heighest.
This corrects C/bool3.c.
Matthias Braun [Sat, 13 Aug 2011 13:28:17 +0000 (15:28 +0200)]
fix write_only{12,13}.c testcases
Matthias Braun [Sat, 13 Aug 2011 12:00:20 +0000 (14:00 +0200)]
remove more unnecessary XXX_INVALID constants
Matthias Braun [Sat, 13 Aug 2011 11:55:29 +0000 (13:55 +0200)]
remove ENTITY_INVALID
Matthias Braun [Sat, 13 Aug 2011 11:52:58 +0000 (13:52 +0200)]
rename STATEMENT_INVALID to STATEMENT_ERROR
Matthias Braun [Sat, 13 Aug 2011 11:47:18 +0000 (13:47 +0200)]
remove EXPR_INVALID, EXPR_ERROR is enough
Matthias Braun [Sat, 13 Aug 2011 11:41:24 +0000 (13:41 +0200)]
remove TYPE_INVALID, TYPE_ERROR is enough
Matthias Braun [Fri, 12 Aug 2011 18:54:07 +0000 (20:54 +0200)]
do not crash when printing implicit union/struct selects
Matthias Braun [Fri, 12 Aug 2011 12:55:38 +0000 (14:55 +0200)]
perform an additional CopyB lowering step as lower_calls can introduce new ones
Matthias Braun [Fri, 12 Aug 2011 10:36:03 +0000 (12:36 +0200)]
differentiate between EXPR_INVALID and EXPR_ERROR
EXPR_INVALID should never happen can be considered a compiler bug
EXPR_ERROR represents parsing errors in a subexpression. This commit
should fix a few panics because of parsing errors.
Matthias Braun [Fri, 12 Aug 2011 09:20:16 +0000 (11:20 +0200)]
give stray-semicolon warning a name
Sebastian Buchwald [Tue, 12 Jul 2011 13:17:24 +0000 (15:17 +0200)]
We now support -msoft-float.
Matthias Braun [Fri, 12 Aug 2011 08:56:27 +0000 (10:56 +0200)]
implement some missing builtin variants
Matthias Braun [Fri, 12 Aug 2011 08:19:37 +0000 (10:19 +0200)]
implement -Wempty-body and -Wignored-qualifiers and ignore some more gcc warnings
Matthias Braun [Fri, 12 Aug 2011 07:22:34 +0000 (09:22 +0200)]
fix walking code trying to dereference some NULL pointers
Matthias Braun [Thu, 11 Aug 2011 23:28:40 +0000 (01:28 +0200)]
rework input logic to allow parsing from strings
Matthias Braun [Thu, 11 Aug 2011 21:02:49 +0000 (23:02 +0200)]
improve ast-walk infrastructure
Matthias Braun [Thu, 11 Aug 2011 19:59:57 +0000 (21:59 +0200)]
remove old EXPR_UNKNOWN artifact
Matthias Braun [Thu, 11 Aug 2011 19:34:21 +0000 (21:34 +0200)]
fix bug: not all unixes are ia32
Andreas Zwinkau [Thu, 11 Aug 2011 09:18:45 +0000 (11:18 +0200)]
Fix C/folderror
Instead of converting a tarval to long and check if it is negative,
we must check the tarval itself, because the constant might be too
big for long.
Matthias Braun [Wed, 10 Aug 2011 10:43:48 +0000 (12:43 +0200)]
rework architecture specific type handling
move lots of architecture exceptions to main.c; adapt to latest libfirm
Matthias Braun [Tue, 9 Aug 2011 13:14:51 +0000 (15:14 +0200)]
bitfields are an entity attribute now, not a type
Matthias Braun [Tue, 9 Aug 2011 09:11:14 +0000 (11:11 +0200)]
preprocessor: escape sequence, octal parsing in utf32
Matthias Braun [Tue, 26 Jul 2011 12:58:14 +0000 (14:58 +0200)]
move grow_symbol function into unicode.h
Matthias Braun [Tue, 26 Jul 2011 12:50:42 +0000 (14:50 +0200)]
transform token_t into a union (similar to ast-nodes)
Matthias Braun [Mon, 25 Jul 2011 13:16:10 +0000 (15:16 +0200)]
start working on include searchpath management
Matthias Braun [Mon, 25 Jul 2011 13:14:50 +0000 (15:14 +0200)]
fix pp_definition not being initialized in a symbol
Matthias Braun [Tue, 19 Jul 2011 10:30:23 +0000 (12:30 +0200)]
redo preprocessor output concerning spaces,newlines
Matthias Braun [Tue, 19 Jul 2011 10:29:27 +0000 (12:29 +0200)]
do not add searchpath stuff into parse_headername
Matthias Braun [Mon, 18 Jul 2011 17:51:54 +0000 (19:51 +0200)]
fix preprocessing token registration
Matthias Braun [Mon, 18 Jul 2011 17:32:12 +0000 (19:32 +0200)]
update preprocessor tests
Matthias Braun [Mon, 18 Jul 2011 17:13:03 +0000 (19:13 +0200)]
adapt preprocessor to coding standards
Matthias Braun [Mon, 18 Jul 2011 17:10:38 +0000 (19:10 +0200)]
preprocessor: cleanup, use new input functions
Matthias Braun [Mon, 18 Jul 2011 13:56:14 +0000 (15:56 +0200)]
factor out input-reading code from lexer.c into input.c