From 810fb8f1d6cadce0899872c310ebbae829d673dd Mon Sep 17 00:00:00 2001 From: Jeffrey A Law Date: Wed, 23 Nov 2011 17:37:01 +0000 Subject: [PATCH] lang.c (java_init_options_struct): Disable optimizations which assume a NULL pointer dereference will cause a fault. * lang.c (java_init_options_struct): Disable optimizations which assume a NULL pointer dereference will cause a fault. From-SVN: r181674 --- gcc/java/ChangeLog | 5 +++++ gcc/java/lang.c | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 27a44f11f7d..e6d8db3a886 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,8 @@ +2011-11-23 Jeffrey A Law (law@cygnus.com) + + * lang.c (java_init_options_struct): Disable optimizations + which assume a NULL pointer dereference will cause a fault. + 2011-11-07 Richard Henderson * builtins.c (compareAndSwapInt_builtin): Use can_compare_and_swap_p. diff --git a/gcc/java/lang.c b/gcc/java/lang.c index 6a117d79fcc..ccab48c4e7a 100644 --- a/gcc/java/lang.c +++ b/gcc/java/lang.c @@ -556,6 +556,10 @@ java_init_options_struct (struct gcc_options *opts) /* Java requires left-to-right evaluation of subexpressions. */ opts->x_flag_evaluation_order = 1; + + /* Java catches NULL pointer exceptions, thus we can not necessarily + rely on a pointer having a non-NULL value after a dereference. */ + opts->x_flag_delete_null_pointer_checks = 0; } static void -- 2.11.4.GIT