cparser
16 years agoHandle implicit casts from 0 to pointers in comparisons.
Christoph Mallon [Sat, 17 Nov 2007 14:40:38 +0000 (14:40 +0000)]
Handle implicit casts from 0 to pointers in comparisons.

[r18443]

16 years agoHandle implicit casts from 0 to pointers.
Christoph Mallon [Sat, 17 Nov 2007 14:00:26 +0000 (14:00 +0000)]
Handle implicit casts from 0 to pointers.

[r18442]

16 years agoUse skip_typeref() to determine the types in conditional expressions.
Christoph Mallon [Sat, 17 Nov 2007 13:27:29 +0000 (13:27 +0000)]
Use skip_typeref() to determine the types in conditional expressions.

[r18441]

16 years agoGenerate IR for /= and %=.
Christoph Mallon [Sat, 17 Nov 2007 12:36:23 +0000 (12:36 +0000)]
Generate IR for /= and %=.

[r18440]

16 years agoRemove redundant calls to error().
Christoph Mallon [Sat, 17 Nov 2007 12:17:41 +0000 (12:17 +0000)]
Remove redundant calls to error().

[r18439]

16 years agoHandle non-extern declarations after extern declarations correctly, warn about redund...
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]

16 years ago__typeof__ is a GNU extension
Michael Beck [Sat, 17 Nov 2007 11:28:53 +0000 (11:28 +0000)]
__typeof__ is a GNU extension

[r18437]

16 years agoWarn about empty declarations.
Christoph Mallon [Sat, 17 Nov 2007 10:46:04 +0000 (10:46 +0000)]
Warn about empty declarations.

[r18436]

16 years agoIgnore parameters beginning with -D, -O or -f for now and print a warning.
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]

16 years agoDo not set options which do not exist anymore.
Christoph Mallon [Sat, 17 Nov 2007 08:51:46 +0000 (08:51 +0000)]
Do not set options which do not exist anymore.

[r18434]

16 years agoadd some casts to suppress warnings
Michael Beck [Fri, 16 Nov 2007 23:26:13 +0000 (23:26 +0000)]
add some casts to suppress warnings

[r18433]

16 years agopreliminary Win32 support added
Michael Beck [Fri, 16 Nov 2007 23:25:29 +0000 (23:25 +0000)]
preliminary Win32 support added

[r18432]

16 years agouse new TYPE_QUALIFIER_NONE to suppress warning
Michael Beck [Fri, 16 Nov 2007 23:23:01 +0000 (23:23 +0000)]
use new TYPE_QUALIFIER_NONE to suppress warning

[r18431]

16 years agoadd TYPE_QUALIFIER_NONE to suppress warnings (use it instead of 0)
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]

16 years agoremoved abort() declaration, use from stdlib.h
Michael Beck [Fri, 16 Nov 2007 23:20:20 +0000 (23:20 +0000)]
removed abort() declaration, use from stdlib.h

[r18429]

16 years agoit's __GNUC__ not __GCC__
Matthias Braun [Fri, 16 Nov 2007 23:16:03 +0000 (23:16 +0000)]
it's __GNUC__ not __GCC__

[r18428]

16 years agoHandle fallthrough when generating IR for case labels.
Christoph Mallon [Fri, 16 Nov 2007 23:01:46 +0000 (23:01 +0000)]
Handle fallthrough when generating IR for case labels.

[r18427]

16 years agoMake sure to generate a default ProjX for switch()es, even if there is no default...
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]

16 years ago__attribute__ is a GCC extension
Michael Beck [Fri, 16 Nov 2007 22:38:55 +0000 (22:38 +0000)]
__attribute__ is a GCC extension

[r18425]

16 years agoParse octal escape sequences correctly: Do not swallow the first digit and read at...
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]

16 years agofix bug in my last commit
Matthias Braun [Fri, 16 Nov 2007 21:23:21 +0000 (21:23 +0000)]
fix bug in my last commit

[r18423]

16 years agofix some struct as local variable problems
Matthias Braun [Fri, 16 Nov 2007 21:21:45 +0000 (21:21 +0000)]
fix some struct as local variable problems

[r18422]

16 years agofix another bug in list handling of environment stack
Matthias Braun [Fri, 16 Nov 2007 21:13:31 +0000 (21:13 +0000)]
fix another bug in list handling of environment stack

[r18421]

16 years agoimplement LOCAL_VARIBALE_ENTITY in reference_expression_addr
Matthias Braun [Fri, 16 Nov 2007 20:53:01 +0000 (20:53 +0000)]
implement LOCAL_VARIBALE_ENTITY in reference_expression_addr

[r18420]

16 years agoHandle the derefence operator in expression_to_addr().
Christoph Mallon [Fri, 16 Nov 2007 20:46:22 +0000 (20:46 +0000)]
Handle the derefence operator in expression_to_addr().

[r18419]

16 years agoset address_taken flag
Matthias Braun [Fri, 16 Nov 2007 20:45:03 +0000 (20:45 +0000)]
set address_taken flag

[r18418]

16 years agowe need _GNU_SOURCE for popen
Matthias Braun [Fri, 16 Nov 2007 20:43:57 +0000 (20:43 +0000)]
we need _GNU_SOURCE for popen

[r18417]

16 years agoCommunicate via popen() with the preprocessor, to avoid the temporary file.
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]

16 years agoimplemented/fixed EXPR_SEL
Matthias Braun [Fri, 16 Nov 2007 17:05:08 +0000 (17:05 +0000)]
implemented/fixed EXPR_SEL

[r18415]

16 years agofix cond block in do-while loops
Matthias Braun [Fri, 16 Nov 2007 16:01:42 +0000 (16:01 +0000)]
fix cond block in do-while loops

[r18414]

16 years agofix local array allocation
Matthias Braun [Fri, 16 Nov 2007 15:47:13 +0000 (15:47 +0000)]
fix local array allocation

[r18413]

16 years agofix shift operations
Matthias Braun [Fri, 16 Nov 2007 15:38:21 +0000 (15:38 +0000)]
fix shift operations

[r18412]

16 years agoinline is not a type qualifier anymore, fix function entity creation
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]

16 years agoimprove array support, start doing some driver stuff
Matthias Braun [Fri, 16 Nov 2007 13:44:04 +0000 (13:44 +0000)]
improve array support, start doing some driver stuff

[r18410]

16 years agoimprove ++ and -- semantic checks
Matthias Braun [Thu, 15 Nov 2007 18:36:35 +0000 (18:36 +0000)]
improve ++ and -- semantic checks

[r18409]

16 years agobe more robust against parse errors
Matthias Braun [Thu, 15 Nov 2007 18:06:43 +0000 (18:06 +0000)]
be more robust against parse errors

[r18408]

16 years agofix some goto/label bugs
Matthias Braun [Thu, 15 Nov 2007 15:58:07 +0000 (15:58 +0000)]
fix some goto/label bugs

[r18407]

16 years agoimplement gotos and labels
Matthias Braun [Thu, 15 Nov 2007 15:48:08 +0000 (15:48 +0000)]
implement gotos and labels

[r18406]

16 years agofix a bug in the environment stack handling, improve goto/label parsing
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]

16 years agofix goto and label printing
Matthias Braun [Thu, 15 Nov 2007 15:18:12 +0000 (15:18 +0000)]
fix goto and label printing

[r18404]

16 years agodetect and handle errors when '}' is missing at end of input, start implementing...
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]

16 years agofix uninitialized variable breaking implicitely defined functions
Matthias Braun [Thu, 15 Nov 2007 10:34:18 +0000 (10:34 +0000)]
fix uninitialized variable breaking implicitely defined functions

[r18402]

16 years agoskip empty declarations
Matthias Braun [Thu, 15 Nov 2007 10:33:49 +0000 (10:33 +0000)]
skip empty declarations

[r18401]

16 years agoRun control flow optimisation once, because the backend does not like Bad nodes.
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]

16 years agoHandle empty condition in for statements when building IR.
Christoph Mallon [Wed, 14 Nov 2007 20:54:31 +0000 (20:54 +0000)]
Handle empty condition in for statements when building IR.

[r18399]

16 years agodump keepalive edges
Matthias Braun [Wed, 14 Nov 2007 20:28:02 +0000 (20:28 +0000)]
dump keepalive edges

[r18398]

16 years agodo correct semantic check/adjustment for initializers, makes the last fix unnecessary
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]

16 years agoHandle empty step in for statements when building IR.
Christoph Mallon [Wed, 14 Nov 2007 19:26:28 +0000 (19:26 +0000)]
Handle empty step in for statements when building IR.

[r18396]

16 years agofix left-right, right-left association, make sure global variable initialisations...
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]

16 years agoimplement atomic entity initialisation
Matthias Braun [Wed, 14 Nov 2007 16:37:20 +0000 (16:37 +0000)]
implement atomic entity initialisation

[r18394]

16 years agoimplement atomic entity initialisation
Matthias Braun [Wed, 14 Nov 2007 16:34:58 +0000 (16:34 +0000)]
implement atomic entity initialisation

[r18393]

16 years agoallow some implicit pointer casts, fix pointer add,sub
Matthias Braun [Wed, 14 Nov 2007 16:26:01 +0000 (16:26 +0000)]
allow some implicit pointer casts, fix pointer add,sub

[r18392]

16 years agofix semantic bugs, do default promotion for call arguments, implement some arithmetic...
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]

16 years agoimprove condition generation, support conditional expressions
Matthias Braun [Wed, 14 Nov 2007 14:24:12 +0000 (14:24 +0000)]
improve condition generation, support conditional expressions

[r18390]

16 years ago(untested) support for global variables
Matthias Braun [Wed, 14 Nov 2007 10:44:08 +0000 (10:44 +0000)]
(untested) support for global variables

[r18389]

16 years agosupport for pointer add/sub, no need for type_environment in ast2firm
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]

16 years agomore work on semantic analysis
Matthias Braun [Wed, 14 Nov 2007 01:26:04 +0000 (01:26 +0000)]
more work on semantic analysis

[r18387]

16 years agoCreate IR for for-statements.
Christoph Mallon [Tue, 13 Nov 2007 22:49:15 +0000 (22:49 +0000)]
Create IR for for-statements.

[r18386]

16 years agono need for ; in for statement after print_declaration_statement
Matthias Braun [Tue, 13 Nov 2007 21:10:28 +0000 (21:10 +0000)]
no need for ; in for statement after print_declaration_statement

[r18385]

16 years agoHandle non-void functions which miss a return statement at the end. Especially handl...
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]

16 years agoonly look at declarations in main namespace
Matthias Braun [Tue, 13 Nov 2007 21:03:47 +0000 (21:03 +0000)]
only look at declarations in main namespace

[r18383]

16 years agoimplement switch statements, fix handling of dereference
Matthias Braun [Tue, 13 Nov 2007 20:19:56 +0000 (20:19 +0000)]
implement switch statements, fix handling of dereference

[r18382]

16 years agofix while statement_to_firm
Matthias Braun [Mon, 12 Nov 2007 20:00:22 +0000 (20:00 +0000)]
fix while statement_to_firm

[r18381]

16 years agoadd missing files
Matthias Braun [Mon, 12 Nov 2007 19:48:52 +0000 (19:48 +0000)]
add missing files

[r18380]

16 years agomore work on local variable support
Matthias Braun [Mon, 12 Nov 2007 19:48:06 +0000 (19:48 +0000)]
more work on local variable support

[r18379]

16 years agoparse wide strings
Matthias Braun [Mon, 12 Nov 2007 19:48:05 +0000 (19:48 +0000)]
parse wide strings

[r18378]

16 years agostricter warnings
Matthias Braun [Mon, 12 Nov 2007 19:48:04 +0000 (19:48 +0000)]
stricter warnings

[r18377]

16 years agopartly implemented reference_expression_to_firm and unary expression_to_firm
Matthias Braun [Mon, 12 Nov 2007 19:48:03 +0000 (19:48 +0000)]
partly implemented reference_expression_to_firm and unary expression_to_firm

[r18376]

16 years agorename method to function
Matthias Braun [Mon, 12 Nov 2007 19:48:01 +0000 (19:48 +0000)]
rename method to function

[r18375]

16 years agolink output
Matthias Braun [Mon, 12 Nov 2007 19:48:00 +0000 (19:48 +0000)]
link output

[r18374]

16 years agomore work on firm backend
Matthias Braun [Mon, 12 Nov 2007 19:47:59 +0000 (19:47 +0000)]
more work on firm backend

[r18373]

16 years agostarted create_function
Matthias Braun [Mon, 12 Nov 2007 19:47:58 +0000 (19:47 +0000)]
started create_function

[r18372]

16 years agoconvert ast types to firm types
Matthias Braun [Mon, 12 Nov 2007 19:47:57 +0000 (19:47 +0000)]
convert ast types to firm types

[r18371]

16 years agolink with libfirm
Matthias Braun [Mon, 12 Nov 2007 19:47:53 +0000 (19:47 +0000)]
link with libfirm

[r18370]

16 years ago- reworked handling environments and struct, union, enum namespace
Matthias Braun [Sun, 30 Sep 2007 11:02:58 +0000 (11:02 +0000)]
- reworked handling environments and struct, union, enum namespace
- represent typedef and typeof explicitely in type graph
- lots of bugfixes

[r18369]

16 years agoFix typo in comment.
Christoph Mallon [Fri, 28 Sep 2007 21:58:33 +0000 (21:58 +0000)]
Fix typo in comment.

[r18368]

16 years agoimprove initializer handling
Matthias Braun [Fri, 28 Sep 2007 21:33:25 +0000 (21:33 +0000)]
improve initializer handling

[r18367]

16 years agobugfixes, parse initializers
Matthias Braun [Fri, 28 Sep 2007 21:06:38 +0000 (21:06 +0000)]
bugfixes, parse initializers

[r18366]

16 years agowe can now parse the infamous apfel.c, print ast as C and have it compiled and workin...
Matthias Braun [Fri, 28 Sep 2007 19:39:59 +0000 (19:39 +0000)]
we can now parse the infamous apfel.c, print ast as C and have it compiled and working again

[r18365]

16 years agolex floating suffix, parser can now parse it's own source completely
Matthias Braun [Fri, 28 Sep 2007 19:02:24 +0000 (19:02 +0000)]
lex floating suffix, parser can now parse it's own source completely

[r18364]

16 years agofix put_back in lexer
Matthias Braun [Fri, 28 Sep 2007 18:37:42 +0000 (18:37 +0000)]
fix put_back in lexer

[r18363]

16 years agoTest multiline commits
Matthias Braun [Fri, 28 Sep 2007 13:04:35 +0000 (13:04 +0000)]
Test multiline commits
Line2

[r18362]

16 years agoMore work on cparser:
Matthias Braun [Fri, 28 Sep 2007 13:02:52 +0000 (13:02 +0000)]
More work on cparser:
- cleanup some lexer code
- allow some usual non-c99 constructs (implicit function, implicit int type)
- parse float constants

[r18361]

16 years agoWrite the ANSI word "restrict" instead if "__restrict" in print_type_qualifiers().
Christoph Mallon [Fri, 28 Sep 2007 07:03:08 +0000 (07:03 +0000)]
Write the ANSI word "restrict" instead if "__restrict" in print_type_qualifiers().

[r18360]

16 years agoOlder GCCs do not know -Wextra. Only use -W.
Christoph Mallon [Fri, 28 Sep 2007 06:59:48 +0000 (06:59 +0000)]
Older GCCs do not know -Wextra. Only use -W.

[r18359]

16 years agoFactorise and indent code for printing atomic types.
Christoph Mallon [Fri, 28 Sep 2007 06:58:32 +0000 (06:58 +0000)]
Factorise and indent code for printing atomic types.

[r18358]

16 years ago- implemented decimal floating pointer numbers in lexer
Matthias Braun [Thu, 27 Sep 2007 21:36:39 +0000 (21:36 +0000)]
- implemented decimal floating pointer numbers in lexer
- reworked declaration parser
- started working on array types

[r18357]

16 years agofilter trigraphs in advance and simplify lexer code because of that
Matthias Braun [Sun, 23 Sep 2007 17:11:46 +0000 (17:11 +0000)]
filter trigraphs in advance and simplify lexer code because of that

[r18356]

16 years agosupport for more builtins, additional bugfixes
Matthias Braun [Mon, 17 Sep 2007 09:02:05 +0000 (09:02 +0000)]
support for more builtins, additional bugfixes

[r18355]

16 years agofix parameter names being taken from first declaration not currently parse declaration
Matthias Braun [Sun, 16 Sep 2007 14:05:40 +0000 (14:05 +0000)]
fix parameter names being taken from first declaration not currently parse declaration

[r18354]

16 years ago- countless bugfixes
Matthias Braun [Sun, 16 Sep 2007 13:36:11 +0000 (13:36 +0000)]
- countless bugfixes
- implement octal and hexadecimal escape sequences
- implemented more gcc extensions

[r18353]

16 years agoimprovements in statement parsing, improvements in ast printing
Matthias Braun [Fri, 14 Sep 2007 21:44:52 +0000 (21:44 +0000)]
improvements in statement parsing, improvements in ast printing

[r18352]

16 years agofix bug in method type hashing
Matthias Braun [Fri, 14 Sep 2007 20:21:53 +0000 (20:21 +0000)]
fix bug in method type hashing

[r18351]

16 years agocorrected type identities and handling of declaration/definitions
Matthias Braun [Fri, 14 Sep 2007 20:11:50 +0000 (20:11 +0000)]
corrected type identities and handling of declaration/definitions

[r18350]

16 years agoimproved union/struct parsing
Matthias Braun [Fri, 14 Sep 2007 19:36:14 +0000 (19:36 +0000)]
improved union/struct parsing

[r18349]

16 years agoimprovements for handling of function parameters
Matthias Braun [Fri, 14 Sep 2007 11:56:54 +0000 (11:56 +0000)]
improvements for handling of function parameters

[r18348]

16 years agoimproved support for enums
Matthias Braun [Mon, 10 Sep 2007 20:45:04 +0000 (20:45 +0000)]
improved support for enums

[r18347]

16 years agohandle multiple strings in a row
Matthias Braun [Sat, 8 Sep 2007 11:21:29 +0000 (11:21 +0000)]
handle multiple strings in a row

[r18346]

16 years agoimprove parsing of function pointers
Matthias Braun [Sat, 8 Sep 2007 11:21:28 +0000 (11:21 +0000)]
improve parsing of function pointers

[r18345]

16 years agoadd --print_ast option
Matthias Braun [Sat, 8 Sep 2007 11:21:27 +0000 (11:21 +0000)]
add --print_ast option

[r18344]