Christoph Mallon [Tue, 18 Nov 2008 14:39:59 +0000 (14:39 +0000)]
Parse C++ references.
[r23759]
Christoph Mallon [Tue, 18 Nov 2008 07:51:07 +0000 (07:51 +0000)]
Put error for goto over VLA onto the TODO list.
[r23741]
Christoph Mallon [Mon, 17 Nov 2008 18:32:07 +0000 (18:32 +0000)]
Reject variable declarations of incomplete type.
[r23739]
Christoph Mallon [Mon, 17 Nov 2008 14:31:23 +0000 (14:31 +0000)]
Do not mangle restrict qualifiers.
[r23731]
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]
Christoph Mallon [Mon, 17 Nov 2008 11:04:20 +0000 (11:04 +0000)]
Fix off-by-one error in error message.
[r23725]
Christoph Mallon [Mon, 17 Nov 2008 11:01:55 +0000 (11:01 +0000)]
Remove pointless assert().
[r23724]
Christoph Mallon [Mon, 17 Nov 2008 10:59:41 +0000 (10:59 +0000)]
Indentation and stuff.
[r23723]
Christoph Mallon [Mon, 17 Nov 2008 10:53:01 +0000 (10:53 +0000)]
Merge semantic_compound() into parse_compound_declarators().
[r23722]
Christoph Mallon [Mon, 17 Nov 2008 10:34:26 +0000 (10:34 +0000)]
Compound types are incomplete until the }.
[r23721]
Christoph Mallon [Mon, 17 Nov 2008 10:22:34 +0000 (10:22 +0000)]
s/puts("")/putchar(n)/.
[r23720]
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]
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]
Michael Beck [Mon, 17 Nov 2008 00:52:48 +0000 (00:52 +0000)]
- windows does not handle \_, use quotes
- fixed if( style
[r23717]
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]
Michael Beck [Sun, 16 Nov 2008 22:35:01 +0000 (22:35 +0000)]
- %zu is not supported on windows
- kicked some obstack_printf()
[r23714]
Christoph Mallon [Sun, 16 Nov 2008 15:47:06 +0000 (15:47 +0000)]
Implement mangling of complex and imaginary types.
[r23713]
Christoph Mallon [Sun, 16 Nov 2008 15:39:27 +0000 (15:39 +0000)]
Partially implement mangling of array types.
[r23712]
Christoph Mallon [Sun, 16 Nov 2008 14:43:26 +0000 (14:43 +0000)]
Partially implement mangling of enum types.
[r23711]
Christoph Mallon [Sun, 16 Nov 2008 14:30:09 +0000 (14:30 +0000)]
Partially implement mangling of compound types.
[r23710]
Christoph Mallon [Sun, 16 Nov 2008 12:07:09 +0000 (12:07 +0000)]
Process calling convention attributes again.
[r23709]
Christoph Mallon [Sun, 16 Nov 2008 11:45:53 +0000 (11:45 +0000)]
Remove wrong \n.
[r23708]
Christoph Mallon [Sun, 16 Nov 2008 11:06:01 +0000 (11:06 +0000)]
Move local variable declaration closer to its use.
[r23707]
Christoph Mallon [Sun, 16 Nov 2008 10:36:19 +0000 (10:36 +0000)]
Fix condition of multi-char constant warning.
[r23706]
Christoph Mallon [Sun, 16 Nov 2008 10:30:35 +0000 (10:30 +0000)]
Fix r23702 and r23704.
[r23705]
Christoph Mallon [Sun, 16 Nov 2008 10:25:16 +0000 (10:25 +0000)]
Slightly simplify daisy chaining gotos.
[r23704]
Christoph Mallon [Sun, 16 Nov 2008 10:21:42 +0000 (10:21 +0000)]
Fix comment.
[r23703]
Christoph Mallon [Sun, 16 Nov 2008 10:18:45 +0000 (10:18 +0000)]
Slightly simplify daisy chaining labels.
[r23702]
Christoph Mallon [Sun, 16 Nov 2008 09:59:42 +0000 (09:59 +0000)]
Slightly simplify daisy chaining in parse_asm_arguments().
[r23701]
Christoph Mallon [Sun, 16 Nov 2008 08:55:29 +0000 (08:55 +0000)]
Remove redundant conditions.
[r23700]
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]
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]
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]
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]
Christoph Mallon [Sun, 16 Nov 2008 07:21:05 +0000 (07:21 +0000)]
Fix get_reference_address(), which was broken in r23351.
[r23695]
Christoph Mallon [Sat, 15 Nov 2008 22:53:26 +0000 (22:53 +0000)]
Fix off-by-one error in error message.
[r23694]
Christoph Mallon [Sat, 15 Nov 2008 22:51:28 +0000 (22:51 +0000)]
Fix off-by-one error in error message.
[r23693]
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]
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]
Christoph Mallon [Sat, 15 Nov 2008 14:33:15 +0000 (14:33 +0000)]
Empty parameter lists are mangled as "v".
[r23684]
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]
Christoph Mallon [Sat, 15 Nov 2008 13:27:36 +0000 (13:27 +0000)]
Simplify further.
[r23682]
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]
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]
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]
Christoph Mallon [Sat, 15 Nov 2008 10:59:20 +0000 (10:59 +0000)]
The calling convention is orthogonal to the linkage specification.
[r23678]
Christoph Mallon [Sat, 15 Nov 2008 08:48:32 +0000 (08:48 +0000)]
static.
[r23676]
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]
Michael Beck [Fri, 14 Nov 2008 23:29:39 +0000 (23:29 +0000)]
- don't use obstack_printf() when not necessary
[r23674]
Michael Beck [Fri, 14 Nov 2008 23:11:49 +0000 (23:11 +0000)]
- fixed a lot of 'enum type mixed with ...' warnings
[r23673]
Michael Beck [Fri, 14 Nov 2008 23:11:00 +0000 (23:11 +0000)]
- fixed warning
[r23672]
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]
Matthias Braun [Fri, 14 Nov 2008 15:55:44 +0000 (15:55 +0000)]
fix string initializer when implicitely going down arrays
[r23663]
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]
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]
Matthias Braun [Fri, 14 Nov 2008 12:55:25 +0000 (12:55 +0000)]
delete temp files
[r23653]
Matthias Braun [Fri, 14 Nov 2008 12:40:15 +0000 (12:40 +0000)]
more cleanup
[r23651]
Matthias Braun [Fri, 14 Nov 2008 12:37:57 +0000 (12:37 +0000)]
use ushort wchar_t on mingw
[r23650]
Matthias Braun [Fri, 14 Nov 2008 12:36:23 +0000 (12:36 +0000)]
missing break
[r23649]
Matthias Braun [Fri, 14 Nov 2008 12:35:45 +0000 (12:35 +0000)]
most of the options are handled in main.c now
[r23648]
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]
Matthias Braun [Thu, 13 Nov 2008 14:02:44 +0000 (14:02 +0000)]
fix local labels
[r23632]
Matthias Braun [Thu, 13 Nov 2008 13:36:42 +0000 (13:36 +0000)]
pass correct modes to 64bit lowerer
[r23626]
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]
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]
Matthias Braun [Thu, 13 Nov 2008 10:26:42 +0000 (10:26 +0000)]
fix assert
[r23612]
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]
Christoph Mallon [Mon, 10 Nov 2008 09:38:26 +0000 (09:38 +0000)]
In C++ the result type of !, <, <=, >=, >, == and != is bool.
[r23539]
Christoph Mallon [Mon, 10 Nov 2008 09:23:31 +0000 (09:23 +0000)]
Parse C++ bool, false and true.
[r23538]
Matthias Braun [Fri, 7 Nov 2008 08:18:40 +0000 (08:18 +0000)]
more work towards expansion of macros with arguments
[r23505]
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]
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]
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]
Christoph Mallon [Tue, 4 Nov 2008 14:37:49 +0000 (14:37 +0000)]
use expect() to find the ] of an array access expression.
[r23432]
Christoph Mallon [Tue, 4 Nov 2008 14:34:01 +0000 (14:34 +0000)]
Set the source position in allocate_expression_zero().
[r23431]
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]
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]
Matthias Braun [Tue, 4 Nov 2008 10:03:34 +0000 (10:03 +0000)]
modifier to print preprocessing token
[r23424]
Matthias Braun [Tue, 4 Nov 2008 10:03:12 +0000 (10:03 +0000)]
print tokens without surrounding ''
[r23423]
Matthias Braun [Tue, 4 Nov 2008 09:43:14 +0000 (09:43 +0000)]
more tricky preprocessor problems
[r23421]
Matthias Braun [Mon, 3 Nov 2008 16:25:11 +0000 (16:25 +0000)]
if(n)def implementation
[r23414]
Matthias Braun [Mon, 3 Nov 2008 01:22:50 +0000 (01:22 +0000)]
implemented #include
[r23399]
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]
Matthias Braun [Sun, 2 Nov 2008 16:36:26 +0000 (16:36 +0000)]
EXPR_INVALID gets constructed in case of errors
[r23392]
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]
Matthias Braun [Sun, 2 Nov 2008 14:41:31 +0000 (14:41 +0000)]
set has_implicit_size flag
[r23385]
Matthias Braun [Sun, 2 Nov 2008 11:44:30 +0000 (11:44 +0000)]
TODO update
[r23382]
Matthias Braun [Sat, 1 Nov 2008 19:18:58 +0000 (19:18 +0000)]
Move more C tests
[r23372]
Matthias Braun [Sat, 1 Nov 2008 19:18:31 +0000 (19:18 +0000)]
move C frontend tests
[r23371]
Matthias Braun [Sat, 1 Nov 2008 17:39:06 +0000 (17:39 +0000)]
add main, fix warnings not intended
[r23357]
Matthias Braun [Sat, 1 Nov 2008 17:32:22 +0000 (17:32 +0000)]
this should not be here
[r23356]
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]
Matthias Braun [Sat, 1 Nov 2008 17:12:31 +0000 (17:12 +0000)]
local labels should be fixed
[r23354]
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]
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]
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]
Matthias Braun [Sat, 1 Nov 2008 16:55:14 +0000 (16:55 +0000)]
fix warning
[r23349]
Matthias Braun [Sat, 1 Nov 2008 15:45:01 +0000 (15:45 +0000)]
this is a gnu extension I guess
[r23348]
Matthias Braun [Sat, 1 Nov 2008 15:17:47 +0000 (15:17 +0000)]
test implicit type for k&r functions
[r23347]
Michael Beck [Tue, 28 Oct 2008 15:54:18 +0000 (15:54 +0000)]
- add option -end-melt
[r23282]