This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
don't use version_string in cpphash.c
- To: gcc-patches at gcc dot gnu dot org
- Subject: don't use version_string in cpphash.c
- From: Zack Weinberg <zack at wolery dot cumb dot org>
- Date: Sun, 12 Mar 2000 16:29:18 -0800
This patch restricts the use of version_string in cpplib to cppinit.c.
zw
* cpphash.c: Don't include version.h.
(special_symbol) [case T_VERSION]: Look for the string in
hp->value.cpval; don't use version_string.
* cppinit.c (initialize_builtins): Set hp->value.cpval for
__VERSION__ to version_string.
* Makefile.in (cpphash.o): Update deps.
===================================================================
Index: cpphash.c
--- cpphash.c 2000/03/12 23:46:05 1.53
+++ cpphash.c 2000/03/13 00:06:16
@@ -28,7 +28,6 @@ Foundation, 59 Temple Place - Suite 330,
#include "cpplib.h"
#include "cpphash.h"
#include "hashtab.h"
-#include "version.h"
#undef abort
static unsigned int hash_HASHNODE PARAMS ((const void *));
@@ -876,10 +875,10 @@ special_symbol (hp, pfile)
}
case T_VERSION:
- len = strlen (version_string);
+ len = strlen (hp->value.cpval);
CPP_RESERVE (pfile, 3 + len);
CPP_PUTC_Q (pfile, '"');
- CPP_PUTS_Q (pfile, version_string, len);
+ CPP_PUTS_Q (pfile, hp->value.cpval, len);
CPP_PUTC_Q (pfile, '"');
CPP_NUL_TERMINATE_Q (pfile);
return;
===================================================================
Index: cppinit.c
--- cppinit.c 2000/03/12 23:46:05 1.62
+++ cppinit.c 2000/03/13 00:06:16
@@ -608,7 +608,8 @@ struct builtin
};
#define DUMP 0x01
#define STDC 0x02
-#define ULP 0x10
+#define VERS 0x04
+#define ULP 0x08
static const struct builtin builtin_array[] =
{
@@ -618,7 +619,7 @@ static const struct builtin builtin_arra
{ "__BASE_FILE__", 0, T_BASE_FILE, 0 },
{ "__LINE__", 0, T_SPECLINE, 0 },
{ "__INCLUDE_LEVEL__", 0, T_INCLUDE_LEVEL, 0 },
- { "__VERSION__", 0, T_VERSION, DUMP },
+ { "__VERSION__", 0, T_VERSION, DUMP|VERS },
{ "__STDC__", 0, T_STDC, DUMP|STDC },
{ "__USER_LABEL_PREFIX__", 0, T_CONST, ULP },
@@ -651,9 +652,14 @@ initialize_builtins (pfile)
if ((b->flags & STDC) && CPP_TRADITIONAL (pfile))
continue;
- val = (b->flags & ULP) ? user_label_prefix : b->value;
- len = strlen (b->name);
+ if (b->flags & ULP)
+ val = user_label_prefix;
+ else if (b->flags & VERS)
+ val = version_string;
+ else
+ val = b->value;
+ len = strlen (b->name);
hp = _cpp_make_hashnode (b->name, len, b->type, -1);
hp->value.cpval = val;
*(htab_find_slot (pfile->hashtab, (void *)hp, 1)) = hp;
@@ -665,6 +671,7 @@ initialize_builtins (pfile)
}
#undef DUMP
#undef STDC
+#undef VERS
#undef ULP
/* Another subroutine of cpp_start_read. This one sets up to do
===================================================================
Index: Makefile.in
--- Makefile.in 2000/03/12 23:46:05 1.397
+++ Makefile.in 2000/03/13 00:06:17
@@ -2049,7 +2049,7 @@ cppulp.o: cppulp.c $(CONFIG_H) syste
cpperror.o: cpperror.c $(CONFIG_H) $(LIBCPP_DEPS)
cppexp.o: cppexp.c $(CONFIG_H) $(LIBCPP_DEPS)
cppfiles.o: cppfiles.c $(CONFIG_H) $(LIBCPP_DEPS) $(HASHTAB_H)
-cpphash.o: cpphash.c $(CONFIG_H) $(LIBCPP_DEPS) $(HASHTAB_H) version.h
+cpphash.o: cpphash.c $(CONFIG_H) $(LIBCPP_DEPS) $(HASHTAB_H)
cpplib.o: cpplib.c $(CONFIG_H) $(LIBCPP_DEPS) $(HASHTAB_H) mkdeps.h
cppinit.o: cppinit.c $(CONFIG_H) $(LIBCPP_DEPS) $(HASHTAB_H) mkdeps.h \