directives.c (do_linemarker, do_line): Use CPP_STRING for ignored enum value.

2009-07-17  Jerry Quinn  <jlquinn@optonline.net>

	* directives.c (do_linemarker, do_line): Use CPP_STRING for
	ignored enum value.
	* files.c (find_file_in_dir): Add cast from void* to char*.
	* symtab.c (ht_lookup_with_hash): Add cast from void* to char*.
	* Makefile.in: (WARN_CFLAGS): Use general and C-specific
	warnings.
	(CXX, CXXFLAGS, WARN_CXXFLAGS, ALL_CXXFLAGS,
	ENABLE_BUILD_WITH_CXX, CCDEPMODE, CXXDEPMODE, COMPILER,
	COMPILER_FLAGS): New.
	(DEPMODE): Set from CCDEPMODE or CXXDEPMODE.
	(COMPILE.base): Use COMPILER instead of CC.  Use COMPILER_FLAGS
	instead of ALL_CFLAGS.
	* configure.ac: Invoke AC_PROG_CXX.  Separate C-specific warnings
	from other warnings.  Add -Wc++-compat to C-specific warnings.
	Check for --enable-build-with-cxx.  Set and substitute
	ENABLE_BUILD_WITH_CXX.  Invoke ZW_PROG_COMPILER_DEPENDENCIES
	according to ENABLE_BUILD_WITH_CXX.  Invoke AC_LANG before
	AC_CHECK_HEADERS.
	* configure: Rebuild.
	* include/cpp-id-data.h: Remove extern "C".
	* include/line-map.h: Likewise.
	* include/mkdeps.h: Likewise.
	* include/symtab.h: Likewise.
	* internal.h: Likewise.

From-SVN: r149763
This commit is contained in:
Jerry Quinn 2009-07-18 03:22:16 +00:00 committed by Jerry Quinn
parent 4f5897513d
commit f1bf410cad
12 changed files with 1110 additions and 111 deletions

View File

@ -1,3 +1,30 @@
2009-07-17 Jerry Quinn <jlquinn@optonline.net>
* directives.c (do_linemarker, do_line): Use CPP_STRING for
ignored enum value.
* files.c (find_file_in_dir): Add cast from void* to char*.
* symtab.c (ht_lookup_with_hash): Add cast from void* to char*.
* Makefile.in: (WARN_CFLAGS): Use general and C-specific
warnings.
(CXX, CXXFLAGS, WARN_CXXFLAGS, ALL_CXXFLAGS,
ENABLE_BUILD_WITH_CXX, CCDEPMODE, CXXDEPMODE, COMPILER,
COMPILER_FLAGS): New.
(DEPMODE): Set from CCDEPMODE or CXXDEPMODE.
(COMPILE.base): Use COMPILER instead of CC. Use COMPILER_FLAGS
instead of ALL_CFLAGS.
* configure.ac: Invoke AC_PROG_CXX. Separate C-specific warnings
from other warnings. Add -Wc++-compat to C-specific warnings.
Check for --enable-build-with-cxx. Set and substitute
ENABLE_BUILD_WITH_CXX. Invoke ZW_PROG_COMPILER_DEPENDENCIES
according to ENABLE_BUILD_WITH_CXX. Invoke AC_LANG before
AC_CHECK_HEADERS.
* configure: Rebuild.
* include/cpp-id-data.h: Remove extern "C".
* include/line-map.h: Likewise.
* include/mkdeps.h: Likewise.
* include/symtab.h: Likewise.
* internal.h: Likewise.
2009-06-23 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
* directives.c (parse_include): Add location argument. Update all

View File

@ -33,7 +33,10 @@ AUTOHEADER = @AUTOHEADER@
CATALOGS = $(patsubst %,po/%,@CATALOGS@)
CC = @CC@
CFLAGS = @CFLAGS@
WARN_CFLAGS = @WARN_CFLAGS@ @WARN_PEDANTIC@ @WERROR@
WARN_CFLAGS = @warn@ @c_warn@ @WARN_PEDANTIC@ @WERROR@
CXX = @CXX@
CXXFLAGS = @CXXFLAGS@
WARN_CXXFLAGS = @warn@ @WARN_PEDANTIC@ @WERROR@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
EXEEXT = @EXEEXT@
@ -50,7 +53,8 @@ RANLIB = @RANLIB@
SHELL = @SHELL@
USED_CATALOGS = @USED_CATALOGS@
XGETTEXT = @XGETTEXT@
DEPMODE = @CCDEPMODE@
CCDEPMODE = @CCDEPMODE@
CXXDEPMODE = @CXXDEPMODE@
DEPDIR = @DEPDIR@
datarootdir = @datarootdir@
@ -68,6 +72,20 @@ INCLUDES = -I$(srcdir) -I. -I$(srcdir)/../include @INCINTL@ \
-I$(srcdir)/include
ALL_CFLAGS = $(CFLAGS) $(WARN_CFLAGS) $(INCLUDES) $(CPPFLAGS)
ALL_CXXFLAGS = $(CXXFLAGS) $(WARN_CXXFLAGS) $(INCLUDES) $(CPPFLAGS)
# The name of the compiler to use.
ENABLE_BUILD_WITH_CXX = @ENABLE_BUILD_WITH_CXX@
ifneq ($(ENABLE_BUILD_WITH_CXX),yes)
COMPILER = $(CC)
COMPILER_FLAGS = $(ALL_CFLAGS)
DEPMODE = $(CCDEPMODE)
else
COMPILER = $(CXX)
COMPILER_FLAGS = $(ALL_CXXFLAGS)
DEPMODE = $(CXXDEPMODE)
endif
libcpp_a_OBJS = charset.o directives.o directives-only.o errors.o \
expr.o files.o identifiers.o init.o lex.o line-map.o macro.o \
@ -189,7 +207,7 @@ update-po: $(CATALOGS:.gmo=.pox)
install-man update-po install-html
# Dependency rule.
COMPILE.base = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(ALL_CFLAGS) -c
COMPILE.base = $(COMPILER) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(COMPILER_FLAGS) -c
ifeq ($(DEPMODE),depmode=gcc3)
# Note that we put the dependencies into a .Tpo file, then move them
# into place if the compile succeeds. We need this because gcc does

1085
libcpp/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -11,8 +11,17 @@ AC_CANONICAL_SYSTEM
AC_PROG_MAKE_SET
AC_PROG_INSTALL
AC_PROG_CC
AC_PROG_CXX
AC_PROG_RANLIB
# See if we are building gcc with C++.
# Do this early so setting lang to C++ affects following tests
AC_ARG_ENABLE(build-with-cxx,
[ --enable-build-with-cxx build with C++ compiler instead of C compiler],
ENABLE_BUILD_WITH_CXX=$enableval,
ENABLE_BUILD_WITH_CXX=no)
AC_SUBST(ENABLE_BUILD_WITH_CXX)
MISSING=`cd $ac_aux_dir && ${PWDCMD-pwd}`/missing
AC_CHECK_PROGS([ACLOCAL], [aclocal], [$MISSING aclocal])
AC_CHECK_PROGS([AUTOCONF], [autoconf], [$MISSING autoconf])
@ -21,9 +30,10 @@ AC_CHECK_PROGS([AUTOHEADER], [autoheader], [$MISSING autoheader])
# Figure out what compiler warnings we can enable.
# See config/warnings.m4 for details.
ACX_PROG_CC_WARNING_OPTS([-W -Wall -Wwrite-strings -Wstrict-prototypes \
-Wmissing-prototypes -Wold-style-definition \
-Wmissing-format-attribute])
ACX_PROG_CC_WARNING_OPTS([-W -Wall -Wwrite-strings \
-Wmissing-format-attribute], [warn])
ACX_PROG_CC_WARNING_OPTS([-Wstrict-prototypes -Wmissing-prototypes \
-Wold-style-definition -Wc++-compat], [c_warn])
ACX_PROG_CC_WARNING_ALMOST_PEDANTIC([-Wno-long-long])
# Only enable with --enable-werror-always until existing warnings are
@ -32,13 +42,28 @@ ACX_PROG_CC_WARNINGS_ARE_ERRORS([manual])
# Dependency checking.
ZW_CREATE_DEPDIR
if test "$ENABLE_BUILD_WITH_CXX" == "no"; then
ZW_PROG_COMPILER_DEPENDENCIES([CC])
else
ZW_PROG_COMPILER_DEPENDENCIES([CXX])
fi
# Checks for header files.
AC_HEADER_TIME
ACX_HEADER_STRING
AC_CHECK_HEADERS(locale.h fcntl.h limits.h stddef.h \
# AC_CHECK_HEADERS is repeated to work around apparent autoconf 2.59 bug. If
# AC_CHECK_HEADERS comes after the if clause, the last AC_LANG call gets used,
# no matter which branch is taken.
if test "$ENABLE_BUILD_WITH_CXX" == "no"; then
AC_LANG(C)
AC_CHECK_HEADERS(locale.h fcntl.h limits.h stddef.h \
stdlib.h strings.h string.h sys/file.h unistd.h)
else
AC_LANG(C++)
AC_CHECK_HEADERS(locale.h fcntl.h limits.h stddef.h \
stdlib.h strings.h string.h sys/file.h unistd.h)
fi
# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST

View File

@ -918,7 +918,7 @@ do_line (cpp_reader *pfile)
{
cpp_string s = { 0, 0 };
if (cpp_interpret_string_notranslate (pfile, &token->val.str, 1,
&s, false))
&s, CPP_STRING))
new_file = (const char *)s.text;
check_eol (pfile, true);
}
@ -974,7 +974,7 @@ do_linemarker (cpp_reader *pfile)
{
cpp_string s = { 0, 0 };
if (cpp_interpret_string_notranslate (pfile, &token->val.str,
1, &s, false))
1, &s, CPP_STRING))
new_file = (const char *)s.text;
new_sysp = 0;

View File

@ -381,8 +381,8 @@ find_file_in_dir (cpp_reader *pfile, _cpp_file *file, bool *invalid_pch)
/* We copy the path name onto an obstack partly so that we don't
leak the memory, but mostly so that we don't fragment the
heap. */
copy = obstack_copy0 (&pfile->nonexistent_file_ob, path,
strlen (path));
copy = (char *) obstack_copy0 (&pfile->nonexistent_file_ob, path,
strlen (path));
free (path);
pp = htab_find_slot_with_hash (pfile->nonexistent_file_hash,
copy, hv, INSERT);
@ -1144,7 +1144,7 @@ file_hash_eq (const void *p, const void *q)
static int
nonexistent_file_hash_eq (const void *p, const void *q)
{
return strcmp (p, q) == 0;
return strcmp ((const char *) p, (const char *) q) == 0;
}
/* Initialize everything in this source file. */

View File

@ -18,10 +18,6 @@ along with this program; see the file COPYING3. If not see
#include "cpplib.h"
#ifdef __cplusplus
extern "C" {
#endif
#if !defined (HAVE_UCHAR) && !defined (IN_GCC)
typedef unsigned char uchar;
#endif
@ -83,7 +79,3 @@ struct GTY(()) cpp_macro {
tokens. */
unsigned int extra_tokens : 1;
};
#ifdef __cplusplus
}
#endif

View File

@ -28,10 +28,6 @@ along with this program; see the file COPYING3. If not see
#include "symtab.h"
#include "line-map.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct cpp_reader cpp_reader;
typedef struct cpp_buffer cpp_buffer;
typedef struct cpp_options cpp_options;
@ -933,8 +929,4 @@ extern void cpp_prepare_state (cpp_reader *, struct save_macro_data **);
extern int cpp_read_state (cpp_reader *, const char *, FILE *,
struct save_macro_data *);
#ifdef __cplusplus
}
#endif
#endif /* ! LIBCPP_CPPLIB_H */

View File

@ -23,10 +23,6 @@ along with this program; see the file COPYING3. If not see
#ifndef LIBCPP_LINE_MAP_H
#define LIBCPP_LINE_MAP_H
#ifdef __cplusplus
extern "C" {
#endif
#ifndef GTY
#define GTY(x) /* nothing */
#endif
@ -191,8 +187,4 @@ extern const struct line_map *linemap_lookup
extern source_location
linemap_position_for_column (struct line_maps *set, unsigned int to_column);
#ifdef __cplusplus
}
#endif
#endif /* !LIBCPP_LINE_MAP_H */

View File

@ -23,10 +23,6 @@ along with this program; see the file COPYING3. If not see
#ifndef LIBCPP_MKDEPS_H
#define LIBCPP_MKDEPS_H
#ifdef __cplusplus
extern "C" {
#endif
/* This is the data structure used by all the functions in mkdeps.c.
It's quite straightforward, but should be treated as opaque. */
@ -80,8 +76,4 @@ extern int deps_restore (struct deps *, FILE *, const char *);
automatic dependency schemes. */
extern void deps_phony_targets (const struct deps *, FILE *);
#ifdef __cplusplus
}
#endif
#endif /* ! LIBCPP_MKDEPS_H */

View File

@ -21,10 +21,6 @@ along with this program; see the file COPYING3. If not see
#include "obstack.h"
#ifdef __cplusplus
extern "C" {
#endif
#ifndef GTY
#define GTY(x) /* nothing */
#endif
@ -104,8 +100,4 @@ extern void ht_load (hash_table *ht, hashnode *entries,
/* Dump allocation statistics to stderr. */
extern void ht_dump_statistics (hash_table *);
#ifdef __cplusplus
}
#endif
#endif /* LIBCPP_SYMTAB_H */

View File

@ -163,7 +163,7 @@ ht_lookup_with_hash (hash_table *table, const unsigned char *str,
if (table->alloc_subobject)
{
char *chars = table->alloc_subobject (len + 1);
char *chars = (char *) table->alloc_subobject (len + 1);
memcpy (chars, str, len);
chars[len] = '\0';
HT_STR (node) = (const unsigned char *) chars;