c-common.c (c_stddef_cpp_builtins): When the GIMPLE FE is enabled, define __SIZETYPE__.
authorRichard Biener <rguenther@suse.de>
Thu, 15 Aug 2019 11:26:19 +0000 (11:26 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Thu, 15 Aug 2019 11:26:19 +0000 (11:26 +0000)
2019-08-15  Richard Biener  <rguenther@suse.de>

c-family/
* c-common.c (c_stddef_cpp_builtins): When the GIMPLE FE is
enabled, define __SIZETYPE__.

* gcc.dg/pr80170.c: Adjust to use __SIZETYPE__.

From-SVN: r274528

gcc/c-family/ChangeLog
gcc/c-family/c-common.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr80170.c

index 48e59366123394d3e2ea1bab546689b5a1c2717d..a4a0bff38efc90c9f4532520c679fb80219bd633 100644 (file)
@@ -1,3 +1,8 @@
+2019-08-15  Richard Biener  <rguenther@suse.de>
+
+       * c-common.c (c_stddef_cpp_builtins): When the GIMPLE FE is
+       enabled, define __SIZETYPE__.
+
 2019-08-14  Christophe Lyon  <christophe.lyon@linaro.org>
 
        * c-attribs.c (c_common_attribute_table): Add "noinit" entry. Add
index 610cb905814fbcb34dbc0708ae5f7b187b0efca6..2810867235d952f58f9844724d993f6c59808d99 100644 (file)
@@ -5148,6 +5148,10 @@ c_stddef_cpp_builtins(void)
     builtin_define_with_value ("__INTPTR_TYPE__", INTPTR_TYPE, 0);
   if (UINTPTR_TYPE)
     builtin_define_with_value ("__UINTPTR_TYPE__", UINTPTR_TYPE, 0);
+  /* GIMPLE FE testcases need access to the GCC internal 'sizetype'.
+     Expose it as __SIZETYPE__.  */
+  if (flag_gimple)
+    builtin_define_with_value ("__SIZETYPE__", SIZETYPE, 0);
 }
 
 static void
index 0008ff94b37686a596791418754acac72a9e2830..d076a7717408385b553fdd21240596854e7add58 100644 (file)
@@ -1,3 +1,7 @@
+2019-08-15  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/pr80170.c: Adjust to use __SIZETYPE__.
+
 2019-08-15  Richard Sandiford  <richard.sandiford@arm.com>
 
        * gcc.target/aarch64/sve/loop_add_4.c: Expect 10 INCWs and
index def051a59df9b7e7a37c8fe8d1a2a6269909d944..e400e14142985ff6e2f03384529f526d778504b0 100644 (file)
@@ -24,11 +24,7 @@ NullB (void * misalignedPtr)
   struct B * b;
 
   bb_2:
-#if __SIZEOF_LONG__ == 8
-  b_2 = misalignedPtr_1(D) + 18446744073709551608ul;
-#else
-  b_2 = misalignedPtr_1(D) + 4294967292ul;
-#endif
+  b_2 = misalignedPtr_1(D) + _Literal (__SIZETYPE__) -__SIZEOF_POINTER__;
   __MEM <struct B> (b_2).a.a = _Literal (void *) 0;
   __MEM <struct B> (b_2).a.b = _Literal (void *) 0;
   return;