[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ylwrap should be included for any Yacc compilations.
From: |
Derek Price |
Subject: |
Re: ylwrap should be included for any Yacc compilations. |
Date: |
Mon, 04 Apr 2005 16:04:33 -0400 |
User-agent: |
Mozilla Thunderbird 1.0 (Windows/20041206) |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Is the description in this email sufficient:
<https://ccvs.cvshome.org/servlets/ReadMsg?list=test-results&msgNo=13166>?
Basically, Larry had two source directories checked out, one from dev
and one from production. Call the two paths to these sources
/home/larry/dev and /home/larry/prod. /home/larry/prod was cloned off
of /home/larry/dev initially, so /home/larry/prod/getdate.c had been
built by a yacc compiler when getdate.y was still in /home/larry/dev,
leaving it with #line directives containing full paths to the sources
in /home/larry/dev.
Now, apparently, the C compilers on some systems, including the one
from the Sun box mentioned earlier in the thread referenced above:
| Nightly test results for Thu Mar 17 22:49:34 EST 2005 SunOS sun120
| 5.8 Generic sun4u sparc SUNW,Ultra-5_10 10:49pm up 33 day(s),
| 4:40, 1 user, load average: 0.02, 0.02, 0.02
include paths from #line directive in the search path for headers as
if they had been provided as an argument to gcc -I. Once
/home/larry/dev and /home/larry/prod diverged,
/home/larry/prod/getdate.c refused to compile with the newer,
incompatible headers it found in the /home/larry/dev erroneously
placed in its search path due to the #line directives.
I would argue that this behavior with regards to #line directives is
non-optimal in most, if not all, distributed applications and am
guessing someone on the Automake team already agrees with me since the
ylwrap script already strips the full paths from the #line
directives. The only problem is that Automake only chooses to use
ylwrap when two yacc sources are involved since it also solves some
problems involved with compiling multiple yacc sources. This problem
would be solved simply if Automake were to use ylwrap when compiling
even a single yacc source.
If this is not sufficient to reproduce the problem, Larry Jones (CC'd)
can probably provide more details about his environment. He
encountered this in the first place.
Cheers,
Derek
Alexandre Duret-Lutz wrote:
|>>> "Derek" == Derek Price <address@hidden> writes:
|
|
| Derek> ylwrap appears to take care of the problem that Yacc
| compilers like to Derek> generate #line directives in generated C
| sources with complete paths Derek> to source files.
|
| So does the inline rule. Can you provide instructions to reproduce
| the problem ?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (Cygwin)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFCUZ3RLD1OTBfyMaQRAl4hAJ9iuAULMX5bbsFdLJg8X5W3ybJlNgCgxRKp
gg0G5Zl8Ufnrw9zsoLvaFgI=
=JD10
-----END PGP SIGNATURE-----
- Re: ylwrap should be included for any Yacc compilations.,
Derek Price <=