You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@homerdin I don't know which specific compiler and version that produced the error. If you have access to it, will you please try to build the code in the branch associated with this PR: #1668 or have someone at Intel(?) try that branch. The change I made resolves the issue in the Compiler Explorer example for every compiler I tried there.
Please let me know the build/test results, if you have questions, or if there are other issues. Thank you.
Issue reported by @homerdin
Intel ran into this issue in their nightly testing with the newest clang compiler. They created a smaller reproducer shown below (also https://godbolt.org/z/7evq6GT5v ). This is from https://github.com/LLNL/RAJA/blob/eaa93614a319b26aef63b1236e505f93a37c463a/include/RAJA/pattern/kernel/Tile.hpp#L106.
It looks like a bug that wasn’t being caught with older versions, but I’m not an expert on nested class member access.
Thanks,
Brian
#include
#define RAJA_INLINE inline attribute((always_inline))
template
struct IterableTiler {
using Index_type = std::ptrdiff_t;
class iterator
{
const Index_type block_id;
public:
RAJA_INLINE bool operator!=(const IterableTiler &rhs) const
{
return block_id != rhs.block_id;
}
};
};
bwhitney@exaperf-sdpcloud-pvc19:
/jira/cmplrllvm-58711> g++ -c x.cpp/jira/cmplrllvm-58711> icpx -c x.cppbwhitney@exaperf-sdpcloud-pvc19:
x.cpp:16:30: error: no member named 'block_id' in 'IterableTiler'
16 | return block_id != rhs.block_id;
| ~~~ ^
x.cpp:21:29: error: no member named 'block_id' in 'IterableTiler'
21 | return block_id < rhs.block_id;
| ~~~ ^
2 errors generated.
The text was updated successfully, but these errors were encountered: