* c-lex.c (init_lex): Use getenv ("LANG"), not GET_ENVIRONMENT ().
* cccp.c (main): Likewise.
* gcc.c (process_command): Similarly for "GCC_EXEC_PREFIX".
* cccp.c, collect2.c, cpplib.c, gcc.c, config/i386/xm-cygwin32.h:
Rename GET_ENVIRONMENT to GET_ENV_PATH_LIST, and fix some
macro-use bugs.
From-SVN: r22511
+Mon Sep 21 01:53:05 1998 Felix Lee <flee@cygnus.com>
+
+ * c-lex.c (init_lex): Use getenv ("LANG"), not GET_ENVIRONMENT ().
+ * cccp.c (main): Likewise.
+ * gcc.c (process_command): Similarly for "GCC_EXEC_PREFIX".
+
+ * cccp.c, collect2.c, cpplib.c, gcc.c, config/i386/xm-cygwin32.h:
+ Rename GET_ENVIRONMENT to GET_ENV_PATH_LIST, and fix some
+ macro-use bugs.
+
Mon Sep 21 00:52:12 1998 Per Bothner <bothner@cygnus.com>
* Makefile.in (LIBS): Link in libiberty.a.
#ifdef MULTIBYTE_CHARS
#include "mbchar.h"
#include <locale.h>
-
-#ifndef GET_ENVIRONMENT
-#define GET_ENVIRONMENT(ENV_VALUE,ENV_NAME) ((ENV_VALUE) = getenv (ENV_NAME))
-#endif
#endif /* MULTIBYTE_CHARS */
#if USE_CPPLIB
#ifdef MULTIBYTE_CHARS
/* Change to the native locale for multibyte conversions. */
setlocale (LC_CTYPE, "");
- GET_ENVIRONMENT (literal_codeset, "LANG");
+ literal_codeset = getenv ("LANG");
#endif
maxtoken = 40;
#include <locale.h>
#endif /* MULTIBYTE_CHARS */
-#ifndef GET_ENVIRONMENT
-#define GET_ENVIRONMENT(ENV_VALUE,ENV_NAME) ENV_VALUE = getenv (ENV_NAME)
+#ifndef GET_ENV_PATH_LIST
+#define GET_ENV_PATH_LIST(VAR,NAME) do { (VAR) = getenv (NAME); } while (0)
#endif
#ifndef STANDARD_INCLUDE_DIR
#ifdef MULTIBYTE_CHARS
/* Change to the native locale for multibyte conversions. */
setlocale (LC_CTYPE, "");
- GET_ENVIRONMENT (literal_codeset, "LANG");
+ literal_codeset = getenv ("LANG");
#endif
/* Process switches and find input file name. */
/* Some people say that CPATH should replace the standard include dirs,
but that seems pointless: it comes before them, so it overrides them
anyway. */
- GET_ENVIRONMENT (cp, "CPATH");
+ GET_ENV_PATH_LIST (cp, "CPATH");
if (cp && ! no_standard_includes)
path_include (cp);
switch ((objc << 1) + cplusplus)
{
case 0:
- GET_ENVIRONMENT (epath, "C_INCLUDE_PATH");
+ GET_ENV_PATH_LIST (epath, "C_INCLUDE_PATH");
break;
case 1:
- GET_ENVIRONMENT (epath, "CPLUS_INCLUDE_PATH");
+ GET_ENV_PATH_LIST (epath, "CPLUS_INCLUDE_PATH");
break;
case 2:
- GET_ENVIRONMENT (epath, "OBJC_INCLUDE_PATH");
+ GET_ENV_PATH_LIST (epath, "OBJC_INCLUDE_PATH");
break;
case 3:
- GET_ENVIRONMENT (epath, "OBJCPLUS_INCLUDE_PATH");
+ GET_ENV_PATH_LIST (epath, "OBJCPLUS_INCLUDE_PATH");
break;
}
/* If the environment var for this language is set,
extern FILE *fdopen ();
-#ifndef GET_ENVIRONMENT
-#define GET_ENVIRONMENT(ENV_VALUE,ENV_NAME) ENV_VALUE = getenv (ENV_NAME)
+#ifndef GET_ENV_PATH_LIST
+#define GET_ENV_PATH_LIST(VAR,NAME) do { (VAR) = getenv (NAME); } while (0)
#endif
/* Structure to hold all the directories in which to search for files to
struct path_prefix *pprefix;
{
char *p;
- GET_ENVIRONMENT (p, env);
+ GET_ENV_PATH_LIST (p, env);
if (p)
prefix_from_string (p, pprefix);
/* If we allow both '/' and '\' as dir separators, then
allow both unix and win32 PATH syntax */
-#undef GET_ENVIRONMENT
-#define GET_ENVIRONMENT(ENV_VALUE,ENV_NAME) \
-{ \
- char *epath; \
- char *win32epath; \
- \
- epath = win32epath = getenv (ENV_NAME); \
- /* if we have a posix path list, convert to win32 path list */ \
- if (epath != NULL && *epath != 0 && cygwin32_posix_path_list_p (epath)) \
- { \
- win32epath = (char *) xmalloc \
- (cygwin32_posix_to_win32_path_list_buf_size (epath)); \
- cygwin32_posix_to_win32_path_list (epath, win32epath); \
- } \
- ENV_VALUE = win32epath; \
-}
+#undef GET_ENV_PATH_LIST
+#define GET_ENV_PATH_LIST(VAR,NAME) \
+do { \
+ char *_epath; \
+ char *_win32epath; \
+ _epath = _win32epath = getenv (NAME); \
+ /* if we have a posix path list, convert to win32 path list */ \
+ if (_epath != NULL && *_epath != 0 \
+ && cygwin32_posix_path_list_p (_epath)) \
+ { \
+ _win32epath = (char *) xmalloc \
+ (cygwin32_posix_to_win32_path_list_buf_size (_epath)); \
+ cygwin32_posix_to_win32_path_list (_epath, _win32epath); \
+ } \
+ (VAR) = _win32epath; \
+} while (0)
#define PATH_SEPARATOR ';'
#include "cpplib.h"
#include "cpphash.h"
-#ifndef GET_ENVIRONMENT
-#define GET_ENVIRONMENT(ENV_VALUE,ENV_NAME) ENV_VALUE = getenv (ENV_NAME)
+#ifndef GET_ENV_PATH_LIST
+#define GET_ENV_PATH_LIST(VAR,NAME) do { (VAR) = getenv (NAME); } while (0)
#endif
extern char *update_path PARAMS ((char *, char *));
/* Some people say that CPATH should replace the standard include dirs,
but that seems pointless: it comes before them, so it overrides them
anyway. */
- GET_ENVIRONMENT (p, "CPATH");
+ GET_ENV_PATH_LIST (p, "CPATH");
if (p != 0 && ! opts->no_standard_includes)
path_include (pfile, p);
switch ((opts->objc << 1) + opts->cplusplus)
{
case 0:
- GET_ENVIRONMENT (epath, "C_INCLUDE_PATH");
+ GET_ENV_PATH_LIST (epath, "C_INCLUDE_PATH");
break;
case 1:
- GET_ENVIRONMENT (epath, "CPLUS_INCLUDE_PATH");
+ GET_ENV_PATH_LIST (epath, "CPLUS_INCLUDE_PATH");
break;
case 2:
- GET_ENVIRONMENT (epath, "OBJC_INCLUDE_PATH");
+ GET_ENV_PATH_LIST (epath, "OBJC_INCLUDE_PATH");
break;
case 3:
- GET_ENVIRONMENT (epath, "OBJCPLUS_INCLUDE_PATH");
+ GET_ENV_PATH_LIST (epath, "OBJCPLUS_INCLUDE_PATH");
break;
}
/* If the environment var for this language is set,
#define obstack_chunk_alloc xmalloc
#define obstack_chunk_free free
-#ifndef GET_ENVIRONMENT
-#define GET_ENVIRONMENT(ENV_VALUE,ENV_NAME) ENV_VALUE = getenv (ENV_NAME)
+#ifndef GET_ENV_PATH_LIST
+#define GET_ENV_PATH_LIST(VAR,NAME) do { (VAR) = getenv (NAME); } while (0)
#endif
extern char *my_strerror PROTO((int));
int have_o = 0;
int lang_n_infiles = 0;
- GET_ENVIRONMENT (gcc_exec_prefix, "GCC_EXEC_PREFIX");
+ gcc_exec_prefix = getenv ("GCC_EXEC_PREFIX");
n_switches = 0;
n_infiles = 0;
/* COMPILER_PATH and LIBRARY_PATH have values
that are lists of directory names with colons. */
- GET_ENVIRONMENT (temp, "COMPILER_PATH");
+ GET_ENV_PATH_LIST (temp, "COMPILER_PATH");
if (temp)
{
char *startp, *endp;
}
}
- GET_ENVIRONMENT (temp, "LIBRARY_PATH");
+ GET_ENV_PATH_LIST (temp, "LIBRARY_PATH");
if (temp && *cross_compile == '0')
{
char *startp, *endp;
}
/* Use LPATH like LIBRARY_PATH (for the CMU build program). */
- GET_ENVIRONMENT (temp, "LPATH");
+ GET_ENV_PATH_LIST (temp, "LPATH");
if (temp && *cross_compile == '0')
{
char *startp, *endp;