Matthias Braun [Sat, 1 Nov 2008 17:11:17 +0000 (17:11 +0000)]
partly fix local labels, %P already prints %P an at no need for additional ones in the messages
[r23353]
Matthias Braun [Sat, 1 Nov 2008 17:05:58 +0000 (17:05 +0000)]
conditional expressions true case may be NULL as a GNU extension
[r23352]
Matthias Braun [Sat, 1 Nov 2008 17:00:35 +0000 (17:00 +0000)]
declaration_t -> entity_t
This breaks up the monotolithic declaration_t monster in a bunch of different
structs like variable_t, function_t or label_t
Not everything back to the way it was, but SPEC seems to work now. Just some obscure gnu extensions missing.
[r23351]
Matthias Braun [Sat, 1 Nov 2008 16:55:14 +0000 (16:55 +0000)]
fix warning
[r23349]
Matthias Braun [Sat, 1 Nov 2008 15:45:01 +0000 (15:45 +0000)]
this is a gnu extension I guess
[r23348]
Matthias Braun [Sat, 1 Nov 2008 15:17:47 +0000 (15:17 +0000)]
test implicit type for k&r functions
[r23347]
Michael Beck [Tue, 28 Oct 2008 15:54:18 +0000 (15:54 +0000)]
- add option -end-melt
[r23282]
Michael Beck [Mon, 27 Oct 2008 18:03:02 +0000 (18:03 +0000)]
- further fixed r23189
[r23242]
Christoph Mallon [Mon, 27 Oct 2008 15:44:09 +0000 (15:44 +0000)]
Fix anchor token underflow while parsing for-statements.
[r23236]
Christoph Mallon [Mon, 27 Oct 2008 15:40:15 +0000 (15:40 +0000)]
Parse sizeof(T){...} correctly, i.e. not sizeof type, but sizeof expression starting with a compound literal.
[r23234]
Christoph Mallon [Mon, 27 Oct 2008 12:17:13 +0000 (12:17 +0000)]
Add the C++ :: token.
[r23226]
Christoph Mallon [Mon, 27 Oct 2008 11:40:23 +0000 (11:40 +0000)]
Parse and check semantic of delete expressions.
[r23225]
Christoph Mallon [Mon, 27 Oct 2008 11:08:09 +0000 (11:08 +0000)]
C++ banned implicit int.
[r23224]
Christoph Mallon [Mon, 27 Oct 2008 11:00:18 +0000 (11:00 +0000)]
C++ does not allow assignment from a void pointer type to a non-void pointer type.
[r23223]
Christoph Mallon [Mon, 27 Oct 2008 10:50:48 +0000 (10:50 +0000)]
C++ has not "tentative definitions".
[r23222]
Christoph Mallon [Mon, 27 Oct 2008 10:46:15 +0000 (10:46 +0000)]
C++ function declarations with an empty parameter list denote no parameters instead of unspecified parameters.
[r23221]
Christoph Mallon [Mon, 27 Oct 2008 10:32:09 +0000 (10:32 +0000)]
Parse and check semantic of throw expressions.
[r23220]
Christoph Mallon [Mon, 27 Oct 2008 06:48:38 +0000 (06:48 +0000)]
Remove if, whose condition is never true.
[r23219]
Christoph Mallon [Sun, 26 Oct 2008 20:55:23 +0000 (20:55 +0000)]
In C++ (most) character literals are of type char.
[r23218]
Christoph Mallon [Sun, 26 Oct 2008 20:38:34 +0000 (20:38 +0000)]
Add C++ keywords.
[r23217]
Christoph Mallon [Sun, 26 Oct 2008 19:49:53 +0000 (19:49 +0000)]
First bit of C++ support: Different precedence for ?:.
[r23216]
Christoph Mallon [Sun, 26 Oct 2008 19:48:46 +0000 (19:48 +0000)]
Add support for C++ in the compiler driver.
[r23215]
Matthias Braun [Sun, 26 Oct 2008 18:44:46 +0000 (18:44 +0000)]
more tests
[r23214]
Matthias Braun [Sun, 26 Oct 2008 18:04:37 +0000 (18:04 +0000)]
slightly improve testcase
[r23213]
Christoph Mallon [Sun, 26 Oct 2008 17:54:17 +0000 (17:54 +0000)]
Consistently name the directories should_*.
[r23212]
Christoph Mallon [Sun, 26 Oct 2008 17:50:49 +0000 (17:50 +0000)]
cp_error050: sizeof a compound literal.
[r23211]
Christoph Mallon [Sun, 26 Oct 2008 17:46:08 +0000 (17:46 +0000)]
Fix parsing of expression statements, which pointlessly start with sizeof or __alignof__, and sort the case list.
[r23210]
Matthias Braun [Sun, 26 Oct 2008 12:26:06 +0000 (12:26 +0000)]
fix typo
[r23207]
Matthias Braun [Sun, 26 Oct 2008 12:23:44 +0000 (12:23 +0000)]
this was not meant to be here
[r23206]
Christoph Mallon [Sun, 26 Oct 2008 12:11:03 +0000 (12:11 +0000)]
Change -w so that warnings can be activated again later on.
[r23205]
Matthias Braun [Sun, 26 Oct 2008 12:02:46 +0000 (12:02 +0000)]
more warning testcases
[r23204]
Matthias Braun [Sun, 26 Oct 2008 10:03:16 +0000 (10:03 +0000)]
source-position doesn't make any sense for types:
- atomic, pointer, function types are used throughout the program and always
defined "on-the-fly" it's not possible to assign a correct source_position
- for struct, union and enum types we have to create a declaration_t anyway
so they can get referenced by their name. In this case we can and should
use the source_position of the declaration
[r23203]
Christoph Mallon [Sun, 26 Oct 2008 08:30:31 +0000 (08:30 +0000)]
Prefix operators need no precedence.
[r23201]
Michael Beck [Sun, 26 Oct 2008 02:04:06 +0000 (02:04 +0000)]
- crashes, but should give an error
[r23200]
Michael Beck [Sun, 26 Oct 2008 00:24:57 +0000 (00:24 +0000)]
- BugFix: gcc optimizes def_nr + 1 < 0 away, arg\!
[r23196]
Michael Beck [Sun, 26 Oct 2008 00:08:44 +0000 (00:08 +0000)]
- BugFix: generation of default case number was completely broken
[r23195]
Michael Beck [Sat, 25 Oct 2008 22:37:06 +0000 (22:37 +0000)]
- fixed r23189: the AST-printer doubles the precesion to have one free
bit for right-to-left handling
[r23194]
Christoph Mallon [Sat, 25 Oct 2008 20:06:26 +0000 (20:06 +0000)]
Unify the precedence lists of the parser and the AST printer.
[r23189]
Matthias Braun [Sat, 25 Oct 2008 19:42:22 +0000 (19:42 +0000)]
improved switch.c
[r23188]
Christoph Mallon [Sat, 25 Oct 2008 19:26:26 +0000 (19:26 +0000)]
Replace magic numbers for expression precedences by an enum. Do not unnecessarily pass the precedence to the expression parsers.
[r23184]
Matthias Braun [Sat, 25 Oct 2008 17:10:15 +0000 (17:10 +0000)]
get rid of some fields in ast_t: outer_fkt_jmp, is_outer_ref, is_parameter
[r23181]
Christoph Mallon [Sat, 25 Oct 2008 17:01:13 +0000 (17:01 +0000)]
Fix some precedence stuff for expression parsing.
[r23180]
Matthias Braun [Sat, 25 Oct 2008 14:44:06 +0000 (14:44 +0000)]
some testcases I had lying around here
[r23179]
Christoph Mallon [Fri, 24 Oct 2008 17:30:32 +0000 (17:30 +0000)]
While our semantics of _Bool are wrong, at least make it the right size (for most platforms).
[r23175]
Christoph Mallon [Fri, 24 Oct 2008 17:26:56 +0000 (17:26 +0000)]
Use make_pointer_type().
[r23174]
Matthias Braun [Thu, 23 Oct 2008 21:59:02 +0000 (21:59 +0000)]
asm_name is not used
[r23149]
Christoph Mallon [Tue, 21 Oct 2008 10:11:07 +0000 (10:11 +0000)]
skip_typeref().
[r23060]
Christoph Mallon [Tue, 21 Oct 2008 08:13:29 +0000 (08:13 +0000)]
Improve unused variable check.
[r23059]
Christoph Mallon [Tue, 21 Oct 2008 06:11:05 +0000 (06:11 +0000)]
Improve unused variable check.
[r23057]
Christoph Mallon [Tue, 21 Oct 2008 06:07:12 +0000 (06:07 +0000)]
Implement a statement walker.
[r23056]
Christoph Mallon [Mon, 20 Oct 2008 10:47:54 +0000 (10:47 +0000)]
Remove a variable, which was found by the new, shiny -Wunused-variable.
[r23027]
Christoph Mallon [Mon, 20 Oct 2008 10:46:10 +0000 (10:46 +0000)]
Another attempt to solve the halting problem: Detect variables, which are never read. The test is cheap and could be improved by using dataflow, SSA and fixpoint magic, but of course it is lightyears ahead of GCC. For example in x = x + 1; x is not marked as read, because it is only used to assign to itself.
[r23026]
Christoph Mallon [Mon, 20 Oct 2008 08:40:04 +0000 (08:40 +0000)]
Make check_unreachable() more tail recursion friendly.
[r23021]
Christoph Mallon [Mon, 20 Oct 2008 08:35:58 +0000 (08:35 +0000)]
Resolve assertion, when using -fsyntax-only.
[r23020]
Christoph Mallon [Sun, 19 Oct 2008 17:30:24 +0000 (17:30 +0000)]
Remove stale (since r21011) comment.
[r23016]
Christoph Mallon [Sun, 19 Oct 2008 17:25:56 +0000 (17:25 +0000)]
Fix r23014.
[r23015]
Christoph Mallon [Sun, 19 Oct 2008 16:49:14 +0000 (16:49 +0000)]
Do not generate an error message about incompatible types in ?: if the error type is involved.
[r23014]
Christoph Mallon [Sun, 19 Oct 2008 16:42:19 +0000 (16:42 +0000)]
Resolve some warnings.
[r23013]
Christoph Mallon [Sun, 19 Oct 2008 16:27:40 +0000 (16:27 +0000)]
Add forgotten conversion specifiers.
[r23012]
Christoph Mallon [Sun, 19 Oct 2008 16:19:50 +0000 (16:19 +0000)]
Resolve some warnings.
[r23011]
Christoph Mallon [Tue, 14 Oct 2008 15:16:52 +0000 (15:16 +0000)]
-fopt-foo means activate, not deactivate.
[r22879]
Christoph Mallon [Mon, 13 Oct 2008 10:37:57 +0000 (10:37 +0000)]
Add debug info to implicitly created != 0 tests in ifs.
[r22835]
Matthias Braun [Sat, 11 Oct 2008 18:53:41 +0000 (18:53 +0000)]
no need for bitfiddle here
[r22709]
Christoph Mallon [Tue, 7 Oct 2008 07:33:26 +0000 (07:33 +0000)]
Print AST and error/warning summary even in the presence of preprocessor errors.
[r22560]
Christoph Mallon [Tue, 7 Oct 2008 07:13:48 +0000 (07:13 +0000)]
Remove unreachable statement.
[r22559]
Christoph Mallon [Tue, 7 Oct 2008 07:12:59 +0000 (07:12 +0000)]
Show the number of the conversion specification in the format check warnings.
[r22558]
Christoph Mallon [Tue, 7 Oct 2008 07:01:16 +0000 (07:01 +0000)]
Remove pointless local variable.
[r22557]
Christoph Mallon [Tue, 7 Oct 2008 06:39:22 +0000 (06:39 +0000)]
Remove redundant assignment.
[r22556]
Michael Beck [Mon, 6 Oct 2008 22:40:10 +0000 (22:40 +0000)]
- improve error message even more ;-)
[r22555]
Michael Beck [Mon, 6 Oct 2008 22:36:55 +0000 (22:36 +0000)]
- improve error message
[r22554]
Michael Beck [Mon, 6 Oct 2008 21:50:23 +0000 (21:50 +0000)]
- allow '-' for s and S format
- improve error message
[r22553]
Matthias Braun [Mon, 6 Oct 2008 18:54:52 +0000 (18:54 +0000)]
only query primitive types for their base type
[r22549]
Matthias Braun [Mon, 6 Oct 2008 13:27:51 +0000 (13:27 +0000)]
fix missing skip_typeref buf
[r22533]
Matthias Braun [Mon, 6 Oct 2008 13:20:23 +0000 (13:20 +0000)]
disable fix for parsetest/fehler053.c for now (as it breaks more common use cases)
[r22530]
Matthias Braun [Fri, 3 Oct 2008 17:16:32 +0000 (17:16 +0000)]
fix bitfield2.c
[r22436]
Matthias Braun [Fri, 3 Oct 2008 17:16:10 +0000 (17:16 +0000)]
tricky bitfield test from gcc (extended)
[r22435]
Christoph Mallon [Fri, 3 Oct 2008 16:36:40 +0000 (16:36 +0000)]
Implement reference_addr() for DECLARATION_KIND_FUNCTION.
[r22434]
Christoph Mallon [Thu, 2 Oct 2008 21:51:20 +0000 (21:51 +0000)]
skip_typeref().
[r22424]
Christoph Mallon [Thu, 2 Oct 2008 19:49:19 +0000 (19:49 +0000)]
Fix assertion failure introduced in r22072.
[r22422]
Christoph Mallon [Thu, 2 Oct 2008 18:56:14 +0000 (18:56 +0000)]
skip_typeref().
[r22421]
Christoph Mallon [Thu, 2 Oct 2008 18:39:58 +0000 (18:39 +0000)]
Treat expressions with error type as lvalues. There was a parse error before, which maybe prevented properly recognizing it as lvalue.
[r22419]
Christoph Mallon [Thu, 2 Oct 2008 18:29:30 +0000 (18:29 +0000)]
Improve error recovery for if-statements.
[r22418]
Christoph Mallon [Thu, 2 Oct 2008 07:57:02 +0000 (07:57 +0000)]
Parse __builtin_inf{,f,l} and correct __builtin_nand to __builtin_nanl.
[r22406]
Michael Beck [Mon, 29 Sep 2008 23:39:17 +0000 (23:39 +0000)]
- set the new combo flag
[r22354]
Matthias Braun [Sun, 28 Sep 2008 18:31:20 +0000 (18:31 +0000)]
use firm array to avoid name/symbol clashes
[r22332]
Christoph Mallon [Fri, 26 Sep 2008 10:46:50 +0000 (10:46 +0000)]
Process declaration modifiers for variables in ast2firm, too.
[r22284]
Michael Beck [Fri, 26 Sep 2008 10:07:33 +0000 (10:07 +0000)]
- add -finline-max-size= and -finline-threshold= parameter
[r22279]
Matthias Braun [Wed, 24 Sep 2008 14:50:51 +0000 (14:50 +0000)]
increase inline limit
[r22244]
Christoph Mallon [Tue, 23 Sep 2008 20:50:14 +0000 (20:50 +0000)]
Generate AST for some semantically invalid initializers.
[r22222]
Michael Beck [Tue, 23 Sep 2008 17:13:40 +0000 (17:13 +0000)]
- add missing initialization of have_const_functions
[r22214]
Matthias Braun [Tue, 23 Sep 2008 14:57:08 +0000 (14:57 +0000)]
handle DM_CONST, lower inline limit, force optimize_funccalls
[r22210]
Christoph Mallon [Tue, 23 Sep 2008 14:45:28 +0000 (14:45 +0000)]
Treat size_constant like a bool should be, i.e. do not explicitly compare with == 1/true.
[r22206]
Matthias Braun [Tue, 23 Sep 2008 09:12:41 +0000 (09:12 +0000)]
disable builtins by default
[r22187]
Matthias Braun [Mon, 22 Sep 2008 18:42:50 +0000 (18:42 +0000)]
possibility to disable builtin functions
[r22178]
Matthias Braun [Sun, 21 Sep 2008 22:48:19 +0000 (22:48 +0000)]
make -fsync default
[r22157]
Christoph Mallon [Sat, 20 Sep 2008 12:17:52 +0000 (12:17 +0000)]
right_to_left() now returns 0 for left-to-right associativity instead of -1.
[r22138]
Matthias Braun [Fri, 19 Sep 2008 11:27:03 +0000 (11:27 +0000)]
fix gcse
[r22122]
Christoph Mallon [Fri, 19 Sep 2008 04:56:20 +0000 (04:56 +0000)]
Resolve off-by-one (and off-by-two) errors in the source position of statements.
[r22112]
Christoph Mallon [Fri, 19 Sep 2008 04:48:26 +0000 (04:48 +0000)]
Set the source position in allocate_statement_zero().
[r22111]
Christoph Mallon [Thu, 18 Sep 2008 22:30:18 +0000 (22:30 +0000)]
Make stray ; outside of functions an error in strict mode.
[r22102]