 upper
 implicit none
 character(len=:),allocatable  :: s
    s=' ABCDEFG abcdefg '
    write(*,*) 'mixed-case input string is ....',s
    write(*,*) 'upper-case output string is ...',upper(s)
    write(*,*) 'make first character uppercase  ... ',upper('this is a sentence.',1,1)
    write(*,'(1x,a,*(a:,"+"))') 'upper(3f) is elemental ==&gt;',upper(["abc","def","ghi"])
 end program demo_upper

Expected output

 mixed-case input string is .... ABCDEFG abcdefg
 upper-case output string is ... ABCDEFG ABCDEFG
 