summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorChristoph Mallon <christoph.mallon@gmx.de>2017-03-20 18:35:58 +0100
committerChristoph Mallon <christoph.mallon@gmx.de>2017-03-20 22:03:31 +0100
commit1f3042ec485eb3d19c18244f19deb2e42c75ae6d (patch)
tree812eb2954da02672c6aa94cea06611cfc5c273d1 /src
parentcc31c911a600a20caf676c6c69a3437909202ff0 (diff)
Correct accidentally inverted logic of 'target.use_frame_pointer'.
'-O2' activated, instead of deactivated, the use of the frame pointer, because the use of the variable was flipped in two other places.
Diffstat (limited to 'src')
-rw-r--r--src/driver/options.c2
-rw-r--r--src/driver/target.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/driver/options.c b/src/driver/options.c
index 8fccb69..35eee9d 100644
--- a/src/driver/options.c
+++ b/src/driver/options.c
@@ -465,7 +465,7 @@ bool options_parse_codegen(options_state_t *s)
ir_allow_imprecise_float_transforms(truth_value);
} else if (f_yesno_arg("-fomit-frame-pointer", s)) {
target.set_use_frame_pointer = true;
- target.use_frame_pointer = truth_value;
+ target.use_frame_pointer = !truth_value;
} else if (f_yesno_arg("-fstrength-reduce", s)) {
/* does nothing, for gcc compatibility (even gcc does
* nothing for this switch anymore) */
diff --git a/src/driver/target.c b/src/driver/target.c
index a02ae33..d85d7c5 100644
--- a/src/driver/target.c
+++ b/src/driver/target.c
@@ -153,7 +153,7 @@ static bool pass_options_to_firm_be(void)
set_target_option("profileuse");
}
if (target.set_use_frame_pointer) {
- set_target_option(target.use_frame_pointer ? "omitfp" : "omitfp=no");
+ set_target_option(target.use_frame_pointer ? "omitfp=no" : "omitfp");
}
if (target.set_pic) {