cparser
16 years ago-Werror implemented
Michael Beck [Tue, 11 Dec 2007 21:30:48 +0000 (21:30 +0000)]
-Werror implemented

[r18682]

16 years agoOnly push an enum into the environment, if it has a name.
Christoph Mallon [Tue, 11 Dec 2007 21:19:39 +0000 (21:19 +0000)]
Only push an enum into the environment, if it has a name.

[r18681]

16 years agoIgnore type declarations when handling local variables.
Christoph Mallon [Tue, 11 Dec 2007 21:11:30 +0000 (21:11 +0000)]
Ignore type declarations when handling local variables.

[r18680]

16 years agosome doxygen docu added
Michael Beck [Tue, 11 Dec 2007 21:10:37 +0000 (21:10 +0000)]
some doxygen docu added

[r18679]

16 years agoissue a warning if returning the address of a local variable
Michael Beck [Tue, 11 Dec 2007 21:07:44 +0000 (21:07 +0000)]
issue a warning if returning the address of a local variable

[r18678]

16 years agoCorrectly register declarations for compound types and enums.
Christoph Mallon [Tue, 11 Dec 2007 21:04:01 +0000 (21:04 +0000)]
Correctly register declarations for compound types and enums.

[r18677]

16 years agoissue an error if the address of a register variable is taken.
Michael Beck [Tue, 11 Dec 2007 19:23:59 +0000 (19:23 +0000)]
issue an error if the address of a register variable is taken.

[r18676]

16 years agofixed output of warnings count
Michael Beck [Tue, 11 Dec 2007 19:20:56 +0000 (19:20 +0000)]
fixed output of warnings count

[r18675]

16 years agoeat() the ':' token of a label statement instead of expect()ing it, because the looka...
Christoph Mallon [Tue, 11 Dec 2007 19:11:50 +0000 (19:11 +0000)]
eat() the ':' token of a label statement instead of expect()ing it, because the lookahead already determined it is there.

[r18674]

16 years agoSimplify parsing of declarations, generate better warnings.
Christoph Mallon [Tue, 11 Dec 2007 19:10:18 +0000 (19:10 +0000)]
Simplify parsing of declarations, generate better warnings.

[r18673]

16 years agoshould produce error: address of register variable a requested
Michael Beck [Tue, 11 Dec 2007 19:00:33 +0000 (19:00 +0000)]
should produce error: address of register variable a requested

[r18672]

16 years agoimproved uninitialized variable warning
Michael Beck [Tue, 11 Dec 2007 14:20:21 +0000 (14:20 +0000)]
improved uninitialized variable warning

[r18671]

16 years agosupport for bitfields completed
Matthias Braun [Tue, 11 Dec 2007 11:15:40 +0000 (11:15 +0000)]
support for bitfields completed

[r18670]

16 years agoGenerate a more sensible warning for a stray ; in global context than "no type specif...
Christoph Mallon [Tue, 11 Dec 2007 08:53:49 +0000 (08:53 +0000)]
Generate a more sensible warning for a stray ; in global context than "no type specifiers in declaration" followed by "empty declaration".

[r18669]

16 years agoPropagate type qualifiers in skip_typeref().
Christoph Mallon [Tue, 11 Dec 2007 08:45:59 +0000 (08:45 +0000)]
Propagate type qualifiers in skip_typeref().

[r18668]

16 years agoPrint type qualifiers for typedefs.
Christoph Mallon [Tue, 11 Dec 2007 08:26:37 +0000 (08:26 +0000)]
Print type qualifiers for typedefs.

[r18667]

16 years agoThe ' '-flag (space) is allowed for signed conversions.
Christoph Mallon [Mon, 10 Dec 2007 23:01:36 +0000 (23:01 +0000)]
The ' '-flag (space) is allowed for signed conversions.

[r18666]

16 years agoGCC understands __asm, too.
Christoph Mallon [Mon, 10 Dec 2007 22:47:44 +0000 (22:47 +0000)]
GCC understands __asm, too.

[r18665]

16 years agoPrint the original type in a warning, not the skipped type.
Christoph Mallon [Mon, 10 Dec 2007 22:47:18 +0000 (22:47 +0000)]
Print the original type in a warning, not the skipped type.

[r18664]

16 years agoIgnore type declarations when checking for const attributes.
Christoph Mallon [Mon, 10 Dec 2007 19:36:03 +0000 (19:36 +0000)]
Ignore type declarations when checking for const attributes.

[r18663]

16 years agoAvoid undefined behaviour by avoiding pointing one before the first element of an...
Christoph Mallon [Mon, 10 Dec 2007 19:33:13 +0000 (19:33 +0000)]
Avoid undefined behaviour by avoiding pointing one before the first element of an array.

[r18662]

16 years agoSkip #pragmas.
Christoph Mallon [Mon, 10 Dec 2007 19:30:42 +0000 (19:30 +0000)]
Skip #pragmas.

[r18661]

16 years agoCorrectly handle input of "??", which is not followed by a valid character for a...
Christoph Mallon [Mon, 10 Dec 2007 19:24:53 +0000 (19:24 +0000)]
Correctly handle input of "??", which is not followed by a valid character for a trigraph.

[r18660]

16 years agoParse floating point numbers, which start with a decimal point.
Christoph Mallon [Mon, 10 Dec 2007 19:18:03 +0000 (19:18 +0000)]
Parse floating point numbers, which start with a decimal point.

[r18659]

16 years agoHandle pointer types correctly in the format checker and print the length modifier...
Christoph Mallon [Mon, 10 Dec 2007 19:09:27 +0000 (19:09 +0000)]
Handle pointer types correctly in the format checker and print the length modifier in the warning.

[r18658]

16 years agoRepair the order of tokens.
Christoph Mallon [Mon, 10 Dec 2007 19:07:50 +0000 (19:07 +0000)]
Repair the order of tokens.

[r18657]

16 years agoAssert that tokens are initialized in a somewhat correct order.
Christoph Mallon [Mon, 10 Dec 2007 19:07:24 +0000 (19:07 +0000)]
Assert that tokens are initialized in a somewhat correct order.

[r18656]

16 years agoCount all local _scalar_ declarations for the local variable limit.
Christoph Mallon [Mon, 10 Dec 2007 18:46:22 +0000 (18:46 +0000)]
Count all local _scalar_ declarations for the local variable limit.

[r18655]

16 years agoFix test reference data.
Christoph Mallon [Mon, 10 Dec 2007 18:45:00 +0000 (18:45 +0000)]
Fix test reference data.

[r18654]

16 years agoAdd missing skip_typeref()s.
Christoph Mallon [Mon, 10 Dec 2007 18:44:30 +0000 (18:44 +0000)]
Add missing skip_typeref()s.

[r18653]

16 years agoremove debug printfs
Matthias Braun [Mon, 10 Dec 2007 12:49:40 +0000 (12:49 +0000)]
remove debug printfs

[r18652]

16 years agoalign doubles to 4 bytes, improve bitfield handling
Matthias Braun [Mon, 10 Dec 2007 12:47:51 +0000 (12:47 +0000)]
align doubles to 4 bytes, improve bitfield handling

[r18651]

16 years agoSelect parameters from the correct frame.
Christoph Mallon [Sat, 8 Dec 2007 17:57:06 +0000 (17:57 +0000)]
Select parameters from the correct frame.

[r18650]

16 years agoadd %Y diagnostic modifier for symbols and make use of it
Matthias Braun [Sat, 8 Dec 2007 13:33:28 +0000 (13:33 +0000)]
add %Y diagnostic modifier for symbols and make use of it

[r18649]

16 years agostarted working on bitfields
Matthias Braun [Sat, 8 Dec 2007 13:21:26 +0000 (13:21 +0000)]
started working on bitfields

[r18648]

16 years agoadd -U option
Michael Beck [Sat, 8 Dec 2007 08:44:13 +0000 (08:44 +0000)]
add -U option

[r18647]

16 years agoadd --strict option (replacing STRICT_C99 define)
Michael Beck [Sat, 8 Dec 2007 08:42:10 +0000 (08:42 +0000)]
add --strict option (replacing STRICT_C99 define)

[r18646]

16 years ago- some doxygen comments added
Michael Beck [Sat, 8 Dec 2007 08:33:14 +0000 (08:33 +0000)]
- some doxygen comments added
- added an error and warning count
- renamed allocate_initializer() to allocate_initializer_zero() like other allocators
- implemented has_const_fields()
- fixed some typos

[r18645]

16 years agoFix parsing of function-like syntax elements.
Christoph Mallon [Fri, 7 Dec 2007 17:41:52 +0000 (17:41 +0000)]
Fix parsing of function-like syntax elements.

[r18644]

16 years ago__builtin_prefetch implemented
Michael Beck [Fri, 7 Dec 2007 17:32:16 +0000 (17:32 +0000)]
__builtin_prefetch implemented

[r18643]

16 years agofixed a bunch of icc warnings
Matthias Braun [Fri, 7 Dec 2007 17:08:57 +0000 (17:08 +0000)]
fixed a bunch of icc warnings

[r18642]

16 years ago__builtin_constant_p() implemented
Michael Beck [Fri, 7 Dec 2007 15:47:56 +0000 (15:47 +0000)]
__builtin_constant_p() implemented

[r18641]

16 years agoNew diagnostic functions diagnosticf(), errorf() and warningf() replacing the ad...
Christoph Mallon [Fri, 7 Dec 2007 15:27:39 +0000 (15:27 +0000)]
New diagnostic functions diagnosticf(), errorf() and warningf() replacing the ad-hoc method.

[r18640]

16 years agorenamed declaration_type_t to declaration_kind_t
Michael Beck [Fri, 7 Dec 2007 15:18:41 +0000 (15:18 +0000)]
renamed declaration_type_t to declaration_kind_t

[r18639]

16 years agoimplemented EXPR_BINARY_BUILTIN_EXPECT to firm
Michael Beck [Fri, 7 Dec 2007 15:01:41 +0000 (15:01 +0000)]
implemented EXPR_BINARY_BUILTIN_EXPECT to firm

[r18638]

16 years agoadd missing EXPR_ALIGNOF case, its always constant
Michael Beck [Fri, 7 Dec 2007 13:43:28 +0000 (13:43 +0000)]
add missing EXPR_ALIGNOF case, its always constant

[r18637]

16 years ago- implement __alignof__
Michael Beck [Fri, 7 Dec 2007 00:32:34 +0000 (00:32 +0000)]
- implement __alignof__
- use SymConsts of sizeof, alignof
- use new SymConst constructors

[r18636]

16 years agoadd print_offset_expression(), print_statement_expression()
Michael Beck [Thu, 6 Dec 2007 23:37:02 +0000 (23:37 +0000)]
add print_offset_expression(), print_statement_expression()

[r18635]

16 years agotypo fixed
Michael Beck [Thu, 6 Dec 2007 23:36:36 +0000 (23:36 +0000)]
typo fixed

[r18634]

16 years agomore const's added
Michael Beck [Thu, 6 Dec 2007 22:46:21 +0000 (22:46 +0000)]
more const's added

[r18633]

16 years ago- fixed some typos
Michael Beck [Thu, 6 Dec 2007 22:40:31 +0000 (22:40 +0000)]
- fixed some typos
- small code shaping

[r18632]

16 years agorenamed initializer_type_t enums to initializer_kind_t
Michael Beck [Thu, 6 Dec 2007 21:46:00 +0000 (21:46 +0000)]
renamed initializer_type_t enums to initializer_kind_t

[r18631]

16 years agorenamed *_type_t enums to *_kind_t
Michael Beck [Thu, 6 Dec 2007 18:21:38 +0000 (18:21 +0000)]
renamed *_type_t enums to *_kind_t

[r18630]

16 years agoremove some unneccessary casts
Michael Beck [Thu, 6 Dec 2007 17:21:23 +0000 (17:21 +0000)]
remove some unneccessary casts

[r18629]

16 years agohandle __assume only on Confirms are NOT disabled
Michael Beck [Thu, 6 Dec 2007 17:11:09 +0000 (17:11 +0000)]
handle __assume only on Confirms are NOT disabled

[r18628]

16 years agoFully implemented __assume()
Michael Beck [Thu, 6 Dec 2007 17:05:18 +0000 (17:05 +0000)]
Fully implemented __assume()

[r18627]

16 years agoadd preliminary support for __assume()
Michael Beck [Thu, 6 Dec 2007 15:24:44 +0000 (15:24 +0000)]
add preliminary support for __assume()

[r18626]

16 years agoFix signed/unsigned warning.
Christoph Mallon [Thu, 6 Dec 2007 08:25:59 +0000 (08:25 +0000)]
Fix signed/unsigned warning.

[r18625]

16 years agocollect the known runtime functions for the rts optimizer
Michael Beck [Wed, 5 Dec 2007 22:07:03 +0000 (22:07 +0000)]
collect the known runtime functions for the rts optimizer

[r18623]

16 years agofixed icc warnings
Michael Beck [Wed, 5 Dec 2007 21:34:19 +0000 (21:34 +0000)]
fixed icc warnings

[r18622]

16 years agoinclude config.h for __attribute__()
Michael Beck [Wed, 5 Dec 2007 21:33:42 +0000 (21:33 +0000)]
include config.h for __attribute__()

[r18621]

16 years agoAdd a (partial) format string checker for wide string functions (currently wprintf...
Christoph Mallon [Wed, 5 Dec 2007 20:32:38 +0000 (20:32 +0000)]
Add a (partial) format string checker for wide string functions (currently wprintf() and swprintf()).

[r18620]

16 years agoPut some diagnostic functions into a separate file.
Christoph Mallon [Wed, 5 Dec 2007 20:30:16 +0000 (20:30 +0000)]
Put some diagnostic functions into a separate file.

[r18619]

16 years agoMissing files.
Christoph Mallon [Wed, 5 Dec 2007 20:26:34 +0000 (20:26 +0000)]
Missing files.

[r18618]

16 years agoMake types globally visible, add more type(def)s.
Christoph Mallon [Wed, 5 Dec 2007 20:23:35 +0000 (20:23 +0000)]
Make types globally visible, add more type(def)s.

[r18617]

16 years agoconst.
Christoph Mallon [Wed, 5 Dec 2007 19:11:57 +0000 (19:11 +0000)]
const.

[r18616]

16 years agoa bug
Matthias Braun [Wed, 5 Dec 2007 17:19:05 +0000 (17:19 +0000)]
a bug

[r18615]

16 years agoconstant folding for && and ||
Matthias Braun [Wed, 5 Dec 2007 17:16:37 +0000 (17:16 +0000)]
constant folding for && and ||

[r18614]

16 years agomore cases where we have to count declarations
Matthias Braun [Wed, 5 Dec 2007 17:09:15 +0000 (17:09 +0000)]
more cases where we have to count declarations

[r18613]

16 years agoimplement __builtin_expect, fix _Bool in ast2firm, improve declaration counting ...
Matthias Braun [Wed, 5 Dec 2007 17:04:42 +0000 (17:04 +0000)]
implement __builtin_expect, fix _Bool in ast2firm, improve declaration counting (still buggy)

[r18612]

16 years agoenum entries are constant, transform -fomit-frame-pointer to -bomitfp
Matthias Braun [Wed, 5 Dec 2007 16:30:24 +0000 (16:30 +0000)]
enum entries are constant, transform -fomit-frame-pointer to -bomitfp

[r18611]

16 years agoadd an is_constant_expression, only try to fold expressions that are really constant...
Matthias Braun [Wed, 5 Dec 2007 16:21:14 +0000 (16:21 +0000)]
add an is_constant_expression, only try to fold expressions that are really constant and have no side effects

[r18610]

16 years agoBugFix: expression may be NULL in count_decls_in_expr()
Michael Beck [Wed, 5 Dec 2007 16:00:21 +0000 (16:00 +0000)]
BugFix: expression may be NULL in count_decls_in_expr()

[r18609]

16 years agofixed output of function types
Michael Beck [Wed, 5 Dec 2007 15:41:41 +0000 (15:41 +0000)]
fixed output of function types

[r18608]

16 years agorevision seems to work now
Michael Beck [Wed, 5 Dec 2007 15:09:23 +0000 (15:09 +0000)]
revision seems to work now

[r18607]

16 years agoBetter revision handling.
Christoph Mallon [Wed, 5 Dec 2007 14:42:22 +0000 (14:42 +0000)]
Better revision handling.

[r18606]

16 years agoadd --version
Michael Beck [Wed, 5 Dec 2007 14:25:23 +0000 (14:25 +0000)]
add --version

[r18605]

16 years agoAdd options:
Michael Beck [Wed, 5 Dec 2007 13:16:31 +0000 (13:16 +0000)]
Add options:
 - --signed_chars/--unsigned_chars
 - -m16/-m32/-m64 switching the frontend to 16/32/64 bit (only 32bit is supported in the BE yet)

[r18604]

16 years agofixed calculation of local variables number
Michael Beck [Wed, 5 Dec 2007 02:05:06 +0000 (02:05 +0000)]
fixed calculation of local variables number

[r18603]

16 years ago- add debug info to entities
Michael Beck [Wed, 5 Dec 2007 01:38:19 +0000 (01:38 +0000)]
- add debug info to entities
- some more const's

[r18602]

16 years ago- WIN32 compile fixes
Michael Beck [Wed, 5 Dec 2007 01:22:54 +0000 (01:22 +0000)]
- WIN32 compile fixes
- removed old (wrong) lowering of highlevel structs
- removed dumping, now done by firm_opt (using -f options)

[r18601]

16 years ago- BugFix: initialize the parser after command line was parsed, else dialect specific...
Michael Beck [Tue, 4 Dec 2007 16:56:56 +0000 (16:56 +0000)]
- BugFix: initialize the parser after command line was parsed, else dialect specific token does not work
- preliminary support for MS decl modifier
- add support for __forceinline
- set inline property right

[r18600]

16 years agofinished implementation of __func__ and _PRETTY_FUNC__
Michael Beck [Tue, 4 Dec 2007 15:16:55 +0000 (15:16 +0000)]
finished implementation of __func__ and _PRETTY_FUNC__

[r18599]

16 years ago- add mostly all GCC/MSVC keywords
Michael Beck [Tue, 4 Dec 2007 15:05:49 +0000 (15:05 +0000)]
- add mostly all GCC/MSVC keywords
- add c_mode: contains current dialect/C-mode
- add command line switches to set the C mode

[r18598]

16 years agofix print ast and print fluffy
Matthias Braun [Tue, 4 Dec 2007 14:26:26 +0000 (14:26 +0000)]
fix print ast and print fluffy

[r18597]

16 years agofix type generation for flexible arrays in structs
Matthias Braun [Tue, 4 Dec 2007 14:25:51 +0000 (14:25 +0000)]
fix type generation for flexible arrays in structs

[r18596]

16 years agoonly get mode if needed
Matthias Braun [Tue, 4 Dec 2007 13:55:24 +0000 (13:55 +0000)]
only get mode if needed

[r18595]

16 years agolong double alignment is 4, implement wide character constant parsing, add another...
Matthias Braun [Tue, 4 Dec 2007 13:46:41 +0000 (13:46 +0000)]
long double alignment is 4, implement wide character constant parsing, add another hack to have ? : constant folding

[r18594]

16 years agoimprove error messages in commandline parsing
Matthias Braun [Tue, 4 Dec 2007 11:01:17 +0000 (11:01 +0000)]
improve error messages in commandline parsing

[r18593]

16 years agoadd list of warnings to TODO
Matthias Braun [Tue, 4 Dec 2007 10:56:18 +0000 (10:56 +0000)]
add list of warnings to TODO

[r18592]

16 years agoinitialize backend after parsing arguments
Matthias Braun [Tue, 4 Dec 2007 09:46:25 +0000 (09:46 +0000)]
initialize backend after parsing arguments

[r18591]

16 years agoaccept -ofilename instead of just -o filename
Matthias Braun [Tue, 4 Dec 2007 09:17:09 +0000 (09:17 +0000)]
accept -ofilename instead of just -o filename

[r18590]

16 years agoBugFix: entity allocation set for global/tls vars
Michael Beck [Mon, 3 Dec 2007 18:02:48 +0000 (18:02 +0000)]
BugFix: entity allocation set for global/tls vars
Uses now the same optimizer loop as the edgfe compiler

[r18589]

16 years agofix a few segfaults
Matthias Braun [Sun, 2 Dec 2007 22:13:56 +0000 (22:13 +0000)]
fix a few segfaults

[r18588]

16 years agoadd a mode that compiles and dumps 1 irg as result
Matthias Braun [Sun, 2 Dec 2007 19:17:50 +0000 (19:17 +0000)]
add a mode that compiles and dumps 1 irg as result

[r18587]

16 years agoupdated TODO, improved driver stuff a bit to use more pipes and allow input/output...
Matthias Braun [Sun, 2 Dec 2007 17:57:58 +0000 (17:57 +0000)]
updated TODO, improved driver stuff a bit to use more pipes and allow input/output from stdin/stdout

[r18586]

16 years agoimplement builtin_isgreater and friends
Matthias Braun [Fri, 30 Nov 2007 23:09:55 +0000 (23:09 +0000)]
implement builtin_isgreater and friends

[r18585]

16 years agomerge UNEXPR and BINEXPR enums with EXPR enum
Matthias Braun [Fri, 30 Nov 2007 22:35:15 +0000 (22:35 +0000)]
merge UNEXPR and BINEXPR enums with EXPR enum

[r18584]

16 years agoBe more permissvive in what is accepted syntactically as second argument of va_start().
Christoph Mallon [Fri, 30 Nov 2007 21:51:24 +0000 (21:51 +0000)]
Be more permissvive in what is accepted syntactically as second argument of va_start().

[r18583]

16 years agoAdd support for variadic arguments.
Christoph Mallon [Fri, 30 Nov 2007 18:35:37 +0000 (18:35 +0000)]
Add support for variadic arguments.

[r18582]