OSDN Git Service

* 30_threads/thread/native_handle/typesizes.cc: Do not run on cygwin.
[pf3gnuchains/gcc-fork.git] / gcc / gimple-streamer-in.c
index 862c5b0..1b6bf4b 100644 (file)
@@ -162,6 +162,8 @@ input_gimple_stmt (struct lto_input_block *ib, struct data_in *data_in,
                  type = DECL_CONTEXT (field);
                  for (tem = TYPE_FIELDS (type); tem; tem = TREE_CHAIN (tem))
                    {
+                     if (TREE_CODE (tem) != FIELD_DECL)
+                       continue;
                      if (tem == field)
                        break;
                      if (DECL_NONADDRESSABLE_P (tem)
@@ -219,18 +221,11 @@ input_gimple_stmt (struct lto_input_block *ib, struct data_in *data_in,
        }
       if (is_gimple_call (stmt))
        {
-         tree fndecl;
          if (gimple_call_internal_p (stmt))
            gimple_call_set_internal_fn
              (stmt, streamer_read_enum (ib, internal_fn, IFN_LAST));
          else
            gimple_call_set_fntype (stmt, stream_read_tree (ib, data_in));
-         /* Update the non-inlinable flag conservatively.  */
-         fndecl = gimple_call_fndecl (stmt);
-         if (fndecl
-             && !gimple_call_cannot_inline_p (stmt)
-             && !gimple_check_call_matching_types (stmt, fndecl))
-           gimple_call_set_cannot_inline (stmt, true);
        }
       break;
 
@@ -238,6 +233,10 @@ input_gimple_stmt (struct lto_input_block *ib, struct data_in *data_in,
     case GIMPLE_PREDICT:
       break;
 
+    case GIMPLE_TRANSACTION:
+      gimple_transaction_set_label (stmt, stream_read_tree (ib, data_in));
+      break;
+
     default:
       internal_error ("bytecode stream: unknown GIMPLE statement tag %s",
                      lto_tag_name (tag));