I don't see any warnings for this narrowing parameter conversion.
#include "stddef.h"
short foo(short a) { return a % 42; }
size_t bar(void) {
size_t sz = ~0UL;
return foo(sz);
}
https://godbolt.org/z/3ec9v8Pa4