cparser
16 years ago- functions returning arrays are not allowed
Michael Beck [Wed, 12 Dec 2007 17:23:00 +0000 (17:23 +0000)]
- functions returning arrays are not allowed
- enum types can be incomplete like coumpound types

[r18718]

16 years ago- create an error type
Michael Beck [Wed, 12 Dec 2007 16:48:37 +0000 (16:48 +0000)]
- create an error type
- improved declaration checking

[r18717]

16 years agoadd error if array of voids is declared
Michael Beck [Wed, 12 Dec 2007 15:51:33 +0000 (15:51 +0000)]
add error if array of voids is declared

[r18716]

16 years agoabort if preprocessing fails
Matthias Braun [Wed, 12 Dec 2007 15:27:55 +0000 (15:27 +0000)]
abort if preprocessing fails

[r18715]

16 years agotest for error directive
Michael Beck [Wed, 12 Dec 2007 15:27:58 +0000 (15:27 +0000)]
test for error directive

[r18714]

16 years agoDo not generate a warning about a redundant declaration for function definitions.
Christoph Mallon [Wed, 12 Dec 2007 15:09:16 +0000 (15:09 +0000)]
Do not generate a warning about a redundant declaration for function definitions.

[r18713]

16 years agoPrint original (unskipped) type in error message.
Christoph Mallon [Wed, 12 Dec 2007 15:07:17 +0000 (15:07 +0000)]
Print original (unskipped) type in error message.

[r18712]

16 years agoCleanup.
Christoph Mallon [Wed, 12 Dec 2007 15:05:39 +0000 (15:05 +0000)]
Cleanup.

[r18711]

16 years agofixed crash with unclosed string literal
Michael Beck [Wed, 12 Dec 2007 15:05:44 +0000 (15:05 +0000)]
fixed crash with unclosed string literal

[r18710]

16 years agoRemove redundant record_declaration() call.
Christoph Mallon [Wed, 12 Dec 2007 15:02:07 +0000 (15:02 +0000)]
Remove redundant record_declaration() call.

[r18709]

16 years agoHandle string literals with embedded \0 correctly.
Christoph Mallon [Wed, 12 Dec 2007 13:44:44 +0000 (13:44 +0000)]
Handle string literals with embedded \0 correctly.

[r18708]

16 years agodesignator test
Matthias Braun [Wed, 12 Dec 2007 11:07:18 +0000 (11:07 +0000)]
designator test

[r18707]

16 years agouse allocate_statement_zero for allocating statements
Matthias Braun [Wed, 12 Dec 2007 10:45:08 +0000 (10:45 +0000)]
use allocate_statement_zero for allocating statements

[r18706]

16 years agoAdd allocate_declaration_zero() for convenience.
Christoph Mallon [Wed, 12 Dec 2007 09:43:52 +0000 (09:43 +0000)]
Add allocate_declaration_zero() for convenience.

[r18705]

16 years agoPlug minor memory leak when an error occurs while parsing enum entries.
Christoph Mallon [Wed, 12 Dec 2007 09:19:07 +0000 (09:19 +0000)]
Plug minor memory leak when an error occurs while parsing enum entries.

[r18704]

16 years agoRemove unnecessary pointer/type indirection.
Christoph Mallon [Wed, 12 Dec 2007 09:16:36 +0000 (09:16 +0000)]
Remove unnecessary pointer/type indirection.

[r18703]

16 years agoImprove error messages slightly.
Christoph Mallon [Wed, 12 Dec 2007 09:08:21 +0000 (09:08 +0000)]
Improve error messages slightly.

[r18702]

16 years agoA statement_base_t is enough space for break and continue statements.
Christoph Mallon [Wed, 12 Dec 2007 08:19:30 +0000 (08:19 +0000)]
A statement_base_t is enough space for break and continue statements.

[r18701]

16 years agoRemove stray \n in warning message.
Christoph Mallon [Wed, 12 Dec 2007 08:05:20 +0000 (08:05 +0000)]
Remove stray \n in warning message.

[r18700]

16 years agoFix off-by-two-tokens error in the location of break and continue statements.
Christoph Mallon [Wed, 12 Dec 2007 08:01:49 +0000 (08:01 +0000)]
Fix off-by-two-tokens error in the location of break and continue statements.

[r18699]

16 years agoFix checking, whether break/continue is within a loop/switch.
Christoph Mallon [Wed, 12 Dec 2007 07:51:33 +0000 (07:51 +0000)]
Fix checking, whether break/continue is within a loop/switch.

[r18698]

16 years agomade error output for missing labels gcc like
Michael Beck [Wed, 12 Dec 2007 02:49:47 +0000 (02:49 +0000)]
made error output for missing labels gcc like

[r18697]

16 years ago- added check for multiple default labels
Michael Beck [Wed, 12 Dec 2007 02:39:50 +0000 (02:39 +0000)]
- added check for multiple default labels
- added check for undefined goto labels

[r18696]

16 years agomore cases to test added
Michael Beck [Wed, 12 Dec 2007 01:51:01 +0000 (01:51 +0000)]
more cases to test added

[r18695]

16 years agoadd missing test for default
Michael Beck [Wed, 12 Dec 2007 01:50:09 +0000 (01:50 +0000)]
add missing test for default

[r18694]

16 years agocheck that break and continue are inside switches and loops
Michael Beck [Wed, 12 Dec 2007 01:47:35 +0000 (01:47 +0000)]
check that break and continue are inside switches and loops

[r18693]

16 years agotest for wrong switches
Michael Beck [Wed, 12 Dec 2007 01:39:12 +0000 (01:39 +0000)]
test for wrong switches

[r18692]

16 years agoremoved superfluous &
Michael Beck [Wed, 12 Dec 2007 01:37:58 +0000 (01:37 +0000)]
removed superfluous &

[r18691]

16 years ago- check for case labels outside a switch statement
Michael Beck [Wed, 12 Dec 2007 01:35:44 +0000 (01:35 +0000)]
- check for case labels outside a switch statement
- add infrastructure for further case label checks

[r18690]

16 years ago2 test programs I had lying around here
Matthias Braun [Wed, 12 Dec 2007 00:03:09 +0000 (00:03 +0000)]
2 test programs I had lying around here

[r18689]

16 years agoimprovements and fixes to K&R style parameter parsing
Matthias Braun [Wed, 12 Dec 2007 00:02:12 +0000 (00:02 +0000)]
improvements and fixes to K&R style parameter parsing

[r18688]

16 years agooptions -w and -Wfatal-errors implemented
Michael Beck [Tue, 11 Dec 2007 23:48:16 +0000 (23:48 +0000)]
options -w and -Wfatal-errors implemented

[r18687]

16 years agoadd test for array subscript type char
Michael Beck [Tue, 11 Dec 2007 23:32:31 +0000 (23:32 +0000)]
add test for array subscript type char

[r18686]

16 years ago- renamed atomic_type_type_t to atomic_type_kind_t
Michael Beck [Tue, 11 Dec 2007 23:30:58 +0000 (23:30 +0000)]
- renamed atomic_type_type_t to atomic_type_kind_t
- add a warning if the array subscript type is char

[r18685]

16 years agoAdd missing skip_typeref().
Christoph Mallon [Tue, 11 Dec 2007 21:52:00 +0000 (21:52 +0000)]
Add missing skip_typeref().

[r18684]

16 years agoDo default promotion on the expression of switch()es.
Christoph Mallon [Tue, 11 Dec 2007 21:41:18 +0000 (21:41 +0000)]
Do default promotion on the expression of switch()es.

[r18683]

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]