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

[DRAFT] Make IsRelocatable use the Clang builtin __is_trivially_relocatable(T) #2159

Closed
wants to merge 1 commit into from

Conversation

Quuxplusone
Copy link
Contributor

Clang 18's __is_trivially_relocatable(T) isn't yet compatible with Folly's use of the term; false negatives are fine, but Clang dangerously gives false positives. However, after llvm/llvm-project#84621, the builtin will no longer give any (known) false positives, which means it will be safe for Folly to start using the builtin as of Clang 19+.

I'm posting this here hoping to kickstart a Folly discussion — "is Folly in favor of the Clang patch? would Folly indeed start using the Clang builtin, if it were long-term supported with the Folly(/Abseil/BSL/Qt/P1144/etc) semantics?"

Please do not merge this patch until llvm/llvm-project#84621 is successfully merged upstream; that patch is a prerequisite for this one.

@Quuxplusone
Copy link
Contributor Author

(attn @ot, @Gownta)

Clang 18's `__is_trivially_relocatable(T)` isn't yet compatible with Folly's
use of the term; false negatives are fine, but Clang dangerously gives
false positives. However, after llvm/llvm-project#84621 ,
the builtin will no longer give any (known) false positives, which means
it will be safe for Folly to start using the builtin as of Clang 19+.
@facebook-github-bot
Copy link
Contributor

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

@Quuxplusone
Copy link
Contributor Author

Suggest closing this one in favor of #2216.

@Orvid Orvid closed this Jun 4, 2024
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.

None yet

3 participants