c++: Fix MODULE_VERSION breakage

Adding includes to module.cc triggered the kind of build failure I
wanted to check for.  In this case it was MODULE_VERSION not being
defined, and module.cc's internal #error triggering.  I've relaxed the
check in Make-lang, so we proviude MODULE_VERSION when DEVPHASE is not
empty (rather than when it is 'experimental').  AFAICT devphase is
empty for release builds, and the #error will force us to decide
whether modules is sufficiently baked at that point.

	gcc/cp
	* Make-lang.in (MODULE_VERSION): Override when DEVPHASE not empty.
	* module.cc: Comment.
This commit is contained in:
Nathan Sidwell
2020-12-08 06:31:31 -08:00
parent 210d143dbc
commit 0bd4fecbea
2 changed files with 3 additions and 1 deletions

View File

@@ -57,7 +57,8 @@ CFLAGS-cp/g++spec.o += $(DRIVER_DEFINES)
CFLAGS-cp/module.o += -DHOST_MACHINE=\"$(host)\" \
-DTARGET_MACHINE=\"$(target)\"
ifeq ($(DEVPHASE_c),experimental)
# In non-release builds, use a date-related module version.
ifneq ($(DEVPHASE_c),)
# Some date's don't grok 'r', if so, simply use today's
# date (don't bootstrap at midnight).
MODULE_VERSION := $(shell date -r $(srcdir)/cp/module.cc '+%y%m%d-%H%M' \

View File

@@ -32,6 +32,7 @@ along with GCC; see the file COPYING3. If not see
#define MODULE_MINOR(V) ((V) % 10000)
#define EXPERIMENT(A,B) (IS_EXPERIMENTAL (MODULE_VERSION) ? (A) : (B))
#ifndef MODULE_VERSION
// Be sure you're ready! Remove #error this before release!
#error "Shtopp! What are you doing? This is not ready yet."
#include "bversion.h"
#define MODULE_VERSION (BUILDING_GCC_MAJOR * 10000U + BUILDING_GCC_MINOR)