Page MenuHomePhabricator

[OpenMP][FIX] Verify compatible types for declare variant calls

Authored by jdoerfert on Sep 27 2020, 2:17 PM.



Especially for templates we need to check at some point if the base
function matches the specialization we might call instead. Before this
lead to the replacement of std::sqrt(int(2)) calls with one that
converts the argument to a std::complex<int>, clearly not the desired

Reported as PR47655

Diff Detail

Event Timeline

jdoerfert created this revision.Sep 27 2020, 2:17 PM
Herald added a project: Restricted Project. · View Herald TranscriptSep 27 2020, 2:17 PM
jdoerfert requested review of this revision.Sep 27 2020, 2:17 PM
jdoerfert updated this revision to Diff 294567.Sep 27 2020, 2:30 PM

Remove lefotver dump

jdoerfert updated this revision to Diff 294596.Sep 27 2020, 9:45 PM

Add instantiation check and expand test case

The minimal reproducer and full app work now.

JonChesterfield accepted this revision.Sep 28 2020, 8:34 AM

Change looks reasonable in itself too

This revision is now accepted and ready to land.Sep 28 2020, 8:34 AM
This revision was landed with ongoing or failed builds.Sep 28 2020, 9:28 PM
This revision was automatically updated to reflect the committed changes.