static void pack_ts_omp_clause_value_fields (struct output_block *ob, struct bitpack_d *bp, tree expr) { stream_output_location (ob, bp, OMP_CLAUSE_LOCATION (expr)); switch (OMP_CLAUSE_CODE (expr)) { case OMP_CLAUSE_DEFAULT: bp_pack_enum (bp, omp_clause_default_kind, OMP_CLAUSE_DEFAULT_LAST, OMP_CLAUSE_DEFAULT_KIND (expr)); break; case OMP_CLAUSE_SCHEDULE: bp_pack_enum (bp, omp_clause_schedule_kind, OMP_CLAUSE_SCHEDULE_LAST, OMP_CLAUSE_SCHEDULE_KIND (expr)); break; case OMP_CLAUSE_DEPEND: bp_pack_enum (bp, omp_clause_depend_kind, OMP_CLAUSE_DEPEND_LAST, OMP_CLAUSE_DEPEND_KIND (expr)); break; case OMP_CLAUSE_MAP: bp_pack_enum (bp, gomp_map_kind, GOMP_MAP_LAST, OMP_CLAUSE_MAP_KIND (expr)); break; case OMP_CLAUSE_PROC_BIND: bp_pack_enum (bp, omp_clause_proc_bind_kind, OMP_CLAUSE_PROC_BIND_LAST, OMP_CLAUSE_PROC_BIND_KIND (expr)); break; case OMP_CLAUSE_REDUCTION: bp_pack_enum (bp, tree_code, MAX_TREE_CODES, OMP_CLAUSE_REDUCTION_CODE (expr)); break; default: break; } }
static void unpack_ts_omp_clause_value_fields (struct data_in *data_in, struct bitpack_d *bp, tree expr) { stream_input_location (&OMP_CLAUSE_LOCATION (expr), bp, data_in); switch (OMP_CLAUSE_CODE (expr)) { case OMP_CLAUSE_DEFAULT: OMP_CLAUSE_DEFAULT_KIND (expr) = bp_unpack_enum (bp, omp_clause_default_kind, OMP_CLAUSE_DEFAULT_LAST); break; case OMP_CLAUSE_SCHEDULE: OMP_CLAUSE_SCHEDULE_KIND (expr) = bp_unpack_enum (bp, omp_clause_schedule_kind, OMP_CLAUSE_SCHEDULE_LAST); break; case OMP_CLAUSE_DEPEND: OMP_CLAUSE_DEPEND_KIND (expr) = bp_unpack_enum (bp, omp_clause_depend_kind, OMP_CLAUSE_DEPEND_LAST); break; case OMP_CLAUSE_MAP: OMP_CLAUSE_SET_MAP_KIND (expr, bp_unpack_enum (bp, gomp_map_kind, GOMP_MAP_LAST)); break; case OMP_CLAUSE_PROC_BIND: OMP_CLAUSE_PROC_BIND_KIND (expr) = bp_unpack_enum (bp, omp_clause_proc_bind_kind, OMP_CLAUSE_PROC_BIND_LAST); break; case OMP_CLAUSE_REDUCTION: OMP_CLAUSE_REDUCTION_CODE (expr) = bp_unpack_enum (bp, tree_code, MAX_TREE_CODES); break; default: break; } }