1
1

A much better fix for #739. No configure test -- just do a simple

memcpy() instead of assigning the struct's by value.

Fixes trac:739.

This commit was SVN r13081.

The following Trac tickets were found above:
  Ticket 739 --> https://svn.open-mpi.org/trac/ompi/ticket/739
Этот коммит содержится в:
Jeff Squyres 2007-01-11 14:30:32 +00:00
родитель add3909096
Коммит e5205657cf
2 изменённых файлов: 14 добавлений и 4 удалений

Просмотреть файл

@ -176,7 +176,10 @@ int ompi_btl_openib_ini_query(uint32_t vendor_id, uint32_t vendor_part_id,
if (vendor_id == h->vendor_id &&
vendor_part_id == h->vendor_part_id) {
/* Found it! */
*values = h->values;
/* NOTE: There is a bug in the PGI 6.2 series that causes
the compiler to choke when copying structs containing
bool members by value. So do a memcpy here instead. */
memcpy(values, &h->values, sizeof(h->values));
if (mca_btl_openib_component.verbose) {
BTL_OUTPUT(("Found corresponding INI values: %s",
h->section_name));
@ -522,7 +525,11 @@ static int save_section(parsed_section_values_t *s)
h->section_name = strdup(s->name);
h->vendor_id = s->vendor_ids[i];
h->vendor_part_id = s->vendor_part_ids[j];
h->values = s->values;
/* NOTE: There is a bug in the PGI 6.2 series that
causes the compiler to choke when copying structs
containing bool members by value. So do a memcpy
here instead. */
memcpy(&h->values, &s->values, sizeof(s->values));
opal_list_append(&hcas, &h->super);
}
}

Просмотреть файл

@ -201,8 +201,11 @@ static int parse_args(int argc, char *argv[]) {
orte_clean_globals_t tmp = { false, false };
/* Parse the command line options */
orte_clean_globals = tmp;
/* NOTE: There is a bug in the PGI 6.2 series that causes the
compiler to choke when copying structs containing bool members
by value. So do a memcpy here instead. */
memcpy(&orte_clean_globals, &tmp, sizeof(tmp));
opal_cmd_line_create(&cmd_line, cmd_line_opts);