| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
C++11 changed from earlier versions to require space between the end of
a string literal and a macro, so that a feature can unambiguously be
added to the language. Starting in g++ 6.2, the compiler emits a
deprecation warning when there isn't a space (presumably so that future
versions can support C++11). This commit fixes ExtUtils::Constant
This patch also changes any affected lines that exceed 79 columns, as
specified by perlhack.
Code and modules included with the Perl core need to be compilable using
C++. This is so that perl can be embedded in C++ programs. (Actually,
only the hdr files need to be so compilable, but it would be hard to
test that just the hdrs are compilable.) So we need to accommodate
changes to the C++ language.
|
|
|
|
|
|
|
|
|
|
| |
croak doesnt require a context param to be pushed on the c stack,
Perl_croak does, since Perl_croak/croak is very rarily called, minimize
the machine code of the error branches
don't do dTHX in thread aware XS code, this just sets up another my_perl
var for the scope of const-xs BOOT sum masking the original declared
my_perl in the outer C scope
|
|
|
|
|
| |
Spotted by dsteinbrunner@pobox.com, reported as CPAN #85527.
However, I think that the "to to" should be "to do", not "to".
|
|
|
|
|
|
|
|
| |
gcc (and probably others) was warning about a mismatch for between `int`
(implied by the format %d) and the actual type passed, `line_t`. Avoid this
by explicitly casting to UV, and using UVuf.
CPAN #63832
|
|
|
|
|
| |
Avoid warnings from letting 5.005 even think about POSIX charclass constants
in regexps, and use compile-time constants to enable backcompat features.
|
|
|
|
|
|
|
|
|
| |
The reason being that all entries in the tables are guarded
with #ifdef, so if none of the symbols are defined, then we
still end up with an empty table. This actually happens in
the POSIX module on Windows for the "yes" table.
This reverts commit c553cca0 and changes based on it.
|
|
|
|
|
| |
With some compilers NULL is ((void *)0) which isn't type compatible
with the integer returned by hv_exists_ent().
|
|
|
|
|
| |
Typically this would be 'EXPORT_OK', to add all constants to the @EXPORT_OK
array for this package.
|
| |
|
|
|
|
|
|
| |
(Follow on from 4639bd9c727433ad)
For modules such as File::Glob and I18N::Langinfo, which always define all
constants on all platforms, this saves about 700 bytes of object code.
|
|
|
|
| |
This saves the store having to (re)compute the hash.
|
| |
|
|
|
|
|
|
|
| |
For modules such as File::Glob and I18N::Langinfo, which always define all
constants on all platforms, this saves about 1K of object code, plus 1 (empty)
anonymous hash (per process or thread) in
%ExtUtils::Constant::ProxySubs::Missing.
|
|
|
|
| |
All others remain within the scope of the BOOT block.
|
|
|
|
|
|
| |
Use a lexical in place of repeated lc()'s in WriteConstants.
Require ExtUtils::Constant::ProxySubs early, to avoid leaving empty files if it
fails for any reason.
|
| |
|
|
|
|
|
|
|
|
|
| |
Like croak_on_error, this is only useful with the Proxy Constant Subroutine
code, as that adds all known constants to the symbol table at compile time.
The (obvious) additional restriction is that directly implementing AUTOLOAD
is only useful if the package wishes to perform no other autoloading, and to
treat all autoload requests as (failed) constant lookups (with errors describing
them as such).
|
|
|
|
|
|
|
| |
This is only useful with the code that generates Proxy Constant Subroutines, as
this adds all known constants to the symbol table at compile time, meaning that
the only calls to AUTOLOAD will be to load constants not available on this
platform, or for invalid constant names.
|
|
|
|
| |
This was missed from change 575f055216d48b9f.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Previously the code was using the #ifdef generated by macro_to_ifdef(), and
immediately following that with an #else. That was ugly. And longer.
|
|
|
|
|
| |
Previously it was using hv_exists(), requiring extra code to unpack the SV and
convert it to the correct string form for the hash API.
|
|
|