From f9b57dbd42c94cc178f7ee82e48ae4178828ce94 Mon Sep 17 00:00:00 2001 From: Austin Chu Date: Thu, 13 Apr 2017 14:33:50 -0400 Subject: [PATCH] [fix] don't use unnamed fields in initializers GCC did not support assigning to unnamed fields from designated initializers until 4.6 [1]. Unfortunately, CentOS 6 ships with GCC 4.4, so avoiding this C99 feature is necessary to fix building in CentOS 6 environments. [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=10676 --- src/address_parser_train.c | 4 +++- src/crf_trainer_averaged_perceptron.c | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/address_parser_train.c b/src/address_parser_train.c index 5b0b8893..2252f2cd 100644 --- a/src/address_parser_train.c +++ b/src/address_parser_train.c @@ -783,7 +783,9 @@ address_parser_t *address_parser_init(char *filename) { } if (most_common > -1) { - address_parser_types_t types = {.components = stats.components, .most_common = (uint16_t)most_common}; + address_parser_types_t types; + types.components = stats.components; + types.most_common = (uint16_t)most_common; kh_value(phrase_counts, pk) = (uint32_t)phrase_types_array->n; address_parser_types_array_push(phrase_types_array, types); diff --git a/src/crf_trainer_averaged_perceptron.c b/src/crf_trainer_averaged_perceptron.c index ee3801a2..e411e416 100644 --- a/src/crf_trainer_averaged_perceptron.c +++ b/src/crf_trainer_averaged_perceptron.c @@ -220,7 +220,9 @@ static inline bool crf_averaged_perceptron_trainer_update_weight(khash_t(class_w static inline bool crf_averaged_perceptron_trainer_update_prev_tag_weight(khash_t(prev_tag_class_weights) *weights, uint64_t iter, uint32_t prev_class_id, uint32_t class_id, double value) { class_weight_t weight = NULL_WEIGHT; - tag_bigram_t tag_bigram = {.prev_class_id = prev_class_id, .class_id = class_id}; + tag_bigram_t tag_bigram; + tag_bigram.prev_class_id = prev_class_id; + tag_bigram.class_id = class_id; uint64_t key = tag_bigram.value;