xref: /llvm-project/flang/runtime/environment-default-list.h (revision c91ba04328e1ded6f284469a7828d181324d4e30)
1*0ec3ac9bSJonathon Penix /*===-- runtime/environment-default-list.h --------------------------*- C -*-===
2*0ec3ac9bSJonathon Penix  *
3*0ec3ac9bSJonathon Penix  * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*0ec3ac9bSJonathon Penix  * See https://llvm.org/LICENSE.txt for license information.
5*0ec3ac9bSJonathon Penix  * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*0ec3ac9bSJonathon Penix  *
7*0ec3ac9bSJonathon Penix  * ===-----------------------------------------------------------------------===
8*0ec3ac9bSJonathon Penix  */
9*0ec3ac9bSJonathon Penix 
10*0ec3ac9bSJonathon Penix #ifndef FORTRAN_RUNTIME_ENVIRONMENT_DEFAULT_LIST_H_
11*0ec3ac9bSJonathon Penix #define FORTRAN_RUNTIME_ENVIRONMENT_DEFAULT_LIST_H_
12*0ec3ac9bSJonathon Penix 
13*0ec3ac9bSJonathon Penix /* Try to maintain C compatibility to make it easier to both define environment
14*0ec3ac9bSJonathon Penix  * defaults in non-Fortran main programs as well as pass through the environment
15*0ec3ac9bSJonathon Penix  * default list in C code.
16*0ec3ac9bSJonathon Penix  */
17*0ec3ac9bSJonathon Penix 
18*0ec3ac9bSJonathon Penix struct EnvironmentDefaultItem {
19*0ec3ac9bSJonathon Penix   const char *name;
20*0ec3ac9bSJonathon Penix   const char *value;
21*0ec3ac9bSJonathon Penix };
22*0ec3ac9bSJonathon Penix 
23*0ec3ac9bSJonathon Penix /* Default values for environment variables are packaged by lowering into an
24*0ec3ac9bSJonathon Penix  * instance of this struct to be read and set by the runtime.
25*0ec3ac9bSJonathon Penix  */
26*0ec3ac9bSJonathon Penix struct EnvironmentDefaultList {
27*0ec3ac9bSJonathon Penix   int numItems;
28*0ec3ac9bSJonathon Penix   const struct EnvironmentDefaultItem *item;
29*0ec3ac9bSJonathon Penix };
30*0ec3ac9bSJonathon Penix 
31*0ec3ac9bSJonathon Penix #endif /* FORTRAN_RUNTIME_ENVIRONMENT_DEFAULT_LIST_H_ */
32