Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Do not assume that std::int64_t is identical to long int #1488

Conversation

laurynas-biveinis
Copy link
Contributor

@laurynas-biveinis laurynas-biveinis commented Aug 19, 2024

  • printf int64_t values with PRId64
  • Specify std::make_pair template arguments. Alternatively we could introduce a
    constexpr variable for uninitialized opids.

This fixes new macOS build regressions, only one example per error class:

sql/xa.cc:382:11: error: format specifies type 'long' but the argument has type 'long long' [-Werror,-Wformat]
info.smallest_lwm_opid.first, info.smallest_lwm_opid.second,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~

storage/innobase/trx/trx0sys.cc:271:16: error: invalid operands to binary expression ('const std::pair<int64_t, int64_t>' (aka 'const pair<long long, long long>') and 'pair<typename __unwrap_ref_decay::type, typename __unwrap_ref_decay::type>' (aka 'pair<long, long>'))
if (lwm_opid != std::make_pair(-1L, -1L)) {
~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~

Squash with 5f045b4

@facebook-github-bot
Copy link

@luqun has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator.

1 similar comment
@facebook-github-bot
Copy link

@luqun has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator.

@luqun
Copy link
Contributor

luqun commented Sep 6, 2024

@laurynas-biveinis , could you rebase this PR?

- printf int64_t values with PRId64
- Specify std::make_pair template arguments. Alternatively we could introduce a
  constexpr variable for uninitialized opids.

This fixes new macOS build regressions, only one example per error class:

sql/xa.cc:382:11: error: format specifies type 'long' but the argument has type 'long long' [-Werror,-Wformat]
          info.smallest_lwm_opid.first, info.smallest_lwm_opid.second,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~

storage/innobase/trx/trx0sys.cc:271:16: error: invalid operands to binary expression ('const std::pair<int64_t, int64_t>' (aka 'const pair<long long, long long>') and 'pair<typename __unwrap_ref_decay<long>::type, typename __unwrap_ref_decay<long>::type>' (aka 'pair<long, long>'))
  if (lwm_opid != std::make_pair(-1L, -1L)) {
      ~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~

Squash with 5f045b4
@facebook-github-bot
Copy link

@laurynas-biveinis has updated the pull request. You must reimport the pull request before landing.

@laurynas-biveinis
Copy link
Contributor Author

@luqun , rebased

@facebook-github-bot
Copy link

@luqun has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator.

@facebook-github-bot
Copy link

This pull request has been merged in 2dc2bdd.

@laurynas-biveinis laurynas-biveinis deleted the macos-202408-fixes branch September 11, 2024 07:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants