cparser
13 years agoRemove unnecessary cast.
Christoph Mallon [Thu, 19 May 2011 05:38:43 +0000 (07:38 +0200)]
Remove unnecessary cast.

13 years agoHandle GNU __REDIRECT on MACHO.
Christoph Mallon [Thu, 19 May 2011 05:36:39 +0000 (07:36 +0200)]
Handle GNU __REDIRECT on MACHO.

13 years agoCorrent whitespace inconsistencies when printing type qualifiers.
Christoph Mallon [Mon, 16 May 2011 14:11:20 +0000 (16:11 +0200)]
Corrent whitespace inconsistencies when printing type qualifiers.

13 years agoRevert "gcse requires unreachable code removed"
Matthias Braun [Wed, 11 May 2011 10:36:42 +0000 (12:36 +0200)]
Revert "gcse requires unreachable code removed"

This reverts commit 246fd89748d4ad7ba600f4369f73f2ea9c60c76f.

13 years agogcse requires unreachable code removed
Andreas Zwinkau [Fri, 6 May 2011 10:48:57 +0000 (12:48 +0200)]
gcse requires unreachable code removed

13 years agoadapt to firm allowing Bad with different modes now
Matthias Braun [Thu, 5 May 2011 17:12:35 +0000 (19:12 +0200)]
adapt to firm allowing Bad with different modes now

13 years agoDo not compare boolean values with false/true, just use them.
Christoph Mallon [Thu, 5 May 2011 15:29:41 +0000 (17:29 +0200)]
Do not compare boolean values with false/true, just use them.

13 years agoCorrect off-by-something errors in error messages about declarators.
Christoph Mallon [Thu, 5 May 2011 15:28:37 +0000 (17:28 +0200)]
Correct off-by-something errors in error messages about declarators.

13 years agothere's no need to hide rtsopt from the options
Matthias Braun [Thu, 5 May 2011 11:14:00 +0000 (13:14 +0200)]
there's no need to hide rtsopt from the options

13 years agoOS/X headers expect __INTMAX_TYPE__ to be defined
Matthias Braun [Wed, 4 May 2011 23:36:35 +0000 (01:36 +0200)]
OS/X headers expect __INTMAX_TYPE__ to be defined

13 years agoimplement -fprofile-generate -fprofile-use similar to gcc
Matthias Braun [Thu, 28 Apr 2011 14:48:11 +0000 (16:48 +0200)]
implement -fprofile-generate -fprofile-use similar to gcc

13 years agofix some -fno-XXX options
Matthias Braun [Thu, 28 Apr 2011 12:24:01 +0000 (14:24 +0200)]
fix some -fno-XXX options

13 years agodo not use shortcut to determine operation mode as the left side could be a Bad
Matthias Braun [Wed, 27 Apr 2011 17:36:14 +0000 (19:36 +0200)]
do not use shortcut to determine operation mode as the left side could be a Bad

13 years agodo extensive verification by default
Matthias Braun [Wed, 27 Apr 2011 16:26:45 +0000 (18:26 +0200)]
do extensive verification by default

13 years agouse lower_CopyB as a phase
Matthias Braun [Wed, 27 Apr 2011 16:27:06 +0000 (18:27 +0200)]
use lower_CopyB as a phase

13 years agochange NEWS file to use markdown syntax
Matthias Braun [Mon, 18 Apr 2011 10:31:17 +0000 (12:31 +0200)]
change NEWS file to use markdown syntax

13 years agoupdate Makefile
Matthias Braun [Fri, 15 Apr 2011 14:13:46 +0000 (16:13 +0200)]
update Makefile

13 years agoupdate make_release.sh
Matthias Braun [Fri, 15 Apr 2011 14:13:24 +0000 (16:13 +0200)]
update make_release.sh

13 years agoNEWS update
Matthias Braun [Fri, 15 Apr 2011 14:13:13 +0000 (16:13 +0200)]
NEWS update

13 years agofix target-triple handling
Matthias Braun [Fri, 8 Apr 2011 14:14:07 +0000 (16:14 +0200)]
fix target-triple handling

13 years agoAdded .i file extension. Changed behaviour for .ii file extension.
Julius Neuffer [Thu, 14 Apr 2011 11:48:33 +0000 (13:48 +0200)]
Added .i file extension. Changed behaviour for .ii file extension.

13 years agoInline function, which consists of a single call, into its only caller.
Christoph Mallon [Fri, 8 Apr 2011 10:50:05 +0000 (12:50 +0200)]
Inline function, which consists of a single call, into its only caller.

13 years agoRemove stale stuff from Makefile.
Christoph Mallon [Fri, 8 Apr 2011 10:49:23 +0000 (12:49 +0200)]
Remove stale stuff from Makefile.

13 years agofix xmalloc problems
Manuel Mohr [Fri, 8 Apr 2011 08:43:03 +0000 (10:43 +0200)]
fix xmalloc problems

13 years agofix for last commit
Matthias Braun [Thu, 7 Apr 2011 09:32:30 +0000 (11:32 +0200)]
fix for last commit

13 years agorefactor machine/os initialisation part so it can be reused by other frontends
Matthias Braun [Thu, 7 Apr 2011 09:22:46 +0000 (11:22 +0200)]
refactor machine/os initialisation part so it can be reused by other frontends

13 years agoavoid apple specific assembler invocation
Matthias Braun [Tue, 5 Apr 2011 07:47:01 +0000 (09:47 +0200)]
avoid apple specific assembler invocation

13 years agoSimplify/Clean up firm_option().
Christoph Mallon [Thu, 31 Mar 2011 13:00:50 +0000 (15:00 +0200)]
Simplify/Clean up firm_option().

13 years agoActivate fp-vrp at -O2.
Christoph Mallon [Thu, 31 Mar 2011 11:24:13 +0000 (13:24 +0200)]
Activate fp-vrp at -O2.

13 years agobring gcse back as own phase
Matthias Braun [Wed, 30 Mar 2011 14:54:37 +0000 (16:54 +0200)]
bring gcse back as own phase

13 years agosimplify more driver stuff and remove more unused options
Matthias Braun [Wed, 30 Mar 2011 12:12:12 +0000 (14:12 +0200)]
simplify more driver stuff and remove more unused options

13 years agoadapt to simplified opt_funccall interface
Matthias Braun [Wed, 30 Mar 2011 11:58:23 +0000 (13:58 +0200)]
adapt to simplified opt_funccall interface

13 years agoadapt to TLS simplifications in firm
Matthias Braun [Wed, 23 Mar 2011 13:26:41 +0000 (14:26 +0100)]
adapt to TLS simplifications in firm

13 years agoremove a bunch of unimplemented/obsolete commandline switches
Matthias Braun [Wed, 30 Mar 2011 09:10:22 +0000 (11:10 +0200)]
remove a bunch of unimplemented/obsolete commandline switches

13 years agoRemove gcse optimization
Andreas Zwinkau [Fri, 25 Mar 2011 14:03:31 +0000 (15:03 +0100)]
Remove gcse optimization

It does exactly the same as 'place',
so where 'gcse' was called by default,
the driver now calls 'place'.

13 years agoPut parallelize-mem into safe-defaults
Andreas Zwinkau [Thu, 17 Mar 2011 14:43:51 +0000 (15:43 +0100)]
Put parallelize-mem into safe-defaults

It was simply disabled before.

13 years agoredo big_endian bitfield packing in a simpler and more correct way
Matthias Braun [Wed, 16 Mar 2011 17:44:36 +0000 (18:44 +0100)]
redo big_endian bitfield packing in a simpler and more correct way

13 years agofix whitespace errors
Matthias Braun [Tue, 15 Mar 2011 11:47:22 +0000 (12:47 +0100)]
fix whitespace errors

13 years agoremove broken/unused caml export
Matthias Braun [Tue, 15 Mar 2011 11:45:53 +0000 (12:45 +0100)]
remove broken/unused caml export

13 years agodo not force -m32 by default but make -m32 work correctly
Matthias Braun [Mon, 14 Mar 2011 12:41:49 +0000 (13:41 +0100)]
do not force -m32 by default but make -m32 work correctly

13 years agoforward -static and -shared flag to linker (like gcc does)
Matthias Braun [Mon, 14 Mar 2011 12:01:58 +0000 (13:01 +0100)]
forward -static and -shared flag to linker (like gcc does)

13 years agoFix type semantics: &, ^ and | require integer operands.
Christoph Mallon [Fri, 11 Mar 2011 21:00:00 +0000 (22:00 +0100)]
Fix type semantics: &, ^ and | require integer operands.

13 years agofix confusing error message when misspelling -mXXX options
Matthias Braun [Mon, 7 Mar 2011 12:07:34 +0000 (13:07 +0100)]
fix confusing error message when misspelling -mXXX options

13 years agocompound parameter lowering is done in lower_for_target now
Matthias Braun [Fri, 4 Mar 2011 11:53:31 +0000 (11:53 +0000)]
compound parameter lowering is done in lower_for_target now

[r28473]

13 years agomake the uninitialized warning depend on the -wuninitialized switch
Matthias Braun [Thu, 3 Mar 2011 15:54:57 +0000 (15:54 +0000)]
make the uninitialized warning depend on the -wuninitialized switch

[r28472]

13 years agoadapt to firm Cmp changes
Matthias Braun [Mon, 28 Feb 2011 11:46:14 +0000 (11:46 +0000)]
adapt to firm Cmp changes

[r28461]

13 years agoFix another typo in the same comment.
Christoph Mallon [Thu, 24 Feb 2011 11:01:30 +0000 (11:01 +0000)]
Fix another typo in the same comment.

[r28448]

13 years agoFix typo in comment.
Christoph Mallon [Thu, 24 Feb 2011 10:22:09 +0000 (10:22 +0000)]
Fix typo in comment.

[r28444]

13 years agoRemove duplicate assert.
Christoph Mallon [Thu, 24 Feb 2011 10:22:08 +0000 (10:22 +0000)]
Remove duplicate assert.

[r28443]

13 years agoThere is no need to #ifdef an identifier before #undefing it.
Christoph Mallon [Thu, 24 Feb 2011 10:22:06 +0000 (10:22 +0000)]
There is no need to #ifdef an identifier before #undefing it.

[r28442]

13 years agoAllow declarations after labels in C++ mode.
Christoph Mallon [Thu, 24 Feb 2011 10:22:04 +0000 (10:22 +0000)]
Allow declarations after labels in C++ mode.

[r28441]

13 years agoImprove error message: Show the position of the label statement instead of the }...
Christoph Mallon [Thu, 24 Feb 2011 10:22:02 +0000 (10:22 +0000)]
Improve error message: Show the position of the label statement instead of the } when complaining about a label at the end of a compound statement.

[r28440]

13 years agoDo not check for a null pointer in the type printer, because we stopped using null...
Christoph Mallon [Thu, 24 Feb 2011 10:21:59 +0000 (10:21 +0000)]
Do not check for a null pointer in the type printer, because we stopped using null pointers as error type long ago.

[r28439]

13 years agoHandle GNU extension __REDIRECT
Andreas Zwinkau [Thu, 24 Feb 2011 09:59:09 +0000 (09:59 +0000)]
Handle GNU extension __REDIRECT

Used to specify a different ld_name than function name.
E.g. use to redirect fstat to fstat64 in GNU.

Fixes C/gnu99/redirect

[r28437]

13 years agoAttemp to fix typedef_init.c testcase.
Michael Beck [Sun, 20 Feb 2011 11:13:11 +0000 (11:13 +0000)]
Attemp to fix typedef_init.c testcase.

[r28425]

13 years agoadd some comments, made for loop look "more usual", no functional change
Michael Beck [Sun, 20 Feb 2011 11:13:02 +0000 (11:13 +0000)]
add some comments, made for loop look "more usual", no functional change

[r28424]

13 years agoChange is_error_entity() to !is_entity_valid(), which is consistent with is_type_valid().
Christoph Mallon [Fri, 18 Feb 2011 21:05:13 +0000 (21:05 +0000)]
Change is_error_entity() to !is_entity_valid(), which is consistent with is_type_valid().

[r28419]

13 years agoCorrect logic in is_error_entity().
Christoph Mallon [Fri, 18 Feb 2011 21:05:10 +0000 (21:05 +0000)]
Correct logic in is_error_entity().

This fixes C/should_fail/typedef_enum.c.

[r28418]

13 years agoimplement sizeof(func) and alignof(func) in gnu99 mode
Matthias Braun [Fri, 18 Feb 2011 16:45:53 +0000 (16:45 +0000)]
implement sizeof(func) and alignof(func) in gnu99 mode

[r28414]

13 years agoCorrect off-by-whatever errors of the source position in parse_select_expression().
Christoph Mallon [Fri, 18 Feb 2011 12:09:26 +0000 (12:09 +0000)]
Correct off-by-whatever errors of the source position in parse_select_expression().

[r28407]

13 years agoCorrect typo in comment.
Christoph Mallon [Fri, 18 Feb 2011 12:09:24 +0000 (12:09 +0000)]
Correct typo in comment.

[r28406]

13 years agoPrefer get_mode_{minus_one,null}() over new_tarval_from_long({-1,0}).
Christoph Mallon [Fri, 18 Feb 2011 12:09:23 +0000 (12:09 +0000)]
Prefer get_mode_{minus_one,null}() over new_tarval_from_long({-1,0}).

[r28405]

13 years agoAssign the proper namespace to all new entities and assert that nobody tries to retri...
Christoph Mallon [Fri, 18 Feb 2011 12:09:19 +0000 (12:09 +0000)]
Assign the proper namespace to all new entities and assert that nobody tries to retrieve entities with NAMESPACE_INVALID.

This corrects C/should_fail/conflicting_types.c.

[r28404]

13 years agoSupport -pthread argument on Linux
Andreas Zwinkau [Fri, 18 Feb 2011 10:02:51 +0000 (10:02 +0000)]
Support -pthread argument on Linux

Other platforms require different arguments or different behavior.

[r28402]

13 years agoRate EXPR_REFERENCE (variable uses) with error type as EXPR_CLASS_ERROR instead of...
Christoph Mallon [Thu, 17 Feb 2011 13:45:49 +0000 (13:45 +0000)]
Rate EXPR_REFERENCE (variable uses) with error type as EXPR_CLASS_ERROR instead of EXPR_CLASS_VARIABLE.

For "case unknown_var:" this prevents the subsequent error that the case label is not constant.

[r28393]

13 years agofix last commit: conditional_expression might use compounds
Matthias Braun [Wed, 9 Feb 2011 16:13:41 +0000 (16:13 +0000)]
fix last commit: conditional_expression might use compounds

[r28359]

13 years agofix cp_error065.c
Matthias Braun [Wed, 9 Feb 2011 14:50:48 +0000 (14:50 +0000)]
fix cp_error065.c

[r28357]

13 years agoAdding some file extensions for detection
Andreas Zwinkau [Wed, 9 Feb 2011 14:48:45 +0000 (14:48 +0000)]
Adding some file extensions for detection

Interpretation according to gcc.

[r28355]

13 years agofix warning
Matthias Braun [Wed, 9 Feb 2011 13:55:49 +0000 (13:55 +0000)]
fix warning

[r28348]

13 years agoadapt to remove of Quot node in latest libfirm
Matthias Braun [Wed, 9 Feb 2011 13:55:48 +0000 (13:55 +0000)]
adapt to remove of Quot node in latest libfirm

[r28347]

13 years agoTurn all exits inside main into returns, replace exit(1) by exit(FAILURE).
Michael Beck [Sun, 6 Feb 2011 20:39:18 +0000 (20:39 +0000)]
Turn all exits inside main into returns, replace exit(1) by exit(FAILURE).

[r28335]

13 years agoEnter constant folding mode before doing so. Fixes some regression tests.
Christoph Mallon [Sun, 6 Feb 2011 07:51:23 +0000 (07:51 +0000)]
Enter constant folding mode before doing so.  Fixes some regression tests.

[r28326]

13 years agoPrefer new_Const(get_mode_null(mode)) over new_Const_long(mode, 0).
Christoph Mallon [Sun, 6 Feb 2011 07:51:19 +0000 (07:51 +0000)]
Prefer new_Const(get_mode_null(mode)) over new_Const_long(mode, 0).

[r28325]

13 years agoAdd the helper function create_Const_from_bool() to create 0/1 constant from a boolea...
Christoph Mallon [Sun, 6 Feb 2011 07:51:16 +0000 (07:51 +0000)]
Add the helper function create_Const_from_bool() to create 0/1 constant from a boolean value.

[r28324]

13 years agoLet is_constant_expression() and friends return an enum so constant expressions can...
Christoph Mallon [Sun, 6 Feb 2011 07:51:12 +0000 (07:51 +0000)]
Let is_constant_expression() and friends return an enum so constant expressions can be differentiated from erroneous expressions. Now the latter do not cause panics when trying to constant fold them.

[r28323]

13 years agoImprove error recovery: eat_until_anchor() when parse_primary_expression() finds...
Christoph Mallon [Sun, 6 Feb 2011 07:51:08 +0000 (07:51 +0000)]
Improve error recovery: eat_until_anchor() when parse_primary_expression() finds no token to consume.

[r28322]

13 years agoFix C/should_fail/decl_without_name.c.
Christoph Mallon [Sun, 6 Feb 2011 07:51:04 +0000 (07:51 +0000)]
Fix C/should_fail/decl_without_name.c.

[r28321]

13 years agoUse get_break_label() instead of duplicating it.
Christoph Mallon [Sun, 6 Feb 2011 07:51:00 +0000 (07:51 +0000)]
Use get_break_label() instead of duplicating it.

[r28320]

13 years agoOverhaul conditional_to_firm(). Now it is a tad shorter/simpler and more friendly...
Christoph Mallon [Sun, 6 Feb 2011 07:50:57 +0000 (07:50 +0000)]
Overhaul conditional_to_firm(). Now it is a tad shorter/simpler and more friendly towards SSA construction due to maturing in dominance order.

[r28319]

13 years agoSimplify produce_condition_result().
Christoph Mallon [Sun, 6 Feb 2011 07:50:53 +0000 (07:50 +0000)]
Simplify produce_condition_result().

[r28318]

13 years agoAdd jump_if_reachable() to reduce code duplication.
Christoph Mallon [Sun, 6 Feb 2011 07:50:49 +0000 (07:50 +0000)]
Add jump_if_reachable() to reduce code duplication.

[r28317]

13 years agoOverhaul for_statement_to_firm() so it is more friendly towards SSA construction...
Christoph Mallon [Sun, 6 Feb 2011 07:50:46 +0000 (07:50 +0000)]
Overhaul for_statement_to_firm() so it is more friendly towards SSA construction due to maturing in dominance order.

[r28316]

13 years agoSimplify maturing of the header block in do_while_statement_to_firm(). This also...
Christoph Mallon [Sun, 6 Feb 2011 07:50:42 +0000 (07:50 +0000)]
Simplify maturing of the header block in do_while_statement_to_firm(). This also is more friendly towards SSA construction due to maturing in dominance order.

[r28315]

13 years agoOverhaul while_statement_to_firm(). Now it is a tad shorter/simpler and more friendly...
Christoph Mallon [Sun, 6 Feb 2011 07:50:39 +0000 (07:50 +0000)]
Overhaul while_statement_to_firm(). Now it is a tad shorter/simpler and more friendly towards SSA construction due to maturing in dominance order.

[r28314]

13 years agoOverhaul if_statement_to_firm(). Now it is a tad shorter/simpler and more friendly...
Christoph Mallon [Sun, 6 Feb 2011 07:50:35 +0000 (07:50 +0000)]
Overhaul if_statement_to_firm(). Now it is a tad shorter/simpler and more friendly towards SSA construction due to maturing in dominance order.

[r28313]

13 years agoSimplify daisy chaining local labels.
Christoph Mallon [Sat, 5 Feb 2011 09:04:11 +0000 (09:04 +0000)]
Simplify daisy chaining local labels.

[r28309]

13 years agoDo not eat() the semicolon at the end of a local label declaration, but expect() it.
Christoph Mallon [Sat, 5 Feb 2011 09:04:07 +0000 (09:04 +0000)]
Do not eat() the semicolon at the end of a local label declaration, but expect() it.

[r28308]

13 years agoImprove error recovery: Do not create an invalid statement if the semicolon at the...
Christoph Mallon [Sat, 5 Feb 2011 09:04:03 +0000 (09:04 +0000)]
Improve error recovery: Do not create an invalid statement if the semicolon at the end of a goto statement is missing.

[r28307]

13 years agoCorrect typo in label name.
Christoph Mallon [Sat, 5 Feb 2011 09:04:00 +0000 (09:04 +0000)]
Correct typo in label name.

[r28306]

13 years agoRemove unnecessary gotos.
Christoph Mallon [Sat, 5 Feb 2011 09:03:56 +0000 (09:03 +0000)]
Remove unnecessary gotos.

[r28305]

13 years agoProvide the specific error message about a label at the end of a compound statement...
Christoph Mallon [Sat, 5 Feb 2011 09:03:51 +0000 (09:03 +0000)]
Provide the specific error message about a label at the end of a compound statement not just for goto labels but for case and default labels, too.

[r28304]

13 years agoReduce variable scope.
Christoph Mallon [Sat, 5 Feb 2011 09:03:47 +0000 (09:03 +0000)]
Reduce variable scope.

[r28303]

13 years agoSimplify case_label_to_firm() a bit, which can be done since new_immBlock() does...
Christoph Mallon [Sat, 5 Feb 2011 09:03:43 +0000 (09:03 +0000)]
Simplify case_label_to_firm() a bit, which can be done since new_immBlock() does not set current_block anymore.

[r28302]

13 years agoSimplify do_while_statement_to_firm() a bit, which can be done since new_immBlock...
Christoph Mallon [Sat, 5 Feb 2011 09:03:39 +0000 (09:03 +0000)]
Simplify do_while_statement_to_firm() a bit, which can be done since new_immBlock() does not set current_block anymore.

[r28301]

13 years agoCorrect copy&paste-o in warning message.
Christoph Mallon [Sat, 5 Feb 2011 09:03:34 +0000 (09:03 +0000)]
Correct copy&paste-o in warning message.

[r28300]

13 years agoRemove unnecessary test in ast2firm: A label-statement always has an inner statement.
Christoph Mallon [Fri, 4 Feb 2011 14:27:21 +0000 (14:27 +0000)]
Remove unnecessary test in ast2firm: A label-statement always has an inner statement.

[r28299]

13 years agoRemove unnecessary test in ast2firm: A case-label-statement always has an inner state...
Christoph Mallon [Fri, 4 Feb 2011 14:27:18 +0000 (14:27 +0000)]
Remove unnecessary test in ast2firm: A case-label-statement always has an inner statement.

[r28298]

13 years agoRemove unnecessary test in ast2firm: A switch-statement always has a body.
Christoph Mallon [Fri, 4 Feb 2011 14:27:16 +0000 (14:27 +0000)]
Remove unnecessary test in ast2firm: A switch-statement always has a body.

[r28297]

13 years agoRemove unnecessary test in ast2firm: A for-statement always has a body.
Christoph Mallon [Fri, 4 Feb 2011 14:27:14 +0000 (14:27 +0000)]
Remove unnecessary test in ast2firm: A for-statement always has a body.

[r28296]

13 years agoRemove unnecessary tests in ast2firm: An if-statement always has a true_statement.
Christoph Mallon [Fri, 4 Feb 2011 14:27:13 +0000 (14:27 +0000)]
Remove unnecessary tests in ast2firm: An if-statement always has a true_statement.

[r28295]