FreeBSD/contrib/gcc/cp/typeck.c
/* Return a constructor for the pointer-to-member-function TYPE using
   the other components as specified.  */
Return a constructor for the pointer-to-member-function TYPE using
the other components as specified.
Return a constructor for the pointer - to - member - function TYPE using the other components as specified .
tree
build_ptrmemfunc1 (tree type, tree delta, tree pfn)
{
  tree u = NULL_TREE;
  tree delta_field;
  tree pfn_field;
  VEC(constructor_elt, gc) *v;
  pfn_field = TYPE_FIELDS (type);
  delta_field = TREE_CHAIN (pfn_field);
  delta = convert_and_check (delta_type_node, delta);
  v = VEC_alloc(constructor_elt, gc, 2);
  CONSTRUCTOR_APPEND_ELT(v, pfn_field, pfn);
  CONSTRUCTOR_APPEND_ELT(v, delta_field, delta);
  u = build_constructor (type, v);
  TREE_CONSTANT (u) = TREE_CONSTANT (pfn) & TREE_CONSTANT (delta);
  TREE_INVARIANT (u) = TREE_INVARIANT (pfn) & TREE_INVARIANT (delta);
  TREE_STATIC (u) = (TREE_CONSTANT (u)
		     && (initializer_constant_valid_p (pfn, TREE_TYPE (pfn))
			 != NULL_TREE)
		     && (initializer_constant_valid_p (delta, TREE_TYPE (delta))
			 != NULL_TREE));
  return u;
}
tree build_ptrmemfunc1 ( tree type , tree delta , tree pfn ) { tree u = NULL_TREE ; tree delta_field ; tree pfn_field ; VEC ( constructor_elt , gc ) * v ; pfn_field = TYPE_FIELDS ( type ) ; delta_field = TREE_CHAIN ( pfn_field ) ; delta = convert_and_check ( delta_type_node , delta ) ; v = VEC_alloc ( constructor_elt , gc , 2 ) ; CONSTRUCTOR_APPEND_ELT ( v , pfn_field , pfn ) ; CONSTRUCTOR_APPEND_ELT ( v , delta_field , delta ) ; u = build_constructor ( type , v ) ; TREE_CONSTANT ( u ) = TREE_CONSTANT ( pfn ) & TREE_CONSTANT ( delta ) ; TREE_INVARIANT ( u ) = TREE_INVARIANT ( pfn ) & TREE_INVARIANT ( delta ) ; TREE_STATIC ( u ) = ( TREE_CONSTANT ( u ) && ( initializer_constant_valid_p ( pfn , TREE_TYPE ( pfn ) ) != NULL_TREE ) && ( initializer_constant_valid_p ( delta , TREE_TYPE ( delta ) ) != NULL_TREE ) ) ; return u ; }
Return a constructor for the pointer-to-member-function TYPE using
the other components as specified.
Return a constructor for the pointer - to - member - function TYPE using the other components as specified .
/* Pull the FIELD_DECLs out of the type.  */ /* Make sure DELTA has the type we want.  */ /* Finish creating the initializer.  */