[pr/63582] Don't even store __int128 types if not supported.

DJ Delorie dj@redhat.com
Sat Oct 25 06:29:00 GMT 2014


Fixed PR/63582.  Tested with no regressions on x86-64 and ix86.  Ok?

	* tree.c (build_common_tree_nodes): Don't even store the
	__int128 types if they're not supported.

Index: tree.c
===================================================================
--- tree.c	(revision 216676)
+++ tree.c	(working copy)
@@ -9623,13 +9623,14 @@ build_common_tree_nodes (bool signed_cha
     {
       int_n_trees[i].signed_type = make_signed_type (int_n_data[i].bitsize);
       int_n_trees[i].unsigned_type = make_unsigned_type (int_n_data[i].bitsize);
       TYPE_SIZE (int_n_trees[i].signed_type) = bitsize_int (int_n_data[i].bitsize);
       TYPE_SIZE (int_n_trees[i].unsigned_type) = bitsize_int (int_n_data[i].bitsize);
 
-      if (int_n_data[i].bitsize > LONG_LONG_TYPE_SIZE)
+      if (int_n_data[i].bitsize > LONG_LONG_TYPE_SIZE
+	  && int_n_enabled_p[i])
 	{
 	  integer_types[itk_intN_0 + i * 2] = int_n_trees[i].signed_type;
 	  integer_types[itk_unsigned_intN_0 + i * 2] = int_n_trees[i].unsigned_type;
 	}
     }
 



More information about the Gcc-patches mailing list