Christoph Mallon [Sun, 18 Nov 2007 11:28:47 +0000 (11:28 +0000)]
Count local variables for IR generation.
[r18478]
Christoph Mallon [Sun, 18 Nov 2007 09:22:23 +0000 (09:22 +0000)]
Ignore -std=*.
[r18477]
Christoph Mallon [Sun, 18 Nov 2007 09:15:45 +0000 (09:15 +0000)]
Do a localopt and cf opt after 64bit lowering to please the backend (ie. eliminate Bad CF predecessors).
[r18476]
Christoph Mallon [Sun, 18 Nov 2007 06:53:57 +0000 (06:53 +0000)]
Add the __func__ token.
[r18475]
Christoph Mallon [Sun, 18 Nov 2007 06:53:38 +0000 (06:53 +0000)]
Fix typos in comment.
[r18474]
Christoph Mallon [Sun, 18 Nov 2007 06:53:14 +0000 (06:53 +0000)]
s/#elseif/#elif/.
[r18473]
Michael Beck [Sat, 17 Nov 2007 23:22:06 +0000 (23:22 +0000)]
typos fixed
[r18472]
Michael Beck [Sat, 17 Nov 2007 22:46:56 +0000 (22:46 +0000)]
renamed (reserved C++ keyword) namespace into namespc
[r18471]
Michael Beck [Sat, 17 Nov 2007 22:46:11 +0000 (22:46 +0000)]
let PREPROCESSOR and LINK to be defined from outside
_WIN32 cpp does not support -o -
[r18470]
Michael Beck [Sat, 17 Nov 2007 22:45:27 +0000 (22:45 +0000)]
add NORETURN
[r18469]
Christoph Mallon [Sat, 17 Nov 2007 21:52:13 +0000 (21:52 +0000)]
Do no generate body blocks in the first place, when the body of a for- or while-loop is empty.
[r18468]
Christoph Mallon [Sat, 17 Nov 2007 21:31:09 +0000 (21:31 +0000)]
The then-part of an if-statement can be empty, too.
[r18467]
Christoph Mallon [Sat, 17 Nov 2007 21:23:21 +0000 (21:23 +0000)]
The bodies of do-while- and for-loops can be empty, too.
[r18466]
Christoph Mallon [Sat, 17 Nov 2007 21:10:50 +0000 (21:10 +0000)]
The body of a while statement can be empty.
[r18465]
Christoph Mallon [Sat, 17 Nov 2007 21:09:15 +0000 (21:09 +0000)]
Handle array + integer.
[r18464]
Christoph Mallon [Sat, 17 Nov 2007 20:49:55 +0000 (20:49 +0000)]
Allow assignment from arrays to pointers.
[r18463]
Christoph Mallon [Sat, 17 Nov 2007 20:10:52 +0000 (20:10 +0000)]
Do 64bit lowering.
[r18462]
Christoph Mallon [Sat, 17 Nov 2007 19:54:02 +0000 (19:54 +0000)]
Add missing skip_typeref() in select_to_firm().
[r18461]
Christoph Mallon [Sat, 17 Nov 2007 19:51:03 +0000 (19:51 +0000)]
Operand of ! must be of scalar type (was too strict), operand of ~ must be of integer type (was too lax).
[r18460]
Christoph Mallon [Sat, 17 Nov 2007 19:40:31 +0000 (19:40 +0000)]
Generate IR for calling function pointers.
[r18459]
Christoph Mallon [Sat, 17 Nov 2007 19:33:31 +0000 (19:33 +0000)]
Allow assignment from function designators to function pointers.
[r18458]
Christoph Mallon [Sat, 17 Nov 2007 19:27:50 +0000 (19:27 +0000)]
Allow calling function pointers.
[r18457]
Christoph Mallon [Sat, 17 Nov 2007 19:14:03 +0000 (19:14 +0000)]
Implement pointer arithmetic for += and -=. (Hopefully) fix pointer arithmetic for -.
[r18456]
Christoph Mallon [Sat, 17 Nov 2007 17:49:54 +0000 (17:49 +0000)]
Fix r463.
[r18455]
Christoph Mallon [Sat, 17 Nov 2007 17:49:13 +0000 (17:49 +0000)]
Print an explicit error for the attempt to assign to arrays.
[r18454]
Christoph Mallon [Sat, 17 Nov 2007 17:29:37 +0000 (17:29 +0000)]
Fix r459: array_type_t is not pointer_type_t.
[r18453]
Christoph Mallon [Sat, 17 Nov 2007 17:25:35 +0000 (17:25 +0000)]
Inline load_from_expression_addr() into its only user.
[r18452]
Christoph Mallon [Sat, 17 Nov 2007 17:21:55 +0000 (17:21 +0000)]
Handle IR generation for dereferencing pointers to non-scalar types.
[r18451]
Christoph Mallon [Sat, 17 Nov 2007 17:20:21 +0000 (17:20 +0000)]
Unary * handles arrays, too. Improve the error message, when the argument is neither an array nor a pointer.
[r18450]
Matthias Braun [Sat, 17 Nov 2007 16:56:56 +0000 (16:56 +0000)]
use short-circuit evaluation like the master taught us
[r18449]
Christoph Mallon [Sat, 17 Nov 2007 16:56:22 +0000 (16:56 +0000)]
Handle IR generation for selection of non-scalar types from a compound type.
[r18448]
Christoph Mallon [Sat, 17 Nov 2007 16:35:53 +0000 (16:35 +0000)]
Handle IR generation for access to global variables of compound type.
[r18447]
Christoph Mallon [Sat, 17 Nov 2007 16:33:54 +0000 (16:33 +0000)]
Handle IR generation for subscription of arrays with non-scalar element type.
[r18446]
Christoph Mallon [Sat, 17 Nov 2007 15:49:03 +0000 (15:49 +0000)]
&& and || accept scalar types, not only arithmetic types.
[r18445]
Matthias Braun [Sat, 17 Nov 2007 15:35:12 +0000 (15:35 +0000)]
implement ++ and -- for pointers
[r18444]
Christoph Mallon [Sat, 17 Nov 2007 14:40:38 +0000 (14:40 +0000)]
Handle implicit casts from 0 to pointers in comparisons.
[r18443]
Christoph Mallon [Sat, 17 Nov 2007 14:00:26 +0000 (14:00 +0000)]
Handle implicit casts from 0 to pointers.
[r18442]
Christoph Mallon [Sat, 17 Nov 2007 13:27:29 +0000 (13:27 +0000)]
Use skip_typeref() to determine the types in conditional expressions.
[r18441]
Christoph Mallon [Sat, 17 Nov 2007 12:36:23 +0000 (12:36 +0000)]
Generate IR for /= and %=.
[r18440]
Christoph Mallon [Sat, 17 Nov 2007 12:17:41 +0000 (12:17 +0000)]
Remove redundant calls to error().
[r18439]
Christoph Mallon [Sat, 17 Nov 2007 12:14:32 +0000 (12:14 +0000)]
Handle non-extern declarations after extern declarations correctly, warn about redundant declarations, issue an error for multiple declarations with incompatible storage classes.
[r18438]
Michael Beck [Sat, 17 Nov 2007 11:28:53 +0000 (11:28 +0000)]
__typeof__ is a GNU extension
[r18437]
Christoph Mallon [Sat, 17 Nov 2007 10:46:04 +0000 (10:46 +0000)]
Warn about empty declarations.
[r18436]
Christoph Mallon [Sat, 17 Nov 2007 08:53:24 +0000 (08:53 +0000)]
Ignore parameters beginning with -D, -O or -f for now and print a warning.
[r18435]
Christoph Mallon [Sat, 17 Nov 2007 08:51:46 +0000 (08:51 +0000)]
Do not set options which do not exist anymore.
[r18434]
Michael Beck [Fri, 16 Nov 2007 23:26:13 +0000 (23:26 +0000)]
add some casts to suppress warnings
[r18433]
Michael Beck [Fri, 16 Nov 2007 23:25:29 +0000 (23:25 +0000)]
preliminary Win32 support added
[r18432]
Michael Beck [Fri, 16 Nov 2007 23:23:01 +0000 (23:23 +0000)]
use new TYPE_QUALIFIER_NONE to suppress warning
[r18431]
Michael Beck [Fri, 16 Nov 2007 23:21:34 +0000 (23:21 +0000)]
add TYPE_QUALIFIER_NONE to suppress warnings (use it instead of 0)
[r18430]
Michael Beck [Fri, 16 Nov 2007 23:20:20 +0000 (23:20 +0000)]
removed abort() declaration, use from stdlib.h
[r18429]
Matthias Braun [Fri, 16 Nov 2007 23:16:03 +0000 (23:16 +0000)]
it's __GNUC__ not __GCC__
[r18428]
Christoph Mallon [Fri, 16 Nov 2007 23:01:46 +0000 (23:01 +0000)]
Handle fallthrough when generating IR for case labels.
[r18427]
Christoph Mallon [Fri, 16 Nov 2007 22:42:21 +0000 (22:42 +0000)]
Make sure to generate a default ProjX for switch()es, even if there is no default: label.
[r18426]
Michael Beck [Fri, 16 Nov 2007 22:38:55 +0000 (22:38 +0000)]
__attribute__ is a GCC extension
[r18425]
Christoph Mallon [Fri, 16 Nov 2007 22:07:04 +0000 (22:07 +0000)]
Parse octal escape sequences correctly: Do not swallow the first digit and read at most three digits.
[r18424]
Matthias Braun [Fri, 16 Nov 2007 21:23:21 +0000 (21:23 +0000)]
fix bug in my last commit
[r18423]
Matthias Braun [Fri, 16 Nov 2007 21:21:45 +0000 (21:21 +0000)]
fix some struct as local variable problems
[r18422]
Matthias Braun [Fri, 16 Nov 2007 21:13:31 +0000 (21:13 +0000)]
fix another bug in list handling of environment stack
[r18421]
Matthias Braun [Fri, 16 Nov 2007 20:53:01 +0000 (20:53 +0000)]
implement LOCAL_VARIBALE_ENTITY in reference_expression_addr
[r18420]
Christoph Mallon [Fri, 16 Nov 2007 20:46:22 +0000 (20:46 +0000)]
Handle the derefence operator in expression_to_addr().
[r18419]
Matthias Braun [Fri, 16 Nov 2007 20:45:03 +0000 (20:45 +0000)]
set address_taken flag
[r18418]
Matthias Braun [Fri, 16 Nov 2007 20:43:57 +0000 (20:43 +0000)]
we need _GNU_SOURCE for popen
[r18417]
Christoph Mallon [Fri, 16 Nov 2007 19:14:06 +0000 (19:14 +0000)]
Communicate via popen() with the preprocessor, to avoid the temporary file.
[r18416]
Matthias Braun [Fri, 16 Nov 2007 17:05:08 +0000 (17:05 +0000)]
implemented/fixed EXPR_SEL
[r18415]
Matthias Braun [Fri, 16 Nov 2007 16:01:42 +0000 (16:01 +0000)]
fix cond block in do-while loops
[r18414]
Matthias Braun [Fri, 16 Nov 2007 15:47:13 +0000 (15:47 +0000)]
fix local array allocation
[r18413]
Matthias Braun [Fri, 16 Nov 2007 15:38:21 +0000 (15:38 +0000)]
fix shift operations
[r18412]
Matthias Braun [Fri, 16 Nov 2007 14:48:44 +0000 (14:48 +0000)]
inline is not a type qualifier anymore, fix function entity creation
[r18411]
Matthias Braun [Fri, 16 Nov 2007 13:44:04 +0000 (13:44 +0000)]
improve array support, start doing some driver stuff
[r18410]
Matthias Braun [Thu, 15 Nov 2007 18:36:35 +0000 (18:36 +0000)]
improve ++ and -- semantic checks
[r18409]
Matthias Braun [Thu, 15 Nov 2007 18:06:43 +0000 (18:06 +0000)]
be more robust against parse errors
[r18408]
Matthias Braun [Thu, 15 Nov 2007 15:58:07 +0000 (15:58 +0000)]
fix some goto/label bugs
[r18407]
Matthias Braun [Thu, 15 Nov 2007 15:48:08 +0000 (15:48 +0000)]
implement gotos and labels
[r18406]
Matthias Braun [Thu, 15 Nov 2007 15:18:37 +0000 (15:18 +0000)]
fix a bug in the environment stack handling, improve goto/label parsing
[r18405]
Matthias Braun [Thu, 15 Nov 2007 15:18:12 +0000 (15:18 +0000)]
fix goto and label printing
[r18404]
Matthias Braun [Thu, 15 Nov 2007 14:42:36 +0000 (14:42 +0000)]
detect and handle errors when '}' is missing at end of input, start implementing gotos/labels
[r18403]
Matthias Braun [Thu, 15 Nov 2007 10:34:18 +0000 (10:34 +0000)]
fix uninitialized variable breaking implicitely defined functions
[r18402]
Matthias Braun [Thu, 15 Nov 2007 10:33:49 +0000 (10:33 +0000)]
skip empty declarations
[r18401]
Christoph Mallon [Wed, 14 Nov 2007 20:56:23 +0000 (20:56 +0000)]
Run control flow optimisation once, because the backend does not like Bad nodes.
[r18400]
Christoph Mallon [Wed, 14 Nov 2007 20:54:31 +0000 (20:54 +0000)]
Handle empty condition in for statements when building IR.
[r18399]
Matthias Braun [Wed, 14 Nov 2007 20:28:02 +0000 (20:28 +0000)]
dump keepalive edges
[r18398]
Matthias Braun [Wed, 14 Nov 2007 19:46:41 +0000 (19:46 +0000)]
do correct semantic check/adjustment for initializers, makes the last fix unnecessary
[r18397]
Christoph Mallon [Wed, 14 Nov 2007 19:26:28 +0000 (19:26 +0000)]
Handle empty step in for statements when building IR.
[r18396]
Matthias Braun [Wed, 14 Nov 2007 18:27:28 +0000 (18:27 +0000)]
fix left-right, right-left association, make sure global variable initialisations have correct mode, fix ast for printing
[r18395]
Matthias Braun [Wed, 14 Nov 2007 16:37:20 +0000 (16:37 +0000)]
implement atomic entity initialisation
[r18394]
Matthias Braun [Wed, 14 Nov 2007 16:34:58 +0000 (16:34 +0000)]
implement atomic entity initialisation
[r18393]
Matthias Braun [Wed, 14 Nov 2007 16:26:01 +0000 (16:26 +0000)]
allow some implicit pointer casts, fix pointer add,sub
[r18392]
Matthias Braun [Wed, 14 Nov 2007 16:14:43 +0000 (16:14 +0000)]
fix semantic bugs, do default promotion for call arguments, implement some arithmetic assign ops
[r18391]
Matthias Braun [Wed, 14 Nov 2007 14:24:12 +0000 (14:24 +0000)]
improve condition generation, support conditional expressions
[r18390]
Matthias Braun [Wed, 14 Nov 2007 10:44:08 +0000 (10:44 +0000)]
(untested) support for global variables
[r18389]
Matthias Braun [Wed, 14 Nov 2007 09:47:25 +0000 (09:47 +0000)]
support for pointer add/sub, no need for type_environment in ast2firm
[r18388]
Matthias Braun [Wed, 14 Nov 2007 01:26:04 +0000 (01:26 +0000)]
more work on semantic analysis
[r18387]
Christoph Mallon [Tue, 13 Nov 2007 22:49:15 +0000 (22:49 +0000)]
Create IR for for-statements.
[r18386]
Matthias Braun [Tue, 13 Nov 2007 21:10:28 +0000 (21:10 +0000)]
no need for ; in for statement after print_declaration_statement
[r18385]
Christoph Mallon [Tue, 13 Nov 2007 21:06:52 +0000 (21:06 +0000)]
Handle non-void functions which miss a return statement at the end. Especially handle the special case of main() returning 0.
[r18384]
Matthias Braun [Tue, 13 Nov 2007 21:03:47 +0000 (21:03 +0000)]
only look at declarations in main namespace
[r18383]
Matthias Braun [Tue, 13 Nov 2007 20:19:56 +0000 (20:19 +0000)]
implement switch statements, fix handling of dereference
[r18382]
Matthias Braun [Mon, 12 Nov 2007 20:00:22 +0000 (20:00 +0000)]
fix while statement_to_firm
[r18381]
Matthias Braun [Mon, 12 Nov 2007 19:48:52 +0000 (19:48 +0000)]
add missing files
[r18380]
Matthias Braun [Mon, 12 Nov 2007 19:48:06 +0000 (19:48 +0000)]
more work on local variable support
[r18379]