Closed
Description
For the following example, the compiler gives a "discards qualifiers" warning on src:
array_ptr<const uint8_t> src = ...;
array_ptr<uint8_t> dst = ...;
memcpy<uint8_t>(dst, src, size);
The warning:
warning: passing '_Array_ptr<const uint8_t>' to parameter of type '_Array_ptr<uint8_t>' discards
qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
memcpy<uint8_t>(tmp, (_Array_ptr<const uint8_t>)srcData, srcDataSize);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/clang/6.0.0/include/string_checked.h:65:36: note: passing argument to parameter 'src'
here
const void * restrict src : itype(restrict _Array_ptr<const T>) byte_count(n),
^
1 warning generated.
Why is this warning occurring? There's definitely a const T
right there in the listing of src.
Occurs on Linux, built from master
this evening.
Metadata
Metadata
Assignees
Labels
No labels