Makefile.in (bversion.h, s-bversion): New targets.

* Makefile.in (bversion.h, s-bversion): New targets.
	(TOPLEV_H): Add bversion.h.
	* toplev.h: Include "bversion.h".
	(ATTRIBUTE_GCC_DIAG): When building with checking disabled, use
	the __format__ attribute only if compiling with the same version
	of GCC as the sources (the "build version").

From-SVN: r147792
This commit is contained in:
Ben Elliston 2009-05-22 06:08:04 +00:00 committed by Ben Elliston
parent 52fc669ddf
commit 134ef63846
3 changed files with 20 additions and 2 deletions

View File

@ -1,3 +1,12 @@
2009-05-22 Ben Elliston <bje@au.ibm.com>
* Makefile.in (bversion.h, s-bversion): New targets.
(TOPLEV_H): Add bversion.h.
* toplev.h: Include "bversion.h".
(ATTRIBUTE_GCC_DIAG): When building with checking disabled, use
the __format__ attribute only if compiling with the same version
of GCC as the sources (the "build version").
2009-05-22 Ben Elliston <bje@au.ibm.com> 2009-05-22 Ben Elliston <bje@au.ibm.com>
* c-format.c (handle_format_attribute): Fix comment typo. * c-format.c (handle_format_attribute): Fix comment typo.

View File

@ -792,7 +792,7 @@ endif
# Shorthand variables for dependency lists. # Shorthand variables for dependency lists.
EXCEPT_H = except.h sbitmap.h vecprim.h EXCEPT_H = except.h sbitmap.h vecprim.h
TOPLEV_H = toplev.h input.h TOPLEV_H = toplev.h input.h bversion.h
TARGET_H = $(TM_H) target.h insn-modes.h TARGET_H = $(TM_H) target.h insn-modes.h
MACHMODE_H = machmode.h mode-classes.def insn-modes.h MACHMODE_H = machmode.h mode-classes.def insn-modes.h
HOOKS_H = hooks.h $(MACHMODE_H) HOOKS_H = hooks.h $(MACHMODE_H)
@ -2455,6 +2455,14 @@ targhooks.o : targhooks.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TREE_H) \
$(MACHMODE_H) $(TARGET_DEF_H) $(TARGET_H) $(GGC_H) gt-targhooks.h \ $(MACHMODE_H) $(TARGET_DEF_H) $(TARGET_H) $(GGC_H) gt-targhooks.h \
$(OPTABS_H) $(RECOG_H) reload.h $(OPTABS_H) $(RECOG_H) reload.h
bversion.h: s-bversion; @true
s-bversion: BASE-VER
echo "#define BUILDING_GCC_MAJOR `echo $(BASEVER_c) | sed -e 's/^\([0-9]*\).*$$/\1/'`" > bversion.h
echo "#define BUILDING_GCC_MINOR `echo $(BASEVER_c) | sed -e 's/^[0-9]*\.\([0-9]*\).*$$/\1/'`" >> bversion.h
echo "#define BUILDING_GCC_PATCHLEVEL `echo $(BASEVER_c) | sed -e 's/^[0-9]*\.[0-9]*\.\([0-9]*\)$$/\1/'`" >> bversion.h
echo "#define BUILDING_GCC_VERSION (BUILDING_GCC_MAJOR * 1000 + BUILDING_GCC_MINOR)" >> bversion.h
$(STAMP) s-bversion
toplev.o : toplev.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \ toplev.o : toplev.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
version.h $(RTL_H) $(FUNCTION_H) $(FLAGS_H) xcoffout.h $(INPUT_H) \ version.h $(RTL_H) $(FUNCTION_H) $(FLAGS_H) xcoffout.h $(INPUT_H) \
$(INSN_ATTR_H) output.h $(DIAGNOSTIC_H) debug.h insn-config.h intl.h \ $(INSN_ATTR_H) output.h $(DIAGNOSTIC_H) debug.h insn-config.h intl.h \

View File

@ -21,6 +21,7 @@ along with GCC; see the file COPYING3. If not see
#ifndef GCC_TOPLEV_H #ifndef GCC_TOPLEV_H
#define GCC_TOPLEV_H #define GCC_TOPLEV_H
#include "input.h" #include "input.h"
#include "bversion.h"
/* If non-NULL, return one past-the-end of the matching SUBPART of /* If non-NULL, return one past-the-end of the matching SUBPART of
the WHOLE string. */ the WHOLE string. */
@ -49,7 +50,7 @@ extern void _fatal_insn (const char *, const_rtx, const char *, int, const char
/* None of these functions are suitable for ATTRIBUTE_PRINTF, because /* None of these functions are suitable for ATTRIBUTE_PRINTF, because
each language front end can extend them with its own set of format each language front end can extend them with its own set of format
specifiers. We must use custom format checks. */ specifiers. We must use custom format checks. */
#if GCC_VERSION >= 4001 #if (ENABLE_CHECKING && GCC_VERSION >= 4001) || GCC_VERSION == BUILDING_GCC_VERSION
#define ATTRIBUTE_GCC_DIAG(m, n) __attribute__ ((__format__ (GCC_DIAG_STYLE, m, n))) ATTRIBUTE_NONNULL(m) #define ATTRIBUTE_GCC_DIAG(m, n) __attribute__ ((__format__ (GCC_DIAG_STYLE, m, n))) ATTRIBUTE_NONNULL(m)
#else #else
#define ATTRIBUTE_GCC_DIAG(m, n) ATTRIBUTE_NONNULL(m) #define ATTRIBUTE_GCC_DIAG(m, n) ATTRIBUTE_NONNULL(m)