Message ID | 20160613182841.GT7387@tucnak.redhat.com |
---|---|
State | New |
Headers | show |
On Mon, 13 Jun 2016, Jakub Jelinek wrote: > Hi! > > The SOURCE_DATE_EPOCH env var is ignored during -E, which is undesirable > and inconsistent. The problem is that the appropriate callback for > libcpp is only installed when compiling and not when preprocessing only. > > Fixed thusly, bootstrapped/regtested on x86_64-linux and i686-linux, ok for > trunk? OK.
--- gcc/c-family/c-ppoutput.c.jj 2016-01-04 14:55:58.000000000 +0100 +++ gcc/c-family/c-ppoutput.c 2016-06-12 19:49:50.932112947 +0200 @@ -150,6 +150,7 @@ init_pp_output (FILE *out_stream) } cb->has_attribute = c_common_has_attribute; + cb->get_source_date_epoch = cb_get_source_date_epoch; /* Initialize the print structure. */ print.src_line = 1; --- gcc/testsuite/gcc.dg/cpp/source_date_epoch-3.c.jj 2016-06-12 19:56:49.988696438 +0200 +++ gcc/testsuite/gcc.dg/cpp/source_date_epoch-3.c 2016-06-12 19:57:36.648093343 +0200 @@ -0,0 +1,9 @@ +/* PR preprocessor/71183 */ +/* { dg-do preprocess } */ +/* { dg-set-compiler-env-var SOURCE_DATE_EPOCH "630333296" } */ + +const char *date = __DATE__; +const char *time = __TIME__; + +/* { dg-final { scan-file source_date_epoch-3.i "Dec 22 1989" } } */ +/* { dg-final { scan-file source_date_epoch-3.i "12:34:56" } } */