cparser
15 years ago- change enum to have an underlying atomic type
Matthias Braun [Sun, 14 Dec 2008 11:05:39 +0000 (11:05 +0000)]
- change enum to have an underlying atomic type
- improve handling of mode attribute a bit

[r24658]

15 years agoAdjusted for latest firm
Moritz Kroll [Sun, 14 Dec 2008 10:54:37 +0000 (10:54 +0000)]
Adjusted for latest firm

[r24657]

15 years agoSimplify eat() macro.
Christoph Mallon [Sun, 14 Dec 2008 10:42:40 +0000 (10:42 +0000)]
Simplify eat() macro.

[r24653]

15 years agoUnify the form of references to the standard.
Christoph Mallon [Sun, 14 Dec 2008 10:41:02 +0000 (10:41 +0000)]
Unify the form of references to the standard.

[r24652]

15 years agoUse identify_new_type() instead of duplicating it.
Christoph Mallon [Sun, 14 Dec 2008 10:16:58 +0000 (10:16 +0000)]
Use identify_new_type() instead of duplicating it.

[r24650]

15 years agoFix handling of alignment in skip_typeref(). skip_typeref() for typedefs of compound...
Christoph Mallon [Sun, 14 Dec 2008 08:22:54 +0000 (08:22 +0000)]
Fix handling of alignment in skip_typeref().  skip_typeref() for typedefs of compound types, which were used to create a qualified declaration, reset the alignment to 0.

[r24645]

15 years agofurther attributes+types tweaks
Matthias Braun [Sun, 14 Dec 2008 00:09:31 +0000 (00:09 +0000)]
further attributes+types tweaks

[r24639]

15 years agofirst implementation of aligned attribute
Matthias Braun [Sat, 13 Dec 2008 23:10:27 +0000 (23:10 +0000)]
first implementation of aligned attribute

[r24636]

15 years agoSet size and alignment for atomic/complex/imagenary types created from type specifiers.
Christoph Mallon [Sat, 13 Dec 2008 22:54:22 +0000 (22:54 +0000)]
Set size and alignment for atomic/complex/imagenary types created from type specifiers.

[r24635]

15 years agorespect alignment in typehash
Matthias Braun [Sat, 13 Dec 2008 22:49:04 +0000 (22:49 +0000)]
respect alignment in typehash

[r24634]

15 years agofix subtle implicit cast problem
Matthias Braun [Sat, 13 Dec 2008 20:42:43 +0000 (20:42 +0000)]
fix subtle implicit cast problem

[r24627]

15 years agomissing skip_typeref
Matthias Braun [Sat, 13 Dec 2008 19:47:38 +0000 (19:47 +0000)]
missing skip_typeref

[r24626]

15 years agoFix typo in lazy op constant folding.
Christoph Mallon [Sat, 13 Dec 2008 19:35:17 +0000 (19:35 +0000)]
Fix typo in lazy op constant folding.

[r24624]

15 years agomore skip_typerefs
Matthias Braun [Sat, 13 Dec 2008 19:22:17 +0000 (19:22 +0000)]
more skip_typerefs

[r24622]

15 years agotype might be a struct
Matthias Braun [Sat, 13 Dec 2008 19:20:27 +0000 (19:20 +0000)]
type might be a struct

[r24621]

15 years agowe have to convert assign ops back up to mode_arithmetic
Matthias Braun [Sat, 13 Dec 2008 19:12:37 +0000 (19:12 +0000)]
we have to convert assign ops back up to mode_arithmetic

[r24620]

15 years agoalways fold consts
Matthias Braun [Sat, 13 Dec 2008 18:03:44 +0000 (18:03 +0000)]
always fold consts

[r24614]

15 years ago- build float arithmetic ops in backend arithmetic mode
Matthias Braun [Sat, 13 Dec 2008 17:45:52 +0000 (17:45 +0000)]
- build float arithmetic ops in backend arithmetic mode
- fix assignment expressions returning non-converted nodes

[r24608]

15 years agoCorrectly handle shadowing of enum type declarations.
Christoph Mallon [Sat, 13 Dec 2008 10:54:37 +0000 (10:54 +0000)]
Correctly handle shadowing of enum type declarations.
PR: #0000020

[r24590]

15 years agoAccept any integer constant expression as null pointer constant, not just (casted...
Christoph Mallon [Sat, 13 Dec 2008 10:19:41 +0000 (10:19 +0000)]
Accept any integer constant expression as null pointer constant, not just (casted) literal zero.

[r24589]

15 years agoConsider lazy evaluation for && and || in is_constant_expression().
Christoph Mallon [Sat, 13 Dec 2008 10:18:45 +0000 (10:18 +0000)]
Consider lazy evaluation for && and || in is_constant_expression().

[r24588]

15 years agoPrint type definitions and local label declarations in function scope, i.e. remove...
Christoph Mallon [Sat, 13 Dec 2008 10:03:01 +0000 (10:03 +0000)]
Print type definitions and local label declarations in function scope, i.e. remove pointless and wrong special case.

[r24587]

15 years agoRemove the unused STATEMENT_LOCAL_LABEL/struct local_label_statement_t. It never...
Christoph Mallon [Sat, 13 Dec 2008 09:46:45 +0000 (09:46 +0000)]
Remove the unused STATEMENT_LOCAL_LABEL/struct local_label_statement_t. It never gets built. I have no idea where this came from.

[r24586]

15 years agofix for latest firm
Matthias Braun [Fri, 12 Dec 2008 14:47:09 +0000 (14:47 +0000)]
fix for latest firm

[r24569]

15 years agoremove wrong assert
Matthias Braun [Fri, 12 Dec 2008 12:03:46 +0000 (12:03 +0000)]
remove wrong assert

[r24563]

15 years agoAdhere in the expression walker that __builtin_prefetch has two optional parameters.
Christoph Mallon [Fri, 12 Dec 2008 09:53:32 +0000 (09:53 +0000)]
Adhere in the expression walker that __builtin_prefetch has two optional parameters.

[r24557]

15 years agoOmit several errors, which include a name, if a declarator has no name (there was...
Christoph Mallon [Thu, 11 Dec 2008 23:19:58 +0000 (23:19 +0000)]
Omit several errors, which include a name, if a declarator has no name (there was an error about this fact before).

[r24553]

15 years agoIf a declarator has no name, record the location of the start of the declaration...
Christoph Mallon [Thu, 11 Dec 2008 23:04:46 +0000 (23:04 +0000)]
If a declarator has no name, record the location of the start of the declaration as its source position.

[r24552]

15 years agoIndentation.
Christoph Mallon [Thu, 11 Dec 2008 22:07:37 +0000 (22:07 +0000)]
Indentation.

[r24551]

15 years agoDo not assert when * or [] do not have pointer type in revert_automatic_type_conversi...
Christoph Mallon [Thu, 11 Dec 2008 22:05:57 +0000 (22:05 +0000)]
Do not assert when * or [] do not have pointer type in revert_automatic_type_conversion(), but just return the error type. This happens when the types of the operands are wrong.

[r24550]

15 years agoBe not too unhappy (i.e. assert) if there is a typedef in a compound declaration.
Christoph Mallon [Thu, 11 Dec 2008 21:22:07 +0000 (21:22 +0000)]
Be not too unhappy (i.e. assert) if there is a typedef in a compound declaration.

[r24549]

15 years agoCorrectly handle empty compound statements in check_reachable(), i.e. continue at...
Christoph Mallon [Thu, 11 Dec 2008 21:17:30 +0000 (21:17 +0000)]
Correctly handle empty compound statements in check_reachable(), i.e. continue at the statement after the {}.

[r24548]

15 years agoOmit semantic tests in parse_compound_declarators(), which do not apply to (anonymous...
Christoph Mallon [Thu, 11 Dec 2008 21:15:40 +0000 (21:15 +0000)]
Omit semantic tests in parse_compound_declarators(), which do not apply to (anonymous) bitfields.

[r24547]

15 years agoAdd directories and filename pattern to make_release.sh.
Christoph Mallon [Thu, 11 Dec 2008 20:27:03 +0000 (20:27 +0000)]
Add directories and filename pattern to make_release.sh.

[r24546]

15 years agoUpdate NEWS.
Christoph Mallon [Thu, 11 Dec 2008 15:00:45 +0000 (15:00 +0000)]
Update NEWS.

[r24532]

15 years agoResolve warning.
Christoph Mallon [Thu, 11 Dec 2008 14:22:54 +0000 (14:22 +0000)]
Resolve warning.

[r24531]

15 years agoImprove the behaviour of -Wsign-compare in presence of constant expressions.
Christoph Mallon [Thu, 11 Dec 2008 13:54:56 +0000 (13:54 +0000)]
Improve the behaviour of -Wsign-compare in presence of constant expressions.

[r24528]

15 years agoResolve warnings.
Christoph Mallon [Thu, 11 Dec 2008 12:38:01 +0000 (12:38 +0000)]
Resolve warnings.

[r24524]

15 years agoMark variables used in the size expression of array declarators as read.
Christoph Mallon [Thu, 11 Dec 2008 12:17:10 +0000 (12:17 +0000)]
Mark variables used in the size expression of array declarators as read.

[r24522]

15 years agoDo not record error entities of kind ENTITY_COMPOUND_MEMBER, because this would pollu...
Christoph Mallon [Thu, 11 Dec 2008 12:11:03 +0000 (12:11 +0000)]
Do not record error entities of kind ENTITY_COMPOUND_MEMBER, because this would pollute the current scope.

[r24521]

15 years agoGet rid of repeated unused variable warnings.
Christoph Mallon [Thu, 11 Dec 2008 11:56:50 +0000 (11:56 +0000)]
Get rid of repeated unused variable warnings.

[r24519]

15 years agoPrettify printing of qualified pointer types.
Christoph Mallon [Thu, 11 Dec 2008 11:11:05 +0000 (11:11 +0000)]
Prettify printing of qualified pointer types.

[r24518]

15 years agoGet rid of unnecessary negation.
Christoph Mallon [Thu, 11 Dec 2008 11:05:28 +0000 (11:05 +0000)]
Get rid of unnecessary negation.

[r24517]

15 years agoResolve warning.
Christoph Mallon [Thu, 11 Dec 2008 11:03:47 +0000 (11:03 +0000)]
Resolve warning.

[r24516]

15 years agoMark variables used in sub initializers as read.
Christoph Mallon [Thu, 11 Dec 2008 11:03:29 +0000 (11:03 +0000)]
Mark variables used in sub initializers as read.

[r24515]

15 years agoWhitespace.
Christoph Mallon [Thu, 11 Dec 2008 10:26:23 +0000 (10:26 +0000)]
Whitespace.

[r24514]

15 years agoMinor formatting nit in the manpage.
Christoph Mallon [Thu, 11 Dec 2008 10:26:03 +0000 (10:26 +0000)]
Minor formatting nit in the manpage.

[r24513]

15 years agoDo not print an error, that the operand of delete does not have pointer type, if...
Christoph Mallon [Thu, 11 Dec 2008 09:27:54 +0000 (09:27 +0000)]
Do not print an error, that the operand of delete does not have pointer type, if it is the error type.

[r24511]

15 years agoFix typo in comment.
Christoph Mallon [Thu, 11 Dec 2008 09:26:27 +0000 (09:26 +0000)]
Fix typo in comment.

[r24510]

15 years agofirst revision of jna writer
Matthias Braun [Wed, 10 Dec 2008 20:10:19 +0000 (20:10 +0000)]
first revision of jna writer

[r24503]

15 years agoSuppress warning about +/- in <</>>, if the +/- is parenthesized.
Christoph Mallon [Wed, 10 Dec 2008 19:20:36 +0000 (19:20 +0000)]
Suppress warning about +/- in <</>>, if the +/- is parenthesized.

[r24500]

15 years agoImprove handling of statement expressions ({}):
Christoph Mallon [Wed, 10 Dec 2008 19:12:16 +0000 (19:12 +0000)]
Improve handling of statement expressions ({}):
- Fix spurious warnings about reaching the end of a non-void function
- Correct reachable statemente analysis
- More pretty AST printing.

[r24499]

15 years ago- recognize __attribute__((returns_twice)) and __declspec(returns_twice) now
Michael Beck [Wed, 10 Dec 2008 13:10:32 +0000 (13:10 +0000)]
- recognize __attribute__((returns_twice)) and __declspec(returns_twice) now

[r24478]

15 years ago- updated hash_pointer_type for based pointers
Michael Beck [Wed, 10 Dec 2008 13:09:35 +0000 (13:09 +0000)]
- updated hash_pointer_type for based pointers

[r24477]

15 years agoCalculate the size of a typedefed VLA right where the typedef is declared, not where...
Christoph Mallon [Tue, 9 Dec 2008 17:29:43 +0000 (17:29 +0000)]
Calculate the size of a typedefed VLA right where the typedef is declared, not where the type is used.

[r24459]

15 years agoRemove two unnecessary return;.
Christoph Mallon [Tue, 9 Dec 2008 10:24:21 +0000 (10:24 +0000)]
Remove two unnecessary return;.

[r24445]

15 years agoAdd one more case to -Wparentheses: x + y << z.
Christoph Mallon [Tue, 9 Dec 2008 10:23:32 +0000 (10:23 +0000)]
Add one more case to -Wparentheses: x + y << z.

[r24444]

15 years agomore stuff lying around here
Matthias Braun [Tue, 9 Dec 2008 08:32:50 +0000 (08:32 +0000)]
more stuff lying around here

[r24437]

15 years agoadapt to latest firm changes
Matthias Braun [Tue, 9 Dec 2008 08:05:13 +0000 (08:05 +0000)]
adapt to latest firm changes

[r24435]

15 years agoadapt for latest firm changes
Matthias Braun [Tue, 9 Dec 2008 07:57:24 +0000 (07:57 +0000)]
adapt for latest firm changes

[r24431]

15 years agofix warning
Matthias Braun [Tue, 9 Dec 2008 07:53:51 +0000 (07:53 +0000)]
fix warning

[r24427]

15 years agoRemove dead variable initialisation.
Christoph Mallon [Tue, 9 Dec 2008 07:51:19 +0000 (07:51 +0000)]
Remove dead variable initialisation.

[r24426]

15 years agodo NOT add default: cases to enum switches
Matthias Braun [Tue, 9 Dec 2008 07:42:37 +0000 (07:42 +0000)]
do NOT add default: cases to enum switches

[r24425]

15 years agouse C linkage for implicit functions
Matthias Braun [Tue, 9 Dec 2008 07:36:14 +0000 (07:36 +0000)]
use C linkage for implicit functions

[r24424]

15 years ago- removed unused immediate fp mode
Michael Beck [Mon, 8 Dec 2008 23:38:09 +0000 (23:38 +0000)]
- removed unused immediate fp mode

[r24421]

15 years agoResolved some uninitialized variable warnings
Moritz Kroll [Mon, 8 Dec 2008 23:29:59 +0000 (23:29 +0000)]
Resolved some uninitialized variable warnings

[r24420]

15 years agoCompiles now with Cygwin, if -Werror is disabled in Makefile
Moritz Kroll [Mon, 8 Dec 2008 22:30:29 +0000 (22:30 +0000)]
Compiles now with Cygwin, if -Werror is disabled in Makefile

[r24415]

15 years agoFixed name mangling of implicitly declared functions (especially on Win32)
Moritz Kroll [Mon, 8 Dec 2008 20:44:13 +0000 (20:44 +0000)]
Fixed name mangling of implicitly declared functions (especially on Win32)

[r24408]

15 years agoRemove trailing \n from panic messages.
Christoph Mallon [Mon, 8 Dec 2008 20:40:13 +0000 (20:40 +0000)]
Remove trailing \n from panic messages.

[r24407]

15 years agoAdapted tokens.inc for Cygwin and MinGW
Moritz Kroll [Mon, 8 Dec 2008 14:53:27 +0000 (14:53 +0000)]
Adapted tokens.inc for Cygwin and MinGW

[r24401]

15 years agoMap a few more GCC builtin functions to libc equivalents.
Christoph Mallon [Mon, 8 Dec 2008 12:42:42 +0000 (12:42 +0000)]
Map a few more GCC builtin functions to libc equivalents.

[r24396]

15 years agoRepair L"a" "b" concatenation.
Christoph Mallon [Mon, 8 Dec 2008 12:41:46 +0000 (12:41 +0000)]
Repair L"a" "b" concatenation.

[r24395]

15 years ago- Repair evaluating && with constant left hand side with value 0
Christoph Mallon [Mon, 8 Dec 2008 12:27:26 +0000 (12:27 +0000)]
- Repair evaluating && with constant left hand side with value 0
- Try to constant fold the right hand side of && and ||, if the left hand side is constant.

[r24393]

15 years agoRemove false_block != NULL tests, which never can be false.
Christoph Mallon [Mon, 8 Dec 2008 11:57:29 +0000 (11:57 +0000)]
Remove false_block != NULL tests, which never can be false.

[r24390]

15 years agoImprove error recovery, if the : of a ?: operator is missing.
Christoph Mallon [Mon, 8 Dec 2008 11:11:44 +0000 (11:11 +0000)]
Improve error recovery, if the : of a ?: operator is missing.

[r24388]

15 years agoAllow sizeof(void) and __alignof__(void) as GCC extension.
Christoph Mallon [Mon, 8 Dec 2008 09:33:32 +0000 (09:33 +0000)]
Allow sizeof(void) and __alignof__(void) as GCC extension.

[r24386]

15 years agoStore an unsigned char in the current lexer character buffer ("c") to avoid confusion...
Christoph Mallon [Mon, 8 Dec 2008 08:50:33 +0000 (08:50 +0000)]
Store an unsigned char in the current lexer character buffer ("c") to avoid confusion with EOF.

[r24384]

15 years ago"Support" more GCC builtin functions, i.e. tell the preprocessor to map them to their...
Christoph Mallon [Mon, 8 Dec 2008 08:21:37 +0000 (08:21 +0000)]
"Support" more GCC builtin functions, i.e. tell the preprocessor to map them to their libc equivalents.

[r24383]

15 years agoCorrectly print octal escape sequences, when the char has negative value.
Christoph Mallon [Mon, 8 Dec 2008 08:19:48 +0000 (08:19 +0000)]
Correctly print octal escape sequences, when the char has negative value.

[r24382]

15 years agoEvaluate the argument of va_end for its side effects.
Christoph Mallon [Sun, 7 Dec 2008 21:59:41 +0000 (21:59 +0000)]
Evaluate the argument of va_end for its side effects.

[r24379]

15 years agoCompound literals are lvalues.
Christoph Mallon [Sun, 7 Dec 2008 21:20:55 +0000 (21:20 +0000)]
Compound literals are lvalues.

[r24378]

15 years agoSlightly change whitespace when printing for-statements.
Christoph Mallon [Sun, 7 Dec 2008 17:35:19 +0000 (17:35 +0000)]
Slightly change whitespace when printing for-statements.

[r24376]

15 years agoImplement -Wparentheses.
Christoph Mallon [Sun, 7 Dec 2008 16:57:27 +0000 (16:57 +0000)]
Implement -Wparentheses.

[r24375]

15 years ago- select_addr() must create an constant in constant-folfing mode
Michael Beck [Sun, 7 Dec 2008 13:47:09 +0000 (13:47 +0000)]
- select_addr() must create an constant in constant-folfing mode

[r24373]

15 years ago- fixed assertiton (used ENTIFY_PARAMETER yet)
Michael Beck [Sun, 7 Dec 2008 13:23:02 +0000 (13:23 +0000)]
- fixed assertiton (used ENTIFY_PARAMETER yet)
- add missing skip_typeref()

[r24372]

15 years ago| needs to be escaped, too.
Christoph Mallon [Sat, 6 Dec 2008 18:31:55 +0000 (18:31 +0000)]
| needs to be escaped, too.

[r24361]

15 years agoAdd partial support for C++ wchar_t.
Christoph Mallon [Sat, 6 Dec 2008 15:44:46 +0000 (15:44 +0000)]
Add partial support for C++ wchar_t.

[r24354]

15 years agoPrint scalar initialisers as assignment expressions instead of plain expressions...
Christoph Mallon [Fri, 5 Dec 2008 11:02:58 +0000 (11:02 +0000)]
Print scalar initialisers as assignment expressions instead of plain expressions, so expressions using the comma operator get parenthesized properly.

[r24315]

15 years agoAdd print_assignment_expression() as shortcut for print_expression_prec(expr, PREC_AS...
Christoph Mallon [Fri, 5 Dec 2008 10:59:17 +0000 (10:59 +0000)]
Add print_assignment_expression() as shortcut for print_expression_prec(expr, PREC_ASSIGNMENT).

[r24314]

15 years agoOne more declaration-with-no-declarators-null-pointer fix.
Christoph Mallon [Fri, 5 Dec 2008 10:43:19 +0000 (10:43 +0000)]
One more declaration-with-no-declarators-null-pointer fix.

[r24313]

15 years agoSimplify array_access_addr() by using adjust_for_pointer_arithmetic().
Christoph Mallon [Thu, 4 Dec 2008 11:13:21 +0000 (11:13 +0000)]
Simplify array_access_addr() by using adjust_for_pointer_arithmetic().

[r24287]

15 years agoConvert the value before taking the shortcut in adjust_for_pointer_arithmetic(),...
Christoph Mallon [Thu, 4 Dec 2008 10:51:54 +0000 (10:51 +0000)]
Convert the value before taking the shortcut in adjust_for_pointer_arithmetic(), so doing pointer arithmetic with char* and a long long offset works.
PR: #0000008

[r24286]

15 years agoremove output in error case
Matthias Braun [Wed, 3 Dec 2008 22:07:52 +0000 (22:07 +0000)]
remove output in error case

[r24280]

15 years agoAccept the undocumented GCC extension escape sequence \E and treat it the same way...
Christoph Mallon [Wed, 3 Dec 2008 21:26:26 +0000 (21:26 +0000)]
Accept the undocumented GCC extension escape sequence \E and treat it the same way as \e.

[r24276]

15 years agoRepair semantic of return-statements for C and implement them for C++.
Christoph Mallon [Wed, 3 Dec 2008 21:00:43 +0000 (21:00 +0000)]
Repair semantic of return-statements for C and implement them for C++.

[r24274]

15 years agoIndentation.
Christoph Mallon [Wed, 3 Dec 2008 11:28:37 +0000 (11:28 +0000)]
Indentation.

[r24255]

15 years agoProperly print parameters, which have no type (identifier lists).
Christoph Mallon [Wed, 3 Dec 2008 10:34:32 +0000 (10:34 +0000)]
Properly print parameters, which have no type (identifier lists).

[r24251]

15 years agoParameter identifier lists are no prototypes.
Christoph Mallon [Wed, 3 Dec 2008 10:34:00 +0000 (10:34 +0000)]
Parameter identifier lists are no prototypes.

[r24250]

15 years agoWhen parsing k&r parameter identifier lists, do not add the entities to the scope...
Christoph Mallon [Wed, 3 Dec 2008 09:23:24 +0000 (09:23 +0000)]
When parsing k&r parameter identifier lists, do not add the entities to the scope, if we have none.  This happens for inner declarators.

[r24249]

15 years agoBefore setting volatility, check that FIRM did not give us a Bad.
Christoph Mallon [Wed, 3 Dec 2008 08:57:19 +0000 (08:57 +0000)]
Before setting volatility, check that FIRM did not give us a Bad.

[r24248]