+ tree s = lookup_attribute ("omp declare simd",
+ DECL_ATTRIBUTES (newdecl));
+ if (s)
+ {
+ tree b
+ = builtin_decl_explicit (DECL_FUNCTION_CODE (newdecl));
+ if (b)
+ {
+ tree s2 = lookup_attribute ("omp declare simd",
+ DECL_ATTRIBUTES (b));
+ while (s)
+ {
+ tree s3;
+ for (s3 = s2; s3;
+ s3 = lookup_attribute ("omp declare simd",
+ TREE_CHAIN (s3)))
+ if (attribute_value_equal (s, s3))
+ break;
+ if (!s3)
+ {
+ s3 = copy_node (s);
+ TREE_CHAIN (s3) = DECL_ATTRIBUTES (b);
+ DECL_ATTRIBUTES (b) = s3;
+ }
+ s = lookup_attribute ("omp declare simd",
+ TREE_CHAIN (s));
+ }
+ }
+ }