added -fpermissive for warning in StringPrinter