Why is this an issue?

A floating point value is implicitly converted to a wider floating point type.

This is not necessarily wrong but make sure that it is really what was supposed to be implemented. If so, add an explicit cast.

How to fix it

Code examples

Noncompliant code example

function automatic f(shortreal s);
  real r = s;
endfunction

Compliant solution

function automatic f(shortreal s);
  real r = real'(s);
endfunction