you invoke sendSMS() every time you want to send , but you never defined it,
instead sending() is what you defined
go to line that says 'void sending(String msg)' and change it to 'void sendSMS(String msg)'
can you put
myserial.println("AT+CMGF=1");
delay(5000);
somewhere in gsmInit() ( which is in setup() )
gms modules have flash memory, so it 'remembers' the value of 'at+cmgf' indefinitely, you don't have to invoke it every time you send SMS