]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/m2/gm2-libs-ch/UnixArgs.cc
Update copyright years.
[thirdparty/gcc.git] / gcc / m2 / gm2-libs-ch / UnixArgs.cc
CommitLineData
1eee94d3
GM
1/* UnixArgs.cc record argc, argv as global variables.
2
83ffe9cd 3Copyright (C) 2009-2023 Free Software Foundation, Inc.
1eee94d3
GM
4Contributed by Gaius Mulley <gaius.mulley@southwales.ac.uk>.
5
6This file is part of GNU Modula-2.
7
8GNU Modula-2 is free software; you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation; either version 3, or (at your option)
11any later version.
12
13GNU Modula-2 is distributed in the hope that it will be useful, but
14WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16General Public License for more details.
17
18Under Section 7 of GPL version 3, you are granted additional
19permissions described in the GCC Runtime Library Exception, version
203.1, as published by the Free Software Foundation.
21
22You should have received a copy of the GNU General Public License and
23a copy of the GCC Runtime Library Exception along with this program;
24see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
25<http://www.gnu.org/licenses/>. */
26
27#include <config.h>
28#include "m2rts.h"
29
30
31extern "C" int UnixArgs_GetArgC (void);
32extern "C" char **UnixArgs_GetArgV (void);
33extern "C" char **UnixArgs_GetEnvV (void);
34
35static int UnixArgs_ArgC;
36static char **UnixArgs_ArgV;
37static char **UnixArgs_EnvV;
38
39
40/* GetArgC returns argc. */
41
42extern "C" int
43UnixArgs_GetArgC (void)
44{
45 return UnixArgs_ArgC;
46}
47
48
49/* GetArgV returns argv. */
50
51extern "C" char **
52UnixArgs_GetArgV (void)
53{
54 return UnixArgs_ArgV;
55}
56
57
58/* GetEnvV returns envv. */
59
60extern "C" char **
61UnixArgs_GetEnvV (void)
62{
63 return UnixArgs_EnvV;
64}
65
66
67extern "C" void
68_M2_UnixArgs_init (int argc, char *argv[], char *envp[])
69{
70 UnixArgs_ArgC = argc;
71 UnixArgs_ArgV = argv;
72 UnixArgs_EnvV = envp;
73}
74
75extern "C" void
76_M2_UnixArgs_finish (int argc, char *argv[], char *envp[])
77{
78}
79
80extern "C" void
81_M2_UnixArgs_dep (void)
82{
83}
84
ec6d1fc0
IS
85extern "C" void __attribute__((__constructor__))
86_M2_UnixArgs_ctor (void)
1eee94d3
GM
87{
88 M2RTS_RegisterModule ("UnixArgs", _M2_UnixArgs_init, _M2_UnixArgs_finish,
89 _M2_UnixArgs_dep);
90}