mirror of git://gcc.gnu.org/git/gcc.git
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:
parent
4f5897513d
commit
f1bf410cad
|
@ -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>
|
2009-06-23 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
|
||||||
|
|
||||||
* directives.c (parse_include): Add location argument. Update all
|
* directives.c (parse_include): Add location argument. Update all
|
||||||
|
|
|
@ -33,7 +33,10 @@ AUTOHEADER = @AUTOHEADER@
|
||||||
CATALOGS = $(patsubst %,po/%,@CATALOGS@)
|
CATALOGS = $(patsubst %,po/%,@CATALOGS@)
|
||||||
CC = @CC@
|
CC = @CC@
|
||||||
CFLAGS = @CFLAGS@
|
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@
|
CPP = @CPP@
|
||||||
CPPFLAGS = @CPPFLAGS@
|
CPPFLAGS = @CPPFLAGS@
|
||||||
EXEEXT = @EXEEXT@
|
EXEEXT = @EXEEXT@
|
||||||
|
@ -50,7 +53,8 @@ RANLIB = @RANLIB@
|
||||||
SHELL = @SHELL@
|
SHELL = @SHELL@
|
||||||
USED_CATALOGS = @USED_CATALOGS@
|
USED_CATALOGS = @USED_CATALOGS@
|
||||||
XGETTEXT = @XGETTEXT@
|
XGETTEXT = @XGETTEXT@
|
||||||
DEPMODE = @CCDEPMODE@
|
CCDEPMODE = @CCDEPMODE@
|
||||||
|
CXXDEPMODE = @CXXDEPMODE@
|
||||||
DEPDIR = @DEPDIR@
|
DEPDIR = @DEPDIR@
|
||||||
|
|
||||||
datarootdir = @datarootdir@
|
datarootdir = @datarootdir@
|
||||||
|
@ -68,6 +72,20 @@ INCLUDES = -I$(srcdir) -I. -I$(srcdir)/../include @INCINTL@ \
|
||||||
-I$(srcdir)/include
|
-I$(srcdir)/include
|
||||||
|
|
||||||
ALL_CFLAGS = $(CFLAGS) $(WARN_CFLAGS) $(INCLUDES) $(CPPFLAGS)
|
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 \
|
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 \
|
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
|
install-man update-po install-html
|
||||||
|
|
||||||
# Dependency rule.
|
# Dependency rule.
|
||||||
COMPILE.base = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(ALL_CFLAGS) -c
|
COMPILE.base = $(COMPILER) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(COMPILER_FLAGS) -c
|
||||||
ifeq ($(DEPMODE),depmode=gcc3)
|
ifeq ($(DEPMODE),depmode=gcc3)
|
||||||
# Note that we put the dependencies into a .Tpo file, then move them
|
# 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
|
# into place if the compile succeeds. We need this because gcc does
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -11,8 +11,17 @@ AC_CANONICAL_SYSTEM
|
||||||
AC_PROG_MAKE_SET
|
AC_PROG_MAKE_SET
|
||||||
AC_PROG_INSTALL
|
AC_PROG_INSTALL
|
||||||
AC_PROG_CC
|
AC_PROG_CC
|
||||||
|
AC_PROG_CXX
|
||||||
AC_PROG_RANLIB
|
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
|
MISSING=`cd $ac_aux_dir && ${PWDCMD-pwd}`/missing
|
||||||
AC_CHECK_PROGS([ACLOCAL], [aclocal], [$MISSING aclocal])
|
AC_CHECK_PROGS([ACLOCAL], [aclocal], [$MISSING aclocal])
|
||||||
AC_CHECK_PROGS([AUTOCONF], [autoconf], [$MISSING autoconf])
|
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.
|
# Figure out what compiler warnings we can enable.
|
||||||
# See config/warnings.m4 for details.
|
# See config/warnings.m4 for details.
|
||||||
|
|
||||||
ACX_PROG_CC_WARNING_OPTS([-W -Wall -Wwrite-strings -Wstrict-prototypes \
|
ACX_PROG_CC_WARNING_OPTS([-W -Wall -Wwrite-strings \
|
||||||
-Wmissing-prototypes -Wold-style-definition \
|
-Wmissing-format-attribute], [warn])
|
||||||
-Wmissing-format-attribute])
|
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])
|
ACX_PROG_CC_WARNING_ALMOST_PEDANTIC([-Wno-long-long])
|
||||||
|
|
||||||
# Only enable with --enable-werror-always until existing warnings are
|
# Only enable with --enable-werror-always until existing warnings are
|
||||||
|
@ -32,13 +42,28 @@ ACX_PROG_CC_WARNINGS_ARE_ERRORS([manual])
|
||||||
|
|
||||||
# Dependency checking.
|
# Dependency checking.
|
||||||
ZW_CREATE_DEPDIR
|
ZW_CREATE_DEPDIR
|
||||||
|
if test "$ENABLE_BUILD_WITH_CXX" == "no"; then
|
||||||
ZW_PROG_COMPILER_DEPENDENCIES([CC])
|
ZW_PROG_COMPILER_DEPENDENCIES([CC])
|
||||||
|
else
|
||||||
|
ZW_PROG_COMPILER_DEPENDENCIES([CXX])
|
||||||
|
fi
|
||||||
|
|
||||||
# Checks for header files.
|
# Checks for header files.
|
||||||
AC_HEADER_TIME
|
AC_HEADER_TIME
|
||||||
ACX_HEADER_STRING
|
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)
|
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.
|
# Checks for typedefs, structures, and compiler characteristics.
|
||||||
AC_C_CONST
|
AC_C_CONST
|
||||||
|
|
|
@ -918,7 +918,7 @@ do_line (cpp_reader *pfile)
|
||||||
{
|
{
|
||||||
cpp_string s = { 0, 0 };
|
cpp_string s = { 0, 0 };
|
||||||
if (cpp_interpret_string_notranslate (pfile, &token->val.str, 1,
|
if (cpp_interpret_string_notranslate (pfile, &token->val.str, 1,
|
||||||
&s, false))
|
&s, CPP_STRING))
|
||||||
new_file = (const char *)s.text;
|
new_file = (const char *)s.text;
|
||||||
check_eol (pfile, true);
|
check_eol (pfile, true);
|
||||||
}
|
}
|
||||||
|
@ -974,7 +974,7 @@ do_linemarker (cpp_reader *pfile)
|
||||||
{
|
{
|
||||||
cpp_string s = { 0, 0 };
|
cpp_string s = { 0, 0 };
|
||||||
if (cpp_interpret_string_notranslate (pfile, &token->val.str,
|
if (cpp_interpret_string_notranslate (pfile, &token->val.str,
|
||||||
1, &s, false))
|
1, &s, CPP_STRING))
|
||||||
new_file = (const char *)s.text;
|
new_file = (const char *)s.text;
|
||||||
|
|
||||||
new_sysp = 0;
|
new_sysp = 0;
|
||||||
|
|
|
@ -381,7 +381,7 @@ 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
|
/* 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
|
leak the memory, but mostly so that we don't fragment the
|
||||||
heap. */
|
heap. */
|
||||||
copy = obstack_copy0 (&pfile->nonexistent_file_ob, path,
|
copy = (char *) obstack_copy0 (&pfile->nonexistent_file_ob, path,
|
||||||
strlen (path));
|
strlen (path));
|
||||||
free (path);
|
free (path);
|
||||||
pp = htab_find_slot_with_hash (pfile->nonexistent_file_hash,
|
pp = htab_find_slot_with_hash (pfile->nonexistent_file_hash,
|
||||||
|
@ -1144,7 +1144,7 @@ file_hash_eq (const void *p, const void *q)
|
||||||
static int
|
static int
|
||||||
nonexistent_file_hash_eq (const void *p, const void *q)
|
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. */
|
/* Initialize everything in this source file. */
|
||||||
|
|
|
@ -18,10 +18,6 @@ along with this program; see the file COPYING3. If not see
|
||||||
|
|
||||||
#include "cpplib.h"
|
#include "cpplib.h"
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if !defined (HAVE_UCHAR) && !defined (IN_GCC)
|
#if !defined (HAVE_UCHAR) && !defined (IN_GCC)
|
||||||
typedef unsigned char uchar;
|
typedef unsigned char uchar;
|
||||||
#endif
|
#endif
|
||||||
|
@ -83,7 +79,3 @@ struct GTY(()) cpp_macro {
|
||||||
tokens. */
|
tokens. */
|
||||||
unsigned int extra_tokens : 1;
|
unsigned int extra_tokens : 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -28,10 +28,6 @@ along with this program; see the file COPYING3. If not see
|
||||||
#include "symtab.h"
|
#include "symtab.h"
|
||||||
#include "line-map.h"
|
#include "line-map.h"
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef struct cpp_reader cpp_reader;
|
typedef struct cpp_reader cpp_reader;
|
||||||
typedef struct cpp_buffer cpp_buffer;
|
typedef struct cpp_buffer cpp_buffer;
|
||||||
typedef struct cpp_options cpp_options;
|
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 *,
|
extern int cpp_read_state (cpp_reader *, const char *, FILE *,
|
||||||
struct save_macro_data *);
|
struct save_macro_data *);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* ! LIBCPP_CPPLIB_H */
|
#endif /* ! LIBCPP_CPPLIB_H */
|
||||||
|
|
|
@ -23,10 +23,6 @@ along with this program; see the file COPYING3. If not see
|
||||||
#ifndef LIBCPP_LINE_MAP_H
|
#ifndef LIBCPP_LINE_MAP_H
|
||||||
#define LIBCPP_LINE_MAP_H
|
#define LIBCPP_LINE_MAP_H
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef GTY
|
#ifndef GTY
|
||||||
#define GTY(x) /* nothing */
|
#define GTY(x) /* nothing */
|
||||||
#endif
|
#endif
|
||||||
|
@ -191,8 +187,4 @@ extern const struct line_map *linemap_lookup
|
||||||
extern source_location
|
extern source_location
|
||||||
linemap_position_for_column (struct line_maps *set, unsigned int to_column);
|
linemap_position_for_column (struct line_maps *set, unsigned int to_column);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* !LIBCPP_LINE_MAP_H */
|
#endif /* !LIBCPP_LINE_MAP_H */
|
||||||
|
|
|
@ -23,10 +23,6 @@ along with this program; see the file COPYING3. If not see
|
||||||
#ifndef LIBCPP_MKDEPS_H
|
#ifndef LIBCPP_MKDEPS_H
|
||||||
#define 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.
|
/* This is the data structure used by all the functions in mkdeps.c.
|
||||||
It's quite straightforward, but should be treated as opaque. */
|
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. */
|
automatic dependency schemes. */
|
||||||
extern void deps_phony_targets (const struct deps *, FILE *);
|
extern void deps_phony_targets (const struct deps *, FILE *);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* ! LIBCPP_MKDEPS_H */
|
#endif /* ! LIBCPP_MKDEPS_H */
|
||||||
|
|
|
@ -21,10 +21,6 @@ along with this program; see the file COPYING3. If not see
|
||||||
|
|
||||||
#include "obstack.h"
|
#include "obstack.h"
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef GTY
|
#ifndef GTY
|
||||||
#define GTY(x) /* nothing */
|
#define GTY(x) /* nothing */
|
||||||
#endif
|
#endif
|
||||||
|
@ -104,8 +100,4 @@ extern void ht_load (hash_table *ht, hashnode *entries,
|
||||||
/* Dump allocation statistics to stderr. */
|
/* Dump allocation statistics to stderr. */
|
||||||
extern void ht_dump_statistics (hash_table *);
|
extern void ht_dump_statistics (hash_table *);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* LIBCPP_SYMTAB_H */
|
#endif /* LIBCPP_SYMTAB_H */
|
||||||
|
|
|
@ -163,7 +163,7 @@ ht_lookup_with_hash (hash_table *table, const unsigned char *str,
|
||||||
|
|
||||||
if (table->alloc_subobject)
|
if (table->alloc_subobject)
|
||||||
{
|
{
|
||||||
char *chars = table->alloc_subobject (len + 1);
|
char *chars = (char *) table->alloc_subobject (len + 1);
|
||||||
memcpy (chars, str, len);
|
memcpy (chars, str, len);
|
||||||
chars[len] = '\0';
|
chars[len] = '\0';
|
||||||
HT_STR (node) = (const unsigned char *) chars;
|
HT_STR (node) = (const unsigned char *) chars;
|
||||||
|
|
Loading…
Reference in New Issue