sourcebuild.texi: Document long_neq_int effective target.
authorBill Schmidt <wschmidt@linux.vnet.ibm.com>
Fri, 10 Aug 2012 12:11:29 +0000 (12:11 +0000)
committerWilliam Schmidt <wschmidt@gcc.gnu.org>
Fri, 10 Aug 2012 12:11:29 +0000 (12:11 +0000)
gcc:

2012-08-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* doc/sourcebuild.texi: Document long_neq_int effective target.

testsuite:

2012-08-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* lib/target-supports.exp (check_effective_target_long_neq_int): New.
* gcc.dg/tree-ssa/slsr-30.c: Check for long_neq_int effective target.

From-SVN: r190293

gcc/ChangeLog
gcc/doc/sourcebuild.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/slsr-30.c
gcc/testsuite/lib/target-supports.exp

index fd92f9d7ecd87ef08660d03661b51ab9cafdfdd1..1050c568d07175a2997544c0da17648d0357e1e2 100644 (file)
@@ -1,3 +1,7 @@
+2012-08-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+       * doc/sourcebuild.texi: Document long_neq_int effective target.
+
 2012-08-10  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/54109
index 41388a07da9a2557132962fd56bc6b0ad74958bd..7e9dbe31c2d96b10ece1383af2746f0574435cbc 100644 (file)
@@ -1303,6 +1303,9 @@ Target has @code{int} that is at 32 bits or longer.
 @item int16
 Target has @code{int} that is 16 bits or shorter.
 
+@item long_neq_int
+Target has @code{int} and @code{long} with different sizes.
+
 @item large_double
 Target supports @code{double} that is longer than @code{float}.
 
index 85aa7d235f3c5cafc9ab0c0132f74a8b7c3de5ee..c9e312d0ec55806b61766a4a62bbc776c9ebee5d 100644 (file)
@@ -1,3 +1,8 @@
+2012-08-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+       * lib/target-supports.exp (check_effective_target_long_neq_int): New.
+       * gcc.dg/tree-ssa/slsr-30.c: Check for long_neq_int effective target.
+
 2012-08-10  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/54109
index 7921f43115cd31330c4588f16c66da54269b03a5..9620f224115ae6e94c62e911b58d27f5189cb7c1 100644 (file)
@@ -1,7 +1,7 @@
 /* Verify straight-line strength reduction fails for simple integer addition
    with casts thrown in when -fwrapv is used.  */
 
-/* { dg-do compile { target { ! { ilp32 } } } } */
+/* { dg-do compile { target { long_neq_int } } } */
 /* { dg-options "-O3 -fdump-tree-dom2 -fwrapv" } */
 
 long
index 0dc5815edcfa62f3c34e67b67067bc924f4c29ed..bc81a6115af03602cb6a792df63e05b42b72a43b 100644 (file)
@@ -1689,6 +1689,15 @@ proc check_effective_target_llp64 { } {
     }]
 }
 
+# Return 1 if long and int have different sizes,
+# 0 otherwise.
+
+proc check_effective_target_long_neq_int { } {
+    return [check_no_compiler_messages long_ne_int object {
+       int dummy[sizeof (int) != sizeof (long) ? 1 : -1];
+    }]
+}
+
 # Return 1 if the target supports long double larger than double,
 # 0 otherwise.