aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVishnu K S <Vishnu.k_s@atmel.com>2014-04-24 22:05:07 +0000
committerJeff Law <law@gcc.gnu.org>2014-04-24 16:05:07 -0600
commit6e4f81db33c6cefcf0cea11e087c1896917a101a (patch)
treed0c214e026345aa782a9d30e5e47a63aeba84a42
parent3e4fbd9185ee1e972d8923e02b98b1414611233b (diff)
downloadgcc-6e4f81db33c6cefcf0cea11e087c1896917a101a.zip
gcc-6e4f81db33c6cefcf0cea11e087c1896917a101a.tar.gz
gcc-6e4f81db33c6cefcf0cea11e087c1896917a101a.tar.bz2
avr.c: Add comment on why -fdelete-null-pointer-checks is disabled.
2014-04-24 Vishnu K S <Vishnu.k_s@atmel.com> * gcc/config/avr/avr.c: Add comment on why -fdelete-null-pointer-checks is disabled. 2014-04-24 Vishnu K S <Vishnu.k_s@atmel.com> * gcc/testsuite/gcc.dg/tree-ssa/isolate-1.c: Skip test if keeps_null_pointer_checks. * gcc/testsuite/gcc.dg/tree-ssa/isolate-2.c: Ditto * gcc/testsuite/gcc.dg/tree-ssa/isolate-3.c: Ditto * gcc/testsuite/gcc.dg/tree-ssa/isolate-4.c: Ditto * gcc/testsuite/gcc.dg/tree-ssa/isolate-5.c: Ditto From-SVN: r209767
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/avr/avr.c6
-rw-r--r--gcc/testsuite/ChangeLog9
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/isolate-1.c1
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/isolate-2.c1
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/isolate-3.c1
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/isolate-4.c1
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/isolate-5.c1
8 files changed, 25 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f2fce0d..cac9f8d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2014-04-24 Vishnu K S <Vishnu.k_s@atmel.com>
+
+ * gcc/config/avr/avr.c: Add comment on why -fdelete-null-pointer-checks
+ is disabled.
+
2014-04-24 Jakub Jelinek <jakub@redhat.com>
* tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define.
diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c
index 99644ec..d4aa738 100644
--- a/gcc/config/avr/avr.c
+++ b/gcc/config/avr/avr.c
@@ -290,6 +290,12 @@ avr_to_int_mode (rtx x)
static void
avr_option_override (void)
{
+ /* Disable -fdelete-null-pointer-checks option for AVR target.
+ This option compiler assumes that dereferencing of a null pointer
+ would halt the program. For AVR this assumption is not true and
+ programs can safely dereference null pointers. Changes made by this
+ option may not work properly for AVR. So disable this option. */
+
flag_delete_null_pointer_checks = 0;
/* caller-save.c looks for call-clobbered hard registers that are assigned
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 5813e5e..cb863cb 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,12 @@
+2014-04-24 Vishnu K S <Vishnu.k_s@atmel.com>
+
+ * gcc/testsuite/gcc.dg/tree-ssa/isolate-1.c: Skip test if
+ keeps_null_pointer_checks.
+ * gcc/testsuite/gcc.dg/tree-ssa/isolate-2.c: Ditto
+ * gcc/testsuite/gcc.dg/tree-ssa/isolate-3.c: Ditto
+ * gcc/testsuite/gcc.dg/tree-ssa/isolate-4.c: Ditto
+ * gcc/testsuite/gcc.dg/tree-ssa/isolate-5.c: Ditto
+
2014-04-24 Jakub Jelinek <jakub@redhat.com>
* c-c++-common/gomp/atomic-16.c: Remove all dg-error directives.
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/isolate-1.c b/gcc/testsuite/gcc.dg/tree-ssa/isolate-1.c
index f1f3101..3ed98aeb 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/isolate-1.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/isolate-1.c
@@ -1,6 +1,7 @@
/* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-isolate-paths" } */
+/* { dg-skip-if "" keeps_null_pointer_checks } */
struct demangle_component
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/isolate-2.c b/gcc/testsuite/gcc.dg/tree-ssa/isolate-2.c
index bfcaa2b..912d98e 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/isolate-2.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/isolate-2.c
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-O2 -fisolate-erroneous-paths-attribute -fdump-tree-isolate-paths -fdump-tree-phicprop1" } */
+/* { dg-skip-if "" keeps_null_pointer_checks } */
int z;
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/isolate-3.c b/gcc/testsuite/gcc.dg/tree-ssa/isolate-3.c
index 7dddd80..9c2c5d5 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/isolate-3.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/isolate-3.c
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-isolate-paths" } */
+/* { dg-skip-if "" keeps_null_pointer_checks } */
typedef long unsigned int size_t;
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/isolate-4.c b/gcc/testsuite/gcc.dg/tree-ssa/isolate-4.c
index c9c074d..d50a2b2 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/isolate-4.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/isolate-4.c
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-O2 -fisolate-erroneous-paths-attribute -fdump-tree-isolate-paths -fdump-tree-phicprop1" } */
+/* { dg-skip-if "" keeps_null_pointer_checks } */
extern void foo(void *) __attribute__ ((__nonnull__ (1)));
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/isolate-5.c b/gcc/testsuite/gcc.dg/tree-ssa/isolate-5.c
index 4d01d5c..e6ae37a 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/isolate-5.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/isolate-5.c
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-isolate-paths -fdump-tree-optimized" } */
+/* { dg-skip-if "" keeps_null_pointer_checks } */
struct demangle_component
{