aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2015-02-07 15:44:26 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2015-02-07 15:44:26 +0100
commitc0c91386b7ebd2c241d6ee2d5c172e57f5185472 (patch)
treec1bbaa3a14e79c9e73face09e72e6713cbffc2fe
parentf662ac2a2324dcd13d0eed8ee53eadba850618be (diff)
downloadgcc-c0c91386b7ebd2c241d6ee2d5c172e57f5185472.zip
gcc-c0c91386b7ebd2c241d6ee2d5c172e57f5185472.tar.gz
gcc-c0c91386b7ebd2c241d6ee2d5c172e57f5185472.tar.bz2
re PR middle-end/64340 (FAIL: gnat.dg/lto8.adb (internal compiler error))
PR middle-end/64340 * gcc-interface/trans.c (gigi): Recreate optimization_default_node and optimization_current_node after tweaking global_options. From-SVN: r220504
-rw-r--r--gcc/ada/ChangeLog6
-rw-r--r--gcc/ada/gcc-interface/trans.c5
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index e6402b3..f34dd91 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,9 @@
+2015-02-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/64340
+ * gcc-interface/trans.c (gigi): Recreate optimization_default_node
+ and optimization_current_node after tweaking global_options.
+
2015-02-05 Robert Dewar <dewar@adacore.com>
* prj-proc.adb, sem_aux.adb, exp_ch9.adb, errout.adb, prj-dect.adb,
diff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada/gcc-interface/trans.c
index 9d8541d..070acbe 100644
--- a/gcc/ada/gcc-interface/trans.c
+++ b/gcc/ada/gcc-interface/trans.c
@@ -678,6 +678,11 @@ gigi (Node_Id gnat_root,
if (No_Strict_Aliasing_CP)
flag_strict_aliasing = 0;
+ /* Save the current optimization options again after the above possible
+ global_options changes. */
+ optimization_default_node = build_optimization_node (&global_options);
+ optimization_current_node = optimization_default_node;
+
/* Now translate the compilation unit proper. */
Compilation_Unit_to_gnu (gnat_root);