//===-- runtime/entry-names.h -----------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

// Defines the macro RTNAME(n) which decorates the external name of a runtime
// library function or object with extra characters so that it
// (a) is not in the user's name space,
// (b) doesn't conflict with other libraries, and
// (c) prevents incompatible versions of the runtime library from linking
//
// The value of REVISION should not be changed until/unless the API to the
// runtime library must change in some way that breaks backward compatibility.

#ifndef RTNAME
#define NAME_WITH_PREFIX_AND_REVISION(prefix, revision, name) \
  prefix##revision##name
#define RTNAME(name) NAME_WITH_PREFIX_AND_REVISION(_Fortran, A, name)
#endif
