xref: /libCEED/backends/weak/ceed-backend-weak.h (revision b1c579f084fff6512b7ecdc5f1776714eaea68ae)
1d1503016SJeremy L Thompson // Copyright (c) 2017-2026, Lawrence Livermore National Security, LLC and other CEED contributors.
2d1503016SJeremy L Thompson // All Rights Reserved. See the top-level LICENSE and NOTICE files for details.
3d1503016SJeremy L Thompson //
4d1503016SJeremy L Thompson // SPDX-License-Identifier: BSD-2-Clause
5d1503016SJeremy L Thompson //
6d1503016SJeremy L Thompson // This file is part of CEED:  http://github.com/ceed
7d1503016SJeremy L Thompson 
8d1503016SJeremy L Thompson #include <ceed.h>
9d1503016SJeremy L Thompson #include <ceed/backend.h>
10d1503016SJeremy L Thompson #include <stdarg.h>
11d1503016SJeremy L Thompson 
12d1503016SJeremy L Thompson CEED_INTERN int CeedRegister_Weak(const char *name, int num_prefixes, ...);
13*9569b36aSJeremy L Thompson 
14*9569b36aSJeremy L Thompson #define CEED_BACKEND(name, num_prefixes, ...) \
15*9569b36aSJeremy L Thompson   CEED_INTERN int __attribute__((weak)) name(void) { return CeedRegister_Weak(__func__, num_prefixes, __VA_ARGS__); }
16