diff options
Diffstat (limited to 'gcc/config/gcn/gcn.cc')
| -rw-r--r-- | gcc/config/gcn/gcn.cc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/config/gcn/gcn.cc b/gcc/config/gcn/gcn.cc index a729ea4..54abf8c 100644 --- a/gcc/config/gcn/gcn.cc +++ b/gcc/config/gcn/gcn.cc @@ -2940,14 +2940,17 @@ gcn_init_cumulative_args (CUMULATIVE_ARGS *cum /* Argument info to init */ , if (!caller && cfun->machine->normal_function) gcn_detect_incoming_pointer_arg (fndecl); - if ((omp_requires_mask & (OMP_REQUIRES_UNIFIED_SHARED_MEMORY - | OMP_REQUIRES_SELF_MAPS)) + static bool warned_xnack = 0; + if (!warned_xnack + && (omp_requires_mask & (OMP_REQUIRES_UNIFIED_SHARED_MEMORY + | OMP_REQUIRES_SELF_MAPS)) && gcn_devices[gcn_arch].xnack_default != HSACO_ATTR_UNSUPPORTED && flag_xnack == HSACO_ATTR_OFF) { warning_at (UNKNOWN_LOCATION, 0, - "Unified Shared Memory is enabled, but XNACK is disabled"); + "Unified Shared Memory is required, but XNACK is disabled"); inform (UNKNOWN_LOCATION, "Try -foffload-options=-mxnack=any"); + warned_xnack = 1; } reinit_regs (); |
