develooper Front page | perl.perl5.porters | Postings from February 2015

TONYC TPF Grant 4 report #20

From:
Tony Cook
Date:
February 24, 2015 10:19
Subject:
TONYC TPF Grant 4 report #20
Message ID:
20150224101938.GB31058@mars.tony.develop-help.com
[Hours]         [Activity]
2015/02/09      Monday
 0.73           #123554 IRIX 64 test issue – review mail from jhi,
                review code and reply
 1.17           #123754 (security) review, debugging
 0.37           #123752 comment
 2.40           #123554 IRIX issue- review config.sh, debugging, produce a
                patch, mail jhi
 0.38           #123752 research and comment
 0.23           #123751 review and comment
=====
 5.28

2015/02/10      Tuesday
 1.47           #123554 more follow-up, minor patch fix, push to blead
 0.22           #123743 review
 0.47           #123738 review, testing
 1.58           #123638 (security)
 0.55           #123739 review Tux's test code
=====
 4.29

2015/02/11      Wednesday
 0.33           #123786 review and comment
 0.35           #123784 review, start gcc svn up
 0.78           try to reproduce Win32 IPC-Cmd failures
 0.12           #123784 start gcc 5.0 build
 0.28           more IPC-Cmd debugging
 1.85           #123784 install gcc and test, debug and produce a patch,
                comment
 0.62           khw's op/pack.t failures
 0.77           #123790 reproduce, try to debug
=====
 5.10

2015/02/12      Thursday
 0.27           #123791 (security) comment with rejection
 0.17           #123792 (security) comment with rejection
 0.17           #123795 review and fix subject
 0.33           #123784 review discussion and patch
 0.95           #123784 test Errno_pm.PL patch, try to resolve h2ph issue
 0.78           #123784 testing, comment with patch
 2.50           look at khw's pack.t issues
=====
 5.17

Which I calculate is 19.84 hours.

Approximately 14 tickets were reviewed or worked on.

One patch was applied to blead.

[perl #123784] shows perl's dependency on other system tools, in this
case there were two issues when using GCC 5.0.

First, with GCC 5.0, by default the pre-processor with generate #line
entries showing the origin of the definition of a macro that's been
replaced, so the pre-processor was producing output from:

  "EDOM" [[ EDOM ]]

something like:

  #line "errno.c", 1
  "EDOM" [[
  #line "somesystemheader", 100
            33
  #line "errno.c", 1
                ]]

instead of the expected:

  "EDOM" [[ 33 ]]

which ext/Errno/ 's parser couldn't handle.

The other change was expressing compiler defined macros in hex instead
of decimal.

Older versions of GCC define integer constants in decimal:

  # 4.7.2
  $ echo __LONG_MAX__| gcc -E -P -
  9223372036854775807L

while GCC 5.0 defines them in hex:

  # 5.0
  $ echo __LONG_MAX__| gcc -E -P -
  0x7fffffffffffffffL

which the h2ph parser converted to code like:

  unless (defined &__LONG_MAX__) { sub __LONG_MAX__() { &0x7fffffffffffffffL } }

because the preamble code generator didn't handle hex numbers.  The
naive solution is to output:

  unless (defined &__LONG_MAX__) { sub __LONG_MAX__() { 0x7fffffffffffffff } }
 
but this produces compile-time warnings when the pre-defined macros
include hex constants that don't fit in a UV.  Since the end-developer
might not even be using these particular constants I changed them into
run-time warnings, so the code generated for large constants becomes:

  unless (defined &__LONG_MAX__) { sub __LONG_MAX__() { hex('0x7fffffffffffffff') } }



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About