cparser
15 years agoPartially implement -Wdeprecated-declarations.
Christoph Mallon [Mon, 25 Aug 2008 06:41:20 +0000 (06:41 +0000)]
Partially implement -Wdeprecated-declarations.

[r21426]

15 years agoMerge declaration modifers when updating previous declaration.
Christoph Mallon [Mon, 25 Aug 2008 06:03:58 +0000 (06:03 +0000)]
Merge declaration modifers when updating previous declaration.

[r21425]

15 years agoDo not throw away declaration modifiers parsed in parse_inner_declarator().
Christoph Mallon [Mon, 25 Aug 2008 05:54:40 +0000 (05:54 +0000)]
Do not throw away declaration modifiers parsed in parse_inner_declarator().

[r21424]

15 years agoSort.
Christoph Mallon [Mon, 25 Aug 2008 05:34:02 +0000 (05:34 +0000)]
Sort.

[r21423]

15 years agoMake indenters a bit more happy.
Christoph Mallon [Sun, 24 Aug 2008 17:42:32 +0000 (17:42 +0000)]
Make indenters a bit more happy.

[r21418]

15 years agoRemove already handled TODO.
Christoph Mallon [Sun, 24 Aug 2008 17:38:22 +0000 (17:38 +0000)]
Remove already handled TODO.

[r21417]

15 years agoProperly detect unreachable code and when control flow reaches end of a non-void...
Christoph Mallon [Sun, 24 Aug 2008 17:32:35 +0000 (17:32 +0000)]
Properly detect unreachable code and when control flow reaches end of a non-void function.

[r21416]

15 years agoDo not crash, when encountering the default label while checking for duplicate case...
Christoph Mallon [Sun, 24 Aug 2008 17:29:37 +0000 (17:29 +0000)]
Do not crash, when encountering the default label while checking for duplicate case labels.

[r21415]

15 years agoFix building the list of case statements, i.e. update tail when appending.
Christoph Mallon [Sun, 24 Aug 2008 17:22:43 +0000 (17:22 +0000)]
Fix building the list of case statements, i.e. update tail when appending.

[r21414]

15 years agoRemove duplicate warning entry, sort.
Christoph Mallon [Sun, 24 Aug 2008 17:18:46 +0000 (17:18 +0000)]
Remove duplicate warning entry, sort.

[r21413]

15 years agoDetect duplicate case values.
Christoph Mallon [Sun, 24 Aug 2008 11:08:37 +0000 (11:08 +0000)]
Detect duplicate case values.

[r21403]

15 years agoForbid declarations after label, case and default statements.
Christoph Mallon [Sun, 24 Aug 2008 10:43:21 +0000 (10:43 +0000)]
Forbid declarations after label, case and default statements.

[r21400]

15 years agoUpdate TODO.
Christoph Mallon [Sun, 24 Aug 2008 10:28:17 +0000 (10:28 +0000)]
Update TODO.

[r21399]

15 years agoDo not use && in assertions.
Christoph Mallon [Sun, 24 Aug 2008 07:33:46 +0000 (07:33 +0000)]
Do not use && in assertions.

[r21397]

15 years agoreplaced malloc by VLA
Michael Beck [Sat, 23 Aug 2008 15:19:53 +0000 (15:19 +0000)]
replaced malloc by VLA

[r21386]

15 years agoAccept GNU-style designators ("identifier: value").
Christoph Mallon [Sat, 23 Aug 2008 11:18:45 +0000 (11:18 +0000)]
Accept GNU-style designators ("identifier: value").

[r21381]

15 years agoFirst print the error message about an unknown char, then proceed to the next char...
Christoph Mallon [Sat, 23 Aug 2008 10:17:47 +0000 (10:17 +0000)]
First print the error message about an unknown char, then proceed to the next char, so the unknown char is printed, not the next char.

[r21380]

15 years agoBehave more sane (i.e. do not spew implicit int warnings), when encountering garbage...
Christoph Mallon [Sat, 23 Aug 2008 10:14:36 +0000 (10:14 +0000)]
Behave more sane (i.e. do not spew implicit int warnings), when encountering garbage tokens outside of functions.

[r21379]

15 years agoAdd FALLTHROUGH marker.
Christoph Mallon [Sat, 23 Aug 2008 10:07:17 +0000 (10:07 +0000)]
Add FALLTHROUGH marker.

[r21378]

15 years agoTreat __thread as storage class.
Christoph Mallon [Sat, 23 Aug 2008 10:06:40 +0000 (10:06 +0000)]
Treat __thread as storage class.

[r21377]

15 years agoImprove eat_until_matching_token(), so it does not eat too much, when encountering...
Christoph Mallon [Sat, 23 Aug 2008 09:54:58 +0000 (09:54 +0000)]
Improve eat_until_matching_token(), so it does not eat too much, when encountering a matching ')', '}' or ']'.

[r21376]

15 years agoCleanup, resolve some warnings.
Christoph Mallon [Sat, 23 Aug 2008 09:10:35 +0000 (09:10 +0000)]
Cleanup, resolve some warnings.

[r21375]

15 years agoUse correct conversion specifier.
Christoph Mallon [Sat, 23 Aug 2008 08:03:22 +0000 (08:03 +0000)]
Use correct conversion specifier.

[r21374]

15 years agoHandle __attribute__((unused)).
Christoph Mallon [Sat, 23 Aug 2008 08:02:32 +0000 (08:02 +0000)]
Handle __attribute__((unused)).

[r21373]

15 years agoRemember a label, even if it is at the end of a compound statement.
Christoph Mallon [Sat, 23 Aug 2008 07:39:13 +0000 (07:39 +0000)]
Remember a label, even if it is at the end of a compound statement.

[r21372]

15 years agoAnother weird GCC extension: designated initialisation using colon.
Christoph Mallon [Sat, 23 Aug 2008 06:47:37 +0000 (06:47 +0000)]
Another weird GCC extension: designated initialisation using colon.

[r21371]

15 years agoReduce indendation.
Christoph Mallon [Fri, 22 Aug 2008 06:23:38 +0000 (06:23 +0000)]
Reduce indendation.

[r21337]

15 years agoPrevent printing redundant parentheses for array access, designators and non-printed...
Christoph Mallon [Fri, 22 Aug 2008 06:01:25 +0000 (06:01 +0000)]
Prevent printing redundant parentheses for array access, designators and non-printed implicit casts.

[r21336]

15 years agosynchronized with edgcpfe: enabled combo by default
Michael Beck [Thu, 21 Aug 2008 23:01:25 +0000 (23:01 +0000)]
synchronized with edgcpfe: enabled combo by default

[r21335]

15 years agoFix for inline assembler: According to the GCC documentation an 'asm' instruction...
Christoph Mallon [Thu, 21 Aug 2008 20:54:18 +0000 (20:54 +0000)]
Fix for inline assembler: According to the GCC documentation an 'asm' instruction without any output operands will be treated identically to a volatile 'asm' instruction.

[r21330]

15 years agoadd anchor token ')'
Michael Beck [Thu, 21 Aug 2008 12:58:25 +0000 (12:58 +0000)]
add anchor token ')'

[r21313]

15 years agocc_fixed is dead, all hail stickyness_sticky!
Christoph Mallon [Thu, 21 Aug 2008 10:57:35 +0000 (10:57 +0000)]
cc_fixed is dead, all hail stickyness_sticky!

[r21308]

15 years agoGCC ugliness: Allow lvalue casts in asm output constraints. TODO shoot GCC developers.
Christoph Mallon [Thu, 21 Aug 2008 10:43:43 +0000 (10:43 +0000)]
GCC ugliness: Allow lvalue casts in asm output constraints.  TODO shoot GCC developers.

[r21306]

15 years agoWarn about unnecessary static forward declarations.
Christoph Mallon [Thu, 21 Aug 2008 05:54:49 +0000 (05:54 +0000)]
Warn about unnecessary static forward declarations.

[r21299]

15 years agoWhen a calling convention is specified via attribute mark it as cc_fixed (broken...
Christoph Mallon [Thu, 21 Aug 2008 05:51:09 +0000 (05:51 +0000)]
When a calling convention is specified via attribute mark it as cc_fixed (broken in r21216).

[r21298]

15 years agoSlightly reduce code duplication.
Christoph Mallon [Wed, 20 Aug 2008 12:47:45 +0000 (12:47 +0000)]
Slightly reduce code duplication.

[r21280]

15 years agoFix r21226 ... ugh.
Christoph Mallon [Wed, 20 Aug 2008 12:43:33 +0000 (12:43 +0000)]
Fix r21226 ... ugh.

[r21278]

15 years agoCheck whether the declaration is not NULL before issuing a warning about using a...
Christoph Mallon [Wed, 20 Aug 2008 12:40:02 +0000 (12:40 +0000)]
Check whether the declaration is not NULL before issuing a warning about using a potentially uninitialised variable.

[r21277]

15 years agoDo not warn about a redundant declaration if a global static variable declaration...
Christoph Mallon [Wed, 20 Aug 2008 12:35:15 +0000 (12:35 +0000)]
Do not warn about a redundant declaration if a global static variable declaration is followed by a definition.

[r21276]

15 years agoWhitespace.
Christoph Mallon [Sun, 17 Aug 2008 09:53:38 +0000 (09:53 +0000)]
Whitespace.

[r21227]

15 years agoAdhere C99 §6.3.1.8: semantic_arithmetic() returned the wrong type for unsigned int...
Christoph Mallon [Sun, 17 Aug 2008 09:52:34 +0000 (09:52 +0000)]
Adhere C99 §6.3.1.8: semantic_arithmetic() returned the wrong type for unsigned int + long long.

[r21226]

15 years agocollect gnu expression attribute arguments
Michael Beck [Sun, 17 Aug 2008 07:30:55 +0000 (07:30 +0000)]
collect gnu expression attribute arguments

[r21225]

15 years agoCorrect comment.
Christoph Mallon [Sat, 16 Aug 2008 14:57:42 +0000 (14:57 +0000)]
Correct comment.

[r21223]

15 years agoDo not warn, that a second extern declaration for a function is redundant, if it...
Christoph Mallon [Sat, 16 Aug 2008 14:57:07 +0000 (14:57 +0000)]
Do not warn, that a second extern declaration for a function is redundant, if it is a function definition.

[r21222]

15 years agoRemove unnecessary goto.
Christoph Mallon [Sat, 16 Aug 2008 14:03:56 +0000 (14:03 +0000)]
Remove unnecessary goto.

[r21220]

15 years agofixed support for calling conventions:
Michael Beck [Sat, 16 Aug 2008 11:36:17 +0000 (11:36 +0000)]
fixed support for calling conventions:
- add them to function type
- issue error if more than one cc is used
- show them in type info

[r21216]

15 years ago- changing all typedef enum { ... } name; into typedef enum name { ... } name; greatl...
Michael Beck [Sat, 16 Aug 2008 10:48:07 +0000 (10:48 +0000)]
- changing all typedef enum { ... } name; into typedef enum name { ... } name; greatly improved the debugging experience ;-)

[r21215]

15 years ago- function types with different calling conventions are different
Michael Beck [Sat, 16 Aug 2008 10:43:23 +0000 (10:43 +0000)]
- function types with different calling conventions are different

[r21214]

15 years agoComply with §6.7.5.3(8).
Christoph Mallon [Sat, 16 Aug 2008 07:16:16 +0000 (07:16 +0000)]
Comply with §6.7.5.3(8).

[r21212]

15 years agocp_error048: C99 §6.7.5.3 clause 8: "A declaration of a parameter as ``function retur...
Christoph Mallon [Sat, 16 Aug 2008 07:03:31 +0000 (07:03 +0000)]
cp_error048: C99 §6.7.5.3 clause 8: "A declaration of a parameter as ``function returning type shall be adjusted to ``pointer to function returning type".

[r21211]

15 years agoDo not warn about an ununsed function, if it is marked with __attribute__((used)).
Christoph Mallon [Sat, 16 Aug 2008 06:48:48 +0000 (06:48 +0000)]
Do not warn about an ununsed function, if it is marked with __attribute__((used)).

[r21210]

15 years agoshould fail: variable with incomplete type.
Christoph Mallon [Fri, 15 Aug 2008 19:56:24 +0000 (19:56 +0000)]
should fail: variable with incomplete type.

[r21206]

15 years agoFix cp_error047.
Christoph Mallon [Fri, 15 Aug 2008 17:59:53 +0000 (17:59 +0000)]
Fix cp_error047.

[r21204]

15 years agocp_error047: struct definition for same name in inner scope.
Christoph Mallon [Fri, 15 Aug 2008 17:14:43 +0000 (17:14 +0000)]
cp_error047: struct definition for same name in inner scope.

[r21202]

15 years agoAdd support for global assembler statements.
Christoph Mallon [Fri, 15 Aug 2008 09:04:54 +0000 (09:04 +0000)]
Add support for global assembler statements.

[r21191]

15 years agouse first token as symbol
Matthias Braun [Fri, 15 Aug 2008 07:36:45 +0000 (07:36 +0000)]
use first token as symbol

[r21190]

15 years agoadd cc field to function types
Michael Beck [Wed, 13 Aug 2008 10:57:30 +0000 (10:57 +0000)]
add cc field to function types

[r21140]

15 years agoProcess MS and GNU attributes for specifying the calling convention. TODO: needs...
Christoph Mallon [Wed, 13 Aug 2008 10:25:49 +0000 (10:25 +0000)]
Process MS and GNU attributes for specifying the calling convention.  TODO: needs heaps of error checking.

[r21139]

15 years ago- factor out setting of entity attributes
Michael Beck [Wed, 13 Aug 2008 08:50:47 +0000 (08:50 +0000)]
- factor out setting of entity attributes
- add support for __attribute__((pure)) specifier

[r21136]

15 years agoHandle __attribute__((used)) for functions, i.e. make the function entity sticky.
Christoph Mallon [Wed, 13 Aug 2008 07:28:32 +0000 (07:28 +0000)]
Handle __attribute__((used)) for functions, i.e. make the function entity sticky.

[r21135]

15 years agofix for mode attribute stuff
Matthias Braun [Tue, 12 Aug 2008 13:35:43 +0000 (13:35 +0000)]
fix for mode attribute stuff

[r21124]

15 years agofirst hacked implementation of mode attribute
Matthias Braun [Tue, 12 Aug 2008 13:16:55 +0000 (13:16 +0000)]
first hacked implementation of mode attribute

[r21122]

15 years agomore testcases
Matthias Braun [Tue, 12 Aug 2008 13:16:42 +0000 (13:16 +0000)]
more testcases

[r21121]

15 years agoignore -fPIC, one more missing skip_typeref
Matthias Braun [Tue, 12 Aug 2008 11:38:08 +0000 (11:38 +0000)]
ignore -fPIC, one more missing skip_typeref

[r21119]

15 years agoerror46
Matthias Braun [Tue, 12 Aug 2008 11:17:27 +0000 (11:17 +0000)]
error46

[r21116]

15 years agoif( to if (
Matthias Braun [Tue, 12 Aug 2008 08:44:07 +0000 (08:44 +0000)]
if( to if (

[r21112]

15 years agocall set_store first before (potentially) creating stores
Matthias Braun [Tue, 12 Aug 2008 08:43:56 +0000 (08:43 +0000)]
call set_store first before (potentially) creating stores

[r21111]

15 years agoFix indentation.
Christoph Mallon [Sat, 9 Aug 2008 07:34:10 +0000 (07:34 +0000)]
Fix indentation.

[r21077]

15 years agoFix indentation.
Christoph Mallon [Sat, 9 Aug 2008 07:33:43 +0000 (07:33 +0000)]
Fix indentation.

[r21076]

15 years agoFix comment.
Christoph Mallon [Sat, 9 Aug 2008 07:33:09 +0000 (07:33 +0000)]
Fix comment.

[r21075]

15 years agoWarn about extra { before a scalar initialiser at the {, not one token after it.
Christoph Mallon [Sat, 9 Aug 2008 07:13:19 +0000 (07:13 +0000)]
Warn about extra { before a scalar initialiser at the {, not one token after it.

[r21074]

15 years agoAccept (but ignore and warn about) MS-style declaration modifiers (cp_error045).
Christoph Mallon [Fri, 8 Aug 2008 08:33:55 +0000 (08:33 +0000)]
Accept (but ignore and warn about) MS-style declaration modifiers (cp_error045).

[r21062]

15 years agoAllow attributes before/between/after * in declarators (partially fixing cp_error045).
Christoph Mallon [Fri, 8 Aug 2008 07:54:31 +0000 (07:54 +0000)]
Allow attributes before/between/after * in declarators (partially fixing cp_error045).

[r21060]

15 years agocp_error045: winnt.h needs a pointer type to a stdcall function
Moritz Kroll [Fri, 8 Aug 2008 00:39:37 +0000 (00:39 +0000)]
cp_error045: winnt.h needs a pointer type to a stdcall function

[r21057]

15 years agoDo not pretend being __STRICT_ANSI__.
Christoph Mallon [Thu, 7 Aug 2008 16:06:38 +0000 (16:06 +0000)]
Do not pretend being __STRICT_ANSI__.

[r21054]

15 years agoAllow perverted case: Be lenient when a function is declared inline, but there is...
Christoph Mallon [Thu, 7 Aug 2008 15:25:25 +0000 (15:25 +0000)]
Allow perverted case: Be lenient when a function is declared inline, but there is not body in the translation unit.

[r21053]

15 years agoFix typo.
Christoph Mallon [Thu, 7 Aug 2008 15:23:36 +0000 (15:23 +0000)]
Fix typo.

[r21052]

15 years agoUse local variables for better readability.
Christoph Mallon [Thu, 7 Aug 2008 15:16:24 +0000 (15:16 +0000)]
Use local variables for better readability.

[r21051]

15 years agoinvalid use of inline (which gcc handles anyway)
Matthias Braun [Thu, 7 Aug 2008 14:44:59 +0000 (14:44 +0000)]
invalid use of inline (which gcc handles anyway)

[r21049]

15 years agoskip_typref().
Christoph Mallon [Thu, 7 Aug 2008 14:26:07 +0000 (14:26 +0000)]
skip_typref().

[r21048]

15 years agoCorrectly handle the result type of conditional expressions, when (void*)0 (a null...
Christoph Mallon [Thu, 7 Aug 2008 14:19:45 +0000 (14:19 +0000)]
Correctly handle the result type of conditional expressions, when (void*)0 (a null pointer constant) is used.

[r21047]

15 years agoThe attribute __align__ may be used without an argument.
Christoph Mallon [Thu, 7 Aug 2008 14:04:05 +0000 (14:04 +0000)]
The attribute __align__ may be used without an argument.

[r21046]

15 years agobetter fix
Matthias Braun [Thu, 7 Aug 2008 12:39:17 +0000 (12:39 +0000)]
better fix

[r21045]

15 years agofix for error44
Matthias Braun [Thu, 7 Aug 2008 12:35:18 +0000 (12:35 +0000)]
fix for error44

[r21044]

15 years agoerror44
Matthias Braun [Thu, 7 Aug 2008 12:27:02 +0000 (12:27 +0000)]
error44

[r21043]

15 years agofix error43
Matthias Braun [Thu, 7 Aug 2008 12:19:02 +0000 (12:19 +0000)]
fix error43

[r21042]

15 years agoone more error
Matthias Braun [Thu, 7 Aug 2008 12:11:56 +0000 (12:11 +0000)]
one more error

[r21040]

15 years agoadd & fix constexpr4
Matthias Braun [Thu, 7 Aug 2008 11:59:11 +0000 (11:59 +0000)]
add & fix constexpr4

[r21038]

15 years agomore constexpr fun
Matthias Braun [Thu, 7 Aug 2008 11:49:51 +0000 (11:49 +0000)]
more constexpr fun

[r21036]

15 years agofix error42
Matthias Braun [Thu, 7 Aug 2008 11:45:27 +0000 (11:45 +0000)]
fix error42

[r21034]

15 years agoerrro42
Matthias Braun [Thu, 7 Aug 2008 11:14:48 +0000 (11:14 +0000)]
errro42

[r21031]

15 years agofix missing skip_typerefs
Matthias Braun [Thu, 7 Aug 2008 11:00:03 +0000 (11:00 +0000)]
fix missing skip_typerefs

[r21030]

15 years agofix for last commit
Matthias Braun [Thu, 7 Aug 2008 10:56:27 +0000 (10:56 +0000)]
fix for last commit

[r21029]

15 years agofix crashs in error case
Matthias Braun [Thu, 7 Aug 2008 10:33:59 +0000 (10:33 +0000)]
fix crashs in error case

[r21028]

15 years agoSlightly simplify token declarations.
Christoph Mallon [Thu, 7 Aug 2008 10:22:07 +0000 (10:22 +0000)]
Slightly simplify token declarations.

[r21027]

15 years agofix parsing of attributes with keyword names
Matthias Braun [Thu, 7 Aug 2008 07:40:30 +0000 (07:40 +0000)]
fix parsing of attributes with keyword names

[r21025]

15 years agohacky implementation of transparent union
Matthias Braun [Thu, 7 Aug 2008 07:25:19 +0000 (07:25 +0000)]
hacky implementation of transparent union

[r21024]

15 years agoimplement transparent_union
Matthias Braun [Wed, 6 Aug 2008 16:32:26 +0000 (16:32 +0000)]
implement transparent_union

[r21021]

15 years agoimprove tester
Matthias Braun [Wed, 6 Aug 2008 16:27:21 +0000 (16:27 +0000)]
improve tester

[r21020]

15 years agosimplify testcase
Matthias Braun [Wed, 6 Aug 2008 16:26:13 +0000 (16:26 +0000)]
simplify testcase

[r21019]