Note that a D-latch is typically something you DON'T want in a FPGA design.
FPGA designs use clocked latches (flipflops), and not this D-latch type (which is not edge sensitive but level sensitive).
Code:
process (c, d)
begin
if (c = '1') the
q <= d;
end if;
end process;