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]
Christoph Mallon [Thu, 18 Sep 2008 22:29:34 +0000 (22:29 +0000)]
Resolve compile error.
[r22101]
Michael Beck [Thu, 18 Sep 2008 19:17:54 +0000 (19:17 +0000)]
- BugFix: unitializer must be created using qualifiers from array-skipped typed
[r22092]
Michael Beck [Thu, 18 Sep 2008 19:17:11 +0000 (19:17 +0000)]
- add get_type_qualifiers() allowing to get the type qualifiers WITHOUT
using skip_typeref() AND allowing to skip ARRAY types
[r22091]
Christoph Mallon [Thu, 18 Sep 2008 13:03:31 +0000 (13:03 +0000)]
The standard calls it "file scope", so rename global_scope to file_scope.
[r22079]
Christoph Mallon [Thu, 18 Sep 2008 11:52:46 +0000 (11:52 +0000)]
Resolve unreachable statement warnings.
[r22077]
Christoph Mallon [Thu, 18 Sep 2008 11:43:02 +0000 (11:43 +0000)]
Put T_EOF into the anchor set.
[r22075]
Matthias Braun [Thu, 18 Sep 2008 11:15:36 +0000 (11:15 +0000)]
depend on libfirm (if path is specified in config.mak)
[r22074]
Christoph Mallon [Thu, 18 Sep 2008 09:41:03 +0000 (09:41 +0000)]
Slightly simplify stack_pop_to().
[r22072]
Christoph Mallon [Thu, 18 Sep 2008 09:02:58 +0000 (09:02 +0000)]
environment_top() and local_label_top() return size_t, not int.
[r22070]
Christoph Mallon [Thu, 18 Sep 2008 08:53:45 +0000 (08:53 +0000)]
Slightly simplify stack_push().
[r22069]
Michael Beck [Thu, 18 Sep 2008 00:32:53 +0000 (00:32 +0000)]
fixed parameter redeclaration error
[r22068]
Michael Beck [Thu, 18 Sep 2008 00:32:13 +0000 (00:32 +0000)]
enhanced
[r22067]
Michael Beck [Thu, 18 Sep 2008 00:22:55 +0000 (00:22 +0000)]
- functions cannot be lvalues
[r22066]
Michael Beck [Thu, 18 Sep 2008 00:15:34 +0000 (00:15 +0000)]
- add more attributes to support inner functions
- preliminary support for code generation for inner functions (closure must NOT be used yet)
[r22065]
Michael Beck [Thu, 18 Sep 2008 00:13:05 +0000 (00:13 +0000)]
- added outer function jump to example
[r22064]
Michael Beck [Wed, 17 Sep 2008 23:20:48 +0000 (23:20 +0000)]
should warn about struct inside parameter scope definition
[r22063]
Michael Beck [Wed, 17 Sep 2008 21:52:36 +0000 (21:52 +0000)]
- replaced set_scope by scope_push()/scope_pop()
- detect access to variables of outer functions and set the address_taken flag
- detect redeclaration of parameters and issue an error
- set last_declaration in the parameter scope
- mark the scope of parameters
[r22060]
Christoph Mallon [Wed, 17 Sep 2008 21:49:45 +0000 (21:49 +0000)]
Add { as anchor while parsing k&r declaration list.
[r22059]
Christoph Mallon [Wed, 17 Sep 2008 21:40:23 +0000 (21:40 +0000)]
Implement -Waddress.
[r22057]
Christoph Mallon [Wed, 17 Sep 2008 20:04:31 +0000 (20:04 +0000)]
Restore value of in_gcc_extension using old_gcc_extension.
[r22054]
Christoph Mallon [Wed, 17 Sep 2008 19:58:13 +0000 (19:58 +0000)]
Add { as anchor while parsing external declaration.
[r22053]
Michael Beck [Wed, 17 Sep 2008 19:28:50 +0000 (19:28 +0000)]
fixed comments
[r22052]
Michael Beck [Wed, 17 Sep 2008 19:21:22 +0000 (19:21 +0000)]
- BugFix: typeof operator must set the in_type_prop attribute
- __extension__ now sets/resets the in_gcc_extension attribute
- use new GNU_MODE macro instead of (c_mode & _GNUC) which checks for in_gcc_extension
[r22051]
Christoph Mallon [Wed, 17 Sep 2008 17:14:29 +0000 (17:14 +0000)]
Reduce anchor scope.
[r22050]
Michael Beck [Wed, 17 Sep 2008 15:09:24 +0000 (15:09 +0000)]
add support for gcc nested functions
[r22043]
Michael Beck [Wed, 17 Sep 2008 15:08:48 +0000 (15:08 +0000)]
add missing print_indent() (now correctly prints nsted functions)
[r22042]
Christoph Mallon [Wed, 17 Sep 2008 14:56:33 +0000 (14:56 +0000)]
eat_statement() is dead, long live eat_until_anchor()!
[r22041]
Michael Beck [Wed, 17 Sep 2008 14:52:31 +0000 (14:52 +0000)]
nested function example
[r22040]
Christoph Mallon [Wed, 17 Sep 2008 14:47:40 +0000 (14:47 +0000)]
Small simplification.
[r22039]
Michael Beck [Wed, 17 Sep 2008 12:51:33 +0000 (12:51 +0000)]
do not record empty declarations by default
[r22036]
Michael Beck [Wed, 17 Sep 2008 12:40:52 +0000 (12:40 +0000)]
- type property expressions are NOT self-initializer
[r22035]
Christoph Mallon [Wed, 17 Sep 2008 08:55:51 +0000 (08:55 +0000)]
Always return a non-null pointer from parse_array_declarator() to avoid dereferencing a null pointer later on.
[r22029]
Christoph Mallon [Wed, 17 Sep 2008 07:50:51 +0000 (07:50 +0000)]
The element type of an array shall not be an incomplete or function type.
[r22028]
Christoph Mallon [Wed, 17 Sep 2008 07:29:23 +0000 (07:29 +0000)]
Still record the element type of arrays and the return type of functions, even if they are invalid.
[r22027]
Christoph Mallon [Tue, 16 Sep 2008 18:38:09 +0000 (18:38 +0000)]
Warn about type qualifiers in the return type of function types.
[r22020]
Christoph Mallon [Tue, 16 Sep 2008 18:11:08 +0000 (18:11 +0000)]
Do not warn about the return type of main(), if it is the error type.
[r22017]
Christoph Mallon [Tue, 16 Sep 2008 18:06:30 +0000 (18:06 +0000)]
Use the real error type instead of ATOMIC_TYPE_INVALID, when parsing type specifiers, to avoid strange errors/warnings later on.
[r22016]
Christoph Mallon [Tue, 16 Sep 2008 18:02:07 +0000 (18:02 +0000)]
Avoid segfault when encountering a parse error while parsing __declspec in type specifiers.
[r22015]
Christoph Mallon [Tue, 16 Sep 2008 17:54:43 +0000 (17:54 +0000)]
Do not warn about excess initialisers, when trying to initialise an incomplete compound variable.
[r22014]
Christoph Mallon [Tue, 16 Sep 2008 17:53:24 +0000 (17:53 +0000)]
Slightly simplify printing binary operators.
[r22013]
Christoph Mallon [Tue, 16 Sep 2008 12:38:38 +0000 (12:38 +0000)]
Use fputc() instead of fputs() to print a single char.
[r22006]