diff options
author | Nicholas Clark <nick@ccl4.org> | 2006-03-27 19:25:02 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2006-03-27 19:25:02 +0000 |
commit | b7f7fd0bbdc7d1d714e682f9a3250ab7d97ac560 (patch) | |
tree | 1ccfddf9fb605037d706ac093b362f55b08cb57a /pod | |
parent | 002ab805506f31960772344deee6173387b1daa2 (diff) | |
download | perl-b7f7fd0bbdc7d1d714e682f9a3250ab7d97ac560.tar.gz |
If constant folding fails, don't fold constants, rather than reporting
the error at compile time. This allows illegal constant expressions in
dead code to be ignored.
p4raw-id: //depot/perl@27615
Diffstat (limited to 'pod')
-rw-r--r-- | pod/perldiag.pod | 5 | ||||
-rw-r--r-- | pod/perltodo.pod | 7 |
2 files changed, 5 insertions, 7 deletions
diff --git a/pod/perldiag.pod b/pod/perldiag.pod index fa290e3cff..7594aac886 100644 --- a/pod/perldiag.pod +++ b/pod/perldiag.pod @@ -2921,6 +2921,11 @@ data. (P) The internal do_trans routines were called with invalid operational data. +=item panic: fold_constants JMPENV_PUSH returned %d + +(P) While attemtping folding constants an exception other than an C<eval> +failure was caught. + =item panic: frexp (P) The library function frexp() failed, making printf("%f") impossible. diff --git a/pod/perltodo.pod b/pod/perltodo.pod index 091ac3afa9..28faab1b59 100644 --- a/pod/perltodo.pod +++ b/pod/perltodo.pod @@ -527,13 +527,6 @@ program if you pass the process ID. It would be good to do this with the Perl debugger on a running Perl program, although I'm not sure how it would be done." ssh and screen do this with named pipes in /tmp. Maybe we can too. -=head2 Constant folding - -The peephole optimiser should trap errors during constant folding, and give -up on the folding, rather than bailing out at compile time. It is quite -possible that the unfoldable constant is in unreachable code, eg something -akin to C<$a = 0/0 if 0;> - =head2 LVALUE functions for lists The old perltodo notes that lvalue functions don't work for list or hash |