A Separation Logic-Based GCC Plug-in for Checking Manipulation of Dynamic Data Structures