Christoph Mallon [Thu, 1 Jan 2009 17:52:48 +0000 (17:52 +0000)]
Simplify daisy chaining function call arguments.
[r25027]
Christoph Mallon [Thu, 1 Jan 2009 17:16:23 +0000 (17:16 +0000)]
Simplify daisy chaining function parameters in parse_kr_declaration_list().
[r25026]
Christoph Mallon [Thu, 1 Jan 2009 16:45:20 +0000 (16:45 +0000)]
Factorise code to allocate parameters.
[r25025]
Christoph Mallon [Thu, 1 Jan 2009 16:05:50 +0000 (16:05 +0000)]
Make parsing of __based() less intrusive.
[r25023]
Christoph Mallon [Thu, 1 Jan 2009 14:16:40 +0000 (14:16 +0000)]
Simplify daisy chaining of construct types in parse_inner_declarator().
[r25022]
Christoph Mallon [Thu, 1 Jan 2009 13:27:02 +0000 (13:27 +0000)]
Introduce union construct_type_t to avoid dubious casts.
[r25020]
Christoph Mallon [Thu, 1 Jan 2009 11:34:56 +0000 (11:34 +0000)]
Slightly simplify type hashing in construct_declarator_type().
[r25015]
Christoph Mallon [Thu, 1 Jan 2009 10:31:55 +0000 (10:31 +0000)]
Fix linkage check for local variables in check_variable_type_complete().
[r25014]
Christoph Mallon [Thu, 1 Jan 2009 10:16:04 +0000 (10:16 +0000)]
Remove the write-only attribute bool has_flexible_member from struct compound_t.
[r25013]
Christoph Mallon [Thu, 1 Jan 2009 09:34:19 +0000 (09:34 +0000)]
Simplify macro mumbo jumbo.
[r25012]
Christoph Mallon [Wed, 31 Dec 2008 20:43:53 +0000 (20:43 +0000)]
Fix logic error in is_builtin_expect() introduced in r24902.
[r25011]
Christoph Mallon [Tue, 30 Dec 2008 17:33:18 +0000 (17:33 +0000)]
Remove resolved TODO item (-Wparentheses).
[r24989]
Christoph Mallon [Tue, 30 Dec 2008 17:32:17 +0000 (17:32 +0000)]
Do not query the precedence in the AST printer, if it is known already.
[r24988]
Michael Beck [Mon, 29 Dec 2008 02:17:42 +0000 (02:17 +0000)]
- more MS intrinsics
[r24939]
Michael Beck [Sat, 27 Dec 2008 03:44:55 +0000 (03:44 +0000)]
- more builtins
[r24905]
Michael Beck [Sat, 27 Dec 2008 03:43:48 +0000 (03:43 +0000)]
- c_mode must be set before init_types()
[r24904]
Michael Beck [Sat, 27 Dec 2008 00:38:45 +0000 (00:38 +0000)]
- fixed warnings
[r24903]
Michael Beck [Sat, 27 Dec 2008 00:26:19 +0000 (00:26 +0000)]
Removed EXPR_BUILTIN_SYMBOL: Builtins are now predefined functions
with a builtin_kind != bk_none.
This simplifies parsing and allows to have "different" builtin-sets (enable MS builtins for instance)
[r24902]
Christoph Mallon [Fri, 26 Dec 2008 08:53:10 +0000 (08:53 +0000)]
Add windows-1252 (alias cp1252) as input encoding.
[r24898]
Christoph Mallon [Thu, 25 Dec 2008 09:22:08 +0000 (09:22 +0000)]
Fix printing of pointers and references to arrays.
[r24893]
Michael Beck [Wed, 24 Dec 2008 03:47:58 +0000 (03:47 +0000)]
- fixed implementation of various __builtin functions
[r24886]
Michael Beck [Wed, 24 Dec 2008 02:38:38 +0000 (02:38 +0000)]
- implemented __builtin_trap()
[r24883]
Michael Beck [Tue, 23 Dec 2008 17:35:01 +0000 (17:35 +0000)]
- implemented __builtin_(ffs|ctz|clz|popcount|parity)
[r24871]
Christoph Mallon [Tue, 23 Dec 2008 12:00:17 +0000 (12:00 +0000)]
Correctly handle qualified floats in get_default_promoted_type().
[r24857]
Christoph Mallon [Sun, 21 Dec 2008 18:25:56 +0000 (18:25 +0000)]
?: with omitted true-expression needs special handling if the condition ends in a comparison, too.
[r24843]
Christoph Mallon [Sun, 21 Dec 2008 18:02:44 +0000 (18:02 +0000)]
Implement -Wshadow.
[r24841]
Christoph Mallon [Sun, 21 Dec 2008 17:57:03 +0000 (17:57 +0000)]
Handle pointer arithmetic with variable sized types in ast2firm.
[r24840]
Christoph Mallon [Sun, 21 Dec 2008 17:04:37 +0000 (17:04 +0000)]
Unify the form of references to the standard.
[r24839]
Christoph Mallon [Sun, 21 Dec 2008 16:54:16 +0000 (16:54 +0000)]
Better show something (syntactically invalid) when printing a for-statement with multiple declarations instead of panic()ing.
[r24838]
Michael Beck [Sun, 21 Dec 2008 14:54:46 +0000 (14:54 +0000)]
- implemented __builtin_prefetch()
- __builtin_prefetch is now a builtin_symbol
[r24836]
Michael Beck [Sun, 21 Dec 2008 14:17:16 +0000 (14:17 +0000)]
- some commnets
[r24834]
Christoph Mallon [Sun, 21 Dec 2008 13:08:21 +0000 (13:08 +0000)]
Remove two redundant get_dbg_info() which were found while implementing -Wshadow.
[r24827]
Christoph Mallon [Sun, 21 Dec 2008 13:06:37 +0000 (13:06 +0000)]
Avoid double parentheses when AST printing sizeof expressions.
[r24826]
Michael Beck [Thu, 18 Dec 2008 18:34:49 +0000 (18:34 +0000)]
- implement builtin_(frame|return)_address() firm representation using Builtin nodes
[r24795]
Christoph Mallon [Thu, 18 Dec 2008 13:05:10 +0000 (13:05 +0000)]
Use revert_automatic_type_conversion() to determine the type of typeof().
[r24780]
Christoph Mallon [Thu, 18 Dec 2008 13:04:41 +0000 (13:04 +0000)]
typeof() always has a type set, so there is no need to access the expression.
[r24779]
Christoph Mallon [Thu, 18 Dec 2008 12:04:54 +0000 (12:04 +0000)]
Implement __builtin_types_compatible_p().
[r24777]
Christoph Mallon [Thu, 18 Dec 2008 11:09:08 +0000 (11:09 +0000)]
Indentation.
[r24775]
Christoph Mallon [Thu, 18 Dec 2008 11:08:32 +0000 (11:08 +0000)]
Skip non-parameter entities in parameter lists. This happens when a struct/union tag is declared in a parameter list.
[r24774]
Michael Beck [Thu, 18 Dec 2008 10:53:43 +0000 (10:53 +0000)]
- reimplemented __builtin_frame_address() and __builtin_return_address() as a builtin_symbol
- generate code for __builtin_frame_address(0)
[r24773]
Christoph Mallon [Thu, 18 Dec 2008 10:51:05 +0000 (10:51 +0000)]
Merge common cases in print_entity().
[r24772]
Christoph Mallon [Thu, 18 Dec 2008 08:08:17 +0000 (08:08 +0000)]
Two places did not respect, that the true expression of ?: may be missing.
[r24768]
Christoph Mallon [Thu, 18 Dec 2008 07:50:38 +0000 (07:50 +0000)]
Add some more bits for EXPR_BUILTIN_ADDRESS.
[r24767]
Michael Beck [Wed, 17 Dec 2008 23:46:51 +0000 (23:46 +0000)]
- implemented __builtin_(return|frame)_address() FE support
- fixed some warnings
[r24764]
Michael Beck [Wed, 17 Dec 2008 23:18:57 +0000 (23:18 +0000)]
- Win32 has no strings.h
[r24763]
Christoph Mallon [Wed, 17 Dec 2008 13:46:03 +0000 (13:46 +0000)]
Slightly simplify traversing declaration lists.
[r24750]
Christoph Mallon [Wed, 17 Dec 2008 13:33:15 +0000 (13:33 +0000)]
Do not set a non-null last declaration for a declaration statement, if the declaration statement ist empty.
[r24749]
Christoph Mallon [Wed, 17 Dec 2008 10:44:48 +0000 (10:44 +0000)]
Improve the AST a little: Overwrite the type of a function at the definition in case the previous declaration used a typedef.
[r24747]
Christoph Mallon [Wed, 17 Dec 2008 10:30:18 +0000 (10:30 +0000)]
Do not emit an error about different entity kinds for the same symbol, if error entities are involved.
[r24746]
Christoph Mallon [Wed, 17 Dec 2008 09:09:34 +0000 (09:09 +0000)]
Do not change the local prev_type in record_entity(). The warning about missing prior prototypes is missing otherwise.
[r24744]
Christoph Mallon [Wed, 17 Dec 2008 08:26:26 +0000 (08:26 +0000)]
Put { of function on separate line.
[r24740]
Christoph Mallon [Wed, 17 Dec 2008 07:53:51 +0000 (07:53 +0000)]
Length 1 for global int x[]; is actually required by the standard!
[r24739]
Christoph Mallon [Wed, 17 Dec 2008 07:52:22 +0000 (07:52 +0000)]
Add the macro lengthof().
[r24738]
Christoph Mallon [Tue, 16 Dec 2008 23:26:26 +0000 (23:26 +0000)]
SLL(3) is too much, SLL(2) is sufficient.
[r24736]
Christoph Mallon [Tue, 16 Dec 2008 23:20:36 +0000 (23:20 +0000)]
Small cleanup.
[r24735]
Christoph Mallon [Tue, 16 Dec 2008 21:30:07 +0000 (21:30 +0000)]
Fix stupid error in r24659.
[r24733]
Christoph Mallon [Tue, 16 Dec 2008 19:04:14 +0000 (19:04 +0000)]
Add a skip_typeref(). In case of error a typedef could end up there.
[r24730]
Christoph Mallon [Tue, 16 Dec 2008 19:00:20 +0000 (19:00 +0000)]
Restore error check lost in r23661: The type of a function definition must not be a typedef.
[r24729]
Christoph Mallon [Tue, 16 Dec 2008 18:57:09 +0000 (18:57 +0000)]
Sort.
[r24728]
Christoph Mallon [Tue, 16 Dec 2008 14:41:19 +0000 (14:41 +0000)]
Do not consider alignment in the type hash. It is just wrong.
[r24718]
Christoph Mallon [Tue, 16 Dec 2008 11:19:57 +0000 (11:19 +0000)]
Fix calculation of the value of multi-character character constants in signed char mode.
[r24710]
Christoph Mallon [Tue, 16 Dec 2008 11:18:33 +0000 (11:18 +0000)]
Add (harmless) missing else.
[r24709]
Christoph Mallon [Tue, 16 Dec 2008 10:08:02 +0000 (10:08 +0000)]
Typo.
[r24708]
Christoph Mallon [Mon, 15 Dec 2008 23:56:27 +0000 (23:56 +0000)]
Use .Sq instead of ''.
[r24701]
Christoph Mallon [Mon, 15 Dec 2008 23:43:04 +0000 (23:43 +0000)]
Rename --{,un}sigend-chars to -f{,un}signed-char and document them in the manpage.
[r24700]
Christoph Mallon [Mon, 15 Dec 2008 22:59:51 +0000 (22:59 +0000)]
Better check for is_Cond() instead of !is_Bad(): The Cond could have become a Tuple, too.
[r24699]
Christoph Mallon [Mon, 15 Dec 2008 22:56:22 +0000 (22:56 +0000)]
Before setting branch prediction info for a Cond, make sure it is not Bad.
[r24698]
Christoph Mallon [Mon, 15 Dec 2008 21:07:33 +0000 (21:07 +0000)]
When automatically generating a target filename, place it in the current directory instead of the directory of the source file. Also resolve the existing bug, that the file is placed in the wrong directory with the wrong name in case that the filename has no suffix, but a directory name contains a dot.
PR: #
0000024
[r24696]
Christoph Mallon [Mon, 15 Dec 2008 19:09:07 +0000 (19:09 +0000)]
Include missing header.
[r24695]
Christoph Mallon [Mon, 15 Dec 2008 14:36:54 +0000 (14:36 +0000)]
Do not create bogus wide char initializer from char string, i.e. add missing break;.
[r24690]
Christoph Mallon [Mon, 15 Dec 2008 14:19:54 +0000 (14:19 +0000)]
Fix minor bug in UTF-8 decoder when handling partly decoded chars.
[r24689]
Christoph Mallon [Mon, 15 Dec 2008 13:12:34 +0000 (13:12 +0000)]
Do not crash on alignof($TYPE).
[r24688]
Christoph Mallon [Mon, 15 Dec 2008 12:58:02 +0000 (12:58 +0000)]
Make the input encoding selectable via −finput‐charset=. Currently suported are ISO-8859-1, ISO-8859-15 and UTF-8. The default is UTF-8 now (was ISO-8859-1).
[r24686]
Michael Beck [Mon, 15 Dec 2008 12:22:47 +0000 (12:22 +0000)]
- renamed cons_flags to ir_cons_flags
[r24682]
Matthias Braun [Mon, 15 Dec 2008 09:28:29 +0000 (09:28 +0000)]
fix stupid memory error
[r24679]
Matthias Braun [Sun, 14 Dec 2008 11:54:04 +0000 (11:54 +0000)]
fixed __alignof__ construction, always build constants on const_code_irg
[r24663]
Christoph Mallon [Sun, 14 Dec 2008 11:09:23 +0000 (11:09 +0000)]
Use identify_new_type() instead of duplicating it.
[r24659]
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]
Moritz Kroll [Sun, 14 Dec 2008 10:54:37 +0000 (10:54 +0000)]
Adjusted for latest firm
[r24657]
Christoph Mallon [Sun, 14 Dec 2008 10:42:40 +0000 (10:42 +0000)]
Simplify eat() macro.
[r24653]
Christoph Mallon [Sun, 14 Dec 2008 10:41:02 +0000 (10:41 +0000)]
Unify the form of references to the standard.
[r24652]
Christoph Mallon [Sun, 14 Dec 2008 10:16:58 +0000 (10:16 +0000)]
Use identify_new_type() instead of duplicating it.
[r24650]
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]
Matthias Braun [Sun, 14 Dec 2008 00:09:31 +0000 (00:09 +0000)]
further attributes+types tweaks
[r24639]
Matthias Braun [Sat, 13 Dec 2008 23:10:27 +0000 (23:10 +0000)]
first implementation of aligned attribute
[r24636]
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]
Matthias Braun [Sat, 13 Dec 2008 22:49:04 +0000 (22:49 +0000)]
respect alignment in typehash
[r24634]
Matthias Braun [Sat, 13 Dec 2008 20:42:43 +0000 (20:42 +0000)]
fix subtle implicit cast problem
[r24627]
Matthias Braun [Sat, 13 Dec 2008 19:47:38 +0000 (19:47 +0000)]
missing skip_typeref
[r24626]
Christoph Mallon [Sat, 13 Dec 2008 19:35:17 +0000 (19:35 +0000)]
Fix typo in lazy op constant folding.
[r24624]
Matthias Braun [Sat, 13 Dec 2008 19:22:17 +0000 (19:22 +0000)]
more skip_typerefs
[r24622]
Matthias Braun [Sat, 13 Dec 2008 19:20:27 +0000 (19:20 +0000)]
type might be a struct
[r24621]
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]
Matthias Braun [Sat, 13 Dec 2008 18:03:44 +0000 (18:03 +0000)]
always fold consts
[r24614]
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]
Christoph Mallon [Sat, 13 Dec 2008 10:54:37 +0000 (10:54 +0000)]
Correctly handle shadowing of enum type declarations.
PR: #
0000020
[r24590]
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]
Christoph Mallon [Sat, 13 Dec 2008 10:18:45 +0000 (10:18 +0000)]
Consider lazy evaluation for && and || in is_constant_expression().
[r24588]
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]
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]