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

Update internal absl to latest LTS #213

Merged
merged 12 commits into from
Jan 10, 2023
Merged

Update internal absl to latest LTS #213

merged 12 commits into from
Jan 10, 2023

Conversation

paleolimbot
Copy link
Collaborator

We have a new warning on the check page:

In member function 'std::__atomic_base<_IntTp>::__int_type std::__atomic_base<_IntTp>::fetch_add(__int_type, std::memory_order) [with _ITp = int]',
    inlined from 'void absl::lts_20210324::cord_internal::Refcount::Increment()' at ../src/absl/strings/internal/cord_internal.h:80:21,
    inlined from 'static absl::lts_20210324::cord_internal::CordRep* absl::lts_20210324::cord_internal::CordRep::Ref(absl::lts_20210324::cord_internal::CordRep*)' at ../src/absl/strings/internal/cord_internal.h:526:26,
    inlined from 'absl::lts_20210324::cord_internal::CordRep* absl::lts_20210324::Cord::TakeRep() const &' at absl/strings/cord.cc:677:22,
    inlined from 'void absl::lts_20210324::Cord::AppendImpl(C&&) [with C = const absl::lts_20210324::Cord&]' at absl/strings/cord.cc:722:23:
d:\rtools43\x86_64-w64-mingw32.static.posix\lib\gcc\x86_64-w64-mingw32.static.posix\12.2.0\include\c++\bits\atomic_base.h:618:34: warning: 'unsigned int __atomic_fetch_add_4(volatile void*, unsigned int, int)' writing 4 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
  618 |       { return __atomic_fetch_add(&_M_i, __i, int(__m)); }
      |                ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~

Unfortunately the "cord" header shows up in the btree_map (which is used in s2), and the "strings" absl component is used by a number of s2 internals as well. This PR is an attempt to update absl to see if that has been fixed.

@paleolimbot paleolimbot mentioned this pull request Jan 6, 2023
21 tasks
@edzer
Copy link
Member

edzer commented Jan 6, 2023

That fixed it locally for me (ubuntu), but win-builder still gives an install error - hard for me to understand that one!

@paleolimbot
Copy link
Collaborator Author

I'll look into it again this evening...I think both absl and R define a Free macro or function!

@codecov-commenter
Copy link

codecov-commenter commented Jan 7, 2023

Codecov Report

Merging #213 (826f625) into main (c317e8e) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #213   +/-   ##
=======================================
  Coverage   94.02%   94.02%           
=======================================
  Files          46       46           
  Lines        3517     3517           
=======================================
  Hits         3307     3307           
  Misses        210      210           

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@paleolimbot
Copy link
Collaborator Author

It looks like there are a few extra format arguments to figure out, but that doesn't seem insurmountable (although may take another day or so for me to get to!)

@paleolimbot
Copy link
Collaborator Author

A few more with -Wpendantic from winbuilder:

Found the following significant warnings:
  ../src/absl/numeric/int128.h:106:22: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:120:21: warning: ISO C++ does not support '__int128' for 'v' [-Wpedantic]
  ../src/absl/numeric/int128.h:121:30: warning: ISO C++ does not support '__int128' for 'v' [-Wpedantic]
  ../src/absl/numeric/int128.h:136:22: warning: ISO C++ does not support '__int128' for 'v' [-Wpedantic]
  ../src/absl/numeric/int128.h:137:31: warning: ISO C++ does not support '__int128' for 'v' [-Wpedantic]
  ../src/absl/numeric/int128.h:162:31: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:163:40: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:283:57: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:350:20: warning: ISO C++ does not support '__int128' for 'v' [-Wpedantic]
  ../src/absl/numeric/int128.h:351:38: warning: ISO C++ does not support '__int128' for 'v' [-Wpedantic]
  ../src/absl/numeric/int128.h:366:21: warning: ISO C++ does not support '__int128' for 'v' [-Wpedantic]
  ../src/absl/numeric/int128.h:390:31: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:391:40: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:461:3: warning: ISO C++ does not support '__int128' for 'v_' [-Wpedantic]
  ../src/absl/numeric/int128.h:518:48: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:574:36: warning: ISO C++ does not support '__int128' for 'v' [-Wpedantic]
  ../src/absl/numeric/int128.h:578:45: warning: ISO C++ does not support '__int128' for 'v' [-Wpedantic]
  ../src/absl/numeric/int128.h:660:28: warning: ISO C++ does not support '__int128' for 'v' [-Wpedantic]
  ../src/absl/numeric/int128.h:662:54: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:663:37: warning: ISO C++ does not support '__int128' for 'v' [-Wpedantic]
  ../src/absl/numeric/int128.h:763:29: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:764:23: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:767:38: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:768:32: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:791:31: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:792:31: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:803:31: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:804:31: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:830:32: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:840:32: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:850:32: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:858:31: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:859:31: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:868:31: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:869:31: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:878:31: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:879:31: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:905:31: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:919:31: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:944:31: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:945:31: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:967:31: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:968:31: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:981:31: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:982:31: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:1006:31: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:1007:31: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:1011:31: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128.h:1012:31: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:24:45: warning: ISO C++ does not support '__int128' for 'v' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:24:11: warning: ISO C++ does not support '__int128' for 'BitCastToSigned' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:30:36: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:31:29: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:32:28: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:37:34: warning: ISO C++ does not support '__int128' for 'v' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:49:50: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:54:64: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:65:26: warning: ISO C++ does not support '__int128' for 'v' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:74:35: warning: ISO C++ does not support '__int128' for 'v' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:74:64: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:77:20: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:81:20: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:85:20: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:88:54: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:146:28: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:148:37: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:149:31: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:203:22: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:203:52: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:207:22: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:207:52: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:211:22: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:211:51: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:215:22: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:215:51: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:219:22: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:219:52: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:223:22: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:223:52: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:228:60: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:230:58: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:232:62: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:237:22: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:237:51: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:241:22: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:241:51: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:245:22: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:245:51: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:249:22: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:249:51: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:253:22: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:253:51: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:279:22: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:279:51: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:283:22: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:283:51: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:287:22: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:287:51: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:291:22: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/numeric/int128_have_intrinsic.inc:295:22: warning: ISO C++ does not support '__int128' for 'type name' [-Wpedantic]
  ../src/absl/container/internal/raw_hash_set.h:531:40: warning: overflow in conversion from 'int' to 'char' changes value from '128' to ''\37777777600'' [-Woverflow]

I'll have to look how I solved this before since it must have come up last time too.

@paleolimbot
Copy link
Collaborator Author

Ok! We're down to

  ../src/absl/container/internal/raw_hash_set.h:531:40: warning: overflow in conversion from 'int' to 'char' changes value from '128' to ''\37777777600'' [-Woverflow]
See 'd:/RCompile/CRANguest/R-devel/s2.Rcheck/00install.out' for details.

(on Winbuilder)

@paleolimbot
Copy link
Collaborator Author

This passes winbuilder...I also sent a check out to rhub::check_for_cran()!

@paleolimbot paleolimbot merged commit 800792e into main Jan 10, 2023
@paleolimbot paleolimbot deleted the absl-update branch January 10, 2023 13:59
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.

3 participants