cparser
15 years agoParse C++ references.
Christoph Mallon [Tue, 18 Nov 2008 14:39:59 +0000 (14:39 +0000)]
Parse C++ references.

[r23759]

15 years agoPut error for goto over VLA onto the TODO list.
Christoph Mallon [Tue, 18 Nov 2008 07:51:07 +0000 (07:51 +0000)]
Put error for goto over VLA onto the TODO list.

[r23741]

15 years agoReject variable declarations of incomplete type.
Christoph Mallon [Mon, 17 Nov 2008 18:32:07 +0000 (18:32 +0000)]
Reject variable declarations of incomplete type.

[r23739]

15 years agoDo not mangle restrict qualifiers.
Christoph Mallon [Mon, 17 Nov 2008 14:31:23 +0000 (14:31 +0000)]
Do not mangle restrict qualifiers.

[r23731]

15 years agoHandle mangling of anonymous types, which only have a typedef name.
Christoph Mallon [Mon, 17 Nov 2008 12:06:25 +0000 (12:06 +0000)]
Handle mangling of anonymous types, which only have a typedef name.

[r23726]

15 years agoFix off-by-one error in error message.
Christoph Mallon [Mon, 17 Nov 2008 11:04:20 +0000 (11:04 +0000)]
Fix off-by-one error in error message.

[r23725]

15 years agoRemove pointless assert().
Christoph Mallon [Mon, 17 Nov 2008 11:01:55 +0000 (11:01 +0000)]
Remove pointless assert().

[r23724]

15 years agoIndentation and stuff.
Christoph Mallon [Mon, 17 Nov 2008 10:59:41 +0000 (10:59 +0000)]
Indentation and stuff.

[r23723]

15 years agoMerge semantic_compound() into parse_compound_declarators().
Christoph Mallon [Mon, 17 Nov 2008 10:53:01 +0000 (10:53 +0000)]
Merge semantic_compound() into parse_compound_declarators().

[r23722]

15 years agoCompound types are incomplete until the }.
Christoph Mallon [Mon, 17 Nov 2008 10:34:26 +0000 (10:34 +0000)]
Compound types are incomplete until the }.

[r23721]

15 years agos/puts("")/putchar(n)/.
Christoph Mallon [Mon, 17 Nov 2008 10:22:34 +0000 (10:22 +0000)]
s/puts("")/putchar(n)/.

[r23720]

15 years agoImprove r23717, because it broke non-WIN32 (cpp is unhappy about -DNAME= and DEFN...
Christoph Mallon [Mon, 17 Nov 2008 09:08:27 +0000 (09:08 +0000)]
Improve r23717, because it broke non-WIN32 (cpp is unhappy about -DNAME= and DEFN as separate parameters) and further there are more add_flag() which may contain spaces.

[r23719]

15 years ago- parsing of __based implemented (more semantic in assignment might be needed)
Michael Beck [Mon, 17 Nov 2008 01:14:41 +0000 (01:14 +0000)]
- parsing of __based implemented (more semantic in assignment might be needed)

[r23718]

15 years ago- windows does not handle \_, use quotes
Michael Beck [Mon, 17 Nov 2008 00:52:48 +0000 (00:52 +0000)]
- windows does not handle \_, use quotes
- fixed if( style

[r23717]

15 years agokeep it simple and stupid: cast to unsigned instead of messing around with SIZET_FMT...
Matthias Braun [Sun, 16 Nov 2008 23:16:20 +0000 (23:16 +0000)]
keep it simple and stupid: cast to unsigned instead of messing around with SIZET_FMT define

[r23715]

15 years ago- %zu is not supported on windows
Michael Beck [Sun, 16 Nov 2008 22:35:01 +0000 (22:35 +0000)]
- %zu is not supported on windows
- kicked some obstack_printf()

[r23714]

15 years agoImplement mangling of complex and imaginary types.
Christoph Mallon [Sun, 16 Nov 2008 15:47:06 +0000 (15:47 +0000)]
Implement mangling of complex and imaginary types.

[r23713]

15 years agoPartially implement mangling of array types.
Christoph Mallon [Sun, 16 Nov 2008 15:39:27 +0000 (15:39 +0000)]
Partially implement mangling of array types.

[r23712]

15 years agoPartially implement mangling of enum types.
Christoph Mallon [Sun, 16 Nov 2008 14:43:26 +0000 (14:43 +0000)]
Partially implement mangling of enum types.

[r23711]

15 years agoPartially implement mangling of compound types.
Christoph Mallon [Sun, 16 Nov 2008 14:30:09 +0000 (14:30 +0000)]
Partially implement mangling of compound types.

[r23710]

15 years agoProcess calling convention attributes again.
Christoph Mallon [Sun, 16 Nov 2008 12:07:09 +0000 (12:07 +0000)]
Process calling convention attributes again.

[r23709]

15 years agoRemove wrong \n.
Christoph Mallon [Sun, 16 Nov 2008 11:45:53 +0000 (11:45 +0000)]
Remove wrong \n.

[r23708]

15 years agoMove local variable declaration closer to its use.
Christoph Mallon [Sun, 16 Nov 2008 11:06:01 +0000 (11:06 +0000)]
Move local variable declaration closer to its use.

[r23707]

15 years agoFix condition of multi-char constant warning.
Christoph Mallon [Sun, 16 Nov 2008 10:36:19 +0000 (10:36 +0000)]
Fix condition of multi-char constant warning.

[r23706]

15 years agoFix r23702 and r23704.
Christoph Mallon [Sun, 16 Nov 2008 10:30:35 +0000 (10:30 +0000)]
Fix r23702 and r23704.

[r23705]

15 years agoSlightly simplify daisy chaining gotos.
Christoph Mallon [Sun, 16 Nov 2008 10:25:16 +0000 (10:25 +0000)]
Slightly simplify daisy chaining gotos.

[r23704]

15 years agoFix comment.
Christoph Mallon [Sun, 16 Nov 2008 10:21:42 +0000 (10:21 +0000)]
Fix comment.

[r23703]

15 years agoSlightly simplify daisy chaining labels.
Christoph Mallon [Sun, 16 Nov 2008 10:18:45 +0000 (10:18 +0000)]
Slightly simplify daisy chaining labels.

[r23702]

15 years agoSlightly simplify daisy chaining in parse_asm_arguments().
Christoph Mallon [Sun, 16 Nov 2008 09:59:42 +0000 (09:59 +0000)]
Slightly simplify daisy chaining in parse_asm_arguments().

[r23701]

15 years agoRemove redundant conditions.
Christoph Mallon [Sun, 16 Nov 2008 08:55:29 +0000 (08:55 +0000)]
Remove redundant conditions.

[r23700]

15 years agoWarn about reference address as bool in for, while and do-while, too.
Christoph Mallon [Sun, 16 Nov 2008 08:19:17 +0000 (08:19 +0000)]
Warn about reference address as bool in for, while and do-while, too.

[r23699]

15 years agoDo not panic, when the expression walker of the statement walker encounters an invali...
Christoph Mallon [Sun, 16 Nov 2008 07:40:13 +0000 (07:40 +0000)]
Do not panic, when the expression walker of the statement walker encounters an invalid expression.

[r23698]

15 years agoWarn about reference address as bool in condition of ?: and if (), too, not only...
Christoph Mallon [Sun, 16 Nov 2008 07:25:43 +0000 (07:25 +0000)]
Warn about reference address as bool in condition of ?: and if (), too, not only operands of !, && and ||.

[r23697]

15 years agoRename warn_function_address_as_bool() to warn_reference_address_as_bool(), because...
Christoph Mallon [Sun, 16 Nov 2008 07:22:42 +0000 (07:22 +0000)]
Rename warn_function_address_as_bool() to warn_reference_address_as_bool(), because it is not only for functions, but variables, too.

[r23696]

15 years agoFix get_reference_address(), which was broken in r23351.
Christoph Mallon [Sun, 16 Nov 2008 07:21:05 +0000 (07:21 +0000)]
Fix get_reference_address(), which was broken in r23351.

[r23695]

15 years agoFix off-by-one error in error message.
Christoph Mallon [Sat, 15 Nov 2008 22:53:26 +0000 (22:53 +0000)]
Fix off-by-one error in error message.

[r23694]

15 years agoFix off-by-one error in error message.
Christoph Mallon [Sat, 15 Nov 2008 22:51:28 +0000 (22:51 +0000)]
Fix off-by-one error in error message.

[r23693]

15 years agoUse the correct format specifier for the return value of strlen().
Christoph Mallon [Sat, 15 Nov 2008 22:13:37 +0000 (22:13 +0000)]
Use the correct format specifier for the return value of strlen().

[r23692]

15 years agoThe outer function entity does not use the F...E delimiters and return type decoration.
Christoph Mallon [Sat, 15 Nov 2008 14:43:08 +0000 (14:43 +0000)]
The outer function entity does not use the F...E delimiters and return type decoration.

[r23685]

15 years agoEmpty parameter lists are mangled as "v".
Christoph Mallon [Sat, 15 Nov 2008 14:33:15 +0000 (14:33 +0000)]
Empty parameter lists are mangled as "v".

[r23684]

15 years agoThe order for type qualifiers in mangled names is r, V, K.
Christoph Mallon [Sat, 15 Nov 2008 14:13:34 +0000 (14:13 +0000)]
The order for type qualifiers in mangled names is r, V, K.

[r23683]

15 years agoSimplify further.
Christoph Mallon [Sat, 15 Nov 2008 13:27:36 +0000 (13:27 +0000)]
Simplify further.

[r23682]

15 years agoSlightly simplify creating an ident from a string on an obstack.
Christoph Mallon [Sat, 15 Nov 2008 13:20:05 +0000 (13:20 +0000)]
Slightly simplify creating an ident from a string on an obstack.

[r23681]

15 years agoImprove linkage specification
Christoph Mallon [Sat, 15 Nov 2008 13:17:12 +0000 (13:17 +0000)]
Improve linkage specification
- linkage is an enum now
- accept extern "C++", which is required by the C++ standard.

[r23680]

15 years agoImprove win32 name mangling:
Christoph Mallon [Sat, 15 Nov 2008 12:17:50 +0000 (12:17 +0000)]
Improve win32 name mangling:
- handle fastcall
- mangle parameters for C++ linkage.

[r23679]

15 years agoThe calling convention is orthogonal to the linkage specification.
Christoph Mallon [Sat, 15 Nov 2008 10:59:20 +0000 (10:59 +0000)]
The calling convention is orthogonal to the linkage specification.

[r23678]

15 years agostatic.
Christoph Mallon [Sat, 15 Nov 2008 08:48:32 +0000 (08:48 +0000)]
static.

[r23676]

15 years agoFix argument for error message: It must be a string, not an enum.
Christoph Mallon [Sat, 15 Nov 2008 08:48:05 +0000 (08:48 +0000)]
Fix argument for error message: It must be a string, not an enum.

[r23675]

15 years ago- don't use obstack_printf() when not necessary
Michael Beck [Fri, 14 Nov 2008 23:29:39 +0000 (23:29 +0000)]
- don't use obstack_printf() when not necessary

[r23674]

15 years ago- fixed a lot of 'enum type mixed with ...' warnings
Michael Beck [Fri, 14 Nov 2008 23:11:49 +0000 (23:11 +0000)]
- fixed a lot of 'enum type mixed with ...' warnings

[r23673]

15 years ago- fixed warning
Michael Beck [Fri, 14 Nov 2008 23:11:00 +0000 (23:11 +0000)]
- fixed warning

[r23672]

15 years ago- use _Bool for C99 or intel compiler issue a lot of warnings
Michael Beck [Fri, 14 Nov 2008 23:09:53 +0000 (23:09 +0000)]
- use _Bool for C99 or intel compiler issue a lot of warnings

[r23671]

15 years agofix string initializer when implicitely going down arrays
Matthias Braun [Fri, 14 Nov 2008 15:55:44 +0000 (15:55 +0000)]
fix string initializer when implicitely going down arrays

[r23663]

15 years agoMore work for C++ mode:
Matthias Braun [Fri, 14 Nov 2008 15:34:32 +0000 (15:34 +0000)]
More work for C++ mode:

* Can parse (but not produce usefull code) for namespace now
* mangle function names according to Itanium C++ ABI
* Parse custom linkage for function types

[r23661]

15 years agoTeach cparser how to parse (f)(void);, i.e. global declarations can start with a (.
Christoph Mallon [Fri, 14 Nov 2008 15:16:27 +0000 (15:16 +0000)]
Teach cparser how to parse (f)(void);, i.e. global declarations can start with a (.

[r23658]

15 years agodelete temp files
Matthias Braun [Fri, 14 Nov 2008 12:55:25 +0000 (12:55 +0000)]
delete temp files

[r23653]

15 years agomore cleanup
Matthias Braun [Fri, 14 Nov 2008 12:40:15 +0000 (12:40 +0000)]
more cleanup

[r23651]

15 years agouse ushort wchar_t on mingw
Matthias Braun [Fri, 14 Nov 2008 12:37:57 +0000 (12:37 +0000)]
use ushort wchar_t on mingw

[r23650]

15 years agomissing break
Matthias Braun [Fri, 14 Nov 2008 12:36:23 +0000 (12:36 +0000)]
missing break

[r23649]

15 years agomost of the options are handled in main.c now
Matthias Braun [Fri, 14 Nov 2008 12:35:45 +0000 (12:35 +0000)]
most of the options are handled in main.c now

[r23648]

15 years ago- Try to move OS/target specific stuff to lang_features.h and main.c
Matthias Braun [Fri, 14 Nov 2008 12:34:35 +0000 (12:34 +0000)]
- Try to move OS/target specific stuff to lang_features.h and main.c
- In this case: initialize types in types.c and set stuff like short_wchar
  in main

[r23647]

15 years agofix local labels
Matthias Braun [Thu, 13 Nov 2008 14:02:44 +0000 (14:02 +0000)]
fix local labels

[r23632]

15 years agopass correct modes to 64bit lowerer
Matthias Braun [Thu, 13 Nov 2008 13:36:42 +0000 (13:36 +0000)]
pass correct modes to 64bit lowerer

[r23626]

15 years agono need for a separate local_label stack, the scoping rules are exactly the same...
Matthias Braun [Thu, 13 Nov 2008 12:36:22 +0000 (12:36 +0000)]
no need for a separate local_label stack, the scoping rules are exactly the same as for the normal environment_stack

[r23622]

15 years agoavoid warnings and fix potential bugs (if someone manages to get a % into a function...
Matthias Braun [Thu, 13 Nov 2008 11:23:04 +0000 (11:23 +0000)]
avoid warnings and fix potential bugs (if someone manages to get a % into a function name

[r23615]

15 years agofix assert
Matthias Braun [Thu, 13 Nov 2008 10:26:42 +0000 (10:26 +0000)]
fix assert

[r23612]

15 years agoc frontend doesn't case about modulo_shift, rename modes to uppercase so it dumps...
Matthias Braun [Tue, 11 Nov 2008 19:56:32 +0000 (19:56 +0000)]
c frontend doesn't case about modulo_shift, rename modes to uppercase so it dumps nicer

[r23580]

15 years agoIn C++ the result type of !, <, <=, >=, >, == and != is bool.
Christoph Mallon [Mon, 10 Nov 2008 09:38:26 +0000 (09:38 +0000)]
In C++ the result type of !, <, <=, >=, >, == and != is bool.

[r23539]

15 years agoParse C++ bool, false and true.
Christoph Mallon [Mon, 10 Nov 2008 09:23:31 +0000 (09:23 +0000)]
Parse C++ bool, false and true.

[r23538]

15 years agomore work towards expansion of macros with arguments
Matthias Braun [Fri, 7 Nov 2008 08:18:40 +0000 (08:18 +0000)]
more work towards expansion of macros with arguments

[r23505]

15 years ago- renamed option end-melt to shape-blocks
Michael Beck [Thu, 6 Nov 2008 15:09:52 +0000 (15:09 +0000)]
- renamed option end-melt to shape-blocks
- let the switch lowerer run after the block shaper

[r23490]

15 years agoWhen creating an error typedef, set its type to the error type, so nobody encounters...
Christoph Mallon [Tue, 4 Nov 2008 15:00:36 +0000 (15:00 +0000)]
When creating an error typedef, set its type to the error type, so nobody encounters a null pointer later on.

[r23434]

15 years agoDo not panic, when finding a typedef name, when an expression is expected.
Christoph Mallon [Tue, 4 Nov 2008 14:51:53 +0000 (14:51 +0000)]
Do not panic, when finding a typedef name, when an expression is expected.

[r23433]

15 years agouse expect() to find the ] of an array access expression.
Christoph Mallon [Tue, 4 Nov 2008 14:37:49 +0000 (14:37 +0000)]
use expect() to find the ] of an array access expression.

[r23432]

15 years agoSet the source position in allocate_expression_zero().
Christoph Mallon [Tue, 4 Nov 2008 14:34:01 +0000 (14:34 +0000)]
Set the source position in allocate_expression_zero().

[r23431]

15 years agoTell the ast printer a thing ot two about EXPR_REFERENCE_ENUM_VALUE.
Christoph Mallon [Tue, 4 Nov 2008 14:28:10 +0000 (14:28 +0000)]
Tell the ast printer a thing ot two about EXPR_REFERENCE_ENUM_VALUE.

[r23430]

15 years agofix parsing of define argument lists, fix subtle problems with first token of include...
Matthias Braun [Tue, 4 Nov 2008 10:04:31 +0000 (10:04 +0000)]
fix parsing of define argument lists, fix subtle problems with first token of included file not expanded, fix skip_spaces ignoring comments

[r23425]

15 years agomodifier to print preprocessing token
Matthias Braun [Tue, 4 Nov 2008 10:03:34 +0000 (10:03 +0000)]
modifier to print preprocessing token

[r23424]

15 years agoprint tokens without surrounding ''
Matthias Braun [Tue, 4 Nov 2008 10:03:12 +0000 (10:03 +0000)]
print tokens without surrounding ''

[r23423]

15 years agomore tricky preprocessor problems
Matthias Braun [Tue, 4 Nov 2008 09:43:14 +0000 (09:43 +0000)]
more tricky preprocessor problems

[r23421]

15 years agoif(n)def implementation
Matthias Braun [Mon, 3 Nov 2008 16:25:11 +0000 (16:25 +0000)]
if(n)def implementation

[r23414]

15 years agoimplemented #include
Matthias Braun [Mon, 3 Nov 2008 01:22:50 +0000 (01:22 +0000)]
implemented #include

[r23399]

15 years agoadd beginnings of preprocessor code (and ugly hack to activate it) to svn
Matthias Braun [Sun, 2 Nov 2008 16:58:26 +0000 (16:58 +0000)]
add beginnings of preprocessor code (and ugly hack to activate it) to svn

[r23396]

15 years agoEXPR_INVALID gets constructed in case of errors
Matthias Braun [Sun, 2 Nov 2008 16:36:26 +0000 (16:36 +0000)]
EXPR_INVALID gets constructed in case of errors

[r23392]

15 years agoimprove flexible array member handling, assign error_type to error_entity
Matthias Braun [Sun, 2 Nov 2008 16:33:58 +0000 (16:33 +0000)]
improve flexible array member handling, assign error_type to error_entity

[r23390]

15 years agoset has_implicit_size flag
Matthias Braun [Sun, 2 Nov 2008 14:41:31 +0000 (14:41 +0000)]
set has_implicit_size flag

[r23385]

15 years agoTODO update
Matthias Braun [Sun, 2 Nov 2008 11:44:30 +0000 (11:44 +0000)]
TODO update

[r23382]

15 years agoMove more C tests
Matthias Braun [Sat, 1 Nov 2008 19:18:58 +0000 (19:18 +0000)]
Move more C tests

[r23372]

15 years agomove C frontend tests
Matthias Braun [Sat, 1 Nov 2008 19:18:31 +0000 (19:18 +0000)]
move C frontend tests

[r23371]

15 years agoadd main, fix warnings not intended
Matthias Braun [Sat, 1 Nov 2008 17:39:06 +0000 (17:39 +0000)]
add main, fix warnings not intended

[r23357]

15 years agothis should not be here
Matthias Braun [Sat, 1 Nov 2008 17:32:22 +0000 (17:32 +0000)]
this should not be here

[r23356]

15 years agowrite a testapp that really test functionality (so we can actually detect the impleme...
Matthias Braun [Sat, 1 Nov 2008 17:20:48 +0000 (17:20 +0000)]
write a testapp that really test functionality (so we can actually detect the implementation bugs)

[r23355]

15 years agolocal labels should be fixed
Matthias Braun [Sat, 1 Nov 2008 17:12:31 +0000 (17:12 +0000)]
local labels should be fixed

[r23354]

15 years agopartly fix local labels, %P already prints %P an at no need for additional ones in...
Matthias Braun [Sat, 1 Nov 2008 17:11:17 +0000 (17:11 +0000)]
partly fix local labels, %P already prints %P an at no need for additional ones in the messages

[r23353]

15 years agoconditional expressions true case may be NULL as a GNU extension
Matthias Braun [Sat, 1 Nov 2008 17:05:58 +0000 (17:05 +0000)]
conditional expressions true case may be NULL as a GNU extension

[r23352]

15 years agodeclaration_t -> entity_t
Matthias Braun [Sat, 1 Nov 2008 17:00:35 +0000 (17:00 +0000)]
declaration_t -> entity_t
This breaks up the monotolithic declaration_t monster in a bunch of different
structs like variable_t, function_t or label_t
Not everything back to the way it was, but SPEC seems to work now. Just some obscure gnu extensions missing.

[r23351]

15 years agofix warning
Matthias Braun [Sat, 1 Nov 2008 16:55:14 +0000 (16:55 +0000)]
fix warning

[r23349]

15 years agothis is a gnu extension I guess
Matthias Braun [Sat, 1 Nov 2008 15:45:01 +0000 (15:45 +0000)]
this is a gnu extension I guess

[r23348]

15 years agotest implicit type for k&r functions
Matthias Braun [Sat, 1 Nov 2008 15:17:47 +0000 (15:17 +0000)]
test implicit type for k&r functions

[r23347]

15 years ago- add option -end-melt
Michael Beck [Tue, 28 Oct 2008 15:54:18 +0000 (15:54 +0000)]
- add option -end-melt

[r23282]