Skip to content

Conversation

@t-a-k
Copy link
Contributor

@t-a-k t-a-k commented Oct 19, 2022

I32df, U32uf, and similar macros had been defined in perl.h using preprocessor conditionals, but determining wheter I32 is int or long is pretty hard with preprocessor when INTSIZE == LONGSIZE.
I think it is better to make Configure script determine whether %d or %ld shall be used to format I32 value, as it should know exact underlying type of I32.

Without this change, U32 is typedef'ed to unsigned long and U32uf is defined to "u" for -Duse64bitint build on 32-bit host, which leads a lot of build warnings about mismatches between LINE_Tf (= U32uf) format and line_t (= U32) argument.

@t-a-k t-a-k force-pushed the configure-iu32-format branch from ec4de62 to 758f03a Compare October 20, 2022 14:41
@khwilliamson
Copy link
Contributor

I think these should be squashed into a single commit; but otherwise LGTM

@t-a-k
Copy link
Contributor Author

t-a-k commented Oct 24, 2022

I'm sorry that there is a mistake in uconfig64.sh. I'll fix it (and rebase to current blead).

@t-a-k t-a-k force-pushed the configure-iu32-format branch from 5105258 to f8eec31 Compare October 24, 2022 23:09
@khwilliamson
Copy link
Contributor

@t-a-k Please squash the commits into one, and it will get merged

@demerphq
Copy link
Collaborator

demerphq commented Nov 6, 2022

Doesnt some of this need to be coordinated with @Tux ?

@jkeenan
Copy link
Contributor

jkeenan commented Nov 6, 2022

Do we have any way of testing the changes to the two files in this p.r. pertaining to the plan9 OS?

@tonycoz
Copy link
Contributor

tonycoz commented Nov 7, 2022

Doesnt some of this need to be coordinated with @Tux ?

As long as you let him know, I believe we can just commit, and he'll backport.

Do we have any way of testing the changes to the two files in this p.r. pertaining to the plan9 OS?

If anyone is interested in setting up a VM http://9legacy.org/download.html but I'm not.

@Tux
Copy link
Contributor

Tux commented Nov 7, 2022

Doesnt some of this need to be coordinated with @Tux ?

Yes it does. The change to Configure and related files looks fine, except for the omission of the entries in the Glossary.
If you(plural) add those, go ahead and I'll backport

@t-a-k
Copy link
Contributor Author

t-a-k commented Nov 7, 2022

If you(plural) add those, go ahead and I'll backport

I've pushed a commit (2694c7d) to add Porting/Glossary entries.
(Another push is to update perldelta.)

If this is okay, I will squash the commits into one.

These macros were defined in perl.h using preprocessor conditionals,
but determining wheter I32 is "int" or "long" is pretty hard with
preprocessor, when INTSIZE == LONGSIZE.  The Configure script
should know exact underlying type of I32, so it should be able to
determine whether %d or %ld shall be used to format I32 value
more robustly.

Various pre-configured files, such as uconfig.h, are updated to
align with this.
@t-a-k t-a-k force-pushed the configure-iu32-format branch from f5dd9ac to d902810 Compare November 11, 2022 09:42
@tonycoz tonycoz merged commit a503b74 into Perl:blead Nov 14, 2022
@t-a-k t-a-k deleted the configure-iu32-format branch April 15, 2024 15:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants