This is the front-end portion of the Unified Shared Memory implementation. It removes the "sorry, unimplemented message" in C, C++, and Fortran, and sets flag_offload_memory, but is otherwise inactive, for now. It also checks that -foffload-memory isn't set to an incompatible mode. gcc/c/ChangeLog: * c-parser.cc (c_parser_omp_requires): Allow "requires unified_share_memory" and "unified_address". gcc/cp/ChangeLog: * parser.cc (cp_parser_omp_requires): Allow "requires unified_share_memory" and "unified_address". gcc/fortran/ChangeLog: * openmp.cc (gfc_match_omp_requires): Allow "requires unified_share_memory" and "unified_address". gcc/testsuite/ChangeLog: * c-c++-common/gomp/usm-1.c: New test. * c-c++-common/gomp/usm-4.c: New test. * gfortran.dg/gomp/usm-1.f90: New test. * gfortran.dg/gomp/usm-4.f90: New test. --- gcc/c/c-parser.cc | 22 ++++++++++++++++++++-- gcc/cp/parser.cc | 22 ++++++++++++++++++++-- gcc/fortran/openmp.cc | 13 +++++++++++++ gcc/testsuite/c-c++-common/gomp/usm-1.c | 4 ++++ gcc/testsuite/c-c++-common/gomp/usm-4.c | 4 ++++ gcc/testsuite/gfortran.dg/gomp/usm-1.f90 | 6 ++++++ gcc/testsuite/gfortran.dg/gomp/usm-4.f90 | 6 ++++++ 7 files changed, 73 insertions(+), 4 deletions(-) create mode 100644 gcc/testsuite/c-c++-common/gomp/usm-1.c create mode 100644 gcc/testsuite/c-c++-common/gomp/usm-4.c create mode 100644 gcc/testsuite/gfortran.dg/gomp/usm-1.f90 create mode 100644 gcc/testsuite/gfortran.dg/gomp/usm-4.f90