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]
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]
Christoph Mallon [Sun, 24 Aug 2008 17:18:46 +0000 (17:18 +0000)]
Remove duplicate warning entry, sort.
[r21413]
Christoph Mallon [Sun, 24 Aug 2008 11:08:37 +0000 (11:08 +0000)]
Detect duplicate case values.
[r21403]
Christoph Mallon [Sun, 24 Aug 2008 10:43:21 +0000 (10:43 +0000)]
Forbid declarations after label, case and default statements.
[r21400]
Christoph Mallon [Sun, 24 Aug 2008 10:28:17 +0000 (10:28 +0000)]
Update TODO.
[r21399]
Christoph Mallon [Sun, 24 Aug 2008 07:33:46 +0000 (07:33 +0000)]
Do not use && in assertions.
[r21397]
Michael Beck [Sat, 23 Aug 2008 15:19:53 +0000 (15:19 +0000)]
replaced malloc by VLA
[r21386]
Christoph Mallon [Sat, 23 Aug 2008 11:18:45 +0000 (11:18 +0000)]
Accept GNU-style designators ("identifier: value").
[r21381]
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]
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]
Christoph Mallon [Sat, 23 Aug 2008 10:07:17 +0000 (10:07 +0000)]
Add FALLTHROUGH marker.
[r21378]
Christoph Mallon [Sat, 23 Aug 2008 10:06:40 +0000 (10:06 +0000)]
Treat __thread as storage class.
[r21377]
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]
Christoph Mallon [Sat, 23 Aug 2008 09:10:35 +0000 (09:10 +0000)]
Cleanup, resolve some warnings.
[r21375]
Christoph Mallon [Sat, 23 Aug 2008 08:03:22 +0000 (08:03 +0000)]
Use correct conversion specifier.
[r21374]
Christoph Mallon [Sat, 23 Aug 2008 08:02:32 +0000 (08:02 +0000)]
Handle __attribute__((unused)).
[r21373]
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]
Christoph Mallon [Sat, 23 Aug 2008 06:47:37 +0000 (06:47 +0000)]
Another weird GCC extension: designated initialisation using colon.
[r21371]
Christoph Mallon [Fri, 22 Aug 2008 06:23:38 +0000 (06:23 +0000)]
Reduce indendation.
[r21337]
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]
Michael Beck [Thu, 21 Aug 2008 23:01:25 +0000 (23:01 +0000)]
synchronized with edgcpfe: enabled combo by default
[r21335]
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]
Michael Beck [Thu, 21 Aug 2008 12:58:25 +0000 (12:58 +0000)]
add anchor token ')'
[r21313]
Christoph Mallon [Thu, 21 Aug 2008 10:57:35 +0000 (10:57 +0000)]
cc_fixed is dead, all hail stickyness_sticky!
[r21308]
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]
Christoph Mallon [Thu, 21 Aug 2008 05:54:49 +0000 (05:54 +0000)]
Warn about unnecessary static forward declarations.
[r21299]
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]
Christoph Mallon [Wed, 20 Aug 2008 12:47:45 +0000 (12:47 +0000)]
Slightly reduce code duplication.
[r21280]
Christoph Mallon [Wed, 20 Aug 2008 12:43:33 +0000 (12:43 +0000)]
Fix r21226 ... ugh.
[r21278]
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]
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]
Christoph Mallon [Sun, 17 Aug 2008 09:53:38 +0000 (09:53 +0000)]
Whitespace.
[r21227]
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]
Michael Beck [Sun, 17 Aug 2008 07:30:55 +0000 (07:30 +0000)]
collect gnu expression attribute arguments
[r21225]
Christoph Mallon [Sat, 16 Aug 2008 14:57:42 +0000 (14:57 +0000)]
Correct comment.
[r21223]
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]
Christoph Mallon [Sat, 16 Aug 2008 14:03:56 +0000 (14:03 +0000)]
Remove unnecessary goto.
[r21220]
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]
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]
Michael Beck [Sat, 16 Aug 2008 10:43:23 +0000 (10:43 +0000)]
- function types with different calling conventions are different
[r21214]
Christoph Mallon [Sat, 16 Aug 2008 07:16:16 +0000 (07:16 +0000)]
Comply with §6.7.5.3(8).
[r21212]
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]
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]
Christoph Mallon [Fri, 15 Aug 2008 19:56:24 +0000 (19:56 +0000)]
should fail: variable with incomplete type.
[r21206]
Christoph Mallon [Fri, 15 Aug 2008 17:59:53 +0000 (17:59 +0000)]
Fix cp_error047.
[r21204]
Christoph Mallon [Fri, 15 Aug 2008 17:14:43 +0000 (17:14 +0000)]
cp_error047: struct definition for same name in inner scope.
[r21202]
Christoph Mallon [Fri, 15 Aug 2008 09:04:54 +0000 (09:04 +0000)]
Add support for global assembler statements.
[r21191]
Matthias Braun [Fri, 15 Aug 2008 07:36:45 +0000 (07:36 +0000)]
use first token as symbol
[r21190]
Michael Beck [Wed, 13 Aug 2008 10:57:30 +0000 (10:57 +0000)]
add cc field to function types
[r21140]
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]
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]
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]
Matthias Braun [Tue, 12 Aug 2008 13:35:43 +0000 (13:35 +0000)]
fix for mode attribute stuff
[r21124]
Matthias Braun [Tue, 12 Aug 2008 13:16:55 +0000 (13:16 +0000)]
first hacked implementation of mode attribute
[r21122]
Matthias Braun [Tue, 12 Aug 2008 13:16:42 +0000 (13:16 +0000)]
more testcases
[r21121]
Matthias Braun [Tue, 12 Aug 2008 11:38:08 +0000 (11:38 +0000)]
ignore -fPIC, one more missing skip_typeref
[r21119]
Matthias Braun [Tue, 12 Aug 2008 11:17:27 +0000 (11:17 +0000)]
error46
[r21116]
Matthias Braun [Tue, 12 Aug 2008 08:44:07 +0000 (08:44 +0000)]
if( to if (
[r21112]
Matthias Braun [Tue, 12 Aug 2008 08:43:56 +0000 (08:43 +0000)]
call set_store first before (potentially) creating stores
[r21111]
Christoph Mallon [Sat, 9 Aug 2008 07:34:10 +0000 (07:34 +0000)]
Fix indentation.
[r21077]
Christoph Mallon [Sat, 9 Aug 2008 07:33:43 +0000 (07:33 +0000)]
Fix indentation.
[r21076]
Christoph Mallon [Sat, 9 Aug 2008 07:33:09 +0000 (07:33 +0000)]
Fix comment.
[r21075]
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]
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]
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]
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]
Christoph Mallon [Thu, 7 Aug 2008 16:06:38 +0000 (16:06 +0000)]
Do not pretend being __STRICT_ANSI__.
[r21054]
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]
Christoph Mallon [Thu, 7 Aug 2008 15:23:36 +0000 (15:23 +0000)]
Fix typo.
[r21052]
Christoph Mallon [Thu, 7 Aug 2008 15:16:24 +0000 (15:16 +0000)]
Use local variables for better readability.
[r21051]
Matthias Braun [Thu, 7 Aug 2008 14:44:59 +0000 (14:44 +0000)]
invalid use of inline (which gcc handles anyway)
[r21049]
Christoph Mallon [Thu, 7 Aug 2008 14:26:07 +0000 (14:26 +0000)]
skip_typref().
[r21048]
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]
Christoph Mallon [Thu, 7 Aug 2008 14:04:05 +0000 (14:04 +0000)]
The attribute __align__ may be used without an argument.
[r21046]
Matthias Braun [Thu, 7 Aug 2008 12:39:17 +0000 (12:39 +0000)]
better fix
[r21045]
Matthias Braun [Thu, 7 Aug 2008 12:35:18 +0000 (12:35 +0000)]
fix for error44
[r21044]
Matthias Braun [Thu, 7 Aug 2008 12:27:02 +0000 (12:27 +0000)]
error44
[r21043]
Matthias Braun [Thu, 7 Aug 2008 12:19:02 +0000 (12:19 +0000)]
fix error43
[r21042]
Matthias Braun [Thu, 7 Aug 2008 12:11:56 +0000 (12:11 +0000)]
one more error
[r21040]
Matthias Braun [Thu, 7 Aug 2008 11:59:11 +0000 (11:59 +0000)]
add & fix constexpr4
[r21038]
Matthias Braun [Thu, 7 Aug 2008 11:49:51 +0000 (11:49 +0000)]
more constexpr fun
[r21036]
Matthias Braun [Thu, 7 Aug 2008 11:45:27 +0000 (11:45 +0000)]
fix error42
[r21034]
Matthias Braun [Thu, 7 Aug 2008 11:14:48 +0000 (11:14 +0000)]
errro42
[r21031]
Matthias Braun [Thu, 7 Aug 2008 11:00:03 +0000 (11:00 +0000)]
fix missing skip_typerefs
[r21030]
Matthias Braun [Thu, 7 Aug 2008 10:56:27 +0000 (10:56 +0000)]
fix for last commit
[r21029]
Matthias Braun [Thu, 7 Aug 2008 10:33:59 +0000 (10:33 +0000)]
fix crashs in error case
[r21028]
Christoph Mallon [Thu, 7 Aug 2008 10:22:07 +0000 (10:22 +0000)]
Slightly simplify token declarations.
[r21027]
Matthias Braun [Thu, 7 Aug 2008 07:40:30 +0000 (07:40 +0000)]
fix parsing of attributes with keyword names
[r21025]
Matthias Braun [Thu, 7 Aug 2008 07:25:19 +0000 (07:25 +0000)]
hacky implementation of transparent union
[r21024]
Matthias Braun [Wed, 6 Aug 2008 16:32:26 +0000 (16:32 +0000)]
implement transparent_union
[r21021]
Matthias Braun [Wed, 6 Aug 2008 16:27:21 +0000 (16:27 +0000)]
improve tester
[r21020]
Matthias Braun [Wed, 6 Aug 2008 16:26:13 +0000 (16:26 +0000)]
simplify testcase
[r21019]
Christoph Mallon [Wed, 6 Aug 2008 11:30:35 +0000 (11:30 +0000)]
Improve type checking for conditional expressions with pointer types (... ? ptr0 : ptr1), though not finished.
[r21011]
Matthias Braun [Wed, 6 Aug 2008 10:45:00 +0000 (10:45 +0000)]
more tests
[r21010]
Christoph Mallon [Wed, 6 Aug 2008 10:35:29 +0000 (10:35 +0000)]
Improve type constraint checking in semantic_sub(), i.e. binary -.
[r21009]
Christoph Mallon [Wed, 6 Aug 2008 09:13:05 +0000 (09:13 +0000)]
Always set the result type of pointer - pointer to type_ptrdiff_t disregarding whether the unqualified pointer types are compatible.
[r21008]
Christoph Mallon [Wed, 6 Aug 2008 07:11:06 +0000 (07:11 +0000)]
Correct references to the C99 standard.
[r21006]
Christoph Mallon [Tue, 5 Aug 2008 21:12:22 +0000 (21:12 +0000)]
Add #include <stdbool.h>.
[r21005]
Moritz Kroll [Tue, 5 Aug 2008 12:59:43 +0000 (12:59 +0000)]
new cp_error040: Input of asm node becomes a NULL pointer
[r20991]