ChangeLog-2007 200 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777
  1. 2007-12-31 Paul Thomas <pault@gcc.gnu.org>
  2. PR fortran/34558
  3. * interface.c (gfc_compare_types): Prevent linked lists from
  4. putting this function into an endless recursive loop.
  5. 2007-12-26 Daniel Franke <franke.daniel@gmail.com>
  6. PR fortran/34532
  7. * gfortran.texi: Fixed section about implicit conversion of
  8. logical and integer variables.
  9. 2007-12-25 Tobias Burnus <burnus@net-b.de>
  10. PR fortran/34514
  11. * decl.c (attr_decl1): Reject specifying the DIMENSION for
  12. already initialized variable.
  13. (do_parm): Reject PARAMETER for already initialized variable.
  14. 2007-12-25 Daniel Franke <franke.daniel@gmail.com>
  15. PR fortran/34533
  16. * intrinsic.h (gfc_check_etime): Renamed to ...
  17. (gfc_check_dtime_etime): ... this.
  18. (gfc_check_etime_sub): Renamed to ...
  19. (gfc_check_dtime_etime_sub): ... this.
  20. (gfc_resolve_dtime_sub): New prototype.
  21. * check.c (gfc_check_etime): Renamed to ...
  22. (gfc_check_dtime_etime): ... this.
  23. (gfc_check_etime_sub): Renamed to ...
  24. (gfc_check_dtime_etime_sub): ... this.
  25. * iresolve.c (gfc_resolve_dtime_sub): New implementation.
  26. * intrinsic.c (add_functions): Removed alias from ETIME to DTIME,
  27. added stand-alone intrinsic DTIME.
  28. (add_subroutines): Adjusted check and resolve function names for
  29. DTIME and ETIME.
  30. * trans-intrinsic.c (gfc_conv_intrinsic_function): Added DTIME
  31. to known functions in switch.
  32. * intrinsic.texi (DTIME): Added paragraph about thread-safety,
  33. fixed return value section.
  34. (CPU_TIME): Clarified intent and added implementation notes.
  35. 2007-12-23 Tobias Burnus <burnus@net-b.de>
  36. PR fortran/34421
  37. * resolve.c (resolve_entries): Add standard error for functions
  38. returning characters with different length.
  39. 2007-12-23 Daniel Franke <franke.daniel@gmail.com>
  40. PR fortran/34536
  41. * matchexp.c (match_ext_mult_operand): Print warning for unary
  42. operators following arithmetic ones by default.
  43. (match_ext_add_operand): Likewise.
  44. 2007-12-22 Daniel Franke <franke.daniel@gmail.com>
  45. PR fortran/34559
  46. * simplify.c (gfc_simplify_repeat): Added safeguard for empty
  47. string literals.
  48. 2007-12-22 Thomas Koenig <tkoenig@gcc.gnu.org>
  49. PR fortran/34549
  50. * check.c (gfc_check_cshift): Add check that shift is
  51. type INTEGER.
  52. 2007-12-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  53. PR fortran/34540
  54. * iresolve.c (gfc_resolve_cshift): Take optional dim path
  55. only if the argument is an optional itself.
  56. * iresolve.c (gfc_resolve_eoshift): Same.
  57. 2007-12-21 Paul Thomas <pault@gcc.gnu.org>
  58. PR fortran/34438
  59. * trans-decl.c (gfc_finish_var_decl): Do not mark derived types
  60. with default initializers as TREE_STATIC unless they are in the
  61. main program scope.
  62. (gfc_get_symbol_decl): Pass derived types with a default
  63. initializer to gfc_defer_symbol_init.
  64. (init_default_dt): Apply default initializer to a derived type.
  65. (init_intent_out_dt): Call init_default_dt.
  66. (gfc_trans_deferred_vars): Ditto.
  67. * module.c (read_module): Check sym->module is there before
  68. using it in a string comparison.
  69. 2007-12-20 Tobias Burnus <burnus@net-b.de>
  70. PR fortran/34482
  71. * gfortran.texi (BOZ): Document behavior for complex
  72. numbers.
  73. * target-memory.h (gfc_convert_boz): Update prototype.
  74. * target-memory.c (gfc_convert_boz): Add error check
  75. and convert BOZ to smallest possible bit size.
  76. * resolve.c (resolve_ordinary_assign): Check return value.
  77. * expr.c (gfc_check_assign): Ditto.
  78. * simplify.c (simplify_cmplx, gfc_simplify_dble,
  79. gfc_simplify_float, gfc_simplify_real): Ditto.
  80. 2007-12-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  81. PR fortran/34325
  82. * match.h: New function declaration.
  83. * match.c (gfc_match_parens): New function to look for mismatched
  84. parenthesis. (gfc_match_if): Use new function to catch missing '('.
  85. 2007-12-19 Daniel Franke <franke.daniel@gmail.com>
  86. PR fortran/34495
  87. * expr.c (check_init_expr): Check whether variables with flavor
  88. FL_PARAMETER do have a value assigned. Added error messages where
  89. appropriate.
  90. * simplify.c (gfc_simplify_transfer): Added check if the MOLD
  91. argument is a constant if working with initialization
  92. expressions.
  93. 2007-12-17 Tobias Burnus <burnus@net-b.de>
  94. * intrinsic.c (add_functions): Undo change; mark float and
  95. sngl as STD_F77.
  96. * intrinsic.texi (FLOAT, SNGL): Change standard to F77 and later.
  97. * gfortran.texi (BOZ): Make note about FLOAT etc. clearer.
  98. 2007-12-16 Tobias Burnus <burnus@net-b.de>
  99. PR fortran/34495
  100. * intrinsic.c (add_functions): Mark float and sngl as STD_GNU.
  101. (gfc_intrinsic_func_interface): Reject REAL, DBLE and CMPLX
  102. in initialization expressions for -std=f95.
  103. 2007-12-16 Thomas Koenig <tkoenig@gcc.gnu.org>
  104. PR fortran/34305
  105. * resolve.c (compare_bound): If either of the types of
  106. the arguments isn't INTEGER, return CMP_UNKNOWN.
  107. 2007-12-16 Tobias Burnus <burnus@net-b.de>
  108. PR fortran/34246
  109. * trans-types.c (gfc_init_types): Change build_type_variant
  110. to build_qualified_type.
  111. (gfc_sym_type): Return gfc_character1_type_node for
  112. character-returning bind(C) functions.
  113. * trans-expr.c (gfc_conv_function_call): Do not set
  114. se->string_length for character-returning bind(c) functions.
  115. (gfc_trans_string_copy,gfc_trans_scalar_assign):
  116. Support also single characters.
  117. 2007-12-16 Bernhard Fischer <aldot@gcc.gnu.org>
  118. * errors.c (gfc_notify_std): As originally stated but improperly
  119. changed, disregard warnings_are_errors for deciding which buffer
  120. to use for warnings.
  121. 2007-12-16 Paul Thomas <pault@gcc.gnu.org>
  122. PR fortran/31213
  123. PR fortran/33888
  124. PR fortran/33998
  125. * trans-array.c (gfc_trans_array_constructor_value): If the
  126. iterator variable does not have a backend_decl, use a local
  127. temporary.
  128. (get_elemental_fcn_charlen): New function to map the character
  129. length of an elemental function onto its actual arglist.
  130. (gfc_conv_expr_descriptor): Call the above so that the size of
  131. the temporary can be evaluated.
  132. * trans-expr.c : Include arith.h and change prototype of
  133. gfc_apply_interface_mapping_to_expr to return void. Change all
  134. references to gfc_apply_interface_mapping_to_expr accordingly.
  135. (gfc_free_interface_mapping): Free the 'expr' field.
  136. (gfc_add_interface_mapping): Add an argument for the actual
  137. argument expression. This is copied to the 'expr' field of the
  138. mapping. Only stabilize the backend_decl if the se is present.
  139. Copy the character length expression and only add it's backend
  140. declaration if se is present. Return without working on the
  141. backend declaration for the new symbol if se is not present.
  142. (gfc_map_intrinsic_function) : To simplify intrinsics 'len',
  143. 'size', 'ubound' and 'lbound' and then to map the result.
  144. (gfc_map_fcn_formal_to_actual): Performs the formal to actual
  145. mapping for the case of a function found in a specification
  146. expression in the interface being mapped.
  147. (gfc_apply_interface_mapping_to_ref): Remove seen_result and
  148. all its references. Remove the inline simplification of LEN
  149. and call gfc_map_intrinsic_function instead. Change the
  150. order of mapping of the actual arguments and simplifying
  151. intrinsic functions. Finally, if a function maps to an
  152. actual argument, call gfc_map_fcn_formal_to_actual.
  153. (gfc_conv_function_call): Add 'e' to the call to
  154. gfc_add_interface_mapping.
  155. * dump-parse-tree.c (gfc_show_symbol_n): New function for
  156. diagnostic purposes.
  157. * gfortran.h : Add prototype for gfc_show_symbol_n.
  158. * trans.h : Add 'expr' field to gfc_add_interface_mapping.
  159. Add 'expr' to prototype for gfc_show_symbol_n.
  160. * resolve.c (resolve_generic_f0): Set specific function as
  161. referenced.
  162. 2007-12-14 Tobias Burnus <burnus@net-b.de>
  163. PR fortran/34438
  164. * resolve.c (resolve_symbol): Do not emit public-variable-
  165. of-private-derived-type error for non-module variables.
  166. 2007-12-14 Tobias Burnus <burnus@net-b.de>
  167. PR fortran/34398
  168. * expr.c (gfc_check_assign): Add range checks for assignments of BOZs.
  169. * resolve.c (resolve_ordinary_assign): Ditto.
  170. * arith.c (gfc_range_check): Fix return value for complex numbers.
  171. 2007-12-14 Daniel Franke <franke.daniel@gmail.com>
  172. PR fortran/34324
  173. * module.c (parse_atom): Fixed parsing of modules files whose
  174. lines are terminated by CRLF.
  175. 2007-12-13 Anton Korobeynikov <asl@math.spbu.ru>
  176. * trans-decl.c (gfc_build_builtin_function_decls): Correct decl
  177. construction for select_string() and internal_unpack()
  178. 2007-12-13 Duncan Sands <baldrick@free.fr>
  179. Anton Korobeynikov <asl@math.spbu.ru>
  180. * trans-expr.c (gfc_conv_structure): Make sure record constructors
  181. for static variables are marked constant.
  182. 2007-12-12 Tobias Burnus <burnus@net-b.de>
  183. PR fortran/34254
  184. * decl.c (match_char_kind): Support use-associated/imported
  185. kind parameters.
  186. (gfc_match_kind_spec): Support als BT_CHARACTER, when
  187. re-scanning kind spec.
  188. 2007-12-11 Aldy Hernandez <aldyh@redhat.com>
  189. * decl.c (add_global_entry): Make type unsigned.
  190. 2007-12-11 Bernhard Fischer <aldot@gcc.gnu.org>
  191. * decl.c (match_prefix): Make seen_type a boolean.
  192. (add_global_entry): Cache type distinction.
  193. * trans-decl.c: Whitespace cleanup.
  194. 2007-12-10 Tobias Burnus <burnus@net-b.de>
  195. PR fortran/34425
  196. * interface.c (get_expr_storage_size): Use signed integer when
  197. obtaining the bounds.
  198. 2007-12-09 Jakub Jelinek <jakub@redhat.com>
  199. PR fortran/22244
  200. * trans.h (struct array_descr_info): Forward declaration.
  201. (gfc_get_array_descr_info): New prototype.
  202. (enum gfc_array_kind): New type.
  203. (struct lang_type): Add akind field.
  204. (GFC_TYPE_ARRAY_AKIND): Define.
  205. * trans-types.c: Include dwarf2out.h.
  206. (gfc_build_array_type): Add akind argument. Adjust
  207. gfc_get_array_type_bounds call.
  208. (gfc_get_nodesc_array_type): Include proper debug info even for
  209. assumed-size arrays.
  210. (gfc_get_array_type_bounds): Add akind argument, set
  211. GFC_TYPE_ARRAY_AKIND to it.
  212. (gfc_sym_type, gfc_get_derived_type): Adjust gfc_build_array_type
  213. callers.
  214. (gfc_get_array_descr_info): New function.
  215. * trans-array.c (gfc_trans_create_temp_array,
  216. gfc_conv_expr_descriptor): Adjust gfc_get_array_type_bounds
  217. callers.
  218. * trans-stmt.c (gfc_trans_pointer_assign_need_temp): Likewise.
  219. * trans-types.h (gfc_get_array_type_bounds): Adjust prototype.
  220. * Make-lang.in (fortran/trans-types.o): Depend on dwarf2out.h.
  221. * f95-lang.c (LANG_HOOKS_GET_ARRAY_DESCR_INFO): Define.
  222. 2007-12-09 Paul Thomas <pault@gcc.gnu.org>
  223. PR fortran/32129
  224. * dump-parse-tree.c (gfc_show_expr_n): New function for
  225. debugging.
  226. * gfortran.h : Add prototype for gfc_show_expr_n.
  227. * expr.c (simplify_constructor): Copy the constructor
  228. expression and try to simplify that. If success, replace the
  229. original. Otherwise discard the copy, keep going through
  230. the structure and return success.
  231. PR fortran/31487
  232. * decl.c (build_struct): Pad out default initializers with
  233. spaces to the component character length.
  234. 2007-12-08 Tobias Burnus <burnus@net-b.de>
  235. PR fortran/34342
  236. PR fortran/34345
  237. PR fortran/18026
  238. PR fortran/29471
  239. * gfortran.texi (BOZ literal constants): Improve documentation
  240. and adapt for BOZ changes.
  241. * Make-lang.ini (resolve.o): Add target-memory.h dependency.
  242. * gfortran.h (gfc_expr): Add is_boz flag.
  243. * expr.c: Include target-memory.h.
  244. (gfc_check_assign): Support transferring BOZ for real/cmlx.
  245. * resolve.c: Include target-memory.h
  246. (resolve_ordinary_assign): Support transferring BOZ for real/cmlx.
  247. * target-memory.c (gfc_convert_boz): New function.
  248. * target-memory.c (gfc_convert_boz): Add prototype.
  249. * primary.c (match_boz_constant): Set is_boz, enable F95 error
  250. also without -pedantic, and allow for Fortran 2003 BOZ.
  251. (match_real_constant): Fix comment.
  252. * simplify.c (simplify_cmplx,gfc_simplify_dble,gfc_simplify_float,
  253. gfc_simplify_real): Support Fortran 2003 BOZ.
  254. 2007-12-08 Jakub Jelinek <jakub@redhat.com>
  255. PR fortran/34359
  256. * gfortran.h (gfc_file): Remove sibling and down fields.
  257. * scanner.c (file_changes, file_changes_cur, file_changes_count,
  258. file_changes_allocated): New variables.
  259. (add_file_change, report_file_change): New functions.
  260. (change_file): Remove.
  261. (gfc_start_source_files, gfc_end_source_files): Call
  262. report_file_change instead of change_file.
  263. (gfc_advance_line): Call report_file_change instead of change_file,
  264. call it even if lb->file == lb->next->file.
  265. (get_file): Revert last changes.
  266. (preprocessor_line): Call add_file_change when entering or leaving
  267. a file.
  268. (load_file): Likewise. Set file_change[...].lb for all newly added
  269. file changes.
  270. 2007-12-06 Tobias Burnus <burnus@net-b.de>
  271. PR fortran/34333
  272. * primary.c (match_boz_constant): Add gfc_notify_std diagnostics.
  273. 2007-12-06 Paul Thomas <pault@gcc.gnu.org>
  274. PR fortran/34335
  275. * module.c (find_symbol): Do not return symtrees with unique
  276. names, which shows that they are private.
  277. 2007-12-05 Jakub Jelinek <jakub@redhat.com>
  278. PR debug/33739
  279. * gfortran.h (gfc_file): Remove included_by field, add sibling and
  280. down.
  281. (gfc_start_source_files, gfc_end_source_files): New prototypes.
  282. * parse.c (gfc_parse_file): Call gfc_start_source_files and
  283. gfc_end_source_files instead of calling the debugging hooks directly.
  284. * error.c (show_locus): Use up field instead of included_by.
  285. * scanner.c (change_file, gfc_start_source_files,
  286. gfc_end_source_files): New functions.
  287. (gfc_advance_line): Call change_file instead of calling debug hooks
  288. directly.
  289. (get_file): Set up rather than included_by. Initialize down and
  290. sibling.
  291. (preprocessor_line, load_file): Don't set up field here.
  292. 2007-12-05 Tobias Burnus <burnus@net-b.de>
  293. PR fortran/34333
  294. * arith.h (gfc_compare_expr): Add operator argument, needed
  295. for compare_real.
  296. * arith.c (gfc_arith_init_1): Use mpfr_min instead of mpfr_cmp/set
  297. to account for NaN.
  298. (compare_real): New function, as mpfr_cmp but takes NaN into account.
  299. (gfc_compare_expr): Use compare_real.
  300. (compare_complex): Take NaN into account.
  301. (gfc_arith_eq,gfc_arith_ne,gfc_arith_gt,gfc_arith_ge,gfc_arith_lt,
  302. gfc_arith_le): Pass operator to gfc_compare_expr.
  303. * resolve.c (compare_cases,resolve_select): Pass operator
  304. to gfc_compare_expr.
  305. * simplify.c (simplify_min_max): Take NaN into account.
  306. 2007-12-04 Tobias Burnus <burnus@net-b.de>
  307. PR fortran/34318
  308. * module.c (mio_gmp_real): Properly write NaN and Infinity.
  309. 2007-12-02 Tobias Burnus <burnus@net-b.de>
  310. PR fortran/34186
  311. * symbol.c (generate_isocbinding_symbol): Fix setting string length.
  312. 2007-11-30 Tobias Burnus <burnus@net-b.de>
  313. PR fortran/34133
  314. * match.h: Add bool allow_binding_name to gfc_match_bind_c.
  315. * decl.c (match_attr_spec,gfc_match_bind_c_stmt,gfc_match_entry):
  316. Adjust accordingly.
  317. (gfc_match_bind_c): Add allow_binding_name argument, reject
  318. binding name for dummy arguments.
  319. (gfc_match_suffix,gfc_match_subroutine): Make use of
  320. allow_binding_name.
  321. 2007-11-30 Tobias Burnus <burnus@net-b.de>
  322. PR fortran/34186
  323. * symbol.c (generate_isocbinding_symbol): Set string length.
  324. * dump-parse-tree.c (gfc_show_attr): Show BIND(C) attribute.
  325. * misc.c (gfc_basic_typename): Handle BT_VOID.
  326. 2007-11-29 Steven G. Kargl <kargls@comcast.net>
  327. PR fortran/34230
  328. * fortran/arith.c (gfc_check_real_range): Set intermediate values
  329. to +-Inf and 0 when -fno-range-check is in effect.
  330. * fortran/invoke.texi: Improve -fno-range-check description.
  331. PR fortran/34203
  332. * fortran/invoke.texi: Document the C escaped characters activated
  333. by -fbackslash.
  334. 2007-11-29 Tobias Burnus <burnus@net-b.de>
  335. PR fortran/34248
  336. * trans-decl.c (generate_dependency_declarations): Check
  337. for NULL pointers before accessing the string length.
  338. 2007-11-29 Tobias Burnus <burnus@net-b.de>
  339. PR fortran/34262
  340. * intrinsic.c (gfc_get_intrinsic_sub_symbol): Add comment.
  341. (gfc_intrinsic_sub_interface): Copy elemental state if needed.
  342. * iresolve.c (gfc_resolve_mvbits): Mark procedure as elemental.
  343. 2007-11-28 Jakub Jelinek <jakub@redhat.com>
  344. * trans-expr.c (gfc_trans_string_copy): Convert both dest and
  345. src to void *.
  346. PR fortran/34247
  347. * trans-openmp.c (gfc_omp_privatize_by_reference): For REFERENCE_TYPE
  348. pass by reference only PARM_DECLs or non-artificial decls.
  349. 2007-11-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  350. PR fortran/32928
  351. * decl.c (match_data_constant): Use gfc_match_init_expr to match the
  352. array spec and set the initializer expression.
  353. 2007-11-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  354. PR fortran/34227
  355. * match.c (gfc_match_common): Add additional check for BLOCK DATA.
  356. 2007-11-27 Paul Thomas <pault@gcc.gnu.org>
  357. PR fortran/29389
  358. *resolve.c (resolve_ordinary_assign): Use find_sym_in_expr to
  359. test if a temporary should be written for a vector subscript
  360. on the lhs.
  361. PR fortran/33850
  362. * restore.c (pure_stmt_function): Add prototype and new
  363. function. Calls impure_stmt_fcn.
  364. (pure_function): Call it.
  365. (impure_stmt_fcn): New function.
  366. * expr.c (gfc_traverse_expr): Call *func for all expression
  367. types, not just variables. Add traversal of character lengths,
  368. iterators and component character lengths and arrayspecs.
  369. (expr_set_symbols_referenced): Return false if not a variable.
  370. * trans-stmt.c (forall_replace, forall_restore): Ditto.
  371. * resolve.c (forall_index): Ditto.
  372. (sym_in_expr): New function.
  373. (find_sym_in_expr): Rewrite to traverse expression calling
  374. sym_in_expr.
  375. *trans-decl.c (expr_decls): New function.
  376. (generate_expr_decls): Rewrite to traverse expression calling
  377. expr_decls.
  378. *match.c (check_stmt_fcn): New function.
  379. (recursive_stmt_fcn): Rewrite to traverse expression calling
  380. check_stmt_fcn.
  381. 2007-11-27 Paul Thomas <pault@gcc.gnu.org>
  382. PR fortran/33541
  383. *interface.c (compare_actual_formal): Exclude assumed size
  384. arrays from the possibility of scalar to array mapping.
  385. * decl.c (get_proc_name): Fix whitespace problem.
  386. PR fortran/34231
  387. * gfortran.h : Add 'use_rename' bit to symbol_attribute.
  388. * module.c : Add 'renamed' field to pointer_info.u.rsym.
  389. (load_generic_interfaces): Add 'renamed' that is set after the
  390. number_use_names is called. This is used to set the attribute
  391. use_rename, which, in its turn identifies those symbols that
  392. have not been renamed.
  393. (load_needed): If pointer_info.u.rsym->renamed is set, then
  394. set the use_rename attribute of the symbol.
  395. (read_module): Correct an erroneous use of use_flag. Use the
  396. renamed flag and the use_rename attribute to determine which
  397. symbols are not renamed.
  398. 2007-11-26 Steven G. Kargl <kargls@comcast.net>
  399. PR fortran/34203
  400. * options.c: Change default behavior of backslash processing.
  401. * invoke.texi: Update documentation.
  402. 2007-11-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  403. PR fortran/33152
  404. * decl.c (add_init_expr_to_sym): Remove error message.
  405. * resolve.c (check_data_variable): Add new check for a data variable
  406. that has an array spec, but no ref and issue an error.
  407. * match.c (gfc_match_common): Remove error message.
  408. 2007-11-25 Tobias Burnus <burnus@net-b.de>
  409. PR fortran/34079
  410. * trans-types.c (gfc_return_by_reference,
  411. gfc_get_function_type): Do not return result of
  412. character-returning bind(C) functions as argument.
  413. * trans-expr.c (gfc_conv_function_call): Ditto.
  414. 2007-11-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  415. PR fortran/34175
  416. * gfortran.texi: Document default forms assumed for various file
  417. extensions.
  418. 2007-11-25 Paul Thomas <pault@gcc.gnu.org>
  419. PR fortran/33499
  420. * decl.c (get_proc_name): If ENTRY statement occurs before type
  421. specification, set the symbol untyped and ensure that it is in
  422. the procedure namespace.
  423. 2007-11-24 Paul Thomas <pault@gcc.gnu.org>
  424. PR fortran/33541
  425. * module.c (find_symtree_for_symbol): Move to new location.
  426. (find_symbol): New function.
  427. (load_generic_interfaces): Rework completely so that symtrees
  428. have the local name and symbols have the use name. Renamed
  429. generic interfaces exclude the use of the interface without an
  430. ONLY clause (11.3.2).
  431. (read_module): Implement 11.3.2 in the same way as for generic
  432. interfaces.
  433. 2007-11-23 Christopher D. Rickett <crickett@lanl.gov>
  434. * trans-common.c (build_common_decl): Fix the alignment for
  435. BIND(C) common blocks.
  436. 2007-11-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  437. PR fortran/34209
  438. * iresolve.c (gfc_resolve_nearest): If sign variable kind does not match
  439. kind of input variable, convert it to match.
  440. PR fortran/33317
  441. * trans.h: Modify prototype for gfc_conv_missing_dummy.
  442. * trans-expr.c (gfc_conv_missing_dummy): Modify to pass an integer kind
  443. parameter in. Set the type of the dummy to the kind given.
  444. (gfc_conv_function_call): Pass representation.length to
  445. gfc_conv_missing_dummy.
  446. * iresolve.c (gfc_resolve_cshift): Determine the correct kind to use and
  447. if appropriate set representation.length to this kind value.
  448. (gfc_resolve_eoshift): Likewise.
  449. * check.c (gfc_check_cshift): Enable dim_check to allow DIM as an
  450. optional argument. (gfc_check_eoshift): Likewise.
  451. * trans_intrinsic.c (gfc_conv_intrinsic_function_args): Update call to
  452. gfc_conv_missing_dummy.
  453. 2007-11-23 Tobias Burnus <burnus@net-b.de>
  454. PR fortran/34187
  455. * module.c (load_needed): Ensure binding_label is not lost.
  456. * decl.c (set_binding_label,gfc_match_bind_c): Replace
  457. strncpy by strcpy.
  458. 2007-11-23 Tobias Burnus <burnus@net-b.de>
  459. Steven G. Kargl <kargl@gcc.gnu.org>
  460. PR fortran/34192
  461. * simplify.c (gfc_simplify_nearest): Fix NEAREST for
  462. subnormal numbers.
  463. 2007-11-23 Aldy Hernandez <aldyh@redhat.com>
  464. * trans-expr.c (gfc_trans_string_copy): Use "void *" when building a
  465. memset.
  466. 2007-11-22 Tobias Burnus <burnus@net-b.de>
  467. * primary.c (gfc_match_structure_constructor): Allow
  468. constructor for types without components.
  469. 2007-11-22 Tobias Burnus <burnus@net-b.de>
  470. PR fortran/34079
  471. * trans-expr.c (gfc_conv_function_call): Do not append
  472. string length arguments when calling bind(c) procedures.
  473. * trans-decl.c (create_function_arglist): Do not append
  474. string length arguments when declaring bind(c) procedures.
  475. 2007-11-21 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  476. PR fortran/34083
  477. * resolve.c (resolve_structure_cons): Also check for zero rank.
  478. 2007-11-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  479. PR fortran/33317
  480. * trans-expr.c (gfc_conv_missing_dummy): Revert.
  481. * iresolve.c (gfc_resolve_cshift): Revert.
  482. (gfc_resolve_eoshift): Likewise.
  483. * check.c (gfc_check_cshift): Revert.
  484. (gfc_check_eoshift): Likewise.
  485. 2007-11-19 Tobias Burnus <burnus@net-b.de>
  486. PR fortran/34079
  487. * decl.c (gfc_match_entry): Support BIND(C).
  488. (gfc_match_subroutine): Fix comment typo.
  489. 2007-11-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  490. PR fortran/33317
  491. * trans-expr.c (gfc_conv_missing_dummy): Set the type of the dummy
  492. argument to default integer if flagged to do so. Fix typo in comment.
  493. * resolve.c (gfc_resolve_dim_arg): Whitespace cleanup.
  494. * iresolve.c (gfc_resolve_cshift): Do not convert type, mark attribute
  495. for converting the DIM type appropriately in trans-expr.c.
  496. (gfc_resolve_eoshift): Likewise.
  497. * check.c (dim_check): Remove pre-existing dead code.
  498. (gfc_check_cshift): Enable dim_check to allow DIM as an optional.
  499. (gfc_check_eoshift): Likewise.
  500. * trans_intrinsic.c (gfc_conv_intrinsic_function_args): Fix whitespace.
  501. 2007-11-18 Paul Thomas <pault@gcc.gnu.org>
  502. PR fortran/31608
  503. * trans-array.c (gfc_conv_expr_descriptor): Remove exception
  504. for indirect references in the call to gfc_trans_scalar_assign.
  505. * trans-expr.c (gfc_conv_string_parameter): Instead of asserting
  506. that the expression is not an indirect reference, cast it to a
  507. pointer type of the length given by se->string_length.
  508. 2007-11-18 Tobias Burnus <burnus@net-b.de>
  509. PR fortran/34137
  510. * primary.c (match_variable): Reject non-result entry symbols.
  511. * resolve.c (resolve_contained_fntype): Do not check entry master
  512. functions.
  513. 2007-11-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  514. * trans-types.c (gfc_init_types): Use wider buffer.
  515. 2007-11-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  516. * trans-types.c (gfc_init_types): Use Fortran-90-style type
  517. names, with kinds.
  518. 2007-11-17 Tobias Burnus <burnus@net-b.de>
  519. PR fortran/34133
  520. * decl.c (gfc_match_suffix,gfc_match_subroutine): Disallow
  521. bind(c) attribute for internal procedures.
  522. 2007-11-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  523. PR fortran/25252
  524. * interface.c (gfc_current_interface_head,
  525. gfc_set_current_interface_head): New functions.
  526. * decl.c (gfc_match_modproc): Move check for syntax error earlier.
  527. On syntax error, restore previous state of the interface.
  528. * gfortran.h (gfc_current_interface_head,
  529. gfc_set_current_interface_head): New prototypes.
  530. 2007-11-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  531. PR fortran/30285
  532. * module.c (struct written_common, written_commons): New structure.
  533. (compare_written_commons, free_written_common, write_common_0):
  534. New functions.
  535. (write_common): Call recursive function write_common_0.
  536. 2007-11-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  537. PR fortran/34108
  538. * io.c (check_format_string): Only check character expressions.
  539. (match_dt_format): Return MATCH_ERROR if that is what
  540. gfc_match_st_label said.
  541. 2007-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  542. PR fortran/33957
  543. * expr.c (check_inquiry): Don't call gfc_error now.
  544. 2007-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  545. PR fortran/33739
  546. PR fortran/34084
  547. * scanner.c (start_source_file, end_source_file,
  548. exit_remaining_files, gfc_advance_line): Revert rev. 130016.
  549. 2007-11-16 Paul Thomas <pault@gcc.gnu.org>
  550. PR fortran/34008
  551. * trans-stmt.c (gfc_conv_elemental_dependencies): Add check for
  552. INTENT_INOUT as well as INTENT_OUT.
  553. (gfc_trans_call): Remove redundant gcc_asserts in dependency
  554. check.
  555. 2007-11-16 Paul Thomas <pault@gcc.gnu.org>
  556. PR fortran/33986
  557. * trans-array.c (gfc_conv_array_parameter ): Allow allocatable
  558. function results.
  559. 2007-11-15 Tobias Burnus <burnus@net-b.de>
  560. PR fortran/33917
  561. * decl.c (match_procedure_decl): Pre-resolve interface.
  562. * resolve.c (resolve_symbol): Reject interfaces later
  563. declared in procedure statements.
  564. 2007-11-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  565. PR fortran/33162
  566. * decl.c (match_procedure_decl): Remove TODO and allow intrinsics in
  567. PROCEDURE declarations. Set attr.untyped to allow the interface to be
  568. resolved later where the symbol type will be set.
  569. * interface.c (compare_intr_interfaces): Remove static from pointer
  570. declarations. Add type and kind checks for dummy function arguments.
  571. (compare_actual_formal_intr): New function to compare an actual
  572. argument with an intrinsic function. (gfc_procedures_use): Add check for
  573. interface that points to an intrinsic function, use the new function.
  574. * resolve.c (resolve_specific_f0): Resolve the intrinsic interface.
  575. (resolve_specific_s0): Ditto.
  576. 2007-11-13 Paul Thomas <pault@gcc.gnu.org>
  577. PR fortran/34080
  578. * iresolve.c (gfc_resolve_transfer): Do not try to convert
  579. to a constant MOLD expression, if it is an assumed size
  580. dummy.
  581. 2007-11-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  582. * trans-common.c: Remove prototype for gfc_get_common.
  583. 2007-11-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  584. PR fortran/33592
  585. * trans.c (gfc_call_realloc): Fix the logic and rename variables.
  586. 2007-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  587. PR fortran/33739
  588. * scanner.c (start_source_file, end_source_file,
  589. exit_remaining_files): New functions.
  590. (gfc_advance_line): Use the new functions.
  591. 2007-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  592. PR fortran/34028
  593. * trans-intrinsic.c (gfc_conv_intrinsic_ishft): Use correct type.
  594. 2007-11-08 Tobias Burnus <burnus@net-b.de>
  595. PR fortran/33917
  596. * interface.c (check_sym_interfaces): Disallow PROCEDURE-declared
  597. procedures for MODULE PROCEDURE.
  598. * decl.c (match_procedure_in_interface): Do not mark as procedure.
  599. 2007-11-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  600. PR fortran/33881
  601. * trans-array.c (gfc_conv_array_parameter): Evaluate
  602. se->string_length instead of the expr->ts.cl->backend_decl.
  603. 2007-11-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  604. * gfortran.h: Shorten comment.
  605. * trans-types.c (gfc_get_function_type): Allow argument to have
  606. flavor FL_PROGRAM.
  607. * trans-decl.c (gfc_sym_mangled_function_id): Mangle main program
  608. name into MAIN__.
  609. (build_function_decl): Fix comment.
  610. * parse.c (main_program_symbol): Give the main program its proper
  611. name, if any. Set its flavor to FL_PROGRAM.
  612. (gfc_parse_file): Likewise.
  613. 2007-11-02 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  614. * intrinsic.texi (ALLOCATED): Fix typo.
  615. 2007-10-31 Tobias Burnus <burnus@net-b.de>
  616. PR fortran/33941
  617. * modules.c (intrinsics): Use only alphabetic names for
  618. intrinsic operators.
  619. 2007-10-31 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  620. PR fortran/33162
  621. * interface.c (compare_intr_interfaces): New function to check intrinsic
  622. function arguments against formal arguments. (compare_interfaces): Fix
  623. logic in comparison of function and subroutine attributes.
  624. (compare_parameter): Use new function for intrinsic as argument.
  625. * resolve.c (resolve_actual_arglist): Allow an intrinsic without
  626. function attribute to be checked further. Set function attribute if
  627. intrinsic symbol is found, return FAILURE if not.
  628. 2007-10-31 Paul Thomas <pault@gcc.gnu.org>
  629. PR fortran/33897
  630. * decl.c (gfc_match_entry): Do not make ENTRY name
  631. global for contained procedures.
  632. * parse.c (gfc_fixup_sibling_symbols): Fix code for
  633. determining whether a procedure is external.
  634. 2007-10-30 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  635. PR fortran/33596
  636. * trans-intrinsic.c (gfc_conv_intrinsic_isnan): Strip NOP_EXPR
  637. from the result of build_call_expr.
  638. 2007-10-29 Paul Thomas <pault@gcc.gnu.org>
  639. PR fortran/31217
  640. PR fortran/33811
  641. PR fortran/33686
  642. * trans-array.c (gfc_conv_loop_setup): Send a complete type to
  643. gfc_trans_create_temp_array if the temporary is character.
  644. * trans-stmt.c (gfc_trans_assign_need_temp): Do likewise for
  645. allocate_temp_for_forall_nest.
  646. (forall_replace): New function.
  647. (forall_replace_symtree): New function.
  648. (forall_restore): New function.
  649. (forall_restore_symtree): New function.
  650. (forall_make_variable_temp): New function.
  651. (check_forall_dependencies): New function.
  652. (cleanup_forall_symtrees): New function.
  653. gfc_trans_forall_1): Add and initialize pre and post blocks.
  654. Call check_forall_dependencies to check for all dependencies
  655. and either trigger second forall block to copy temporary or
  656. copy lval, outside the forall construct and replace all
  657. dependent references. After assignment clean-up and coalesce
  658. the blocks at the end of the function.
  659. * gfortran.h : Add prototypes for gfc_traverse_expr and
  660. find_forall_index.
  661. expr.c (gfc_traverse_expr): New function to traverse expression
  662. and visit all subexpressions, under control of a logical flag,
  663. a symbol and an integer pointer. The slave function is caller
  664. defined and is only called on EXPR_VARIABLE.
  665. (expr_set_symbols_referenced): Called by above to set symbols
  666. referenced.
  667. (gfc_expr_set_symbols_referenced): Rework of this function to
  668. use two new functions above.
  669. * resolve.c (find_forall_index): Rework with gfc_traverse_expr,
  670. using forall_index.
  671. (forall_index): New function used by previous.
  672. * dependency.c (gfc_check_dependency): Use gfc_dep_resolver for
  673. all references, not just REF_ARRAY.
  674. (gfc_dep_resolver): Correct the logic for substrings so that
  675. overlapping arrays are handled correctly.
  676. 2007-10-28 Tobias Schlüter <tobi@gcc.gnu.org>
  677. PR fortran/32147
  678. * module.c (write_symbol): Fix whitespace.
  679. (write_symbol0): Walk symtree from left-to-right instead
  680. breadth-first.
  681. (write_symbol1): Similarly change walk of pointer info tree.
  682. (write_module): Insert linebreak.
  683. * symbol.c (gfc_traverse_symtree): Change to left-to-right order.
  684. (traverse_ns): Likewise.
  685. 2007-10-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  686. PR fortran/31306
  687. * decl.c (char_len_param_value): Add check for conflicting attributes of
  688. function argument.
  689. 2007-10-27 Tobias Burnus <burnus@net-b.de>
  690. PR fortran/33862
  691. * lang-specs.h: Support .ftn and .FTN extension, use CPP for .FOR.
  692. * options.c (form_from_filename): Support .ftn extension.
  693. * gfortran.texi: Document support of .for and .ftn file extension.
  694. 2007-10-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  695. PR fortran/33162
  696. * intrinsic.h: Add prototypes for four new functions, gfc_check_datan2,
  697. gfc_check_dprod, gfc_check_fn_d, and gfc_check_x_yd.
  698. * intrinsic.c (add_functions): Add double precision checks for dabs,
  699. dacos, dacosh, dasin, dasinh, datan, datanh, datan2, dbesj0, dbesj1,
  700. dbesy0, dbesy1, dcos, dcosh, ddim, derf, derfc, dexp, dgamma,
  701. dlgama, dlog, dlog10, dmod, dsign, dsin, dsinh, dsqrt, dtan, and dtanh.
  702. Add real check dprod.
  703. * check.c (gfc_check_datan2): New function to check for double precision
  704. argumants. (gfc_check_dprod, gfc_check_fn_d, and gfc_check_x_yd): Ditto.
  705. 2007-10-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  706. * invoke.texi: Fix typo in -fmax-errors=.
  707. 2007-10-26 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  708. PR fortran/29784
  709. * gfortran.texi: Document that there is no logical/integer
  710. conversion performed during I/O operations.
  711. 2007-10-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  712. PR fortran/33849
  713. * resolve.c (resolve_actual_arglist): Fix error message text.
  714. 2007-10-22 Steven G. Kargl <kargl@gcc.gnu.org>
  715. PR fortran/31244
  716. * gfortran.h (gfc_data_value): Change repeat from unsigned int
  717. to mpz_t.
  718. * decl.c(top_val_list): Remove msg variable. Use mpz_t for
  719. repeat count.
  720. * resolve.c (values): Change left from unsigned int to mpz_t.
  721. (next_data_value): Change for mpz_t.
  722. (check_data_variable): Change ??? to FIXME in a comment. Use
  723. "mpz_t left".
  724. (resolve_data ): Use "mpz_t left".
  725. 2007-10-21 Paul Thomas <pault@gcc.gnu.org>
  726. PR fortran/33749
  727. * resolve.c (resolve_ordinary_assign): New function that takes
  728. the code to resolve an assignment from resolve_code. In
  729. addition, it makes a temporary of any vector index, on the
  730. lhs, using gfc_get_parentheses.
  731. (resolve_code): On EXEC_ASSIGN call the new function.
  732. 2007-10-20 Tobias Burnus <burnus@net-b.de>
  733. PR fortran/33818
  734. * resolve.c (resolve_variable): Check that symbol is in the same
  735. namespace as the entry function.
  736. 2007-10-20 Paul Thomas <pault@gcc.gnu.org>
  737. FX Coudert <fxcoudert@gcc.gnu.org>
  738. PR fortran/31608
  739. * trans-array.c (gfc_conv_expr_descriptor): For all except
  740. indirect references, use gfc_trans_scalar_assign instead of
  741. gfc_add_modify_expr.
  742. * iresolve.c (check_charlen_present): Separate creation of cl
  743. if necessary and add code to treat an EXPR_ARRAY.
  744. (gfc_resolve_char_achar): New function.
  745. (gfc_resolve_achar, gfc_resolve_char): Call it.
  746. (gfc_resolve_transfer): If the MOLD expression does not have a
  747. character length expression, get it from a constant length.
  748. 2007-10-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  749. PR fortran/33544
  750. * simplify.c (gfc_simplify_transfer): Only warn for short transfer when
  751. -Wsurprising is given.
  752. * invoke.texi: Document revised behavior.
  753. 2007-10-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  754. PR fortran/33795
  755. * gfortran.texi: Document GFORTRAN_UNBUFFERED_PRECONNECTED
  756. environment variable. Delete mention of environment variable
  757. GFORTRAN_UNBUFFERED_n.
  758. 2007-10-18 Paul Thomas <pault@gcc.gnu.org>
  759. PR fortran/33233
  760. * resolve.c (check_host_association): Check singly contained
  761. namespaces and start search for symbol in current namespace.
  762. 2007-10-18 Paul Thomas <pault@gcc.gnu.org>
  763. Dominique d'Humières <dominiq@lps.ens.fr>
  764. PR fortran/33733
  765. * simplify.c (gfc_simplify_transfer): Return null if the source
  766. expression is EXPR_FUNCTION.
  767. 2007-10-17 Christopher D. Rickett <crickett@lanl.gov>
  768. PR fortran/33760
  769. * symbol.c (gen_special_c_interop_ptr): Remove code to create
  770. constructor for c_null_ptr and c_null_funptr with value of 0.
  771. * expr.c (check_init_expr): Prevent check on constructors for
  772. iso_c_binding derived types.
  773. * resolve.c (resolve_structure_cons): Verify that the user isn't
  774. trying to invoke a structure constructor for one of the
  775. iso_c_binding derived types.
  776. 2007-10-15 Christopher D. Rickett <crickett@lanl.gov>
  777. PR fortran/32600
  778. * trans-expr.c (gfc_conv_function_call): Generate code to inline
  779. c_associated.
  780. * symbol.c (get_iso_c_sym): Preserve from_intmod and intmod_sym_id
  781. attributes in the resolved symbol.
  782. * resolve.c (gfc_iso_c_sub_interface): Remove dead code.
  783. 2007-10-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  784. PR fortran/33055
  785. * trans-io.c (create_dummy_iostat): New function to create a unique
  786. dummy variable expression to use with IOSTAT.
  787. (gfc_trans_inquire): Use the new function to pass unit number error info
  788. to run-time library if a regular IOSTAT variable was not given.
  789. 2007-10-14 Tobias Burnus <burnus@net-b.de>
  790. PR fortran/33745
  791. * trans-array.c (gfc_conv_ss_startstride): Fix dimension check.
  792. (gfc_trans_array_bound_check, gfc_conv_array_ref,
  793. gfc_conv_ss_startstride): Simplify error message.
  794. * resolve.c (check_dimension): Fix dimension-type switch;
  795. improve error message.
  796. 2007-10-13 Tobias Schlüter <tobi@gcc.gnu.org>
  797. Paul Thomas <pault@gcc.gnu.org>
  798. PR fortran/33254
  799. PR fortran/33727
  800. * trans-array.c (get_array_ctor_var_strlen): Check upper bound for
  801. constness instead of lower bound.
  802. (get_array_ctor_strlen): Add bounds-checking code.
  803. 2007-10-12 Paul Thomas <pault@gcc.gnu.org>
  804. PR fortran/33542
  805. * resolve.c (resolve_actual_arglist): If the actual argument is
  806. ambiguous, then there is an error.
  807. 2007-10-12 Paul Thomas <pault@gcc.gnu.org>
  808. PR fortran/33664
  809. * expr.c (gfc_specification_expr): If a function is not
  810. external, intrinsic or pure is an error. Set the symbol pure
  811. to prevent repeat errors.
  812. 2007-10-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  813. PR fortran/33636
  814. * expr.c (find_array_section): Check for constructor constantness.
  815. 2007-10-08 Tobias Schlüter <tobi@gcc.gnu.org>
  816. PR fortran/33689
  817. * resolve.c (gfc_resolve_expr): Fix indentation.
  818. (resolve_fl_variable_derived): Rename argument.
  819. (resolve_fl_variable): Fix case in message. Clarify logic.
  820. Correctly simplify array bounds.
  821. 2007-10-07 Thomas Koenig <tkoenig@gcc.gnu.org>
  822. PR libfortran/33683
  823. * mathbuiltins.def (GAMMA): Change function name to
  824. "tgamma" instad of "gamma".
  825. 2007-10-07 Tobias Schlüter <tobi@gcc.gnu.org>
  826. PR fortran/20851
  827. * expr.c (check_inquiry): Typo fix in error message.
  828. (check_init_expr): Same * 3.
  829. (check_restricted): Verify that no dummy arguments appear in
  830. restricted expressions in ELEMENTAL procedures.
  831. * resolve.c (resolve_fl_variable): Exchange order of checks to
  832. avoid side-effect.
  833. 2007-10-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  834. PR fortran/33609
  835. * simplify.c (range_check): Return gfc_bad_expr if incoming expression
  836. is NULL.
  837. 2007-10-06 Tobias Schlüter <tobi@gcc.gnu.org>
  838. * simplify.c (gfc_simplify_size): Fix typo.
  839. 2007-10-06 Tobias Schlüter <tobi@gcc.gnu.org>
  840. PR fortran/25076
  841. * resolve.c (gfc_find_forall_index): Move towards top,
  842. renaming to ...
  843. (find_forall_index): ... this. Add check for NULL expr.
  844. (resolve_forall_iterators): Verify additional constraint.
  845. (resolve_forall): Remove checks obsoleted by new code in
  846. resolve_forall_iterators.
  847. 2007-10-05 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  848. * gfortran.h (gfc_get_data_variable, gfc_get_data_value,
  849. gfc_get_data): Move to decl.c.
  850. (global_used): Rename into gfc_global_used.
  851. (gfc_formalize_init_value, gfc_get_section_index,
  852. gfc_assign_data_value, gfc_assign_data_value_range,
  853. gfc_advance_section): Move to data.h.
  854. (gfc_set_in_match_data): Remove.
  855. * decl.c (gfc_get_data_variable, gfc_get_data_value,
  856. gfc_get_data): Move here.
  857. (gfc_set_in_match_data): Rename into set_in_match_data.
  858. (gfc_match_data): Likewise.
  859. (add_global_entry): Rename global_used into gfc_global_used.
  860. * data.c: Include data.h.
  861. * trans.h (gfc_todo_error): Remove.
  862. * trans-array.c (gfc_trans_array_constructor,
  863. gfc_conv_ss_startstride, gfc_conv_loop_setup): Change
  864. gfc_todo_error into assertions.
  865. * resolve.c (resolve_global_procedure): Rename global_used into
  866. gfc_global_used.
  867. * parse.c (gfc_global_used, parse_module, add_global_procedure,
  868. add_global_program): Likewise.
  869. * trans-intrinsic.c (gfc_walk_intrinsic_function): Rename
  870. global_used into gfc_global_used.
  871. * Make-lang.in: Add dependencies on fortran/data.h.
  872. * data.h: New file.
  873. 2007-10-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  874. PR fortran/33529
  875. * decl.c (match_char_kind): New function.
  876. (match_char_spec): Use match_char_kind.
  877. 2007-10-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  878. PR fortran/33502
  879. * scanner.c (gfc_advance_line): Call debug_hooks->end_source_file
  880. and debug_hooks->start_source_file when appropriate, and set
  881. dbg_emitted.
  882. (gfc_define_undef_line): New function.
  883. (load_file): Don't error out on #define and #undef lines.
  884. * parse.c (next_statement): Call gfc_define_undef_line.
  885. (gfc_parse_file): Call debug_hooks->start_source_file and
  886. debug_hooks->end_source_file for the main source file if
  887. required.
  888. * gfortran.h (gfc_linebuf): Add dbg_emitted field.
  889. (gfc_define_undef_line): New prototype.
  890. 2007-10-04 Tobias Schlüter <tobi@gcc.gnu.org>
  891. PR fortran/33626
  892. * resolve.c (resolve_operator): Always copy the type for
  893. expressions in parentheses.
  894. 2007-10-04 Paul Thomas <pault@gcc.gnu.org>
  895. PR fortran/33646
  896. PR fortran/33542
  897. * interface.c (check_interface1): Revert patch of 10-02.
  898. 2007-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  899. PR fortran/26682
  900. * trans-decl.c (build_function_decl): Set "externally_visible"
  901. attribute on the MAIN program decl.
  902. 2007-10-03 Tobias Schlüter <tobi@gcc.gnu.org>
  903. PR fortran/33198
  904. * resolve.c (has_default_initializer): Move to top. Make bool.
  905. (resolve_common_blocks): Simplify logic. Add case for derived
  906. type initialization.
  907. (resolve_fl_variable_derived): Split out from ...
  908. (resolve_fl_variable): ... here, while adapting to new h_d_i
  909. interface.
  910. 2007-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  911. PR fortran/26682
  912. * options.c (gfc_post_options): Issue an error when
  913. -fwhole-program is used.
  914. 2007-10-02 Paul Thomas <pault@gcc.gnu.org>
  915. PR fortran/33542
  916. * interface.c (check_interface1): Specific procedures are
  917. always ambiguous if they have the same name.
  918. 2007-10-02 Paul Thomas <pault@gcc.gnu.org>
  919. PR fortran/33566
  920. * primary.c (gfc_match_rvalue): Make all expressions with array
  921. references to structure parameters into variable expressions.
  922. 2007-10-02 Paul Thomas <pault@gcc.gnu.org>
  923. PR fortran/33554
  924. * trans-decl.c (init_intent_out_dt): New function.
  925. (gfc_trans_deferred_vars): Remove the code for default
  926. initialization of INTENT(OUT) derived types and put it
  927. in the new function. Call it earlier than before, so
  928. that array offsets and lower bounds are available.
  929. 2007-10-02 Paul Thomas <pault@gcc.gnu.org>
  930. PR fortran/33550
  931. * decl.c (get_proc_name): Return rc if rc is non-zero; ie. if
  932. the name is a reference to an ambiguous symbol.
  933. 2007-10-02 Paul Thomas <pault@gcc.gnu.org>
  934. PR fortran/31154
  935. PR fortran/31229
  936. PR fortran/33334
  937. * decl.c : Declare gfc_function_kind_locs and
  938. gfc_function_type_locus.
  939. (gfc_match_kind_spec): Add second argument kind_expr_only.
  940. Store locus before trying to match the expression. If the
  941. current state corresponds to a function declaration and there
  942. is no match to the expression, read to the parenthesis, return
  943. kind = -1, dump the expression and return.
  944. (gfc_match_type_spec): Renamed from match_type_spec and all
  945. references changed. If an interface or an external function,
  946. store the locus, set kind = -1 and return. Otherwise, if kind
  947. is already = -1, use gfc_find_symbol to try to find a use
  948. associated or imported type.
  949. match.h : Prototype for gfc_match_type_spec.
  950. * parse.c (match_deferred_characteristics): New function.
  951. (parse_spec): If in a function, statement is USE or IMPORT
  952. or DERIVED_DECL and the function kind=-1, call
  953. match_deferred_characteristics. If kind=-1 at the end of the
  954. specification expressions, this is an error.
  955. * parse.h : Declare external gfc_function_kind_locs and
  956. gfc_function_type_locus.
  957. 2007-09-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
  958. * module.c (mio_expr): Avoid -Wcast-qual warning.
  959. 2007-09-27 Tobias Schlüter <tobi@gcc.gnu.org>
  960. * arith.c (reduce_binary_aa): Fix capitalization.
  961. * check.c (gfc_check_dot_product): Likewise.
  962. (gfc_check_matmul): Likewise.
  963. * expr.c (gfc_check_conformance): Likewise.
  964. (gfc_check_assign): Likewise.
  965. (gfc_default_initializer): Simplify logic.
  966. * trans.c (gfc_msg_bounds): Make const.
  967. (gfc_msg_fault): Likewise.
  968. (gfc_msg_wrong_return): Likewise.
  969. * trans.h: Add const to corresponding extern declarations.
  970. 2007-09-27 Paul Thomas <pault@gcc.gnu.org>
  971. PR fortran/33568
  972. * trans-intrinsic.c (gfc_conv_intrinsic_aint): Allow for the
  973. possibility of the optional KIND argument by making arg
  974. an array, counting the number of arguments and using arg[0].
  975. 2007-09-26 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  976. PR fortran/30780
  977. * invoke.texi: Add note to -ffpe-trap option. Fix typos.
  978. 2007-09-23 Tobias Schlüter <tobi@gcc.gnu.org>
  979. PR fortran/33269
  980. * io.c (check_format_string): Move NULL and constant checks into
  981. this function.
  982. (check_io_constraints): Call gfc_simplify_expr() before calling
  983. check_format_string(). Remove NULL and constant checks.
  984. 2007-09-24 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  985. PR fortran/33538
  986. * scanner.c, parse.c, gfortran.h: Revert revision 128671.
  987. 2007-09-23 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  988. PR fortran/33528
  989. * scanner.c (preprocessor_line): Call linemap_add when exiting
  990. a file.
  991. (gfc_new_file): Adjust debug code for USE_MAPPED_LOCATION.
  992. 2007-09-22 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  993. PR fortran/33522
  994. * trans-types.c (gfc_get_desc_dim_type): Mark artificial
  995. variables with TREE_NO_WARNING.
  996. (gfc_get_array_descriptor_base): Likewise.
  997. 2007-09-22 Paul Thomas <pault@gcc.gnu.org>
  998. PR fortran/33337
  999. PR fortran/33376
  1000. * trans-decl.c (gfc_create_module_variable): Output
  1001. derived type parameters.
  1002. * arith.c (gfc_parentheses): Return the argument if
  1003. it is a constant expression.
  1004. * primary.c (gfc_match_rvalue): Remove the clearing of
  1005. the module name and the use_assoc attribute for derived
  1006. type parameter expressions.
  1007. 2007-09-22 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1008. PR fortran/33502
  1009. * scanner.c (gfc_advance_line): Call debug_hooks->start_source_file
  1010. and debug_hooks->end_source_file when entering and exiting
  1011. included files.
  1012. (gfc_define_undef_line): New function.
  1013. (load_file): Ignore #define and #undef preprocessor lines
  1014. while reading source files.
  1015. * parse.c (next_statement): Handle #define and #undef
  1016. preprocessor lines.
  1017. (gfc_parse_file): Call debug_hooks->start_source_file and
  1018. debug_hooks->end_source_file for the main source file if
  1019. requested by the debug format.
  1020. * gfortran.h (gfc_define_undef_line): Add prototype.
  1021. 2007-09-22 Tobias Burnus <burnus@net-b.de>
  1022. PR fortran/33445
  1023. * scanner.c (skip_free_comments): Warn if !$OMP& is used
  1024. if no OpenMP directive is to be continued.
  1025. 2007-09-21 Paul Thomas <pault@gcc.gnu.org>
  1026. *trans-expr.c (gfc_trans_pointer_assignment): Convert array
  1027. descriptor for subref pointer assignements, rather than using
  1028. the loop info version.
  1029. 2007-09-21 Tobias Burnus <burnus@net-b.de>
  1030. PR fortran/33037
  1031. * simplify.c (gfc_simplify_transfer): Warn if source size
  1032. is smaller than result size.
  1033. 2007-09-20 Asher Langton <langton2@llnl.gov>
  1034. PR fortran/20441
  1035. * gfortran.h : Add init_local_* enums and init_flag_* flags to
  1036. gfc_option_t.
  1037. * lang.opt: Add -finit-local-zero, -finit-real, -finit-integer,
  1038. -finit-character, and -finit-logical flags.
  1039. * invoke.texi: Document new options.
  1040. * resolve.c (build_init_assign): New function.
  1041. (apply_init_assign): Move part of function into build_init_assign.
  1042. (build_default_init_expr): Build local initializer (-finit-*).
  1043. (apply_default_init_local): Apply local initializer (-finit-*).
  1044. (resolve_fl_variable): Try to add local initializer (-finit-*).
  1045. * options.c (gfc_init_options, gfc_handle_option,
  1046. gfc_post_options): Handle -finit-local-zero, -finit-real,
  1047. -finit-integer, -finit-character, and -finit-logical flags.
  1048. 2007-09-20 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1049. PR fortran/33221
  1050. * gfortran.h (symbol_attribute): Add zero_comp field.
  1051. * symbol.c (gfc_use_derived): Handle case of emtpy derived types.
  1052. * decl.c (gfc_match_data_decl): Likewise.
  1053. (gfc_match_derived_decl): Likewise.
  1054. * module.c (ab_attribute, attr_bits): Add AB_ZERO_COMP member.
  1055. (mio_symbol_attribute): Write and read AB_ZERO_COMP.
  1056. * resolve.c (resolve_symbol): Handle case of emtpy derived types.
  1057. * parse.c (parse_derived): Likewise.
  1058. 2007-09-20 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1059. PR fortran/33288
  1060. * arith.c (reduce_unary, reduce_binary_ac, reduce_binary_ca,
  1061. reduce_binary_aa): Call ourselves recursively if an element of
  1062. the constructor is itself a constant array.
  1063. 2007-09-20 Tobias Schlüter <tobi@gcc.gnu.org>
  1064. * io.c (resolve_tag_format): New function using code split out
  1065. and simplified from ...
  1066. (resolve_tag): ... this function. Simplify logic. Unify
  1067. IOSTAT, IOLENGTH and SIZE handling.
  1068. 2007-09-20 Christopher D. Rickett <crickett@lanl.gov>
  1069. PR fortran/33497
  1070. * resolve.c (gfc_iso_c_func_interface): Use information from
  1071. subcomponent if applicable.
  1072. 2007-09-20 Tobias Burnus <burnus@net-b.de>
  1073. PR fortran/33325
  1074. * intrinsic.text: Add documentation of the intrinsic modules.
  1075. * gfortran.texi: Link to intrinsic-modules section and to
  1076. the GOMP manual.
  1077. 2007-09-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1078. PR fortran/31119
  1079. * trans-array.c (gfc_conv_ss_startstride): Only perform bounds
  1080. checking for optional args when they are present.
  1081. 2007-09-18 Tobias Burnus <burnus@net-b.de>
  1082. PR fortran/33231
  1083. * resolve.c (resolve_elemental_actual): Check for conformance
  1084. of intent out/inout dummies.
  1085. 2007-09-17 Tobias Burnus <burnus@net-b.de>
  1086. PR fortran/33106
  1087. * resolve.c (resolve_symbol): Reject public variable of
  1088. private derived-types for Fortran 95.
  1089. 2007-09-17 Tobias Burnus <burnus@net-b.de>
  1090. * resolve.c (resolve_fl_procedure): Allow private dummies
  1091. for Fortran 2003.
  1092. 2007-09-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1093. * trans-types.c (gfc_get_desc_dim_type): Do not to try
  1094. emit debug info.
  1095. (gfc_get_array_descriptor_base): Likewise.
  1096. (gfc_get_mixed_entry_union): Likewise
  1097. (gfc_get_derived_type): Set decl location for fields and
  1098. derived type itself.
  1099. 2007-09-16 Paul Thomas <pault@gcc.gnu.org>
  1100. PR fortran/29396
  1101. PR fortran/29606
  1102. PR fortran/30625
  1103. PR fortran/30871
  1104. * trans.h : Add extra argument to gfc_build_array_ref. Rename
  1105. gfc_conv_aliased_arg to gfc_conv_subref_array_arg. Move
  1106. prototype of is_aliased_array to gfortran.h and rename it
  1107. gfc_is_subref_array. Add field span to lang_decl, add a new
  1108. decl lang specific flag accessed by GFC_DECL_SUBREF_ARRAY_P
  1109. and a new type flag GFC_DECL_SUBREF_ARRAY_P.
  1110. * trans.c (gfc_build_array_ref): Add the new argument, decl.
  1111. If this is a subreference array pointer, use the lang_decl
  1112. field 'span' to calculate the offset in bytes and use pointer
  1113. arithmetic to address the element.
  1114. * trans-array.c (gfc_conv_scalarized_array_ref,
  1115. gfc_conv_array_ref): Add the backend declaration as the third
  1116. field, if it is likely to be a subreference array pointer.
  1117. (gfc_conv_descriptor_dimension, gfc_trans_array_ctor_element,
  1118. gfc_trans_array_constructor_element, structure_alloc_comps,
  1119. gfc_conv_array_index_offset): For all other references to
  1120. gfc_build_array_ref, set the third argument to NULL.
  1121. (gfc_get_dataptr_offset): New function.
  1122. (gfc_conv_expr_descriptor): If the rhs of a pointer assignment
  1123. is a subreference array, then calculate the offset to the
  1124. subreference of the first element and set the descriptor data
  1125. pointer to this, using gfc_get_dataptr_offset.
  1126. trans-expr.c (gfc_get_expr_charlen): Use the expression for the
  1127. character length for a character subreference.
  1128. (gfc_conv_substring, gfc_conv_subref_array_arg): Add NULL for
  1129. third argument in call to gfc_build_array_ref.
  1130. (gfc_conv_aliased_arg): Rename to gfc_conv_subref_array_arg.
  1131. (is_aliased_array): Remove.
  1132. (gfc_conv_function_call): Change reference to is_aliased_array
  1133. to gfc_is_subref_array and reference to gfc_conv_aliased_arg to
  1134. gfc_conv_subref_array_arg.
  1135. (gfc_trans_pointer_assignment): Add the array element length to
  1136. the lang_decl 'span' field.
  1137. * gfortran.h : Add subref_array_pointer to symbol_attribute and
  1138. add the prototype for gfc_is_subref_array.
  1139. * trans-stmt.c : Add NULL for third argument in all references
  1140. to gfc_build_array_ref.
  1141. * expr.c (gfc_is_subref_array): Renamed is_aliased_array.
  1142. If this is a subreference array pointer, return true.
  1143. (gfc_check_pointer_assign): If the rhs is a subreference array,
  1144. set the lhs subreference_array_pointer attribute.
  1145. * trans-decl.c (gfc_get_symbol_decl): Allocate the lang_decl
  1146. field if the symbol is a subreference array pointer and set an
  1147. initial value of zero for the 'span' field.
  1148. * trans-io.c (set_internal_unit): Refer to is_subref_array and
  1149. gfc_conv_subref_array_arg.
  1150. (nml_get_addr_expr): Add NULL third argument to
  1151. gfc_build_array_ref.
  1152. (gfc_trans_transfer): Use the scalarizer for a subreference
  1153. array.
  1154. 2007-09-13 Thomas Koenig <tkoenig@gcc.gnu.org>
  1155. * iresolve.c (resolve_mask_arg): If a mask is an array
  1156. expression, convert it to kind=1.
  1157. 2007-09-13 Tobias Burnus <burnus@net-b.de>
  1158. PR fortran/33343
  1159. * expr.c (gfc_check_conformance): Print ranks in the error message.
  1160. * resolve.c (resolve_elemental_actual): Check also conformance of
  1161. the actual arguments for elemental functions.
  1162. 2007-09-13 Tobias Burnus <burnus@net-b.de>
  1163. * symbol.c (gfc_add_elemental,gfc_add_pure,gfc_add_recursive):
  1164. Allow prefixes only to be specified once.
  1165. 2007-09-13 Tobias Burnus <burnus@net-b.de>
  1166. PR fortran/33412
  1167. * symbol.c (check_conflict): Add conflict of ELEMENTAL with Bind(C).
  1168. 2007-09-12 Tobias Burnus <burnus@net-b.de>
  1169. PR fortran/33297
  1170. * check.c (scalar_check): Move up in the file.
  1171. (kind_check): Call scalar_check.
  1172. (dim_check): If optional, do not call nonoptional_check; use
  1173. bool for optional.
  1174. (gfc_check_all_any,gfc_check_count,gfc_check_cshift,gfc_check_eoshift,
  1175. gfc_check_lbound,gfc_check_minloc_maxloc,check_reduction,
  1176. gfc_check_spread,gfc_check_ubound): Use true/false instead of 0/1
  1177. for dim_check; honor changed meaning of optional.
  1178. (gfc_check_int): Replace checks by kind_check.
  1179. (gfc_check_size): Replace checks by dim_check.
  1180. 2007-09-12 Tobias Burnus <burnus@net-b.de>
  1181. PR fortran/33284
  1182. PR fortran/33310
  1183. * symbol.c (check_conflict): Add conflict between INTRINSIC and ENTRY
  1184. and between BIND(C) and PARAMETER.
  1185. 2007-09-12 Tobias Burnus <burnus@net-b.de>
  1186. * trans-expr.c (gfc_conv_initializer): Fix expr == NULL check.
  1187. 2007-09-12 Jan Hubicka <jh@suse.cz>
  1188. * f95-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
  1189. 2007-09-12 Christopher D. Rickett <crickett@lanl.gov>
  1190. PR fortran/33395
  1191. * trans-expr.c (gfc_conv_initializer): Remove unnecessary test for
  1192. intmod_sym_id and use derived symbol to set new kind of C_NULL_PTR
  1193. and C_NULL_FUNPTR expressions.
  1194. 2007-09-11 Christopher D. Rickett <crickett@lanl.gov>
  1195. PR fortran/33040
  1196. * trans-expr.c (gfc_trans_structure_assign): Convert component
  1197. C_NULL_PTR and C_NULL_FUNPTR component initializers to (void *).
  1198. * trans-types.c (gfc_get_derived_type): Create a backend_decl for
  1199. the c_address field of C_PTR and C_FUNPTR and ensure initializer
  1200. is of proper type/kind for (void *).
  1201. 2007-09-11 Jan Hubicka <jh@suse.cz>
  1202. * f95-lang.c (gfc_expand_function): Kill.
  1203. (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
  1204. 2007-09-08 Tobias Burnus <burnus@net-b.de>
  1205. PR fortran/31547
  1206. * gfortran.texi: Document when CPP is called.
  1207. * intrinsic.texi (IOR): Fix typos.
  1208. 2007-09-10 Paul Thomas <pault@gcc.gnu.org>
  1209. PR fortran/33370
  1210. * trans-expr.c (copyable_array_p): Add tests that expression
  1211. is a variable, that it has no subreferences and that it is a
  1212. full array.
  1213. (gfc_trans_assignment): Change conditions to suit modifications
  1214. to copyable_array_p.
  1215. 2007-09-06 Tom Tromey <tromey@redhat.com>
  1216. * scanner.c (get_file): Update.
  1217. (load_file): Update.
  1218. (gfc_next_char_literal): Use gfc_linebuf_linenum.
  1219. * f95-lang.c (gfc_init): Update.
  1220. * gfortran.h (gfc_linebuf_linenum): New macro.
  1221. 2007-09-05 Sandra Loosemore <sandra@codesourcery.com>
  1222. * trans-decl.c (build_entry_thunks): Use set_cfun.
  1223. (gfc_generate_function_code): Likewise.
  1224. 2007-09-05 Paul Thomas <pault@gcc.gnu.org>
  1225. PR fortran/31564
  1226. * primary.c (gfc_match_rvalue): Make expressions that refer
  1227. to derived type parameters that have array references into
  1228. variable expressions. Remove references to use association
  1229. from the symbol.
  1230. PR fortran/33241
  1231. * decl.c (add_init_expr_to_sym): Provide assumed character
  1232. length parameters with the length of the initialization
  1233. expression, if a constant, or that of the first element of
  1234. an array.
  1235. 2007-09-04 Janus Weil <jaydub66@gmail.com>
  1236. Paul Thomas <pault@gcc.gnu.org>
  1237. * decl.c (match_procedure_decl,match_procedure_in_interface,
  1238. gfc_match_procedure): Handle PROCEDURE statements.
  1239. * gfortran.h (struct gfc_symbol): New member "gfc_symbol *interface".
  1240. (enum gfc_statement): New element "ST_PROCEDURE".
  1241. (strcut symbol_attribute): New member "unsigned procedure".
  1242. * interface.c (check_interface0): Extended error checking.
  1243. * match.h: Add gfc_match_procedure prototype.
  1244. * parse.c (decode_statement,next_statement,gfc_ascii_statement,
  1245. parse_derived,parse_interface): Implement PROCEDURE statements.
  1246. * resolve.c (resolve_symbol): Ditto.
  1247. * symbol.c (check_conflict): Ditto.
  1248. (gfc_add_proc): New function for setting the procedure attribute.
  1249. (copy_formal_args): New function for copying formal argument lists.
  1250. 2007-09-03 Daniel Jacobowitz <dan@codesourcery.com>
  1251. * Make-lang.in (gfortranspec.o): Remove SHLIB_MULTILIB.
  1252. 2007-09-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
  1253. * gfortranspec.c (lang_specific_driver): Use CONST_CAST2.
  1254. * options.c (gfc_post_options): Supply a TYPE for CONST_CAST.
  1255. * parse.c (parse_omp_structured_block): Likewise,
  1256. * st.c (gfc_free_statement): Likewise,
  1257. 2007-09-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1258. PR fortran/31675
  1259. * libgfortran.h: New file.
  1260. * iso-fortran-env.def: Use macros in the new header instead of
  1261. hardcoded integer constants.
  1262. * Make-lang.in (F95_PARSER_OBJS, GFORTRAN_TRANS_DEPS): Add
  1263. fortran/libgfortran.h.
  1264. * gfortran.h (GFC_STD_*, GFC_FPE_*, options_convert,
  1265. ioerror_codes): Remove.
  1266. * trans.c (ERROR_ALLOCATION): Remove.
  1267. (gfc_call_malloc, gfc_allocate_with_status,
  1268. gfc_allocate_array_with_status): Use LIBERROR_ALLOCATION.
  1269. * trans-types.h (GFC_DTYPE_*): Remove.
  1270. * trans-decl.c (gfc_generate_function_code): Use
  1271. GFC_CONVERT_NATIVE instead of CONVERT_NATIVE.
  1272. * trans-io.c (set_parameter_value, set_parameter_ref): Use
  1273. LIBERROR_* macros instead of IOERROR_ macros.
  1274. * trans-intrinsic.c (gfc_conv_intrinsic_function): Use
  1275. LIBERROR_END and LIBERROR_EOR instead of hardcoded constants.
  1276. * options.c (gfc_init_options): Use GFC_CONVERT_NATIVE instead of
  1277. CONVERT_NATIVE.
  1278. (gfc_handle_option): Use GFC_CONVERT_* macros instead of CONVERT_*.
  1279. 2007-09-02 Steven G. Kargl <kargl@gcc.gnu.org>
  1280. * invoke.texi: Fix the -frange-checking option entry.
  1281. 2007-09-02 Roger Sayle <roger@eyesopen.com>
  1282. * decl.c (match_string_p): New helper function to explicitly match
  1283. a string of characters.
  1284. (match_attr_spec): Remove no longer needed DECL_COLON from decl_types.
  1285. Delete decls array and peek_char. Rewrite decl attribute parser to
  1286. avoid calling gfc_match_strings.
  1287. * match.c (gfc_match_strings): Delete unused function.
  1288. * match.h (gfc_match_strings): Delete prototype.
  1289. 2007-09-02 Tobias Schlüter <tobi@gcc.gnu.org>
  1290. * dump-parse-tree.c (show_char_const): New function.
  1291. (gfc_show_expr): Use it.
  1292. * expr.c (find_substring_ref): Rework to not keep characters
  1293. dangling beyond end of string.
  1294. 2007-09-02 H.J. Lu <hongjiu.lu@intel.com>
  1295. PR fortran/33276
  1296. * array.c (expand_iterator): Initialize frame.prev.
  1297. 2007-08-31 Tobias Burnus <burnus@net-b.de>
  1298. PR fortran/33232
  1299. * io.c (match_io): Also diagnose extra comma for READ.
  1300. 2007-08-31 Joseph Myers <joseph@codesourcery.com>
  1301. * intrinsic.texi (LGAMMA): Remove empty @cindex line.
  1302. 2007-08-31 Paul Thomas <pault@gcc.gnu.org>
  1303. PR fortran/31879
  1304. PR fortran/31197
  1305. PR fortran/31258
  1306. PR fortran/32703
  1307. * gfortran.h : Add prototype for gfc_resolve_substring_charlen.
  1308. * resolve.c (gfc_resolve_substring_charlen): New function.
  1309. (resolve_ref): Call gfc_resolve_substring_charlen.
  1310. (gfc_resolve_character_operator): New function.
  1311. (gfc_resolve_expr): Call the new functions in cases where the
  1312. character length is missing.
  1313. * iresolve.c (cshift, eoshift, merge, pack, reshape, spread,
  1314. transpose, unpack): Call gfc_resolve_substring_charlen for
  1315. source expressions that are character and have a reference.
  1316. * trans.h (gfc_trans_init_string_length) Change name to
  1317. gfc_conv_string_length; modify references in trans-expr.c,
  1318. trans-array.c and trans-decl.c.
  1319. * trans-expr.c (gfc_trans_string_length): Handle case of no
  1320. backend_decl.
  1321. (gfc_conv_aliased_arg): Remove code for treating substrings
  1322. and replace with call to gfc_trans_string_length.
  1323. * trans-array.c (gfc_conv_expr_descriptor): Remove code for
  1324. treating strings and call gfc_trans_string_length instead.
  1325. 2007-08-30 Tobias Burnus <burnus@net-b.de>
  1326. PR fortran/33228
  1327. * interface.c (check_interface0): Improve error for external procs.
  1328. (check_sym_interfaces): Fix checking of module procedures.
  1329. 2007-08-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1330. PR fortran/32989
  1331. * iresolve.c (gfc_resolve_getarg): Handle non-default integer
  1332. kinds.
  1333. * check.c (gfc_check_getarg): New function
  1334. * intrinsic.h: Add prototype for gfc_check_getarg.
  1335. * intrinsic.c (add_subroutines): Add reference to gfc_check_getarg.
  1336. * intrinsic.texi (GETARG): Adjust documentation.
  1337. 2007-08-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1338. Tobias Burnus <burnus@gcc.gnu.org>
  1339. PR fortran/33105
  1340. * intrinsic.c (add_functions): Add IS_IOSTAT_END and
  1341. IS_IOSTAT_EOR intrinsics.
  1342. * gfortran.h (gfc_isym_id): Add GFC_ISYM_IS_IOSTAT_END and
  1343. GFC_ISYM_IS_IOSTAT_EOR.
  1344. * trans-intrinsic.c (gfc_conv_has_intvalue): New function.
  1345. (gfc_conv_intrinsic_function): Call gfc_conv_has_intvalue for
  1346. GFC_ISYM_IS_IOSTAT_END and GFC_ISYM_IS_IOSTAT_EOR.
  1347. * intrinsic.texi: Add IS_IOSTAT_END and IS_IOSTAT_EOR.
  1348. 2007-08-28 Christopher D. Rickett <crickett@lanl.gov>
  1349. PR fortran/33215
  1350. * decl.c (build_sym): Pass number of identifiers on line to
  1351. set_binding_label.
  1352. (set_binding_label): Verify that only one identifier given if
  1353. NAME= specified, even if the given binding label has zero length.
  1354. (gfc_match_bind_c): Remove declaration for has_name_equals because
  1355. it hides the static global one that is needed.
  1356. 2007-08-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1357. * trans-array.c (gfc_grow_array): Use gfc_call_realloc.
  1358. (gfc_array_allocate): Use gfc_allocate_with_status and
  1359. gfc_allocate_array_with_status.
  1360. (gfc_array_deallocate): Use gfc_deallocate_with_status.
  1361. (gfc_trans_dealloc_allocated): Use gfc_deallocate_with_status.
  1362. * trans-stmt.c (gfc_trans_allocate): Use gfc_allocate_with_status.
  1363. (gfc_trans_deallocate): Use gfc_deallocate_with_status.
  1364. * trans.c (gfc_allocate_with_status, gfc_allocate_array_with_status,
  1365. gfc_deallocate_with_status, gfc_call_realloc): New functions.
  1366. * trans.h (gfc_allocate_with_status, gfc_allocate_array_with_status,
  1367. gfc_deallocate_with_status, gfc_call_realloc): New prototypes.
  1368. (gfor_fndecl_internal_realloc, gfor_fndecl_allocate,
  1369. gfor_fndecl_allocate_array, gfor_fndecl_deallocate): Remove.
  1370. * f95-lang.c (gfc_init_builtin_functions): Create decl for
  1371. BUILT_IN_REALLOC.
  1372. * trans-decl.c (gfor_fndecl_internal_realloc,
  1373. gfor_fndecl_allocate, gfor_fndecl_allocate_array,
  1374. gfor_fndecl_deallocate): Remove function decls.
  1375. (gfc_build_builtin_function_decls): Likewise.
  1376. 2007-08-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  1377. PR fortran/33055
  1378. Revert previous patch.
  1379. 2007-08-28 Jakub Jelinek <jakub@redhat.com>
  1380. PR fortran/22244
  1381. * Make-lang.in (fortran/trans-types.o): Depend on $(FLAGS_H).
  1382. * trans-types.c: Include flags.h.
  1383. (gfc_get_nodesc_array_type): Add TYPE_DECL TYPE_NAME with
  1384. correct bounds and dimensions for packed arrays.
  1385. 2007-08-27 Tobias Burnus <burnus@net-b.de>
  1386. * simplify.c (gfc_simplify_lgamma): Fix mpfr_lgamma call.
  1387. 2007-08-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  1388. PR fortran/33055
  1389. * trans-io.c (create_dummy_iostat): New function to create a unique
  1390. dummy variable expression to use with IOSTAT.
  1391. (gfc_trans_inquire): Use the new function to pass unit number error info
  1392. to run-time library if a regular IOSTAT variable was not given.
  1393. 2007-08-26 H.J. Lu <hongjiu.lu@intel.com>
  1394. * gfortran.h (gfc_isym_id): Add GFC_ISYM_GAMMA and
  1395. GFC_ISYM_LGAMMA.
  1396. 2007-08-26 Asher Langton <langton2@llnl.gov>
  1397. Tobias Burnus <burnus@net-b.de>
  1398. * gfortran.h (gfc_option_t): Add flag_recursive.
  1399. * lang.opt: Add -frecursive option and update -fopenmp.
  1400. * invoke.texi (-frecursive): Document new option.
  1401. (-fopenmp,-fno-automatic,-fmax-stack-var-size): Update.
  1402. * options.c (gfc_init_options, gfc_post_options,
  1403. gfc_handle_option): Add -frecursive and modify -fopenmp.
  1404. (gfc_post_options): Add warning for conflicting flags.
  1405. 2007-08-26 Tobias Burnus <burnus@net-b.de>
  1406. PR fortran/31298
  1407. * module.c (mio_symbol_ref,mio_interface_rest): Return pointer_info.
  1408. (load_operator_interfaces): Support multible loading of an operator.
  1409. 2007-08-26 Tobias Burnus <burnus@net-b.de>
  1410. PR fortran/32985
  1411. * match.c (gfc_match_common): Remove SEQUENCE diagnostics.
  1412. * resolve.c (resolve_common_blocks): Add SEQUENCE diagnostics;
  1413. fix walking through the tree.
  1414. 2007-08-26 Tobias Burnus <burnus@net-b.de>
  1415. PR fortran/32980
  1416. * intrinsic.h (gfc_simplify_gamma,gfc_simplify_lgamma,
  1417. gfc_resolve_gamma,gfc_resolve_lgamma): New function declations.
  1418. * mathbuiltins.def: Define GAMMA and LGAMMA.
  1419. * intrinsic.c (add_functions): Add GAMMA, DGAMMA, LGAMMA, ALGAMA
  1420. and DLGAMA.
  1421. * simplify.c (gfc_simplify_gamma,gfc_simplify_lgamma): New functions.
  1422. * iresolve.c (gfc_resolve_gamma,gfc_resolve_lgamma): New functions.
  1423. * intrinsic.texi: Add documentation for GAMMA and LGAMMA.
  1424. 2007-08-26 Tobias Burnus <burnus@net-b.de>
  1425. PR fortran/33188
  1426. * parse.c (parse_derived): Support empty derived type
  1427. definitions for Fortran 2003.
  1428. 2007-08-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
  1429. * trans-openmp.c (gfc_omp_privatize_by_reference): Constify.
  1430. * trans.h (gfc_omp_privatize_by_reference): Likewise.
  1431. 2007-08-24 Tobias Burnus <burnus@net-b.de>
  1432. PR fortran/33178
  1433. * intrinsic.c (gfc_intrinsic_func_interface): Fix initialization
  1434. expression check.
  1435. 2007-08-24 Thomas Koenig <tkoenig@gcc.gnu.org>
  1436. PR fortran/32972
  1437. * iresolve.c: Don't convert array masks.
  1438. 2007-08-24 Tobias Burnus <burnus@net-b.de>
  1439. PR fortran/33139
  1440. * trans-array.c (gfc_conv_expr_descriptor): Copy bounds for
  1441. whole-array pointer assignments.
  1442. 2007-08-23 Jakub Jelinek <jakub@redhat.com>
  1443. * decl.c (variable_decl): Don't share charlen structs if
  1444. length == NULL.
  1445. * trans-decl.c (create_function_arglist): Assert
  1446. f->sym->ts.cl->backend_decl is NULL instead of unsharing
  1447. charlen struct here.
  1448. 2007-08-23 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1449. PR fortran/33095
  1450. * trans-intrinsic.c (gfc_conv_intrinsic_minmax): Remove
  1451. runtime error checking.
  1452. 2007-08-22 Roger Sayle <roger@eyesopen.com>
  1453. Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
  1454. * match.c (intrinsic_operators): Delete.
  1455. (gfc_match_intrinsic_op): Rewrite matcher to avoid calling
  1456. gfc_match_strings.
  1457. 2007-08-22 Christopher D. Rickett <crickett@lanl.gov>
  1458. PR fortran/33020
  1459. * resolve.c (gfc_iso_c_sub_interface): Remove setting of type and
  1460. kind for optional SHAPE parameter of C_F_POINTER.
  1461. 2007-08-22 Janus Weil <jaydub66@gmail.com>
  1462. * decl.c (match_attr_spec): Pass on errors from gfc_match_bind_c.
  1463. (gfc_match_bind_c): Bugfix in check for NAME= with abstract interfaces.
  1464. (gfc_match_mopdproc): Bugfix to reject module procedures in
  1465. abstract interfaces.
  1466. 2007-08-22 Kai Tietz <kai.tietz@onevision.com>
  1467. * f95-lang.c: (gfc_init_decl_processing): Choose sizetype by using
  1468. Pmode.
  1469. 2007-08-21 Paul Brook <paul@codesourcery.com>
  1470. Nathan Sidwell <nathan@codesourcery.com>
  1471. Mark Mitchell <mark@codesourcery.com>
  1472. Joseph Myers <joseph@codesourcery.com>
  1473. * gfortranspec.c (lang_specific_driver): Use pkgversion_string.
  1474. * Make-lang.in (gfortran.pod): Define BUGURL.
  1475. * invoke.texi: Use BUGURL for bug-reporting instructions.
  1476. 2007-08-19 Roger Sayle <roger@eyesopen.com>
  1477. * match.c (intrinsic_operators): Make static.
  1478. (gfc_op2string): New function for converting a gfc_intrinsic_op to
  1479. to a "const char*", replacing the macro of the same name.
  1480. * gfortran.h (intrinsic_operators): Delete prototype.
  1481. (gfc_op2string): Replace macro with function prototype.
  1482. 2007-08-18 Tobias Burnus <burnus@net-b.de>
  1483. * gfortran.h (gfc_is_intrinsic_typename): Add declaration.
  1484. * symbol.c (gfc_is_intrinsic_typename): New function.
  1485. * parse.c (decode_statement): Check for space in ABSTRACT INTERFACE.
  1486. (parse_interface): Use gfc_is_intrinsic_typename.
  1487. * decl.c (gfc_match_derived_decl): Ditto.
  1488. * module.c (gfc_match_use): Use gcc_unreachable() for
  1489. INTERFACE_ABSTRACT in switch().
  1490. 2007-08-18 Roger Sayle <roger@eyesopen.com>
  1491. * primary.c (match_logical_constant_string): New function to match
  1492. a ".true." or a ".false.".
  1493. (match_logical_constant): Use it instead of gfc_match_strings.
  1494. 2007-08-18 Paul Thomas <pault@gcc.gnu.org>
  1495. Janus Weil <jaydub66@gmail.com>
  1496. * interface.c (gfc_match_interface,gfc_match_abstract_interface,
  1497. gfc_match_end_interface,gfc_add_interface): Add abstract interface.
  1498. * dump-parse-tree.c (gfc_show_attr): Ditto.
  1499. * gfortran.h (interface_type,symbol_attribute): Ditto.
  1500. * module.c (gfc_match_use,ab_attribute,attr_bits,
  1501. mio_symbol_attribute): Ditto.
  1502. * resolve.c (resolve_function): Ditto.
  1503. * match.h: Ditto.
  1504. * parse.c (decode_statement): Ditto.
  1505. (parse_interface): Ditto, check for C1203 (name of abstract interface
  1506. cannot be the same as an intrinsic type).
  1507. * decl.c (gfc_match_bind_c): Check for NAME= with abstract interfaces.
  1508. (access_attr_decl): Handle Abstract interfaces.
  1509. 2007-08-18 Paul Thomas <pault@gcc.gnu.org>
  1510. PR fortran/32881
  1511. * expr.c (gfc_check_pointer_assign): If the rhs is the
  1512. initialization expression for the rhs, there is no error.
  1513. 2007-08-18 Paul Thomas <pault@gcc.gnu.org>
  1514. PR fortran/32875
  1515. * trans-array.c (get_array_ctor_strlen): Set the character
  1516. length of a zero length array to zero.
  1517. 2007-08-16 Tobias Burnus <burnus@net-b.de>
  1518. PR fortran/33072
  1519. * module.c (gfc_match_use): Mark user operators as such.
  1520. (find_use_name_n): Distinguish between operators and other symbols.
  1521. (find_use_name,number_use_names,mio_namelist,
  1522. load_operator_interfaces,load_generic_interfaces,read_module,
  1523. write_generic): Update find_use_name_n calls.
  1524. 2007-08-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1525. PR fortran/29459
  1526. * trans.c (gfc_create_var_np): Do not emit warnings for
  1527. anonymous variables.
  1528. 2007-08-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1529. PR fortran/33066
  1530. * decl.c (gfc_get_type_attr_spec): Fix whitespace.
  1531. (gfc_match_derived_decl): Fix logic.
  1532. 2007-08-14 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1533. PR fortran/33073
  1534. * trans-intrinsic.c (build_fixbound_expr): Convert to result type
  1535. in all cases.
  1536. 2007-08-14 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1537. PR fortran/32594
  1538. * trans-expr.c (gfc_conv_substring_expr): Only call
  1539. gfc_conv_substring if expr->ref is not NULL.
  1540. * expr.c (gfc_is_constant_expr): If e->ref is NULL, the substring
  1541. expression might be a constant.
  1542. (gfc_simplify_expr): Handle missing start and end, as well as
  1543. missing ref.
  1544. 2007-08-13 Paul Thomas <pault@gcc.gnu.org>
  1545. PR fortran/32926
  1546. * match.c (gfc_match_call): Do not create a new symtree in the
  1547. case where the existing symbol is external and not referenced.
  1548. 2007-08-13 Paul Thomas <pault@gcc.gnu.org>
  1549. PR fortran/32827
  1550. * decl.c (variable_decl): Check for an imported symbol
  1551. by looking for its symtree and testing for the imported
  1552. attribute.
  1553. (gfc_match_import): Remove change of symbol's namespace
  1554. and set the attribute imported instead.
  1555. * symbol.c (gfc_get_sym_tree): It is not an error if a
  1556. symbol is imported.
  1557. * gfortran.h : Add the 'imported' to symbol_attribute.
  1558. 2007-08-13 Paul Thomas <pault@gcc.gnu.org>
  1559. PR fortran/32962
  1560. * trans-array.c (gfc_conv_array_transpose): Set the offset
  1561. of the destination to zero if the loop is zero based.
  1562. 2007-08-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1563. PR fortran/29600
  1564. * intrinsic.c (add_functions): Add optional KIND argument to ACHAR.
  1565. * iresolve.c (gfc_resolve_achar): Handle the KIND argument.
  1566. * check.c (gfc_check_achar): Check for the optional KIND argument.
  1567. * simplify.c (gfc_simplify_achar): Use KIND argument.
  1568. * intrinsic.h (gfc_check_achar, gfc_simplify_achar,
  1569. gfc_resolve_achar): Adjust prototypes.
  1570. 2007-08-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1571. PR fortran/30964
  1572. PR fortran/33054
  1573. * trans-expr.c (gfc_conv_function_call): When no formal argument
  1574. list is available, we still substitute missing optional arguments.
  1575. * check.c (gfc_check_random_seed): Correct the check on the
  1576. number of arguments to RANDOM_SEED.
  1577. * intrinsic.c (add_subroutines): Add a resolution function to
  1578. RANDOM_SEED.
  1579. * iresolve.c (gfc_resolve_random_seed): New function.
  1580. * intrinsic.h (gfc_resolve_random_seed): New prototype.
  1581. 2007-08-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1582. PR fortran/32860
  1583. * error.c (error_uinteger): New function.
  1584. (error_integer): Call error_uinteger.
  1585. (error_print): Handle %u, %lu, %li and %ld format specifiers.
  1586. * interface.c (compare_actual_formal): Use the new %lu specifier.
  1587. 2007-08-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1588. PR fortran/31629
  1589. * lang.opt (-fmodule-private): New option.
  1590. * gfortran.h (gfc_option_t): Add flag_module_private member.
  1591. * invoke.texi (-fmodule-private): Document the new option.
  1592. * module.c (gfc_check_access): Allow the -fmodule-private option
  1593. to modify the default behaviour.
  1594. * options.c (gfc_init_options): Initialize flag_module_private.
  1595. (gfc_handle_option): Handle -fmodule-private.
  1596. 2007-08-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1597. PR fortran/29600
  1598. * intrinsic.c (add_functions): Add KIND arguments to COUNT,
  1599. IACHAR, ICHAR, INDEX, LBOUND, LEN, LEN_TRIM, SCAN, SIZE, UBOUND
  1600. and VERIFY.
  1601. * iresolve.c (gfc_resolve_count): Add kind argument.
  1602. (gfc_resolve_iachar): New function.
  1603. (gfc_resolve_ichar): Add kind argument.
  1604. (gfc_resolve_index_func): Likewise.
  1605. (gfc_resolve_lbound): Likewise.
  1606. (gfc_resolve_len): Likewise.
  1607. (gfc_resolve_len_trim): Likewise.
  1608. (gfc_resolve_scan): Likewise.
  1609. (gfc_resolve_size): New function.
  1610. (gfc_resolve_ubound): Add kind argument.
  1611. (gfc_resolve_verify): Likewise.
  1612. * trans-decl.c (gfc_get_extern_function_decl): Allow specific
  1613. intrinsics to have 4 arguments.
  1614. * check.c (gfc_check_count): Add kind argument.
  1615. (gfc_check_ichar_iachar): Likewise.
  1616. (gfc_check_index): Likewise.
  1617. (gfc_check_lbound): Likewise.
  1618. (gfc_check_len_lentrim): New function.
  1619. (gfc_check_scan): Add kind argument.
  1620. (gfc_check_size): Likewise.
  1621. (gfc_check_ubound): Likewise.
  1622. (gfc_check_verify): Likewise.
  1623. * intrinsic.texi: Update documentation for COUNT, IACHAR, ICHAR,
  1624. INDEX, LBOUND, LEN, LEN_TRIM, SCAN, SIZE, UBOUND and VERIFY.
  1625. * simplify.c (get_kind): Whitespace fix.
  1626. (int_expr_with_kind): New function.
  1627. (gfc_simplify_iachar): Add kind argument.
  1628. (gfc_simplify_iachar): Likewise.
  1629. (gfc_simplify_ichar): Likewise.
  1630. (gfc_simplify_index): Likewise.
  1631. (simplify_bound_dim): Likewise.
  1632. (simplify_bound): Likewise.
  1633. (gfc_simplify_lbound): Likewise.
  1634. (gfc_simplify_len): Likewise.
  1635. (gfc_simplify_len_trim): Likewise.
  1636. (gfc_simplify_scan): Likewise.
  1637. (gfc_simplify_shape): Pass NULL as kind argument to gfc_simplify_size.
  1638. (gfc_simplify_size): Add kind argument.
  1639. (gfc_simplify_ubound): Likewise.
  1640. (gfc_simplify_verify): Likewise.
  1641. * intrinsic.h: Update prototypes and add new ones.
  1642. * trans-intrinsic.c (gfc_conv_intrinsic_index): Rename into
  1643. gfc_conv_intrinsic_index_scan_verify.
  1644. (gfc_conv_intrinsic_scan, gfc_conv_intrinsic_verify): Remove.
  1645. (gfc_conv_intrinsic_function): Call
  1646. gfc_conv_intrinsic_index_scan_verify to translate the INDEX,
  1647. SCAN and VERIFY intrinsics.
  1648. 2007-08-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1649. PR fortran/31189
  1650. * invoke.texi (-fbacktrace): Document the new behaviour.
  1651. 2007-08-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1652. PR fortran/32937
  1653. * trans-array.c (gfc_conv_expr_descriptor): Use
  1654. gfc_conv_const_charlen to generate backend_decl of right type.
  1655. * trans-expr.c (gfc_conv_expr_op): Use correct return type.
  1656. (gfc_build_compare_string): Use int type instead of default
  1657. integer kind for single character comparison.
  1658. (gfc_conv_aliased_arg): Give backend_decl the right type.
  1659. * trans-decl.c (gfc_build_intrinsic_function_decls): Make
  1660. compare_string return an int.
  1661. 2007-08-11 Ian Lance Taylor <iant@google.com>
  1662. * f95-lang.c (gfc_get_alias_set): Change return type to
  1663. alias_set_type.
  1664. 2007-08-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1665. PR fortran/31270
  1666. * trans.c (gfc_trans_runtime_check): Reorder arguments and
  1667. add extra variable arguments. Hand them to the library function.
  1668. * trans.h (gfc_trans_runtime_check): Update prototype.
  1669. * trans-array.c (gfc_trans_array_bound_check): Issue more
  1670. detailled error messages.
  1671. (gfc_conv_array_ref): Likewise.
  1672. (gfc_conv_ss_startstride): Likewise.
  1673. (gfc_trans_dummy_array_bias): Reorder arguments to
  1674. gfc_trans_runtime_check.
  1675. * trans-expr.c (gfc_conv_substring): Issue more detailled
  1676. error messages.
  1677. (gfc_conv_function_call): Reorder arguments to gfc_trans_runtime_check.
  1678. * trans-stmt.c (gfc_trans_goto): Likewise.
  1679. * trans-io.c (set_string): Reorder arguments to
  1680. gfc_trans_runtime_check and issue a more detailled error message.
  1681. * trans-decl.c (gfc_build_builtin_function_decls): Make
  1682. runtime_error and runtime_error_at handle a variable number of
  1683. arguments.
  1684. * trans-intrinsic.c (gfc_conv_intrinsic_bound): Reorder arguments
  1685. to gfc_trans_runtime_check.
  1686. (gfc_conv_intrinsic_minmax): Likewise.
  1687. (gfc_conv_intrinsic_repeat): Issue more detailled error messages.
  1688. 2007-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
  1689. * gfortranspec.c (lang_specific_driver): Use CONST_CAST.
  1690. * options.c (gfc_post_options): Likewise.
  1691. * parse.c (parse_omp_structured_block): Likewise.
  1692. * st.c (gfc_free_statement): Likewise.
  1693. 2007-08-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1694. PR fortran/32933
  1695. * trans-decl.c (gfc_build_builtin_function_decls): Change
  1696. prototype for associated.
  1697. * trans-intrinsic.c (gfc_conv_intrinsic_minmax): Convert the
  1698. result of __builtin_isnan into a boolean.
  1699. (gfc_conv_intrinsic_strcmp): Cleanup.
  1700. (gfc_conv_associated): Convert the result of the associated
  1701. function into a boolean.
  1702. 2007-08-09 Tobias Burnus <burnus@net-b.de>
  1703. PR fortran/32987
  1704. * io.c (format_token): Add FMT_ERROR.
  1705. (next_char_not_space): Print error/warning when
  1706. '\t' are used in format specifications.
  1707. (format_lex): Propagate error.
  1708. (check_format): Ditto.
  1709. 2007-08-09 Tobias Burnus <burnus@net-b.de>
  1710. PR fortran/33001
  1711. * arith.c (arith_error): Point in the error message
  1712. to -fno-range-check.
  1713. 2007-08-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1714. PR fortran/32902
  1715. * intrinsic.texi (SIZEOF): Add mention to C_SIZE_T.
  1716. 2007-08-06 Christopher D. Rickett <crickett@lanl.gov>
  1717. PR fortran/32732
  1718. * trans-expr.c (gfc_conv_scalar_char_value): Convert the tree and
  1719. actual arg expressions for scalar characters passed by-value to
  1720. bind(c) routines.
  1721. (gfc_conv_function_call): Call gfc_conv_scalar_char_value.
  1722. * trans.h: Add prototype for gfc_conv_scalar_char_value.
  1723. * trans-decl.c (generate_local_decl): Convert by-value character
  1724. dummy args of bind(c) procedures using
  1725. gfc_conv_scalar_char_value.
  1726. 2007-08-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1727. PR fortran/30947
  1728. * iresolve.c (gfc_resolve_alarm_sub): Suffix the subroutine name
  1729. with the kind of the STATUS argument.
  1730. 2007-08-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1731. PR fortran/30948
  1732. * intrinsic.c (add_functions): Fix name of argument to CHDIR.
  1733. 2007-08-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1734. PR fortran/30933
  1735. * iresolve.c (gfc_resolve_exit): Convert argument to default
  1736. integer kind.
  1737. 2007-08-06 Daniel Franke <franke.daniel@gmail.com>
  1738. * resolve.c (derived_pointer): Removed, replaced callers by access
  1739. to appropiate attribute bit.
  1740. (derived_inaccessable): Shortcut recursion depth.
  1741. (resolve_fl_namelist): Fixed checks for private components in namelists.
  1742. 2007-08-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1743. PR fortran/29828
  1744. * trans.h (gfor_fndecl_string_minmax): New prototype.
  1745. * trans-decl.c (gfor_fndecl_string_minmax): New variable.
  1746. (gfc_build_intrinsic_function_decls): Create gfor_fndecl_string_minmax.
  1747. * check.c (gfc_check_min_max): Allow for character arguments.
  1748. * trans-intrinsic.c (gfc_conv_intrinsic_minmax_char): New function.
  1749. (gfc_conv_intrinsic_function): Add special case for MIN and MAX
  1750. intrinsics with character arguments.
  1751. * simplify.c (simplify_min_max): Add simplification for character
  1752. arguments.
  1753. 2007-08-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1754. PR fortran/31612
  1755. * invoke.texi: Adjust documentation for option -fsyntax-only.
  1756. 2007-08-05 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1757. Tobias Burnus <burnus@gcc.gnu.org>
  1758. PR fortran/32979
  1759. * intrinsic.h (gfc_check_isnan): Add prototype.
  1760. * gfortran.h (gfc_isym_id): Add GFC_ISYM_ISNAN.
  1761. * intrinsic.c (add_functions): Add ISNAN intrinsic.
  1762. * check.c (gfc_check_isnan): New function.
  1763. * trans-intrinsic.c (gfc_conv_intrinsic_isnan): New function.
  1764. (gfc_conv_intrinsic_function): Call gfc_conv_intrinsic_isnan
  1765. to translate ISNAN.
  1766. * intrinsic.texi: Document ISNAN.
  1767. 2007-08-04 Paul Thomas <pault@gcc.gnu.org>
  1768. PR fortran/31214
  1769. * symbol.c (get_unique_symtree): Moved from module.c.
  1770. * module.c (get_unique_symtree): Moved to symbol.c.
  1771. * decl.c (get_proc_name): Transfer the typespec from the local
  1772. symbol to the module symbol, in the case that an entry is also
  1773. a module procedure. Ensure the local symbol is cleaned up by
  1774. pointing to it with a unique symtree.
  1775. * dump_parse_tree (gfc_show_code_node): Add EXEC_ASSIGN_CALL.
  1776. 2007-08-04 Steven G. Kargl <kargl@gcc.gnu.org>
  1777. PR fortran/32969
  1778. * iresolve.c (gfc_resolve_rrspacing): Convert argument(s) to
  1779. expected KIND.
  1780. (gfc_resolve_scale): Ditto.
  1781. (gfc_resolve_set_exponent): Ditto.
  1782. (gfc_resolve_spacing): Ditto.
  1783. PR fortran/32968
  1784. * trans-intrinsic.c (gfc_conv_intrinsic_si_kind,
  1785. gfc_conv_intrinsic_sr_kind): Convert the argument(s) to the
  1786. expected KIND, and fold the result to the expected KIND.
  1787. 2007-08-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1788. PR fortran/31202
  1789. * f95-lang.c (gfc_init_builtin_functions): Defin builtins for
  1790. lround{f,,l} and llround{f,,l}.
  1791. * trans-intrinsic.c (build_fix_expr): Generate calls to the
  1792. {l,}round{f,,l} functions.
  1793. 2007-08-01 Thomas Koenig <tkoenig@gcc.gnu.org>
  1794. PR libfortran/32954
  1795. * intrinsic.c (resolve_mask_arg): New function.
  1796. (gfc_resolve_maxloc): Use resolve_mask_arg for mask resolution.
  1797. (gfc_resolve_maxval): Likewise.
  1798. (gfc_resolve_minloc): Likewise.
  1799. (gfc_resolve_minval): Likewise.
  1800. (gfc_resolve_pack): Likewise.
  1801. (gfc_resolve_product): Likewise.
  1802. (gfc_resolve_sum): Likewise.
  1803. (gfc_resolve_unpack): Likewise.
  1804. 2007-08-01 Tobias Burnus <burnus@net-b.de>
  1805. PR fortran/32936
  1806. * match.c (gfc_match_allocate): Better check that STAT is
  1807. a variable.
  1808. * check.c (gfc_check_allocated): Reorder checks to improve
  1809. error message.
  1810. 2007-08-01 Nick Clifton <nickc@redhat.com>
  1811. * arith.c: Change copyright header to refer to version 3 of the
  1812. GNU General Public License and to point readers at the COPYING3
  1813. file and the FSF's license web page.
  1814. * openmp.c, interface.c, intrinsic.c, trans-array.c, trans-expr.c,
  1815. symbol.c, iso-fortran-env.def, intrinsic.h, decl.c, trans-array.h,
  1816. matchexp.c, dump-parse-tree.c, trans-common.c, array.c,
  1817. Make-lang.in, trans-openmp.c, gfortran.h, error.c,
  1818. iso-c-binding.def, lang.opt, data.c, trans-const.c, trans-stmt.c,
  1819. expr.c, trans-const.h, trans-stmt.h, module.c, trans.c, scanner.c,
  1820. trans-types.c, trans.h, gfortranspec.c, trans-types.h,
  1821. lang-specs.h, io.c, bbt.c, resolve.c, f95-lang.c, st.c,
  1822. iresolve.c, match.c, trans-decl.c, trans-io.c, target-memory.c,
  1823. match.h, target-memory.h, parse.c, arith.h, check.c, dependency.c,
  1824. parse.h, types.def, convert.c, dependency.h, primary.c,
  1825. trans-intrinsic.c, options.c, misc.c, simplify.c: Likewise.
  1826. 2007-08-01 Daniel Franke <franke.daniel@gmail.com>
  1827. * trans-decl.c (generate_local_decl): Emit warning on unused parameter
  1828. on "-Wall -Wextra" or "-Wunused-parameter" but not on "-Wall", changed
  1829. messages that start with lower case to upper case.
  1830. * invoke.texi (-Wparameter-unused): Document differences between gcc
  1831. and gfortran regarding this option.
  1832. 2007-08-01 Daniel Franke <franke.daniel@gmail.com>
  1833. PR fortran/32945
  1834. * expr.c (check_specification_function): Skip check if no symtree
  1835. is available.
  1836. 2007-08-01 Paul Thomas <pault@gcc.gnu.org>
  1837. PR fortran/31609
  1838. * resolve.c (resolve_entries): Entries declared to be module
  1839. procedures must point to the function namespace.
  1840. 2007-07-31 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1841. PR fortran/32938
  1842. * trans-stmt.c (gfc_trans_return): Convert to correct type.
  1843. 2007-07-31 Steven G. Kargl <kargl@gcc.gnu.org>
  1844. PR fortran/32942
  1845. * trans-intrinsic.c (gfc_conv_intrinsic_exponent): Convert to correct
  1846. type.
  1847. 2007-07-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  1848. * invoke.texi: Document -fsign-zero flag.
  1849. 2007-07-29 Paul Thomas <pault@gcc.gnu.org>
  1850. PR fortran/31211
  1851. * trans-expr.c (gfc_conv_expr_reference): Add block for case of
  1852. scalar pointer functions so that NULL result is correctly
  1853. handled.
  1854. PR fortran/32682
  1855. * trans-array.c (gfc_trans_array_constructor): On detecting a
  1856. multi-dimensional parameter array, set the loop limits.
  1857. 2007-07-29 Daniel Franke <franke.daniel@gmail.com>
  1858. PR fortran/32906
  1859. * resolve.c (resolve_fl_parameter): Check for constant shape arrays,
  1860. adjusted error message.
  1861. 2007-07-29 Daniel Franke <franke.daniel@gmail.com>
  1862. * invoke.texi: Removed -w from option summary.
  1863. 2007-07-29 Daniel Franke <franke.daniel@gmail.com>
  1864. PR fortran/32879
  1865. * intrinsic.texi (IRAND, RAND, RANDOM_NUMBER): Document algorithm
  1866. used for random number generator.
  1867. 2007-07-28 Kazu Hirata <kazu@codesourcery.com>
  1868. * gfortran.h, interface.c, resolve.c, symbol.c: Fix comment
  1869. typos.
  1870. * intrinsic.texi, invoke.texi: Fix typos.
  1871. 2007-07-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  1872. PR fortran/31609
  1873. * resolve.c (generic_sym): Check for a same symbol and if so, return to
  1874. avoid infinite recursion.
  1875. 2007-07-28 Daniel Franke <franke.daniel@gmail.com>
  1876. PR fortran/31818
  1877. PR fortran/32876
  1878. PR fortran/32905
  1879. * gfortran.h (symbol_attribute): Added bits for pointer_comp,
  1880. private_comp.
  1881. * parse.c (parse_derived): Set pointer_comp/private_comp bits if
  1882. the derived type ultimately contains pointer components or private
  1883. components.
  1884. * module.c (ab_attribute): New values AB_POINTER_COMP, AB_PRIVATE_COMP.
  1885. (attr_bits): Added names for new ab_attributes.
  1886. (mio_symbol_attribute): Save/restore new attribute bits in modules.
  1887. * match.c (gfc_match_namelist): Removed check for namelist objects
  1888. of assumed shape.
  1889. * resolve.c (resolve_fl_namelist): Added check for pointer or
  1890. private components in nested types. Added check for namelist objects
  1891. of assumed shape.
  1892. 2007-07-28 Paul Thomas <pault@gcc.gnu.org>
  1893. PR fortran/32880
  1894. * trans-expr.c (gfc_trans_scalar_assign): Revert to fixed order
  1895. for lse and rse pre expressions, for derived types with
  1896. allocatable components. Instead, assign the lhs to a temporary
  1897. and deallocate after the assignment.
  1898. 2007-07-28 Janne Blomqvist <jb@gcc.gnu.org>
  1899. PR fortran/32909
  1900. * trans-stmt.c (gfc_trans_character_select): Replace occurrences
  1901. of gfc_c_int_type_node with integer_type_node.
  1902. * trans-decl.c (gfc_build_intrinsic_function_decls): Likewise.
  1903. (gfc_build_builtin_function_decls): Likewise.
  1904. (gfc_generate_function_code): Likewise.
  1905. * trans-io.c (gfc_build_io_library_fndecls): Likewise.
  1906. 2007-07-27 Janne Blomqvist <jb@gcc.gnu.org>
  1907. * trans-decl.c (gfc_build_builtin_function_decls): Use existing
  1908. gfc_array_index_type rather than creating another typenode for
  1909. gfc_index_integer_kind.
  1910. 2007-07-27 Janne Blomqvist <jb@gcc.gnu.org>
  1911. * trans-io.c (gfc_build_io_library_fndecls): Change to use
  1912. gfc_array_index_type for array descriptor triplets instead of
  1913. gfc_int4_type_node.
  1914. 2007-07-26 Steven G. Kargl <kargl@gcc.gnu.org>
  1915. PR fortran/32899
  1916. * resolve.c (resolve_operator): Add INTRINSIC_EQ_OS comparison.
  1917. 2007-07-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  1918. Daniel Franke <franke.daniel@gmail.com>
  1919. PR fortran/32760
  1920. * primary.c (match_variable): Do not call gfc_add_flavor if symbol has
  1921. attribute of ACCESS_PUBLIC or ACCESS_PRIVATE already marked.
  1922. 2007-07-27 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1923. PR fortran/32035
  1924. * trans-stmt.c (gfc_trans_character_select): Replace the
  1925. mechanism with labels by a SWITCH_EXPR.
  1926. * trans-decl.c (gfc_build_builtin_function_decls): Change
  1927. return type for select_string.
  1928. 2007-07-27 Paul Thomas <pault@gcc.gnu.org>
  1929. PR fortran/32903
  1930. * trans-decl.c (gfc_trans_deferred_vars): Set intent(out)
  1931. derived types as referenced, if they have the the default
  1932. initializer set.
  1933. 2007-07-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
  1934. * gfortran.h (generate_isocbinding_symbol): Constify.
  1935. * symbol.c (gen_special_c_interop_ptr, gen_cptr_param,
  1936. generate_isocbinding_symbol): Likewise.
  1937. 2007-07-24 Paul Thomas <pault@gcc.gnu.org>
  1938. PR fortran/31205
  1939. PR fortran/32842
  1940. * trans-expr.c (gfc_conv_function_call): Remove the default
  1941. initialization of intent(out) derived types.
  1942. * symbol.c (gfc_lval_expr_from_sym): New function.
  1943. * matchexp.c (gfc_get_parentheses): Return argument, if it is
  1944. character and posseses a ref.
  1945. * gfortran.h : Add prototype for gfc_lval_expr_from_sym.
  1946. * resolve.c (has_default_initializer): Move higher up in file.
  1947. (resolve_code): On detecting an interface assignment, check
  1948. if the rhs and the lhs are the same symbol. If this is so,
  1949. enclose the rhs in parenetheses to generate a temporary and
  1950. prevent any possible aliasing.
  1951. (apply_default_init): Remove code making the lval and call
  1952. gfc_lval_expr_from_sym instead.
  1953. (resolve_operator): Give a parentheses expression a type-
  1954. spec if it has no type.
  1955. * trans-decl.c (gfc_trans_deferred_vars): Apply the a default
  1956. initializer, if any, to an intent(out) derived type, using
  1957. gfc_lval_expr_from_sym and gfc_trans_assignment. Check if
  1958. the dummy is present.
  1959. 2007-07-24 Daniel Franke <franke.daniel@gmail.com>
  1960. PR fortran/32867
  1961. * expr.c (check_init_expr): Simplify matched functions.
  1962. 2007-07-24 Daniel Franke <franke.daniel@gmail.com>
  1963. PR fortran/32778
  1964. * intrinsic.c (add_sym): Do not exclude any symbols, even if not part
  1965. of the selected standard.
  1966. (make generic): Likewise.
  1967. (make alias): Likewise, set standard the alias belongs to.
  1968. (add_subroutines): Call make_noreturn unconditionally.
  1969. (check_intrinsic_standard): Change return value to try.
  1970. (gfc_intrinsic_func_interface): Check return value of above function.
  1971. (gfc_intrinsic_sub_interface): Likewise.
  1972. 2007-07-24 Thomas Koenig <tkoenig@gcc.gnu.org>
  1973. PR fortran/30814
  1974. * trans-decl.c (generate_function_code): Add argument
  1975. for flag_bounds_check to the array for set_options.
  1976. * invoke.texi (-fbounds-check): Document new libarary run-time
  1977. behaviour.
  1978. 2007-07-23 Daniel Franke <franke.daniel@gmail.com>
  1979. PR fortran/25104
  1980. PR fortran/31639
  1981. * expr.c (check_transformational): Reject valid transformational
  1982. intrinsics to avoid ICE.
  1983. (check_inquiry): Report error for assumed character lengths for
  1984. all supported standards.
  1985. (check_init_expr): Whitespace fix.
  1986. 2007-07-23 Christopher D. Rickett <crickett@lanl.gov>
  1987. PR fortran/32797
  1988. PR fortran/32800
  1989. * decl.c (verify_bind_c_sym): Use the result symbol for functions
  1990. with a result clause. Warn if implicitly typed. Verify the type
  1991. and rank of the SHAPE argument, if given.
  1992. * resolve.c (gfc_iso_c_sub_interface): Use gfc_procedure_use to
  1993. check the actual args against the formal, sorting them if
  1994. necessary.
  1995. * symbol.c (gen_shape_param): Initialize type of SHAPE param to
  1996. BT_VOID.
  1997. 2007-07-23 Christopher D. Rickett <crickett@lanl.gov>
  1998. PR fortran/32732
  1999. * trans-decl.c (generate_local_decl): Convert the TREE_TYPE for by
  2000. value character dummy args of BIND(C) procedures.
  2001. * trans-expr.c (gfc_conv_variable): Do not build address
  2002. expression for BT_CHARACTER dummy args.
  2003. 2007-07-23 Christopher D. Rickett <crickett@lanl.gov>
  2004. Tobias Burnus <burnus@net-b.de>
  2005. PR fortran/32600
  2006. * trans-expr.c (gfc_conv_function_call): Handle c_funloc.
  2007. * trans-types.c: Add pfunc_type_node.
  2008. (gfc_init_types,gfc_typenode_for_spec): Use it.
  2009. * resolve.c (gfc_iso_c_func_interface): Fix whitespace and
  2010. improve error message.
  2011. 2007-07-22 Daniel Franke <franke.daniel@gmail.com>
  2012. PR fortran/32710
  2013. * parse.c (gfc_fixup_sibling_symbols): No replacement of symbols if
  2014. the current is a namelist.
  2015. 2007-07-22 Daniel Franke <franke.daniel@gmail.com>
  2016. PR fortran/29962
  2017. PR fortran/31253
  2018. PR fortran/31265
  2019. PR fortran/31639
  2020. * gfortran.h (gfc_intrinsic_sym): Changed members elemental, pure,
  2021. generic, specific, actual_ok, noreturn into bits of a bitfield,
  2022. added bits for inquiry, transformational, conversion.
  2023. * check.c (non_init_transformational): Removed, removed all callers.
  2024. * intrinsic.c (enum class): New.
  2025. (add_sym*): Replaced argument elemetal by enum class. Changed all
  2026. callers.
  2027. (add_functions): Assign appropriate classes to intrinsic functions.
  2028. (add_subroutines): Assign appropriate classes to intrinsic subroutines.
  2029. (add_conv): Set conversion attribute.
  2030. (gfc_init_expr_extensions): Removed, removed all callers.
  2031. (gfc_intrinsic_func_interface): Reimplemented check for non-standard
  2032. initializatione expressions.
  2033. * expr.c (check_specification_function): New.
  2034. (gfc_is_constant_expr): Added check for specification functions.
  2035. (check_init_expr_arguments): New.
  2036. (check_inquiry): Changed return value to MATCH, added checks for
  2037. inquiry functions defined by F2003.
  2038. (check_transformational): New.
  2039. (check_null): New.
  2040. (check_elemental): New.
  2041. (check_conversion): New.
  2042. (check_init_expr): Call new check functions, add more specific error
  2043. messages.
  2044. 2007-07-21 Christopher D. Rickett <crickett@lanl.gov>
  2045. PR fortran/32627
  2046. * resolve.c (set_name_and_label): Set kind number for character
  2047. version of c_f_pointer.
  2048. (gfc_iso_c_sub_interface): Set the kind of the SHAPE formal arg to
  2049. that of the actual SHAPE arg.
  2050. * symbol.c (gen_shape_param): Initialize kind for SHAPE arg.
  2051. 2007-07-21 Christopher D. Rickett <crickett@lanl.gov>
  2052. PR fortran/32801
  2053. * symbol.c (generate_isocbinding_symbol): Remove unnecessary
  2054. conditional.
  2055. PR fortran/32804
  2056. * resolve.c (gfc_iso_c_func_interface): Reject assumed-shape and
  2057. deferred-shape arrays as args to C_LOC. Fix bug in testing
  2058. character args to C_LOC.
  2059. 2007-07-21 Lee Millward <lee.millward@gmail.com>
  2060. PR fortran/32823
  2061. * trans-intrinsic.c (gfc_conv_intrinsic_int): Evaluate all
  2062. arguments passed, not just the first one. Adjust code to
  2063. refer to "args[0]" instead of "arg" as a result.
  2064. 2007-07-19 Christopher D. Rickett <crickett@lanl.gov>
  2065. PR fortran/32600
  2066. * trans-expr.c (gfc_conv_function_call): Inline C_LOC.
  2067. 2007-07-18 Christopher D. Rickett <crickett@lanl.gov>
  2068. PR fortran/32801
  2069. * symbol.c (generate_isocbinding_symbol): Fix bug where
  2070. ISOCBINDING_FUNPTR was generated for C_LOC instead of the needed
  2071. ISOCBINDING_PTR.
  2072. 2007-07-17 Janus Weil <jaydub66@gmail.com>
  2073. PR fortran/32535
  2074. * resolve.c (resolve_fl_namelist): Check for namelist private
  2075. components in contained subprograms.
  2076. 2007-07-17 Paul Thomas <pault@gcc.gnu.org>
  2077. PR fortran/31320
  2078. PR fortran/32665
  2079. * trans-expr.c (gfc_trans_subcomponent_assign): Ensure that
  2080. renormalization unity base is done independently of existing
  2081. lbound value.
  2082. (gfc_trans_scalar_assign): If rhs is not a variable, put
  2083. lse->pre after rse->pre to ensure that de-allocation of lhs
  2084. occurs after evaluation of rhs.
  2085. 2007-07-16 Lee Millward <lee.millward@gmail.com>
  2086. PR fortran/32222
  2087. PR fortran/32238
  2088. PR fortran/32242
  2089. * trans-intrinsic.c (gfc_conv_intrinsic_function_args): Adjust
  2090. to operate on a stack allocated array for the intrinsic arguments
  2091. instead of creating a TREE_LIST. Add two new parameters for the
  2092. array and the number of elements. Update all callers to allocate
  2093. an array of the correct length to pass in. Update comment.
  2094. (gfc_intrinsic_argument_list_length): New function.
  2095. (gfc_conv_intrinsic_conversion): Call it.
  2096. (gfc_conv_intrinsic_mnimax): Likewise.
  2097. (gfc_conv_intrinsic_merge): Likewise.
  2098. (gfc_conv_intrinsic_lib_function): Call it. Use new CALL_EXPR
  2099. constructors.
  2100. (gfc_conv_intrinsic_cmplx): Likewise.
  2101. (gfc_conv_intrinsic_ctime): Likewise.
  2102. (gfc_covn_intrinsic_fdate): Likewise.
  2103. (gfc_conv_intrinsic_ttynam): Likewise.
  2104. (gfc_conv_intrinsic_ishftc): Likewise.
  2105. (gfc_conv_intrinsic_index): Likewise.
  2106. (gfc_conv_intrinsic_scan): Likewise.
  2107. (gfc_conv_intrinsic_verify): Likewise.
  2108. (gfc_conv_intrinsic_trim): Likewise.
  2109. (gfc_conv_intrinsic_aint): Use new CALL_EXPR constructors.
  2110. (gfc_conv_intrinsic_exponent): Likewise.
  2111. (gfc_conv_intrinsic_bound): Likewise.
  2112. (gfc_conv_intrinsic_abs): Likewise.
  2113. (gfc_conv_intrinsic_mod): Likewise.
  2114. (gfc_conv_intrinsic_sign): Likewise.
  2115. (gfc_conv_intrinsic_len): Likewise.
  2116. (gfc_conv_intrinsic_adjust): Likewise.
  2117. (gfc_conv_intrinsic_si_kind): Likewise.
  2118. 2007-07-16 Janne Blomqvist <jb@gcc.gnu.org>
  2119. PR fortran/32748
  2120. * trans-decl.c (gfc_build_builtin_function_decls): Remove
  2121. DECL_IS_MALLOC attribute from internal_realloc, thus reverting
  2122. part of my 2007-07-03 patch.
  2123. 2007-07-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  2124. Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  2125. PR fortran/32611
  2126. * gfortran.h (gfc_option_t): Add flag_sign_zero field.
  2127. * lang.opt (-fsign-zero): New option.
  2128. * trans.h: Rename gfor_fndecl_set_std into gfor_fndecl_set_options.
  2129. * trans-decl.c (gfc_build_builtin_function_decls): Build the function
  2130. declaration to pass an array containing the options to be used by the
  2131. runtime library. (gfc_generate_function_code): Build an array that
  2132. contains option values to be passed to the runtime library and the call
  2133. to the function.
  2134. * options.c (gfc_init_options): Initialize the flag_sign_zero field.
  2135. (gfc_handle_option): Handle the -fsign-zero option.
  2136. 2007-07-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  2137. PR fortran/32036
  2138. * trans-array.c (gfc_conv_array_ref): Only evaluate index once.
  2139. 2007-07-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  2140. PR fortran/32357
  2141. * iresolve.c (gfc_resolve_mvbits): Convert FROMPOS, LEN and TOPOS
  2142. to C int.
  2143. 2007-07-14 Thomas Koenig <tkoenig@gcc.gnu.org>
  2144. PR libfortran/32731
  2145. * iresolve.c(gfc_resolve_pack): A scalar mask has
  2146. to be kind=4, an array mask with kind<4 is converted
  2147. to gfc_default_logical_kind automatically.
  2148. (gfc_resolve_unpack): Convert mask to gfc_default_lotical_kind
  2149. if it has a kind<4.
  2150. 2007-07-14 Paul Thomas <pault@gcc.gnu.org>
  2151. PR fortran/32724
  2152. * parse.c (parse_spec): Emit error on unexpected statement
  2153. function.
  2154. 2007-07-13 Daniel Franke <franke.daniel@gmail.com>
  2155. * invoke.texi: Unified upper- and lower-case in menus.
  2156. (-w, -W): Removed, documented by gcc.
  2157. * intrinsic.texi: Unified Class-section entries, added
  2158. subroutine/function warning where appropiate.
  2159. 2007-07-12 Daniel Franke <franke.daniel@gmail.com>
  2160. PR fortran/31639
  2161. * decl.c (gfc_match_suffix): Removed surplus general error that hides
  2162. a more specific message.
  2163. * resolve.c (resolve_fl_variable): Reject illegal initializiers only
  2164. if not already done.
  2165. (resolve_fl_procedure): Added check for initializers of functions.
  2166. 2007-07-12 Daniel Franke <franke.daniel@gmail.com>
  2167. PR fortran/32704
  2168. * invoke.texi (-static-libgfortran): Document new option.
  2169. 2007-07-12 Paul Thomas <pault@gcc.gnu.org>
  2170. PR fortran/32634
  2171. PR fortran/32727
  2172. * module.c (write_generic): Restore patch of 2007-07-10 and use
  2173. symbol name if there are no use names.
  2174. 2007-07-12 Christopher D. Rickett <crickett@lanl.gov>
  2175. PR fortran/32599
  2176. * decl.c (verify_c_interop_param): Require character string dummy
  2177. args to BIND(C) procedures to have length 1.
  2178. * resolve.c (resolve_fl_procedure): Modify parameter checking for
  2179. BIND(C) procedures.
  2180. PR fortran/32601
  2181. * resolve.c (gfc_iso_c_func_interface): Verify that a valid
  2182. expression is given as an argument to C_LOC and C_ASSOCIATED.
  2183. * trans-io.c (transfer_expr): Add argument for code block. Add
  2184. standards check to determine if an error message should be
  2185. reported for printing C_PTR or C_FUNPTR.
  2186. (transfer_array_component): Update arguments to transfer_expr.
  2187. (gfc_trans_transfer): Ditto.
  2188. * symbol.c (gen_cptr_param): Fix whitespace.
  2189. 2007-07-12 Jakub Jelinek <jakub@redhat.com>
  2190. PR fortran/32550
  2191. * trans.h (GFC_POINTER_TYPE_P): Define.
  2192. * trans-types.c (gfc_sym_type): Set it for types on attr->sym.pointer.
  2193. * trans-openmp.c (gfc_omp_privatize_by_reference): Return false
  2194. if GFC_POINTER_TYPE_P is set on the type.
  2195. 2007-07-12 Richard Guenther <rguenther@suse.de>
  2196. * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Convert
  2197. arguments to gfc_charlen_type_node.
  2198. * trans-io.c (gfc_convert_array_to_string): Convert type
  2199. size to gfc_array_index_type.
  2200. 2007-07-12 Daniel Franke <franke.daniel@gmail.com>
  2201. PR fortran/32634
  2202. PR fortran/32727
  2203. * module.c: Reverted Paul's patch from 2007-07-10.
  2204. 2007-07-11 Richard Guenther <rguenther@suse.de>
  2205. * trans-array.c (gfc_conv_array_parameter): Use correct
  2206. types for comparison.
  2207. * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Use
  2208. correct types for POINTER_PLUS_EXPR.
  2209. * trans-stmt.c (gfc_trans_forall_loop): Use correct type
  2210. for integer one constant.
  2211. 2007-07-10 Paul Thomas <pault@gcc.gnu.org>
  2212. PR fortran/32157
  2213. * resolve.c (is_external_proc): New function. Adds test that
  2214. the symbol is not an intrinsic procedure.
  2215. * (resolve_function, resolve_call): Replace logical statements
  2216. with call to is_external_proc.
  2217. PR fortran/32689
  2218. * simplify.c (gfc_simplify_transfer): If mold has rank, the
  2219. result is an array.
  2220. PR fortran/32634
  2221. * module.c (write_generic): Write the local name of the
  2222. interface.
  2223. 2007-07-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  2224. PR fortran/29459
  2225. * trans-array.c (gfc_trans_array_constructor): Mark offset field
  2226. with TREE_NO_WARNING.
  2227. * trans-decl.c (gfc_build_qualified_array): Mark lbound, ubound,
  2228. stride and size variables with TREE_NO_WARNING.
  2229. 2007-07-09 Steven G. Kargl <kargl@gcc.gnu.org>
  2230. * trans-decl.c (set_tree_decl_type_code): Remove function.
  2231. (generate_local_decl): Remove reference to set_tree_decl_type_code.
  2232. 2007-07-09 Daniel Franke <franke.daniel@gmail.com>
  2233. PR fortran/31129
  2234. * trans-decl.c (generate_local_decl) Emit a warning if an unused
  2235. parameter is found.
  2236. 2007-07-08 Daniel Franke <franke.daniel@gmail.com>
  2237. PR fortran/29876
  2238. * module.c (gfc_match_use): Do not set an non-existant
  2239. intrinsic operator if a user-defined operator is found.
  2240. 2007-07-08 Daniel Franke <franke.daniel@gmail.com>
  2241. PR fortran/24784
  2242. PR fortran/28004
  2243. * trans-decl.c (generate_local_decl): Adjusted warning on unused
  2244. dummy arguments, tell middle-end not to emit additional warnings.
  2245. 2007-07-08 Daniel Franke <franke.daniel@gmail.com>
  2246. Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
  2247. PR fortran/17711
  2248. * gfortran.h (gfc_intrinsic_op): Added INTRINSIC_EQ_OS,
  2249. INTRINSIC_NE_OS, INTRINSIC_GT_OS, INTRINSIC_GE_OS,
  2250. INTRINSIC_LT_OS and INTRINSIC_LE_OS.
  2251. * arith.c (eval_intrinsic, eval_type_intrinsic0): Likewise.
  2252. * arith.h (gfc_eq, gfc_ne, gfc_gt, gfc_ge, gfc_lt, gfc_le):
  2253. Added gfc_intrinsic_op as third argument type.
  2254. * dump-parse-tree.c (gfc_show_expr): Account for new enum values.
  2255. * expr.c (simplify_intrinsic_op, check_intrinsic_op): Likewise.
  2256. * interface.c (check_operator_interface): Likewise.
  2257. (gfc_check_interfaces): Added cross-checks for FORTRAN 77 and
  2258. Fortran 90 style operators using new enum values.
  2259. (gfc_extend_expr): Likewise.
  2260. (gfc_add_interface): Likewise.
  2261. * match.c (intrinsic_operators): Distinguish FORTRAN 77 style
  2262. operators from Fortran 90 style operators using new enum values.
  2263. * matchexp.c (match_level_4): Account for new enum values.
  2264. * module.c (mio_expr): Likewise.
  2265. * resolve.c (resolve_operator): Deal with new enum values, fix
  2266. inconsistent error messages.
  2267. * trans-expr.c (gfc_conv_expr_op): Account for new enum values.
  2268. 2007-07-08 Tobias Burnus <burnus@net-b.de>
  2269. PR fortran/32669
  2270. * interface.c (get_expr_storage_size): Properly obtain lower bound.
  2271. (compare_actual_formal): Add space before parenthesis.
  2272. 2007-07-08 Daniel Franke <franke.daniel@gmail.com>
  2273. PR fortran/25094
  2274. * resolve.c (resolve_fl_procedure): Added check for PRIVATE types
  2275. in PUBLIC interfaces.
  2276. 2007-07-07 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  2277. PR fortran/32644
  2278. * decl.c (match_attr_spec): Don't return MATCH_ERROR if comma found and
  2279. gfc_match_bind_c does not return MATCH_YES.
  2280. 2007-07-07 Kazu Hirata <kazu@codesourcery.com>
  2281. * decl.c, gfortran.h, interface.c, module.c, resolve.c,
  2282. trans-array.c, trans-decl.c: Fix comment typos. Follow
  2283. spelling conventions.
  2284. * intrinsic.texi: Fix typos. Follow spelling conventions.
  2285. 2007-05-06 Daniel Franke <franke.daniel@gmail.com>
  2286. PR fortran/32633
  2287. * symbol.c (save_status): New.
  2288. * gfortran.h (save_status): Added external declaration.
  2289. (check_conflict): Check for conflicting explicite SAVE statements
  2290. only.
  2291. (gen_special_c_interop_ptr): Use SAVE_EXPLICIT constant.
  2292. * module.c (ab_attribute, attr_bits): Removed enumerator value
  2293. AB_SAVE for save attribute.
  2294. (mio_symbol_attribute): Import/export the full SAVE status,
  2295. removed usage of AB_SAVE.
  2296. * dump-parse-tree.c (gfc_show_attr): Dump full SAVE status.
  2297. * decl.c (add_init_expr_to_sym): Set SAVE_IMPLICIT only if not
  2298. already explicit.
  2299. 2007-07-05 Daniel Franke <franke.daniel@gmail.com>
  2300. Tobias Burnus <burnus@net-b.de>
  2301. PR fortran/32359
  2302. * gfortran.h (symbol_attribute): Change save attribute into an enum.
  2303. * decl.c (add_init_expr_to_sym): Set it to SAVE_IMPLICIT.
  2304. * symbol.c (gfc_add_save): Check for SAVE_EXPLICIT.
  2305. * resolve.c (resolve_fl_variable): Check for SAVE_EXPLICIT.
  2306. (resolve_symbol): Allow OMP threadprivate with
  2307. initialization SAVEd and save_all variable.
  2308. * trans-decl.c (gfc_finish_var_decl): Remove obsolete sym->value check.
  2309. 2007-07-05 Paul Thomas <pault@gcc.gnu.org>
  2310. PR fortran/32526
  2311. * match.c (gfc_match_call): Check, in all cases, that a symbol
  2312. is neither generic nor a subroutine before trying to add it as
  2313. a subroutine.
  2314. PR fortran/32613
  2315. * match.c (gfc_match_do): Reset the implied_index attribute.
  2316. 2007-07-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  2317. PR fortran/31198
  2318. * trans-intrinsic.c (trans-intrinsic.c): Handle optional
  2319. arguments correctly for MIN and MAX intrinsics.
  2320. 2007-07-03 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  2321. PR fortran/32545
  2322. * io.c (check_format): Always call gfc_error for errors.
  2323. (check_format_string): Change type of this function to try and
  2324. return the result of check_format.
  2325. (check_io_constraints): Return MATCH_ERROR if check_format_string
  2326. returns FAILURE.
  2327. 2007-07-03 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  2328. PR fortran/32612
  2329. * decl.c (get_proc_name): Include attr->mod_proc in check for error.
  2330. 2007-07-03 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  2331. PR fortran/32432
  2332. * gfortran.h: Change type of gfc_assign_data_value from void to try.
  2333. * data.c (gfc_assign_data_value): Return FAILURE if error found.
  2334. * resolve.c (check_data_variable): If gfc_assign_data_value returns
  2335. failure, break out of loop and return failure.
  2336. 2007-07-03 Christopher D. Rickett <crickett@lanl.gov>
  2337. PR fortran/32579
  2338. * symbol.c (gen_cptr_param): Generate C_PTR and C_FUNPTR if necessary.
  2339. (build_formal_args): Pass intrinsic module symbol id to
  2340. gen_cptr_param.
  2341. 2007-07-03 Tobias Burnus <burnus@net-b.de>
  2342. PR fortran/25062
  2343. * resolve.c (resolve_common_blocks): New check function.
  2344. (resolve_types): Use it.
  2345. 2007-07-03 Tobias Burnus <burnus@net-b.de>
  2346. PR fortran/30940
  2347. * interface.c (get_sym_storage_size): New function.
  2348. (get_sym_storage_size): New function.
  2349. (compare_actual_formal): Enhance sequence association
  2350. support and improve checking.
  2351. 2007-07-03 Janne Blomqvist <jb@gcc.gnu.org>
  2352. * trans-decl.c (gfc_build_builtin_function_decls): Mark
  2353. internal_realloc as a malloc function.
  2354. 2007-07-03 Tobias Burnus <burnus@net-b.de>
  2355. PR fortran/20888
  2356. * resolve.c (resolve_operator): Check for NULL as operand.
  2357. 2007-07-02 Tobias Burnus <burnus@net-b.de>
  2358. * gfortran.texi (Fortran 2003): Add ISO Bind C.
  2359. * intrinsic.texi (C_ASSOCIATED,C_F_POINTER,C_F_PROCPOINTER,
  2360. C_FUNLOC,C_LOC): Document new ISO Bind C intrinsics.
  2361. 2007-07-01 Christopher D. Rickett <crickett@lanl.gov>
  2362. * interface.c (gfc_compare_derived_types): Special case for comparing
  2363. derived types across namespaces.
  2364. (gfc_compare_types): Deal with BT_VOID.
  2365. (compare_parameter): Use BT_VOID to accept ISO C Binding pointers.
  2366. * trans-expr.c (gfc_conv_function_call): Remove setting parm_kind
  2367. to SCALAR
  2368. (gfc_conv_initializer): Deal with ISO C Binding NULL_PTR and
  2369. NULL_FUNPTR.
  2370. (gfc_conv_expr): Convert expressions for ISO C Binding derived types.
  2371. * symbol.c (gfc_set_default_type): BIND(C) variables should not be
  2372. Implicitly declared.
  2373. (check_conflict): Add BIND(C) and check for conflicts.
  2374. (gfc_add_explicit_interface): Whitespace.
  2375. (gfc_add_is_bind_c): New function.
  2376. (gfc_copy_attr): Use it.
  2377. (gfc_new_symbol): Initialize ISO C Binding objects.
  2378. (get_iso_c_binding_dt): New function.
  2379. (verify_bind_c_derived_type): Ditto.
  2380. (gen_special_c_interop_ptr): Ditto.
  2381. (add_formal_arg): Ditto.
  2382. (gen_cptr_param): Ditto.
  2383. (gen_fptr_param): Ditto.
  2384. (gen_shape_param): Ditto.
  2385. (add_proc_interface): Ditto.
  2386. (build_formal_args): Ditto.
  2387. (generate_isocbinding_symbol): Ditto.
  2388. (get_iso_c_sym): Ditto.
  2389. * decl.c (num_idents_on_line, has_name_equals): New variables.
  2390. (verify_c_interop_param): New function.
  2391. (build_sym): Finish binding labels and deal with COMMON blocks.
  2392. (add_init_expr_to_sym): Check if the initialized expression is
  2393. an iso_c_binding named constants
  2394. (variable_decl): Set ISO C Binding type_spec components.
  2395. (gfc_match_kind_spec): Check match for C interoperable kind.
  2396. (match_char_spec): Fix comment. Chnage gfc_match_small_int
  2397. to gfc_match_small_int_expr. Check for C interoperable kind.
  2398. (match_type_spec): Clear the current binding label.
  2399. (match_attr_spec): Add DECL_IS_BIND_C. If BIND(C) is found, use it
  2400. to set attributes.
  2401. (set_binding_label): New function.
  2402. (set_com_block_bind_c): Ditto.
  2403. (verify_c_interop): Ditto.
  2404. (verify_com_block_vars_c_interop): Ditto.
  2405. (verify_bind_c_sym): Ditto.
  2406. (set_verify_bind_c_sym): Ditto.
  2407. (set_verify_bind_c_com_block): Ditto.
  2408. (get_bind_c_idents): Ditto.
  2409. (gfc_match_bind_c_stmt): Ditto.
  2410. (gfc_match_data_decl): Use num_idents_on_line.
  2411. (match_result): Deal with right paren in BIND(C).
  2412. (gfc_match_suffix): New function.
  2413. (gfc_match_function_decl): Use it. Code is re-arranged to deal with
  2414. ISO C Binding result clauses.
  2415. (gfc_match_subroutine): Deal with BIND(C).
  2416. (gfc_match_bind_c): New function.
  2417. (gfc_get_type_attr_spec): New function. Code is re-arranged in and
  2418. taken from gfc_match_derived_decl.
  2419. (gfc_match_derived_decl): Add check for BIND(C).
  2420. * trans-common.c: Forward declare gfc_get_common.
  2421. (gfc_sym_mangled_common_id): Change arg from 'const char *name' to
  2422. 'gfc_common_head *com'. Check for ISO C Binding of the common block.
  2423. (build_common_decl): 'com->name' to 'com in SET_DECL_ASSEMBLER_NAME.
  2424. * gfortran.h: Add GFC_MAX_BINDING_LABEL_LEN
  2425. (bt): Add BT_VOID
  2426. (sym_flavor): Add FL_VOID.
  2427. (iso_fortran_env_symbol, iso_c_binding_symbol, intmod_id): New enum
  2428. (CInteropKind_t): New struct.
  2429. (c_interop_kinds_table): Use it. Declare an array of structs.
  2430. (symbol_attribute): Add is_bind_c, is_c_interop, and is_iso_c
  2431. bitfields.
  2432. (gfc_typespec): Add is_c_interop; is_iso_c, and f90_type members.
  2433. (gfc_symbol): Add from_intmod, intmod_sym_id, binding_label, and
  2434. common_block members.
  2435. (gfc_common_head): Add binding_label and is_bind_c members.
  2436. (gfc_gsymbol): Add sym_name, mod_name, and binding_label members.
  2437. Add prototypes for get_c_kind, gfc_validate_c_kind,
  2438. gfc_check_any_c_kind, gfc_add_is_bind_c, gfc_add_value,
  2439. verify_c_interop, verify_c_interop_param, verify_bind_c_sym,
  2440. verify_bind_c_derived_type, verify_com_block_vars_c_interop,
  2441. generate_isocbinding_symbol, get_iso_c_sym, gfc_iso_c_sub_interface
  2442. * iso-c-binding.def: New file. This file contains the definitions
  2443. of the types provided by the Fortran 2003 ISO_C_BINDING intrinsic
  2444. module.
  2445. * trans-const.c (gfc_conv_constant_to_tree): Deal with C_NULL_PTR
  2446. or C_NULL_FUNPTR expressions.
  2447. * expr.c (gfc_copy_expr): Add BT_VOID case. For BT_CHARACTER, the
  2448. ISO C Binding requires a minimum string length of 1 for '\0'.
  2449. * module.c (intmod_sym): New struct.
  2450. (pointer_info): Add binding_label member.
  2451. (write_atom): Set len to 0 for NULL pointers. Check for NULL p and *p.
  2452. (ab_attribute): Add AB_IS_BIND_C, AB_IS_C_INTEROP and AB_IS_ISO_C.
  2453. (attr_bits): Add "IS_BIND_C", "IS_C_INTEROP", and "IS_ISO_C".
  2454. (mio_symbol_attribute): Deal with ISO C Binding attributes.
  2455. (bt_types): Add "VOID".
  2456. (mio_typespec): Deal with ISO C Binding components.
  2457. (mio_namespace_ref): Add intmod variable.
  2458. (mio_symbol): Check for symbols from an intrinsic module.
  2459. (load_commons): Check for BIND(C) common block.
  2460. (read_module): Read binding_label and use it.
  2461. (write_common): Add label. Write BIND(C) info.
  2462. (write_blank_common): Blank commons are not BIND(C). Explicitly
  2463. set is_bind_c=0.
  2464. (write_symbol): Deal with binding_label.
  2465. (sort_iso_c_rename_list): New function.
  2466. (import_iso_c_binding_module): Ditto.
  2467. (create_int_parameter): Add to args.
  2468. (use_iso_fortran_env_module): Adjust to deal with iso_c_binding
  2469. intrinsic module.
  2470. * trans-types.c (c_interop_kinds_table): new array of structs.
  2471. (gfc_validate_c_kind): New function.
  2472. (gfc_check_any_c_kind): Ditto.
  2473. (get_real_kind_from_node): Ditto.
  2474. (get_int_kind_from_node): Ditto.
  2475. (get_int_kind_from_width): Ditto.
  2476. (get_int_kind_from_minimal_width): Ditto.
  2477. (init_c_interop_kinds): Ditto.
  2478. (gfc_init_kinds): call init_c_interop_kinds.
  2479. (gfc_typenode_for_spec): Adjust for BT_VOID and ISO C Binding pointers.
  2480. Adjust handling of BT_DERIVED.
  2481. (gfc_sym_type): Whitespace.
  2482. (gfc_get_derived_type): Account for iso_c_binding derived types
  2483. * resolve.c (is_scalar_expr_ptr): New function.
  2484. (gfc_iso_c_func_interface): Ditto.
  2485. (resolve_function): Use gfc_iso_c_func_interface.
  2486. (set_name_and_label): New function.
  2487. (gfc_iso_c_sub_interface): Ditto.
  2488. (resolve_specific_s0): Use gfc_iso_c_sub_interface.
  2489. (resolve_bind_c_comms): New function.
  2490. (resolve_bind_c_derived_types): Ditto.
  2491. (gfc_verify_binding_labels): Ditto.
  2492. (resolve_fl_procedure): Check for ISO C interoperability.
  2493. (resolve_symbol): Check C interoperability.
  2494. (resolve_types): Walk the namespace. Check COMMON blocks.
  2495. * trans-decl.c (gfc_sym_mangled_identifier): Prevent the mangling
  2496. of identifiers that have an assigned binding label.
  2497. (gfc_sym_mangled_function_id): Use the binding label rather than
  2498. the mangled name.
  2499. (gfc_finish_var_decl): Put variables that are BIND(C) into a common
  2500. segment of the object file, because this is what C would do.
  2501. (gfc_create_module_variable): Conver to proper types
  2502. (set_tree_decl_type_code): New function.
  2503. (generate_local_decl): Check dummy variables and derived types for
  2504. ISO C Binding attributes.
  2505. * match.c (gfc_match_small_int_expr): New function.
  2506. (gfc_match_name_C): Ditto.
  2507. (match_common_name): Deal with ISO C Binding in COMMON blocks
  2508. * trans-io.c (transfer_expr): Deal with C_NULL_PTR or C_NULL_FUNPTR
  2509. expressions
  2510. * match.h: Add prototypes for gfc_match_small_int_expr,
  2511. gfc_match_name_C, match_common_name, set_com_block_bind_c,
  2512. set_binding_label, set_verify_bind_c_sym,
  2513. set_verify_bind_c_com_block, get_bind_c_idents,
  2514. gfc_match_bind_c_stmt, gfc_match_suffix, gfc_match_bind_c,
  2515. gfc_get_type_attr_spec
  2516. * parse.c (decode_statement): Use gfc_match_bind_c_stmt
  2517. (parse_derived): Init *derived_sym = NULL, and gfc_current_block
  2518. later for valiadation.
  2519. * primary.c (got_delim): Set ISO C Binding components of ts.
  2520. (match_logical_constant): Ditto.
  2521. (match_complex_constant): Ditto.
  2522. (match_complex_constant): Ditto.
  2523. (gfc_match_rvalue): Check for existence of at least one arg for
  2524. C_LOC, C_FUNLOC, and C_ASSOCIATED.
  2525. * misc.c (gfc_clear_ts): Clear ISO C Bindoing components in ts.
  2526. (get_c_kind): New function.
  2527. 2007-07-01 Janne Blomqvist <jb@gcc.gnu.org>
  2528. PR fortran/32239
  2529. * trans-expr.c (gfc_conv_power_op): Use builtin_powi for
  2530. real**int4 powers.
  2531. * f95-lang.c (gfc_init_builtin_functions): Add builtin_powi to the
  2532. builtins table.
  2533. 2007-07-01 Janne Blomqvist <jb@gcc.gnu.org>
  2534. * trans.h: Remove decls for 64-bit allocation functions.
  2535. * trans-array.c (gfc_grow_array): Always pick the standard realloc
  2536. function decl.
  2537. (gfc_array_allocate): Likewise.
  2538. * trans-decl.c: Remove trees for 64-bit allocation functions.
  2539. (gfc_build_builtin_function_decls): Don't build fndecls for 64-bit
  2540. allocations functions, use index_int_type for normal allocation
  2541. functions.
  2542. 2007-06-30 Daniel Franke <franke.daniel@gmail.com>
  2543. PR fortran/20373
  2544. * intrinsic.c (add_functions): Additional function types.
  2545. (gfc_convert_type_warn): Remove intrinsic-flag from
  2546. conversion functions.
  2547. * resolve.c (resolve_symbol): Added type checks to
  2548. explicitly defined intrinsics.
  2549. 2007-06-30 Tobias Burnus <burnus@net-b.de>
  2550. PR fortran/32555
  2551. * io.c (check_format): Allow zero to precede the
  2552. P edit descriptor.
  2553. 2007-06-30 Paul Thomas <pault@gcc.gnu.org>
  2554. PR fortran/32472
  2555. * simplify.c (gfc_simplify_repeat): Add handling of character
  2556. literal for first argument.
  2557. 2007-06-29 Daniel Franke <franke.daniel@gmail.com>
  2558. * resolve.c (resolve_operator): Added check whether a user
  2559. defined operator is available.
  2560. 2007-06-29 Daniel Franke <franke.daniel@gmail.com>
  2561. * openmp.c (resolve_omp_clauses): Adjust error message to
  2562. better reflect the actual requirement.
  2563. 2007-06-29 Tobias Burnus <burnus@net-b.de>
  2564. PR fortran/32483
  2565. * io.c (format_lex): Fix FMT_ZERO.
  2566. (check_format,check_format_string,gfc_match_format,
  2567. check_io_constraints) Additional checking for READ.
  2568. 2007-06-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  2569. PR other/31400
  2570. * lang.opt (static-libgfortran): New option.
  2571. * gfortranspec.c (ADD_ARG_LIBGFORTRAN): New macro.
  2572. (Option): Add OPTION_static and OPTION_static_libgfortran.
  2573. (lookup_option): Handle the new -static-libgfortran option.
  2574. (lang_specific_driver): Check whether -static is passed.
  2575. Handle the new -static-libgfortran option.
  2576. * options.c (gfc_handle_option): If -static-libgfortran is
  2577. passed and isn't supported on this configuration, error out.
  2578. 2007-06-27 Daniel Franke <franke.daniel@gmail.com>
  2579. PR fortran/32467
  2580. * openmp.c (resolve_omp_clauses): Emit error on allocatable
  2581. components in COPYIN, COPYPRIVATE, FIRSTPRIVATE and LASTPRIVATE
  2582. clauses.
  2583. 2007-06-25 Paul Thomas <pault@gcc.gnu.org>
  2584. PR fortran/32464
  2585. * resolve.c (check_host_association): Return if the old symbol
  2586. is use associated. Introduce retval to reduce the number of
  2587. evaluations of the first-order return value.
  2588. PR fortran/31494
  2589. * match.c (gfc_match_call): If a host associated symbol is not
  2590. a subroutine, build a new symtree/symbol in the current name
  2591. space.
  2592. 2007-06-24 Tobias Burnus <burnus@net-de>
  2593. PR fortran/32460
  2594. * interface.c (gfc_compare_derived_types): Add access check.
  2595. * symbol.c (gfc_find_component): Ditto.
  2596. (gfc_set_component_attr,gfc_get_component_attr) Copy access state.
  2597. * dump-parse-tree.c (gfc_show_components): Dump access state.
  2598. * gfortran.h (struct gfc_component): Add gfc_access.
  2599. * module.c (mio_component): Add access state.
  2600. * (gfc_match_structure_constructor): Check for private access state.
  2601. 2007-06-24 Paul Thomas <pault@gcc.gnu.org>
  2602. PR fortran/32298
  2603. PR fortran/31726
  2604. * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Calculate
  2605. the offset between the loop counter and the position as
  2606. defined. Add the offset within the loop so that the mask acts
  2607. correctly. Do not advance the location on the basis that it
  2608. is zero.
  2609. 2007-06-22 Daniel Franke <franke.daniel@gmail.com>
  2610. PR fortran/31473
  2611. * symbol.c (gfc_copy_attr): Emit errors for duplicate
  2612. EXTERNAL/INTRINSIC statements.
  2613. 2007-06-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  2614. PR fortran/32360
  2615. * expr.c (gfc_check_assign): If the rvalue expression type is NULL_EXPR,
  2616. check to see if the lvalue has attribute pointer and data.
  2617. 2007-06-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  2618. PR fortran/31162
  2619. * resolve.c (gfc_resolve_iterator_expr): Add check for REAL using
  2620. gfc_notify_standard. (gfc_resolve_iterator): Remove check.
  2621. (resolve_branch): Change "Obsolete" to "Deleted feature".
  2622. * io.c (resolve_tag): Ditto.
  2623. * match.c (gfc_match_pause, gfc_match_assign, gfc_match_goto): Ditto.
  2624. 2007-06-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  2625. PR fortran/32361
  2626. * match.c (gfc_match_common): If the symbol value expression type is
  2627. NULL_EXPR, don't error if previously initialized.
  2628. 2007-06-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  2629. PR fortran/25061
  2630. * decl.c (get_proc_name) Check symbol for generic interface
  2631. and issue an error.
  2632. 2007-06-20 Andrew Pinski <andrew_pinski@playstation.sony.com>
  2633. Richard Guenther <rguenther@suse.de>
  2634. PR fortran/32140
  2635. * trans.c (gfc_build_addr_expr): Use the correct types.
  2636. 2007-06-19 Paul Thomas <pault@gcc.gnu.org>
  2637. PR fortran/20863
  2638. PR fortran/20882
  2639. * resolve.c (resolve_code): Use gfc_impure_variable as a
  2640. condition for rejecting derived types with pointers, in pure
  2641. procedures.
  2642. (gfc_impure_variable): Add test for dummy arguments of pure
  2643. procedures; any for functions and INTENT_IN for subroutines.
  2644. PR fortran/32236
  2645. * data.c (gfc_assign_data_value): Change the ICE on an array
  2646. reference initializer not being an array into an error and
  2647. clear init to prevent a repetition of the error.
  2648. 2007-06-17 Janne Blomqvist <jb@gcc.gnu.org>
  2649. * gfortran.texi: Add documentation for GFORTRAN_UNBUFFERED_n
  2650. environment variables. Fix documentation for
  2651. GFORTRAN_UNBUFFERED_ALL environment variable.
  2652. 2007-06-15 Andrew Pinski <andrew_pinski@playstation.sony.com>
  2653. * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Use
  2654. POINTER_PLUS_EXPR instead of PLUS_EXPR for pointer addition.
  2655. * trans-expr.c (gfc_trans_string_copy): Create
  2656. POINTER_PLUS_EXPR instead of a PLUS_EXPR
  2657. for pointer types.
  2658. 2007-06-14 Paul Thomas <pault@gcc.gnu.org>
  2659. PR fortran/32302
  2660. * trans-common.c (build_common_decl): If resizing of common
  2661. decl is needed, update the TREE_TYPE.
  2662. 2007-06-13 Tobias Burnus <burnus@net-b.de>
  2663. PR fortran/32323
  2664. * interface.c (has_vector_section): New.
  2665. (compare_actual_formal): Check for array sections with vector subscript.
  2666. 2007-06-12 Dirk Mueller <dmueller@suse.de>
  2667. * trans-stmt.c (gfc_trans_call): fix gcc_assert to
  2668. a comparison, not an assignment.
  2669. 2007-06-12 Paul Thomas <pault@gcc.gnu.org>
  2670. * trans-common.c (create_common): Initialize 'field_init'.
  2671. 2007-06-12 Paul Thomas <pault@gcc.gnu.org>
  2672. PR fortran/29786
  2673. PR fortran/30875
  2674. * trans-common.c (get_init_field): New function.
  2675. (create_common): Call get_init_field for overlapping
  2676. initializers in equivalence blocks.
  2677. * resolve.c (resolve_equivalence_derived, resolve_equivalence):
  2678. Remove constraints on initializers in equivalence blocks.
  2679. * target-memory.c (expr_to_char, gfc_merge_initializers):
  2680. New functions.
  2681. (encode_derived): Add the bit offset to the byte offset to get
  2682. the total offset to the field.
  2683. * target-memory.h : Add prototype for gfc_merge_initializers.
  2684. 2007-06-11 Rafael Ávila de Espíndola <espindola@google.com>
  2685. * trans-types.c (gfc_signed_type): Remove.
  2686. * trans-types.h (gfc_signed_type): Remove.
  2687. * f95-lang.c (LANG_HOOKS_SIGNED_TYPE): Remove.
  2688. 2007-06-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  2689. * trans-intrinsic.c: Revert Lee's 2007-06-04 patch.
  2690. 2007-06-07 Steven G. Kargl <kargl@gcc.gnu.org>
  2691. Jerry DeLisle <jvdelisle@gcc.gnu.org>
  2692. PR fortran/32223
  2693. * match.c (gfc_match_special_char): New function. Match special char.
  2694. Add handling '\0'.
  2695. * match.h: Add prototype.
  2696. * io.c (next_char): Use it.
  2697. * primary.c (next_string_char): Ditto.
  2698. 2007-06-06 Steven G. Kargl <kargl@gcc.gnu.org>
  2699. * decl.c: Miscellaneous whitespace fixes.
  2700. * expr.c: Likewise.
  2701. * gfortran.h: Likewise.
  2702. * interface.c : Likewise.
  2703. * io.c: Likewise.
  2704. * match.c: Likewise.
  2705. * match.h: Likewise.
  2706. * module.c: Likewise.
  2707. * parse.c: Likewise.
  2708. * resolve.c: Likewise.
  2709. * symbol.c: Likewise.
  2710. * trans-array.c: Likewise.
  2711. * trans-common.c: Likewise.
  2712. * trans-decl.c: Likewise.
  2713. * trans-intrinsic.c: Likewise.
  2714. * trans-io.c: Likewise.
  2715. * trans-stmt.c: Likewise.
  2716. * trans-types.c: Likewise.
  2717. 2007-06-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  2718. PR fortran/18923
  2719. * parse.c (decode_statement): Don't call gfc_undo_symbols on MATCH_ERROR
  2720. for ST_FUNCTION since it is called in reject_statement.
  2721. (parse_contained): If error, loop back after reject_statement and try
  2722. again. Free the namespace if an error occured.
  2723. 2007-06-04 Lee Millward <lee.millward@codesourcery.com>
  2724. * trans-intrinsic.c (gfc_conv_intrinsic_function_args): Adjust
  2725. to operate on a stack allocated array for the intrinsic arguments
  2726. instead of creating a TREE_LIST. Add two new parameters for the
  2727. array and the number of elements. Update all callers to allocate
  2728. an array of the correct length to pass in. Update comment.
  2729. (gfc_intrinsic_argument_list_length): New function.
  2730. (gfc_conv_intrinsic_mnimax): Call it.
  2731. (gfc_conv_intrinsic_merge): Likewise.
  2732. (gfc_conv_intrinsic_lib_function): Call it. Use new CALL_EXPR
  2733. constructors.
  2734. (gfc_conv_intrinsic_cmplx): Likewise.
  2735. (gfc_conv_intrinsic_ctime): Likewise.
  2736. (gfc_covn_intrinsic_fdate): Likewise.
  2737. (gfc_conv_intrinsic_ttynam): Likewise.
  2738. (gfc_conv_intrinsic_ishftc): Likewise.
  2739. (gfc_conv_intrinsic_index): Likewise.
  2740. (gfc_conv_intrinsic_scan): Likewise.
  2741. (gfc_conv_intrinsic_verify): Likewise.
  2742. (gfc_conv_intrinsic_trim): Likewise.
  2743. (gfc_conv_intrinsic_aint): Use new CALL_EXPR constructors.
  2744. (gfc_conv_intrinsic_exponent): Likewise.
  2745. (gfc_conv_intrinsic_bound): Likewise.
  2746. (gfc_conv_intrinsic_abs): Likewise.
  2747. (gfc_conv_intrinsic_mod): Likewise.
  2748. (gfc_conv_intrinsic_sign): Likewise.
  2749. (gfc_conv_intrinsic_len): Likewise.
  2750. (gfc_conv_intrinsic_adjust): Likewise.
  2751. (gfc_conv_intrinsic_si_kind): Likewise.
  2752. 2007-06-04 Steve Ellcey <sje@cup.hp.com>
  2753. * trans-array.c (gfc_conv_array_parameter): Initialize tmp.
  2754. 2007-05-31 Richard Guenther <rguenther@suse.de>
  2755. * trans-expr.c (gfc_conv_expr_op): Use zero constant
  2756. that matches the lse type.
  2757. (gfc_trans_string_copy): Use sizetype zero constant.
  2758. * intrinsic.c (add_functions): The sizeof intrinsic has
  2759. index type result.
  2760. * trans-types.c (gfc_get_dtype): Convert size to index
  2761. type before shifting.
  2762. * trans-array.c (gfc_trans_array_constructor_value): Use
  2763. index type for offset computation.
  2764. * trans-intrinsic.c (gfc_conv_associated): Use correct type
  2765. for zero constant.
  2766. 2007-05-31 Paul Thomas <pault@gcc.gnu.org>
  2767. PR fortran/32156
  2768. * trans-array.c (gfc_trans_array_constructor): Treat the case
  2769. where the ss expression charlen is missing.
  2770. 2007-05-31 Paul Thomas <pault@gcc.gnu.org>
  2771. PR fortran/32103
  2772. * module.c (mio_symtree_ref): If an equivalence group member
  2773. is not used, give it a hidden symbol and set the pointer_info.
  2774. (load_equiv): Only free the equivalence if none of the members
  2775. are used.
  2776. 2007-05-29 Daniel Franke <franke.daniel@gmail.com>
  2777. * gfortran.h: Renamed 'enum gfc_generic_isym_id' to 'enum gfc_isym_id',
  2778. added missing GFC_ISYM_* enumerators, ordered alphabetically.
  2779. (struct gfc_intrinsic_sym): Renamed 'generic_id' to 'id'.
  2780. (gfc_find_subroutine): New prototype.
  2781. * intrinsic.c (add_sym, add_sym_*): Added argument 'id' and changed all callers.
  2782. (find_subroutine): Renamed to 'gfc_find_subroutine', removed static.
  2783. * dependency.c: Changed usage of isym->generic_id to isym->id.
  2784. * openmp.c: Likewise.
  2785. * resolve.c: Likewise.
  2786. * trans-array.c: Likewise.
  2787. * trans-expr.c: Likewise.
  2788. * trans-intrinsic.c: Likewise.
  2789. * trans-openmp.c: Likewise.
  2790. 2007-05-28 Tobias Schlüter <tobi@gcc.gnu.org>
  2791. * gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_SIZEOF.
  2792. * intrinsic.c (add_functions): Add stuff for SIZEOF intrinsic.
  2793. * intrinsic.h (gfc_check_sizeof): Add prototype of ...
  2794. * check.c (gfc_check_sizeof): .. new function.
  2795. * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): New function.
  2796. (gfc_conv_intrinsic_strcmp): Whitespace fix.
  2797. (gfc_conv_intrinsic_array_transfer): Remove double initialization,
  2798. use fold_build. where appropriate.
  2799. (gfc_conv_intrinsic_function): Add case for SIZEOF.
  2800. * intrinsic.texi: Add documentation for SIZEOF.
  2801. 2007-05-28 Brooks Moses <brooks.moses@codesourcery.com>
  2802. * trans-array.c (gfc_conv_expr_descriptor): Edit comment.
  2803. 2007-05-28 Brooks Moses <brooks.moses@codesourcery.com>
  2804. PR fortran/31972
  2805. * target-memory.c (gfc_target_expr_size): Add handling
  2806. for size of BT_HOLLERITH variables.
  2807. * check.c (gfc_check_transfer): Reject BT_HOLLERITH
  2808. variables in MOLD argument of TRANSFER.
  2809. 2007-05-28 Brooks Moses <brooks.moses@codesourcery.com>
  2810. * gfortran.h (gfc_expr): Remove from_H, add "representation"
  2811. struct.
  2812. * primary.c (match_hollerith_constant): Store the representation
  2813. of the Hollerith in representation, not in value.character.
  2814. * arith.c: Add dependency on target-memory.h.
  2815. (eval_intrinsic): Remove check for from_H.
  2816. (hollerith2representation): New function.
  2817. (gfc_hollerith2int): Determine value of the new constant.
  2818. (gfc_hollerith2real): Likewise.
  2819. (gfc_hollerith2complex): Likewise.
  2820. (gfc_hollerith2logical): Likewise.
  2821. (gfc_hollerith2character): Point both representation.string and
  2822. value.character.string at the value string.
  2823. * data.c (create_character_initializer): For BT_HOLLERITH
  2824. rvalues, get the value from the representation rather than
  2825. value.character.
  2826. * expr.c (free_expr0): Update handling of BT_HOLLERITH values
  2827. and values with representation.string.
  2828. (gfc_copy_expr): Likewise.
  2829. * intrinsic.c (do_simplify): Remove special treatement of
  2830. variables resulting from Hollerith constants.
  2831. * dump-parse-trees.c (gfc_show_expr): Update handling of
  2832. Holleriths.
  2833. * trans-const.c (gfc_conv_constant_to_tree): Replace from_H
  2834. check with check for representation.string; get Hollerith
  2835. representation from representation.string, not value.character.
  2836. * trans-expr.c (is_zero_initializer_p): Replace from_H check
  2837. with check for representation.string.
  2838. * trans-stmt.c (gfc_trans_integer_select): Use
  2839. gfc_conv_mpz_to_tree for case values, so as to avoid picking up
  2840. the memory representation if the case is given by a transfer
  2841. expression.
  2842. * target-memory.c (gfc_target_encode_expr): Use the known memory
  2843. representation rather than the value, if it exists.
  2844. (gfc_target_interpret_expr): Store the memory representation of
  2845. the interpreted expression as well as its value.
  2846. (interpret_integer): Move to gfc_interpret_integer, make
  2847. non-static.
  2848. (interpret_float): Move to gfc_interpret_float, make non-static.
  2849. (interpret_complex): Move to gfc_interpret_complex, make
  2850. non-static.
  2851. (interpret_logical): Move to gfc_interpret_logical, make
  2852. non-static.
  2853. (interpret_character): Move to gfc_interpret_character, make
  2854. non-static.
  2855. (interpret_derived): Move to gfc_interpret_derived, make
  2856. non-static.
  2857. * target-memory.h: Add prototypes for newly-exported
  2858. gfc_interpret_* functions.
  2859. 2007-05-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  2860. PR fortran/31812
  2861. * parse.c (next_statement): Warn for truncated lines if source is free
  2862. form.
  2863. 2007-05-27 Paul Thomas <pault@gcc.gnu.org>
  2864. Tobias Burnus <burnus@net-b.de>
  2865. PR fortran/32088
  2866. * symbol.c (gfc_check_function_type): Copy dimensions of
  2867. result variable.
  2868. * resolve.c (resolve_contained_fntype): Improve symbol output in
  2869. the error message.
  2870. 2007-05-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  2871. PR fortran/31813
  2872. * io.c (check_format): Add warning for H specifier in format.
  2873. 2007-05-26 Tobias Burnus <burnus@net-b.de>
  2874. * gfortran.texi: Document the GFORTRAN_ERROR_DUMPCORE and
  2875. GFORTRAN_ERROR_BACKTRACE environment variables.
  2876. 2007-05-26 Paul Thomas <pault@gcc.gnu.org>
  2877. PR fortran/31219
  2878. * trans.h : Add no_function_call bitfield to gfc_se structure.
  2879. Add stmtblock_t argument to prototype of get_array_ctor_strlen.
  2880. * trans-array.c (get_array_ctor_all_strlen): New function.
  2881. (get_array_ctor_strlen): Add new stmtblock_t argument and call
  2882. new function for character elements that are not constants,
  2883. arrays or variables.
  2884. (gfc_conv_array_parameter): Call get_array_ctor_strlen to get
  2885. good string length.
  2886. * trans-intrinsic (gfc_conv_intrinsic_len): Add new argument
  2887. to call of get_array_ctor_strlen.
  2888. 2007-05-25 Kazu Hirata <kazu@codesourcery.com>
  2889. * intrinsic.texi: Fix typos.
  2890. 2007-05-25 Paul Thomas <pault@gcc.gnu.org>
  2891. PR fortran/32047
  2892. * trans-expr.c (gfc_apply_interface_mapping_to_expr): Change
  2893. order in logic under EXPR_FUNCTION to handle functions with
  2894. no arguments.
  2895. 2007-05-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  2896. PR fortran/31716
  2897. * array.c (spec_dimen_size): Test for correct BT_INTEGER type.
  2898. 2007-05-23 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  2899. PR fortran/32046
  2900. * trans-expr.c (gfc_trans_zero_assign): Convert the result of
  2901. TYPE_SIZE_UNIT into a signed type.
  2902. (gfc_trans_array_copy): Likewise.
  2903. (gfc_trans_array_constructor_copy): Likewise.
  2904. * trans-array.c (gfc_trans_create_temp_array): Likewise.
  2905. (gfc_grow_array): Likewise.
  2906. (gfc_array_init_size): Likewise.
  2907. (gfc_duplicate_allocatable): Likewise.
  2908. * trans-stmt.c (allocate_temp_for_forall_nest_1): Likewise.
  2909. 2007-05-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  2910. PR fortran/18923
  2911. * resolve.c (resolve_function): Don't call resolve_global_procedure if
  2912. there is no name. Delete duplicated statement in ELSE clause.
  2913. 2007-05-22 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  2914. PR fortran/31627
  2915. * trans-array.c (gfc_trans_array_bound_check): Take extra argument to
  2916. indicate whether we should check the upper bound in that dimension.
  2917. (gfc_conv_array_index_offset): Check only the lower bound of the
  2918. last dimension for assumed-size arrays.
  2919. (gfc_conv_array_ref): Likewise.
  2920. (gfc_conv_ss_startstride): Likewise.
  2921. 2007-05-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  2922. Daniel Franke <franke.daniel@gmail.com>
  2923. PR fortran/32002
  2924. * resolve.c (resolve_actual_arglist): Resolve actual argument after
  2925. being identified as variable.
  2926. 2007-05-21 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  2927. PR fortran/32027
  2928. * trans-stmt.c (gfc_trans_do): Fix the value of loop variable
  2929. when the loop ends.
  2930. 2007-05-21 H.J. Lu <hongjiu.lu@intel.com>
  2931. * trans-stmt.c (gfc_trans_do): Fix a typo in comment.
  2932. 2007-05-21 Paul Thomas <pault@gcc.gnu.org>
  2933. PR fortran/31867
  2934. PR fortran/31994
  2935. * trans-array.c (gfc_conv_expr_descriptor): Obtain the stored
  2936. offset for non-descriptor, source arrays and correct for stride
  2937. not equal to one before writing to field of output descriptor.
  2938. 2007-05-20 Daniel Franke <franke.daniel@gmail.com>
  2939. PR fortran/32001
  2940. * check.c (check_rest): Improved argument conformance check and
  2941. fixed error message generation.
  2942. 2007-05-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  2943. PR fortran/30820
  2944. * Make-lang.in: Remove use of -Wno-error for expr.o, resolve.o,
  2945. simplify.o and trans-common.o.
  2946. 2007-05-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  2947. PR fortran/31974
  2948. * trans-array.c (gfc_trans_auto_array_allocation): Avoid
  2949. multiplication of mismatched types.
  2950. 2007-05-18 Daniel Franke <franke.daniel@gmail.com>
  2951. PR fortran/24633
  2952. * symbol.c (gfc_add_flavor): Add the NAME to error message if
  2953. available.
  2954. 2007-05-15 Daniel Franke <franke.daniel@gmail.com>
  2955. PR fortran/31919
  2956. PR fortran/31929
  2957. PR fortran/31930
  2958. * intrinsic.c (check_specific): Check elemental intrinsics for
  2959. rank and shape.
  2960. (add_functions): Fixed dummy argument names of BESJN and BESYN.
  2961. Fixed elemental status of MCLOCK and MCLOCK8.
  2962. * check.c (check_rest): Added check for array conformance.
  2963. (gfc_check_merge): Removed check for array conformance.
  2964. (gfc_check_besn): Removed check for scalarity.
  2965. * intrinsic.texi (CSHIFT, EOSHIFT): Fixed typos.
  2966. (BESJN, BESYN): Clarified documentation.
  2967. 2007-05-17 Tobias Burnus <burnus@net-b.de>
  2968. * gfortran.texi (GFORTRAN_CONVERT_UNIT): Improve documentation.
  2969. 2007-05-16 Brooks Moses <brooks.moses@codesourcery.com>
  2970. PR fortran/18769
  2971. PR fortran/30881
  2972. PR fortran/31194
  2973. PR fortran/31216
  2974. PR fortran/31427
  2975. * target-memory.c: New file.
  2976. * target-memory.h: New file.
  2977. * simplify.c: Add #include "target-memory.h".
  2978. (gfc_simplify_transfer): Implement constant-
  2979. folding for TRANSFER intrinsic.
  2980. * Make-lang.in: Add dependencies on new target-memory.* files.
  2981. 2007-05-15 Paul Brook <paul@codesourcery.com>
  2982. * trans-types.c (gfc_type_for_size): Handle signed TImode.
  2983. 2007-05-14 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  2984. PR fortran/30723
  2985. * trans.h (gfor_fndecl_internal_malloc, gfor_fndecl_internal_malloc64,
  2986. gfor_fndecl_internal_free): Remove prototypes.
  2987. (gfor_fndecl_os_error, gfc_call_free, gfc_call_malloc): Add prototypes.
  2988. * trans.c (gfc_call_malloc, gfc_call_free): New functions.
  2989. * f95-lang.c (gfc_init_builtin_functions): Add __builtin_free
  2990. and __builtin_malloc builtins.
  2991. * trans-decl.c (gfor_fndecl_internal_malloc,
  2992. gfor_fndecl_internal_malloc64, gfor_fndecl_internal_free): Remove.
  2993. (gfor_fndecl_os_error): Add.
  2994. (gfc_build_builtin_function_decls): Don't create internal_malloc,
  2995. internal_malloc64 and internal_free library function declaration.
  2996. Create os_error library call function declaration.
  2997. * trans-array.c (gfc_trans_allocate_array_storage,
  2998. gfc_trans_auto_array_allocation, gfc_trans_dummy_array_bias,
  2999. gfc_conv_array_parameter, gfc_duplicate_allocatable): Use
  3000. gfc_call_malloc and gfc_call_free instead of building calls to
  3001. internal_malloc and internal_free.
  3002. * trans-expr.c (gfc_conv_string_tmp): Likewise.
  3003. * trans-stmt.c (gfc_do_allocate, gfc_trans_assign_need_temp,
  3004. gfc_trans_pointer_assign_need_temp, gfc_trans_forall_1,
  3005. gfc_trans_where_2: Likewise.
  3006. * trans-intrinsic.c (gfc_conv_intrinsic_ctime,
  3007. gfc_conv_intrinsic_fdate, gfc_conv_intrinsic_ttynam,
  3008. gfc_conv_intrinsic_array_transfer, gfc_conv_intrinsic_trim): Likewise.
  3009. 2007-05-14 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  3010. PR fortran/31725
  3011. * trans-expr.c (gfc_conv_substring): Evaluate substring bounds
  3012. only once.
  3013. 2007-05-14 Rafael Ávila de Espíndola <espindola@google.com>
  3014. * f95-lang.c (LANG_HOOKS_UNSIGNED_TYPE): Remove.
  3015. * trans-intrinsic.c (gfc_conv_intrinsic_ishft): Use unsigned_type_for
  3016. instead of gfc_unsigned_type.
  3017. * trans-stmt.c (gfc_trans_do): Use unsigned_type_for instead of
  3018. gfc_unsigned_type.
  3019. * trans-types.c (gfc_unsigned_type): Remove.
  3020. * trans-types.h (gfc_unsigned_type): Remove.
  3021. 2007-05-12 Paul Thomas <pault@gcc.gnu.org>
  3022. PR fortran/30746
  3023. * resolve.c (check_host_association): New function that detects
  3024. incorrect host association and corrects it.
  3025. (gfc_resolve_expr): Call the new function for variables and
  3026. functions.
  3027. * match.h : Remove prototype for gfc_match_rvalue.
  3028. * gfortran.h : Add prototype for gfc_match_rvalue.
  3029. 2007-05-11 Paul Thomas <pault@gcc.gnu.org>
  3030. PR fortran/30876
  3031. * trans-expr.c (gfc_conv_function_call): Reduce indirection for
  3032. direct assignments of recursive array valued functions.
  3033. * primary.c (gfc_match_rvalue): Correct error for recursive
  3034. function calls such that directly recursive calls of scalar
  3035. function without an explicit result are disallowed.
  3036. 2007-05-11 Paul Thomas <pault@gcc.gnu.org>
  3037. PR fortran/30878
  3038. * resolve.c (resolve_fl_namelist): It is not an error if the
  3039. namelist element is the result variable of the enclosing
  3040. function. Search for the symbol in current and all parent
  3041. namespaces for a potential conflict.
  3042. * symbol.c (check_conflict): Remove the conflict between
  3043. 'in_namelist' and 'FL_PROCEDURE' because the symbol info
  3044. is not available to exclude function result variables.
  3045. * trans-io.c (nml_get_addr_expr): Use the fake result decl
  3046. if the symbol is an implicit result variable.
  3047. 2007-05-11 Paul Thomas <pault@gcc.gnu.org>
  3048. PR fortran/31474
  3049. * decl.c (get_proc_name): If an entry has already been declared
  3050. as a module procedure, pick up the symbol and the symtree and
  3051. use them for the entry.
  3052. 2007-05-08 Paul Thomas <pault@gcc.gnu.org>
  3053. PR fortran/31630
  3054. * resolve.c (resolve_symbol): Remove the flagging mechanism from the
  3055. formal namespace resolution and instead check that the formal
  3056. namespace is not the current namespace.
  3057. 2007-05-08 Paul Thomas <pault@gcc.gnu.org>
  3058. PR fortran/31692
  3059. * trans-array.c (gfc_conv_array_parameter): Convert full array
  3060. references to the result of the procedure enclusing the call.
  3061. 2007-05-08 Paul Thomas <pault@gcc.gnu.org>
  3062. PR fortran/29397
  3063. PR fortran/29400
  3064. * decl.c (add_init_expr_to_sym): Expand a scalar initializer
  3065. for a parameter array into an array expression with the right
  3066. shape.
  3067. * array.c (spec_dimen_size): Remove static attribute.
  3068. * gfortran.h : Prototype for spec_dimen_size.
  3069. 2007-05-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  3070. PR fortran/31399
  3071. * trans-stmt.c (gfc_trans_do): Handle large loop counts.
  3072. 2007-05-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  3073. PR fortran/31764
  3074. * simplify.c (gfc_simplify_new_line): NEW_LINE can be simplified
  3075. even for non constant arguments.
  3076. 2007-05-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  3077. Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  3078. PR fortran/31201
  3079. * gfortran.h: Add runtime error codes from libgfortran.h. Define
  3080. MAX_UNIT_NUMBER.
  3081. * trans.c (gfc_trans_runtime_check): Update the format of runtime error
  3082. messages to match library runtime errors. Use call to new library
  3083. function runtime_error_at().
  3084. * trans.h: Add prototype for new function gfc_trans_io_runtime_check.
  3085. Add declaration for library functions runtime_error_at and
  3086. generate_error.
  3087. * trans_io.c (gfc_trans_io_runtime_check): New function.
  3088. (set_parameter_value): Add error checking for UNIT numbers.
  3089. (set_parameter_ref): Initialize the users variable to zero.
  3090. (gfc_trans_open): Move setting of unit number to after setting of common
  3091. flags so that runtime error trapping can be detected.
  3092. (gfc_trans_close): Likewise. (build_filepos): Likewise.
  3093. (gfc_trans_inquire): Likewise. (build_dt): Likewise.
  3094. * trans-decl.c: Add declarations for runtime_error_at and
  3095. generate_error. (gfc_build_builtin_function_decls): Build function
  3096. declarations for runtime_error_at and generate_error.
  3097. 2007-05-06 Paul Thomas <pault@gcc.gnu.org>
  3098. PR fortran/31540
  3099. * resolve.c (resolve_fl_procedure): Resolve constant character
  3100. lengths.
  3101. 2007-05-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  3102. PR fortran/31251
  3103. * decl.c (match_char_spec): Add check for invalid character lengths.
  3104. 2007-05-04 Brooks Moses <brooks.moses@codesourcery.com>
  3105. * intrinsic.texi (CMPLX): Document result kind.
  3106. (COMPLEX): Add documentation.
  3107. 2007-05-04 Daniel Franke <franke.daniel@gmail.com>
  3108. PR fortran/31760
  3109. * intrinsic.c (add_functions): Replaced calls to gfc_check_g77_math1
  3110. by gfc_check_fn_r to avoid checks for scalarity.
  3111. * check.c (gfc_check_besn): Removed check for scalarity.
  3112. (gfc_check_g77_math1): Removed.
  3113. * intrinsic.h (gfc_check_g77_math1): Removed.
  3114. 2007-05-04 Daniel Franke <franke.daniel@gmail.com>
  3115. * check.c (gfc_check_fseek_sub): Fixed typo.
  3116. 2007-05-04 Daniel Franke <franke.daniel@gmail.com>
  3117. PR fortran/22359
  3118. * intrinsic.c (add_subroutines): Added FSEEK.
  3119. * intrinsic.h (gfc_resolve_fseek_sub, gfc_check_fseek_sub): New.
  3120. * iresolve.c (gfc_resolve_fseek_sub): New.
  3121. * check.c (gfc_check_fseek_sub): New.
  3122. * intrinsic.texi (FSEEK): Updated.
  3123. 2007-05-04 Tobias Burnus <burnus@net-b.de>
  3124. PR fortran/31803
  3125. * expr.c (gfc_check_pointer_assign): Check for NULL pointer.
  3126. 2007-05-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  3127. PR fortran/31251
  3128. * simplify.c (gfc_simplify_len): Only simplify integer lengths.
  3129. 2007-05-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  3130. PR fortran/31781
  3131. * simplify.c (gfc_simplify_repeat): Don't put function call with
  3132. side effect in a gcc_assert().
  3133. 2007-05-04 Tobias Burnus <burnus@net-b.de>
  3134. PR fortran/25071
  3135. * interface.c (compare_actual_formal): Check character length.
  3136. 2007-05-01 Thomas Koenig <tkoenig@gcc.gnu.org>
  3137. PR fortran/31732
  3138. * dependency.c (gfc_full_array_ref_p): If the reference is
  3139. to a single element, check that the array has a single
  3140. element and that the correct element is referenced.
  3141. 2007-05-01 Daniel Franke <franke.daniel@gmail.com>
  3142. * intrinsic.c (add_functions): Fixed ELEMENTAL specifications.
  3143. (add_subroutines): Replaced magic numbers in function calls by
  3144. ELEMENTAL and NOT_ELEMENTAL respectively.
  3145. * intrinsic.texi (MVBITS): Changed class to elemental subroutine.
  3146. (RANDOM_NUMBER): Changed class to subroutine.
  3147. (HUGE, TINY): Changed class to inquiry function.
  3148. 2007-04-30 Brooks Moses <brooks.moses@codesourcery.com>
  3149. * trans-const.c (gfc_conv_mpz_to_tree): Use mpz_get_double_int.
  3150. (gfc_conv_tree_to_mpz): New function.
  3151. (gfc_conv_mpfr_to_tree): Use real_from_mpfr.
  3152. (gfc_conv_tree_to_mpfr): New function.
  3153. * trans-const.h: (gfc_conv_tree_to_mpz): New prototype.
  3154. (gfc_conv_tree_to_mpfr): New prototype.
  3155. 2007-04-30 Daniel Franke <franke.daniel@gmail.com>
  3156. * intrinsic.texi (IERRNO): Changed class to non-elemental function.
  3157. (LOG10): Removed COMPLEX as accepted argument type.
  3158. (NEW_LINE): Changed class from elemental to inquiry function.
  3159. (SIGN): Removed requirement of scalar arguments.
  3160. (SNGL): Changed class to elemental function.
  3161. 2007-04-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  3162. PR fortran/31591
  3163. * simplify.c (simplify_bound_dim): New function.
  3164. (simplify_bound): Use the above. Perform simplification of LBOUND
  3165. and UBOUND when DIM argument is not present.
  3166. 2007-04-29 Daniel Franke <franke.daniel@gmail.com>
  3167. * gfortran.texi: Cleaned up keyword index.
  3168. * invoke.texi: Likewise.
  3169. * intrinsic.texi: Likewise.
  3170. 2007-04-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  3171. PR fortran/31645
  3172. * scanner.c (load_file): Discard the byte order mark if one is
  3173. found on the first non-preprocessor line of a file.
  3174. 2007-04-29 Paul Thomas <pault@gcc.gnu.org>
  3175. PR fortran/31711
  3176. * trans-array.c (gfc_conv_resolve_dependencies): Create a temp
  3177. whenever a dependency is found.
  3178. 2007-04-28 Tobias Schlüter <tobi@gcc.gnu.org>
  3179. * options.c (gfc_handle_option): Ensure requested free form line
  3180. length is not too small.
  3181. 2007-04-27 Brooks Moses <brooks.moses@codesourcery.com>
  3182. * intrinsic.texi (Transfer): Improve documentation.
  3183. 2007-04-27 Brooks Moses <brooks.moses@codesourcery.com>
  3184. * gfortran.texi (Option Index): Add @samp as needed.
  3185. 2007-04-27 Daniel Franke <franke.daniel@gmail.com>
  3186. * gfortran.texi: Added node and menu entry for an option index.
  3187. * invoke.texi: Moved command line option related entries of the concept
  3188. index to the option index.
  3189. 2007-04-27 Daniel Franke <franke.daniel@gmail.com>
  3190. * intrinsic.texi (AND, FPUT, FPUTC, MODULO, OR, SET_EXPONENT,
  3191. XOR): Fixed examples.
  3192. 2007-04-27 Daniel Franke <franke.daniel@gmail.com>
  3193. * intrinsic.texi (PRODUCT, RESHAPE, SPACING, SPREAD, SUM,
  3194. SYSTEM_CLOCK, TRANSFER, UNPACK): New.
  3195. (DATE_AND_TIME, CPU_TIME, RRSPACING): Added cross references.
  3196. 2007-04-26 Daniel Franke <franke.daniel@gmail.com>
  3197. * intrinsic.texi (NULL, PACK, PRESENT, REPEAT, SCAN, SHAPE,
  3198. SIZE, TRANSPOSE, TRIM, VERIFY): New.
  3199. (ADJUSTL, ADJUSTR, INDEX): Added cross references.
  3200. (INT, INT2, INT8, LONG): Enabled section header.
  3201. 2007-04-25 Janne Blomqvist <jb@gcc.gnu.org>
  3202. * module.c (module_char): Replace fgetc() with
  3203. getc().
  3204. (write_char): Replace fputc() with putc().
  3205. * scanner.c (load_line): Replace fgetc() with getc().
  3206. (gfc_read_orig_filename): Likewise.
  3207. 2007-04-25 Tobias Burnus <burnus@net-b.de>
  3208. PR fortran/31668
  3209. * error.c (error_print): Fix %% support.
  3210. * intrinsic.c (sort_actual): Improve error message.
  3211. * resolve.c (resolve_actual_arglist): Allow %VAL for
  3212. interfaces defined in the module declaration part.
  3213. 2007-04-25 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  3214. PR libfortran/31299
  3215. * intrinsic.texi (GETLOG): Update documentation to reflect
  3216. library changes.
  3217. 2007-04-24 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  3218. PR fortran/31587
  3219. * module.c (write_char): Add character to the MD5 buffer.
  3220. (read_md5_from_module_file): New function.
  3221. (gfc_dump_module): Compute MD5 for new module file. Call
  3222. read_md5_from_module_file. Only overwrite old module file
  3223. if the new MD5 is different.
  3224. 2007-04-23 Paul Thomas <pault@gcc.gnu.org>
  3225. PR fortran/31630
  3226. * resolve.c (resolve_symbol): Allow resolution of formal
  3227. namespaces nested within formal namespaces coming from modules.
  3228. PR fortran/31620
  3229. * trans-expr.c (gfc_trans_assignment): Make the call to
  3230. gfc_trans_zero_assign conditional on the lhs array ref being
  3231. the only reference.
  3232. 2007-04-23 Tobias Burnus <burnus@net-b.de>
  3233. * primary.c (match_integer_constant): Mention -fno-range-check
  3234. in the error message.
  3235. 2007-04-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  3236. PR fortran/31495
  3237. * scanner.c (load_line): Remove check for comment after ampersand and
  3238. adjust tracking of ampersand.
  3239. 2007-04-21 Andrew Pinski <andrew_pinski@playstation.sony.com>
  3240. * f95-lang.c (lang_tree_node): Use GENERIC_NEXT
  3241. instead of checking GIMPLE_STMT_P in chain_next.
  3242. 2007-04-17 Tobias Schlüter <tobi@gcc.gnu.org>
  3243. * trans-types.h (gfc_packed): New enum.
  3244. (gfc_get_nodesc_array_type): Change prototype to use new enum.
  3245. * trans-types.c (gfc_get_nodesc_array): Use gfc_packed for
  3246. argument packed. Adapt all references to values accordingly.
  3247. (gfc_sym_type): Use enum values in call to gfc_get_nodesc_array.
  3248. (gfc_get_derived_type): Likewise.
  3249. * trans-array.c (gfc_build_constant_array_constructor): Likewise.
  3250. * trans-expr.c (gfc_get_interface_mapping_charlen): Changed packed
  3251. argument to type gfc_packed.
  3252. (gfc_add_interface_mapping): Use enum values in call to
  3253. gfc_get_interface_mapping.
  3254. * trans-decl.c (gfc_build_dummy_array_decl): Adapt to use enum
  3255. values when determining packing.
  3256. * trans-decl.c (gfc_finish_decl): Remove unused second argument
  3257. 'init'. Simplify code accordingly. Remove calls to
  3258. gfc_fatal_error in favor of gcc_assert.
  3259. (create_function_arglist): Remove second argument from calls to
  3260. gfc_finish-decl.
  3261. (gfc_trans_dummy_character): Likewise.
  3262. * arith.h: Update copyright years.
  3263. * dependency.h: Likewise.
  3264. * gfortran.h: Likewise.
  3265. * lang-specs.h: Likewise.
  3266. * parse.h: Likewise.
  3267. * symbol.c: Likewise.
  3268. * trans.h: Likewise.
  3269. * trans.c: Likewise.
  3270. * trans-array.c: Likewise.
  3271. * trans-common.c: Likewise.
  3272. * trans-const.h: Likewise.
  3273. * trans-const.c: Likewise.
  3274. * trans-decl.c: Likewise.
  3275. * trans-expr.c: Likewise.
  3276. * trans-io.c: Likewise.
  3277. * trans-openmp.c: Likewise.
  3278. * trans-types.h: Likewise.
  3279. * types.def: Likewise.
  3280. 2007-04-17 Tobias Schlüter <tobi@gcc.gnu.org>
  3281. PR fortran/31144
  3282. * decl.c (gfc_sym_mangled_identifier): Use capital letters in name
  3283. mangling.
  3284. (gfc_sym_mangled_function_id): Likewise.
  3285. 2007-04-15 Paul Thomas <pault@gcc.gnu.org>
  3286. PR fortran/31204
  3287. * primary.c (check_for_implicit_index): New function to check
  3288. that a host associated variable is not an undeclared implied
  3289. do loop index.
  3290. (gfc_match_rvalue, match_variable): Use it and reset the
  3291. implied_index attribute.
  3292. * gfortran.h : Add the implied_index field to symbol_attribute.
  3293. * match.c (gfc_match_iterator): Mark the iterator variable
  3294. with the new attribute.
  3295. * decl.c (build_sym): Reset the new attribute.
  3296. 2007-04-15 Kazu Hirata <kazu@codesourcery.com>
  3297. * gfc-internals.texi: Fix typos.
  3298. * simplify.c: Fix a comment typo.
  3299. 2007-04-14 Bernhard Fischer <aldot@gcc.gnu.org>
  3300. * primary.c: Commentary typo fix; Add question about redundant (?)
  3301. set.
  3302. 2007-04-14 Paul Thomas <pault@gcc.gnu.org>
  3303. PR fortran/29507
  3304. PR fortran/31404
  3305. * expr.c (scalarize_intrinsic_call): New function to
  3306. scalarize elemental intrinsic functions in initialization
  3307. expressions.
  3308. (check_init_expr): Detect elemental intrinsic functions
  3309. in initalization expressions and call previous.
  3310. 2007-04-13 Tobias Burnus <burnus@net-b.de>
  3311. PR fortran/31559
  3312. * primary.c (match_variable): External functions
  3313. are no variables.
  3314. 2007-04-13 Paul Thomas <pault@gcc.gnu.org>
  3315. PR fortran/31550
  3316. * trans-types.c (copy_dt_decls_ifequal): Do not get pointer
  3317. derived type components.
  3318. 2007-04-13 Tobias Schlüter <tobi@gcc.gnu.org>
  3319. PR fortran/18937
  3320. * resolve.c: Include obstack.h and bitmap.h. New variable
  3321. labels_obstack.
  3322. (code_stack): Add tail and reachable_labels fields.
  3323. (reachable_labels): New function.
  3324. (resolve_branch): Rework to use new fields in code_stack.
  3325. (resolve_code): Call reachable_labels.
  3326. (resolve_codes): Allocate and free labels_obstack.
  3327. 2007-04-12 Tobias Schlüter <tobi@gcc.gnu.org>
  3328. PR fortran/31250
  3329. * decl.c (match_char_spec): Move check for negative CHARACTER
  3330. length ...
  3331. * resolve.c (resolve_charlen): ... here.
  3332. (resolve_types): Resolve CHARACTER lengths earlier.
  3333. 2007-04-12 Daniel Franke <franke.daniel@gmail.com>
  3334. PR fortran/31234
  3335. * intrinsic.texi (RANDOM_SEED, RANDOM_NUMBER): New.
  3336. 2007-04-12 Tobias Schlüter <tobi@gcc.gnu.org>
  3337. PR fortran/31266
  3338. * primary.c (gfc_variable_attr): Don't copy string length if it
  3339. doesn't make sense.
  3340. * resolve.c (resolve_code): Clarify error message.
  3341. PR fortran/31471
  3342. * decl.c (gfc_match_end): Also check for construct name in END
  3343. FORALL and END WERE statements.
  3344. * match.c (match_case_eos): Use uppercase for statement name in
  3345. error message.
  3346. (match_elsewhere): Construct name may appear iff construct has a
  3347. name.
  3348. * trans-types.c: Update copyright years. Reformat long comment
  3349. explaining array descriptor format. Remove obsolete mention of
  3350. TYPE_SET.
  3351. * arith.c (gfc_arith_uplus): Rename to ...
  3352. (gfc_arith_identity): ... this.
  3353. (gfc_parentheses): New function.
  3354. (gfc_uplus): Adapt to renamed function.
  3355. * arith.h (gfc_parentheses): Add prototype.
  3356. * expr.c (gfc_copy_expr): Deal with INTRINSIC_PARENTHESES.
  3357. (simplifiy_intrinsic_op): Treat INTRINSIC_UPLUS separately from
  3358. INTRINSIC_PARENTHESES.
  3359. 2007-04-12 Tobias Burnus <burnus@net-b.de>
  3360. PR fortran/31472
  3361. * decl.c (match_attr_spec): Allow PRIVATE/PUBLIC
  3362. attribute in type definitions.
  3363. (gfc_match_private): Allow PRIVATE statement only
  3364. in specification part of modules.
  3365. (gfc_match_public): Ditto for PUBLIC.
  3366. (gfc_match_derived_decl): Allow PRIVATE/PUBLIC attribute only in
  3367. specificification part of modules.
  3368. 2007-04-07 Paul Thomas <pault@gcc.gnu.org>
  3369. PR fortran/31257
  3370. * intrinsic.c (add_functions): Add ref. to gfc_resolve_achar.
  3371. * intrinsic.h : Add prototype for gfc_resolve_achar.
  3372. * iresolve.c (gfc_resolve_achar): New function.
  3373. 2007-04-07 Paul Thomas <pault@gcc.gnu.org>
  3374. PR fortran/30880
  3375. * resolve.c (resolve_fl_variable): Set flag to 2 for automatic
  3376. arrays. Make condition for automatic array error explicit.
  3377. If a dummy, no error on an INTENT(OUT) derived type.
  3378. 2007-04-07 Paul Thomas <pault@gcc.gnu.org>
  3379. PR fortran/30872
  3380. * expr.c (find_array_element): Correct arithmetic for rank > 1.
  3381. 2007-04-07 Paul Thomas <pault@gcc.gnu.org>
  3382. PR fortran/31222
  3383. * check.c (numeric_check): If an expresson has not got a type,
  3384. see if it is a symbol for which a default type applies.
  3385. 2007-04-07 Paul Thomas <pault@gcc.gnu.org>
  3386. PR fortran/31214
  3387. * trans-decl.c (gfc_get_symbol_decl): Allow unreferenced use
  3388. associated symbols.
  3389. 2007-04-07 Paul Thomas <pault@gcc.gnu.org>
  3390. PR fortran/31293
  3391. * symbol.c (gfc_check_function_type): New function.
  3392. * gfortran.h : Add prototype for previous.
  3393. * parse.c (parse_progunit): Call it after parsing specification
  3394. statements.
  3395. 2007-04-05 Paul Thomas <pault@gcc.gnu.org>
  3396. PR fortran/31483
  3397. * trans-expr.c (gfc_conv_function_call): Give a dummy
  3398. procedure the correct type if it has alternate returns.
  3399. 2007-04-05 Paul Thomas <pault@gcc.gnu.org>
  3400. PR fortran/31292
  3401. * decl.c (gfc_match_modproc): Go up to the top of the namespace
  3402. tree to find the module namespace for gfc_get_symbol.
  3403. 2007-04-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  3404. PR fortran/31304
  3405. * fortran/gfortran.h (gfc_charlen_int_kind): New prototype.
  3406. * fortran/trans-types.c (gfc_charlen_int_kind): New variable.
  3407. (gfc_init_types): Define gfc_charlen_int_kind.
  3408. * fortran/trans.h (gfor_fndecl_string_repeat): Remove prototype.
  3409. * fortran/trans-decl.c (gfor_fndecl_string_repeat): Delete.
  3410. (gfc_build_intrinsic_function_decls): Don't set
  3411. gfor_fndecl_string_repeat.
  3412. * fortran/trans-intrinsic.c (gfc_conv_intrinsic_repeat): Rewrite
  3413. so that we don't have to call a library function.
  3414. * fortran/simplify.c (gfc_simplify_repeat): Perform the necessary
  3415. checks on the NCOPIES argument, and work with arbitrary size
  3416. arguments.
  3417. 2007-03-31 Tobias Burnus <burnus@net-b.de>
  3418. * intrinsic.c (add_functions): Fix name of dummy argument
  3419. for new_line and exit intrinsic.
  3420. 2007-03-31 Paul Thomas <pault@gcc.gnu.org>
  3421. PR fortran/31160
  3422. * gfortran.texi: Add a section for the %VAL, %REF and %LOC
  3423. extensions.
  3424. 2007-03-30 Rafael Ávila de Espíndola <espindola@google.com>
  3425. * trans-types.c (gfc_signed_or_unsigned_type): Remove.
  3426. (gfc_unsigned_type): Use get_signed_or_unsigned_type instead of
  3427. gfc_signed_or_unsigned_type.
  3428. (gfc_signed_type): Ditto.
  3429. * trans-types.h (gfc_signed_or_unsigned_type): Remove.
  3430. * f95-lang.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove.
  3431. 2007-03-30 Tobias Schlüter <tobi@gcc.gnu.org>
  3432. * symbol.c (gfc_find_gsymbol): Simplify, don't unconditionally
  3433. descend into all branches.
  3434. 2007-03-29 Tobias Schlüter <tobi@gcc.gnu.org>
  3435. * intrinsic.c (conv_name): Let gfc_get_string handle the format.
  3436. (find_conv): Compare pointers instead of calling strcmp.
  3437. (find_sym): Likewise, but ensure that the compared pointer is in
  3438. the global string table.
  3439. 2007-03-28 Tobias Schlüter <tobi@gcc.gnu.org>
  3440. * gfc-internals.texi: Fix output filename. Merge type index into
  3441. concept index. Start documentation of gfc_code structure.
  3442. 2007-03-26 Brooks Moses <brooks.moses@codesourcery.com>
  3443. * gfc-internals.texi: New file,
  3444. * Make-lang.in: Add rules to convert it to dvi, pdf, and info.
  3445. 2007-03-26 Brooks Moses <brooks.moses@codesourcery.com>
  3446. * error.c (show_locus): Remove always-false test.
  3447. 2007-03-26 Brooks Moses <brooks.moses@codesourcery.com>
  3448. * lang.opt: Minor edits to descriptions.
  3449. 2007-03-25 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  3450. PR fortran/30877
  3451. * fortran/interface.c (check_operator_interface): Implement
  3452. the standard checks on user operators extending intrinsic operators.
  3453. * fortran/resolve.c (resolve_operator): If the ranks of operators
  3454. don't match, don't error out but try the user-defined ones first.
  3455. 2007-03-24 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  3456. PR fortran/30655
  3457. * expr.c (check_dimension): Fix logic of comparisons.
  3458. 2007-03-24 Paul Thomas <pault@gcc.gnu.org>
  3459. PR fortran/31215
  3460. * trans-expr.c (gfc_apply_interface_mapping_to_expr): Return
  3461. int result that is non-zero if the expression is the function
  3462. result. Only the characteristics of the result expression
  3463. can be used in a procedure interface, so simplify LEN in situ
  3464. using its character length.
  3465. PR fortran/31209
  3466. PR fortran/31200
  3467. * trans-expr.c (gfc_conv_function_call): Do not use
  3468. gfc_conv_expr_reference for actual pointer function with formal
  3469. target because a temporary is created that does not transfer
  3470. the reference correctly. Do not indirect formal pointer
  3471. functions since it is the function reference that is needed.
  3472. 2007-03-24 Brooks Moses <brooks.moses@codesourcery.com>
  3473. * gfortran.h: Edit comments on GFC_STD_*.
  3474. 2007-03-23 Brooks Moses <brooks.moses@codesourcery.com>
  3475. * invoke.texi: Misc. small typo fixes.
  3476. (-Wcharacter-truncation): Add.
  3477. (-Wnonstd-intrinsics): Correct spelling.
  3478. (-std=): Edit.
  3479. (-fintrinsic-modules-path): Add.
  3480. 2007-03-23 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  3481. PR fortran/30834
  3482. * arith.c (complex_pow): Rewrite to handle large power.
  3483. (gfc_arith_power): Handle large power in the real and integer
  3484. cases.
  3485. 2007-03-22 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  3486. PR fortran/31262
  3487. * trans-const.c (gfc_conv_mpz_to_tree): Allow integer constants
  3488. larger than twice the width of a HOST_WIDE_INT.
  3489. 2007-03-22 Paul Thomas <pault@gcc.gnu.org>
  3490. PR fortran/31193
  3491. * trans-intrinsic.c (gfc_size_in_bytes): Remove function.
  3492. (gfc_conv_intrinsic_array_transfer): Remove calls to previous.
  3493. Explicitly extract TREE_TYPEs for source and mold. Use these
  3494. to calculate length of source and mold, except for characters,
  3495. where the se string_length is used. For mold, the TREE_TYPE is
  3496. recalculated using gfc_get_character_type_len so that the
  3497. result is correctly cast for character literals and substrings.
  3498. Do not use gfc_typenode_for_spec for the final cast.
  3499. 2007-03-22 Tobias Schlüter <tobi@gcc.gnu.org>
  3500. PR fortran/20897
  3501. * decl.c (gfc_match_derived_decl): Reliably reject
  3502. 'doubleprecision' and 'doublecomplex' as type names.
  3503. 2007-03-19 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  3504. PR fortran/31203
  3505. * trans-expr.c (gfc_trans_init_string_length): Length should
  3506. never be negative.
  3507. (gfc_conv_function_call): Likewise.
  3508. 2007-03-18 Paul Thomas <pault@gcc.gnu.org>
  3509. PR fortran/30531
  3510. PR fortran/31086
  3511. * symbo.c : Add gfc_derived_types.
  3512. (gfc_free_dt_list): Free derived type list gfc_derived_types.
  3513. (gfc_free_namespace): Remove call to gfc_free_dt_list.
  3514. (gfc_symbol_done_2): Call gfc_free_dt_list.
  3515. * gfortran.h : Declare gfc_derived_types to be external. Remove
  3516. derived types field from gfc_namespace.
  3517. * resolve.c (resolve_fl_derived): Refer to gfc_derived types
  3518. rather than namespace derived_types.
  3519. (resolve_fntype): Remove special treatment for module
  3520. derived type functions.
  3521. * trans-types.c (gfc_get_derived_type): Remove search for like
  3522. derived types. Finish by copying back end declaration to like
  3523. derived types in the derived type list gfc_derived_types.
  3524. 2007-03-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  3525. PR fortran/31120
  3526. * trans-expr.c (gfc_conv_powi): Make n argument unsigned hwi.
  3527. (gfc_conv_cst_int_power): Handle integer exponent with care,
  3528. since it might be too large for us.
  3529. 2007-03-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  3530. PR fortran/31184
  3531. * invoke.texi: Fix typo.
  3532. 2007-03-16 Tobias Burnus <burnus@net-b.de>
  3533. * trans-decl.c (gfc_generate_function_code): Use all arguments of
  3534. set_std.
  3535. 2007-03-15 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  3536. * gfortran.h (gfc_option_t): Add flag_backtrace field.
  3537. * lang.opt: Add -fbacktrace option.
  3538. * invoke.texi: Document the new option.
  3539. * trans-decl.c (gfc_build_builtin_function_decls): Add new
  3540. option to the call to set_std.
  3541. * options.c (gfc_init_options, gfc_handle_option): Handle the
  3542. new option.
  3543. 2007-03-15 Tobias Burnus <burnus@gcc.gnu.org>
  3544. Paul Thomas <pault@gcc.gnu.org>
  3545. PR fortran/30922
  3546. * decl.c (gfc_match_import): If the parent of the current name-
  3547. space is null, try looking for an imported symbol in the parent
  3548. of the proc_name interface.
  3549. * resolve.c (resolve_fl_variable): Do not check for blocking of
  3550. host association by a same symbol, if the symbol is in an
  3551. interface body.
  3552. 2007-03-15 Paul Thomas <pault@gcc.gnu.org>
  3553. PR fortran/30879
  3554. * decl.c (match_data_constant): Before going on to try to match
  3555. a name, try to match a structure component.
  3556. PR fortran/30870
  3557. * resolve.c (resolve_actual_arglist): Do not reject a generic
  3558. actual argument if it has a same name specific interface.
  3559. PR fortran/31163
  3560. * trans-array.c (parse_interface): Do not nullify allocatable
  3561. components if the symbol has the saved attribute.
  3562. 2007-03-14 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  3563. * trans-array.c (gfc_trans_auto_array_allocation): Replace
  3564. fold(convert()) by fold_convert().
  3565. (gfc_duplicate_allocatable): Likewise.
  3566. * trans-intrinsic.c (gfc_conv_intrinsic_dot_product): Use
  3567. build_int_cst instead of converting an integer_zero_node
  3568. to the final type.
  3569. 2007-03-14 Jakub Jelinek <jakub@redhat.com>
  3570. * module.c (mio_typespec): Don't look at ts->cl if not BT_CHARACTER.
  3571. 2007-03-13 Brooks Moses <brooks.moses@codesourcery.com>
  3572. PR fortran/30933
  3573. PR fortran/30948
  3574. PR fortran/30953
  3575. * intrinsics.texi (CHDIR): Fix argument names, note
  3576. that STATUS must be a default integer.
  3577. (CTIME): Fix argument names, note that RESULT must
  3578. be a default integer.
  3579. (EXIT): Note that STATUS must be a default integer.
  3580. 2007-03-13 Brooks Moses <brooks.moses@codesourcery.com>
  3581. PR fortran/28068
  3582. * intrinsic.texi: General whitespace cleanup, remove
  3583. comment about missing intrinsics.
  3584. (menu): Add lines for new entries listed below.
  3585. (ACOSH): Mention specific function DACOSH, correct
  3586. description phrasing.
  3587. (ASINH): Mention specific function DASINH, correct
  3588. description phrasing.
  3589. (ATANH): Mention specific function DATANH, correct
  3590. description phrasing.
  3591. (COS): Add index entry for CCOS.
  3592. (CPU_TIME): Correct "REAL" to "REAL(*)".
  3593. (EXP): Add index entry for CEXP.
  3594. (INT): Correct argument name to "A".
  3595. (INT2): New entry.
  3596. (INT8): New entry.
  3597. (LONG): New entry.
  3598. (MAX): Add index entries for specific variants.
  3599. (MCLOCK): New entry.
  3600. (MCLOCK8): New entry.
  3601. (SECNDS): Adjust to a more standard form.
  3602. (SECOND): New entry.
  3603. (TIME): Add cross-reference to MCLOCK.
  3604. (TIME8): Add cross-reference to MCLOCK8.
  3605. 2007-03-11 Paul Thomas <pault@gcc.gnu.org>
  3606. PR fortran/30883
  3607. * parse.c (parse_interface): Use the default types from the
  3608. formal namespace if a function or its result do not have a type
  3609. after parsing the specification statements.
  3610. 2007-03-08 Brooks Moses <brooks.moses@codesourcery.com>
  3611. * intrinsic.texi: (ICHAR) Improve internal I/O note.
  3612. (ACHAR): Reference it.
  3613. (CHAR): Reference it.
  3614. (IACHAR): Reference it.
  3615. 2007-03-08 Brooks Moses <brooks.moses@codesourcery.com>
  3616. * intrinsic.texi: (LINK) Document function form.
  3617. (RENAME): Likewise.
  3618. (SYMLNK): Likewise.
  3619. (SYSTEM): Likewise.
  3620. (UNLINK): Likewise.
  3621. 2007-03-08 Brooks Moses <brooks.moses@codesourcery.com>
  3622. * intrinsic.texi: minor typo fixes, removed prologue.
  3623. (FSEEK): moved to correct place in alphabetical order.
  3624. 2007-03-08 Daniel Franke <franke.daniel@gmail.com>
  3625. PR fortran/30947
  3626. * check.c (gfc_check_alarm_sub): Added check for default integer
  3627. kind of status argument.
  3628. * iresolve.c (gfc_resolve_alarm_sub): Removed conversion of
  3629. status argument.
  3630. * intrinsic.texi (ALARM): Extended documentation.
  3631. 2007-03-08 Daniel Franke <franke.daniel@gmail.com>
  3632. * intrinsic.texi (GERROR, ISATTY, TTYNAM): New.
  3633. (ABORT, FLUSH, FNUM, IRAND, MALLOC, SIGNAL, SRAND): Fixed typo.
  3634. * intrinsic.c (add_subroutines): Adjusted dummy argument names
  3635. of GERROR and TTYNAM.
  3636. 2007-07-08 Tobias Burnus <burnus@net-b.de>
  3637. * module.c (gfc_match_use): Support renaming of operators
  3638. in USE statements.
  3639. * gfortran.texi (Fortran 2003 Status): Document support of
  3640. renaming of operators.
  3641. 2007-07-08 Tobias Burnus <burnus@net-b.de>
  3642. PR fortran/30973
  3643. * module.c (read_module): Always import module name as symbol.
  3644. (gfc_match_use): Disallow module name in the only clause of
  3645. a use statement.
  3646. 2007-03-08 Paul Thomas <pault@gcc.gnu.org>
  3647. PR fortran/31011
  3648. * expr.c (find_array_section): Correct arithmetic for section
  3649. size.
  3650. 2007-03-07 Brooks Moses <brooks.moses@codesourcery.com>
  3651. * iresolve.c (gfc_resolve_ishftc): Correct s_kind value.
  3652. 2007-03-06 Daniel Franke <franke.daniel@gmail.com>
  3653. PR documentation/30950
  3654. * intrinsic.texi (AND, CPU_TIME): Fix dummy argument names.
  3655. (FREE): Fix call syntax.
  3656. 2007-03-06 Brooks Moses <brooks.moses@codesourcery.com>
  3657. * intrinsic.texi: Limit column widths to a total of .85.
  3658. 2007-03-05 Brooks Moses <brooks.moses@codesourcery.com>
  3659. * gfortran.texi (GFortran and G77): Rewrite completely.
  3660. 2007-03-05 Brooks Moses <brooks.moses@codesourcery.com>
  3661. * match.c (gfc_match_name): Expanded comment.
  3662. 2007-03-05 Brooks Moses <brooks.moses@codesourcery.com>
  3663. * gfortran.texi (Old-style kind specifications): Document
  3664. special handling of old-style kind specifiers for COMPLEX.
  3665. * decl.c (gfc_match_old_kind_spec): Document kind/bytesize
  3666. assumptions for COMPLEX in comment.
  3667. 2007-03-05 Brooks Moses <brooks.moses@codesourcery.com>
  3668. PR 31050
  3669. * gfortranspec.c (lang_specific_driver): Update program
  3670. name and copyright date.
  3671. 2007-03-03 Paul Thomas <pault@gcc.gnu.org>
  3672. PR fortran/30882
  3673. * check.c (dim_rank_check): The shape of subsections of
  3674. assumed-size arrays is known.
  3675. 2007-03-02 Paul Thomas <pault@gcc.gnu.org>
  3676. Tobias Burnus <burnus@net-b.de>
  3677. PR fortran/30873
  3678. * decl.c (gfc_match_entry): Remove erroneous entry result check.
  3679. 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
  3680. * Make-lang.in: Add install-pdf target as copied from
  3681. automake v1.10 rules.
  3682. 2007-03-01 Tobias Burnus <burnus@net-b.de>
  3683. PR fortran/30865
  3684. * trans-intrinsic.c (gfc_conv_intrinsic_size): Compare pointers.
  3685. 2007-02-28 Tobias Burnus <burnus@net-b.de>
  3686. Paul Thomas <pault@gcc.gnu.org>
  3687. PR fortran/30888
  3688. PR fortran/30887
  3689. * resolve.c (resolve_actual_arglist): Allow by-value
  3690. arguments and non-default-kind for %VAL().
  3691. * trans-expr.c (conv_arglist_function): Allow
  3692. non-default-kind for %VAL().
  3693. 2007-02-28 Tobias Burnus <burnus@net-b.de>
  3694. PR fortran/30968
  3695. * primary.c (next_string_char): Correct reading a character
  3696. after the delimiter.
  3697. (match_string_constant): Print warning message only once.
  3698. 2007-02-27 Richard Guenther <rguenther@suse.de>
  3699. * trans-array.c (structure_alloc_comps): Use correct type
  3700. for null pointer constant.
  3701. 2007-02-26 Brooks Moses <brooks.moses@codesourcery.com>
  3702. * gfortran.texi: Standardize title page, remove version number
  3703. from copyright page.
  3704. 2007-02-26 Thomas Koenig <Thomas.Koenig@online.de>
  3705. Paul Thomas <pault@gcc.gnu.org>
  3706. PR fortran/30865
  3707. * trans-intrinsic.c (gfc_conv_intrinsic_size):
  3708. If dim is an optional argument, check for its
  3709. presence and call size0 or size1, respectively.
  3710. 2007-02-23 Paul Thomas <pault@gcc.gnu.org>
  3711. PR fortran/30660
  3712. * resolve.c (has_default_initializer): New function.
  3713. (resolve_fl_variable): Call has_default_initializer to determine if
  3714. the derived type has a default initializer to its ultimate
  3715. components.
  3716. 2007-02-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  3717. * options.c (set_default_std_flags): New function to consolidate
  3718. setting the flags.
  3719. (gfc_init_options): Use new function.
  3720. (gfc_handle_option): Use new function.
  3721. 2007-02-22 Brooks Moses <brooks.moses@codesourcery.com>
  3722. * gfortran.texi (Old-style kind specifications): Document
  3723. special handling of old-style kind specifiers for COMPLEX.
  3724. * decl.c (gfc_match_old_kind_spec): Documented kind/bytesize
  3725. assumptions in comment.
  3726. 2007-02-21 Bernhard Fischer <aldot@gcc.gnu.org>
  3727. * parse.c (next_free): Gooble spaces after OpenMP sentinel.
  3728. 2007-02-20 Thomas Koenig <Thomas.Koenig@online.de>
  3729. PR fortran/30869
  3730. * match.c (gfc_match_iterator): Remove conflict between
  3731. loop variable and pointer.
  3732. 2007-02-20 Tobias Burnus <burnus@net-b.de>
  3733. PR fortran/30522
  3734. * symbol.c (gfc_add_volatile): Allow to set VOLATILE
  3735. attribute for host-associated variables.
  3736. * gfortran.h (symbol_attribute): Save namespace
  3737. where VOLATILE has been set.
  3738. * trans-decl.c (gfc_finish_var_decl): Move variable
  3739. declaration to the top.
  3740. 2007-02-20 Tobias Burnus <burnus@net-b.de>
  3741. PR fortran/30783
  3742. * resolve.c (resolve_symbol): Add character dummy VALUE check.
  3743. 2007-02-19 Thomas Koenig <Thomas.Koenig@online.de>
  3744. PR libfortran/30533
  3745. * fortran/iresolve.c (gfc_resolve_maxloc): Remove coercion of
  3746. argument to default integer.
  3747. (gfc_resolve_minloc): Likewise.
  3748. 2007-02-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  3749. PR fortran/30681
  3750. * options.c (gfc_init_options): Relax warning level for obsolescent.
  3751. * match.c (match_arithmetic_if): Change to obsolescent from deleted.
  3752. (gfc_match_if): Same.
  3753. 2007-02-18 Roger Sayle <roger@eyesopen.com>
  3754. * trans-array.c (gfc_build_constant_array_constructor): When the
  3755. shape of the constructor is known, use that to construct the
  3756. gfc_array_spec.
  3757. (gfc_trans_constant_array_constructor): Initialize the "info"
  3758. information for all of the dimensions of the array constructor.
  3759. (constant_array_constructor_loop_size): New function.
  3760. (gfc_trans_array_constructor): Use it to determine whether a
  3761. loop is suitable for "constant array constructor" optimization.
  3762. * trans-intrinsic.c (gfc_conv_intrinsic_anyall): Use fold_build2
  3763. instead of build2, to avoid conditions like "(a != b) != 0".
  3764. 2007-02-18 Roger Sayle <roger@eyesopen.com>
  3765. Paul Thomas <pault@gcc.gnu.org>
  3766. PR fortran/30400
  3767. * match.c (match_forall_iterator): Use gfc_match_expr instead
  3768. of gfc_match_variable to match the iterator variable. Return
  3769. MATCH_NO if not a variable. Remove the reset of the symbol's
  3770. flavor in cleanup.
  3771. 2007-02-16 Tobias Burnus <burnus@net-b.de>
  3772. PR fortran/30793
  3773. * trans-decl.c (gfc_generate_function_code): Do not initialize
  3774. pointers to derived components.
  3775. 2007-02-15 Sandra Loosemore <sandra@codesourcery.com>
  3776. Brooks Moses <brooks.moses@codesourcery.com>
  3777. Lee Millward <lee.millward@codesourcery.com>
  3778. * trans-expr.c (gfc_conv_power_op): Use build_call_expr.
  3779. (gfc_conv_string_tmp): Likewise.
  3780. (gfc_conv_concat_op): Likewise.
  3781. (gfc_build_compare_string): Likewise.
  3782. (gfc_conv_function_call): Use build_call_list instead of build3.
  3783. * trans-array.c (gfc_trans_allocate_array_storage): Use
  3784. build_call_expr.
  3785. (gfc_grow_array): Likewise.
  3786. (gfc_trans_array_ctor_element): Likewise.
  3787. (gfc_trans_array_constructor_value): Likewise.
  3788. (gfc_array_allocate): Likewise.
  3789. (gfc_array_deallocate): Likewise.
  3790. (gfc_trans_auto_array_allocation): Likewise.
  3791. (gfc_trans_dummy_array_bias): Likewise.
  3792. (gfc_conv_array_parameter): Likewise.
  3793. (gfc_trans_dealloc_allocated): Likewise.
  3794. (gfc_duplicate_allocatable): Likewise.
  3795. * trans-openmp.c (gfc_trans_omp_barrier): Use build_call_expr.
  3796. (gfc_trans_omp_flush): Likewise.
  3797. * trans-stmt.c (gfc_conv_elementel_dependencies): Use build_call_expr.
  3798. (gfc_trans_pause): Likewise.
  3799. (gfc_trans_stop): Likewise.
  3800. (gfc_trans_character_select): Likewise.
  3801. (gfc_do_allocate): Likewise.
  3802. (gfc_trans_assign_need_temp): Likewise.
  3803. (gfc_trans_pointer_assign_need_temp): Likewise.
  3804. (gfc_trans_forall_1): Likewise.
  3805. (gfc_trans_where_2): Likewise.
  3806. (gfc_trans_allocate): Likewise.
  3807. (gfc_trans_deallocate): Likewise.
  3808. * trans.c (gfc_trans_runtime_check): Use build_call_expr.
  3809. * trans-io.c (gfc_trans_open): Use build_call_expr.
  3810. (gfc_trans_close): Likewise.
  3811. (build_filepos): Likewise.
  3812. (gfc_trans_inquire): Likewise.
  3813. (NML_FIRST_ARG): Delete.
  3814. (NML_ADD_ARG): Delete.
  3815. (transfer_namelist_element): Use build_call_expr.
  3816. (build_dt): Likewise.
  3817. (gfc_trans_dt_end): Likewise.
  3818. (transfer_expr): Likewise.
  3819. (transfer_array-desc): Likewise.
  3820. * trans-decl.c (gfc_generate_function_code): Use build_call_expr.
  3821. (gfc_generate_constructors): Likewise.
  3822. * trans-intrinsic.c (gfc_conv_intrinsic_ctime): Use build_call_expr.
  3823. (gfc_conv_intrinsic_fdate): Likewise.
  3824. (gfc_conv_intrinsic_ttynam): Likewise.
  3825. (gfc_conv_intrinsic_array_transfer): Likewise.
  3826. (gfc_conv_associated): Likewise.
  3827. (gfc_conv_intrinsic_si_kind): Likewise.
  3828. (gfc_conv_intrinsic_trim): Likewise.
  3829. (gfc_conv_intrinsic_repeat: Likewise.
  3830. (gfc_conv_intrinsic_iargc): Likewise.
  3831. 2007-02-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  3832. PR fortran/30779
  3833. * scanner.c (gfc_next_char_literal): Add check for end of file after
  3834. call to advance_line.
  3835. 2007-02-14 Steven G. Kargl <kargl@gcc.gnu.org>
  3836. PR fortran/30799
  3837. * primary.c (match_logical_constant): Return MATCH_ERROR on invalid
  3838. kind.
  3839. 2007-02-14 Steven G. Kargl <kargl@gcc.gnu.org>
  3840. * misc.c (gfc_typename): Fix potential buffer overflow.
  3841. 2007-02-13 Paul Thomas <pault@gcc.gnu.org>
  3842. PR fortran/30554
  3843. * module.c (read_module): Set pointer_info to referenced if the
  3844. symbol has no namespace.
  3845. 2007-02-12 Nick Clifton <nickc@redhat.com>
  3846. * lang.opt: Add Warning attribute to warning options.
  3847. 2007-02-11 Daniel Franke <franke.daniel@gmail.com>
  3848. * intrinsic.texi (HOSTNM): Fix typographical error in syntax.
  3849. (SLEEP): Added section and documentation.
  3850. 2007-02-11 Tobias Schlüter <tobi@gcc.gnu.org>
  3851. PR fortran/30478
  3852. * decl.c (add_init_expr_to_sym): Remove ENUM specific code.
  3853. (variable_decl): Likewise. Rewrap comment.
  3854. (match_attr_spec): Remove ENUM specific code.
  3855. (gfc_match_enum): Fix typo in error message.
  3856. (enumerator_decl): New function.
  3857. (gfc_match_enumerator_def): Use enumerator_decl instead of
  3858. variable_decl. Adapt code accordingly.
  3859. 2007-02-11 Paul Thomas <pault@gcc.gnu.org>
  3860. PR fortran/30554
  3861. * module.c (find_symtree_for_symbol): New function to return
  3862. a symtree that is not a "unique symtree" given a symbol.
  3863. (read_module): Do not automatically set pointer_info to
  3864. referenced because this inhibits the generation of a unique
  3865. symtree. Recycle the existing symtree if possible by calling
  3866. find_symtree_for_symbol.
  3867. PR fortran/30319
  3868. * decl.c (add_init_expr_to_sym): Make new charlen for an array
  3869. constructor initializer.
  3870. 2007-02-10 Richard Henderson <rth@redhat.com>, Jakub Jelinek <jakub@redhat.com>
  3871. * f95-lang.c (gfc_init_builtin_functions): Add __emutls_get_address
  3872. and __emutls_register_common.
  3873. * openmp.c (gfc_match_omp_threadprivate): Don't error if !have_tls.
  3874. * trans-common.c (build_common_decl): Don't check have_tls.
  3875. * trans-decl.c (gfc_finish_var_decl): Likewise.
  3876. * types.def (BT_WORD, BT_FN_PTR_PTR): New.
  3877. (BT_FN_VOID_PTR_WORD_WORD_PTR): New.
  3878. 2007-02-09 Tobias Burnus <burnus@net-b.de>
  3879. PR fortran/30512
  3880. * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc,
  3881. gfc_conv_intrinsic_minmaxval): Use HUGE-1 for most negative integer.
  3882. 2007-02-09 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  3883. PR fortran/30720
  3884. * trans-array.c (gfc_trans_create_temp_array): Remove use of the
  3885. function argument. Always generate code for negative extent.
  3886. Simplify said code.
  3887. * trans-array.h (gfc_trans_create_temp_array): Change prototype.
  3888. * trans-expr.c (gfc_conv_function_call): Remove use of last argument
  3889. of gfc_trans_create_temp_array.
  3890. * trans-intrinsic.c (gfc_conv_intrinsic_array_transfer): Likewise.
  3891. * trans-stmt.c (gfc_conv_elemental_dependencies): Likewise.
  3892. 2007-02-08 Roger Sayle <roger@eyesopen.com>
  3893. * trans-stmt.c (gfc_trans_forall_1): Optimize the cases where the
  3894. mask expression is a compile-time constant (".true." or ".false.").
  3895. 2007-02-04 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  3896. PR fortran/30611
  3897. * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Evaluate
  3898. arguments only once. Generate check that NCOPIES argument is not
  3899. negative.
  3900. 2007-02-04 Steven G. Kargl <kargl@gcc.gnu.org>
  3901. PR fortran/30605
  3902. * fortran/invoke.texi: Update documentation.
  3903. * fortran/options.c (gfc_post_options): Deal with tabs with -std=f2003
  3904. and -pedantic.
  3905. 2007-02-03 Kazu Hirata <kazu@codesourcery.com>
  3906. * trans-array.c: Fix a comment typo.
  3907. 2007-02-03 Paul Thomas <pault@gcc.gnu.org>
  3908. PR fortran/30514
  3909. * array.c (match_array_element_spec): If the length of an array is
  3910. negative, adjust the upper limit to make it zero length.
  3911. PR fortran/30660
  3912. * resolve.c (pure_function, resolve_function): Initialize name to
  3913. null to clear up build warnings.
  3914. (resolve_fl_variable): Look at components explicitly to check for
  3915. default initializer, rather than using gfc_default_initializer.
  3916. 2007-02-02 Steven G. Kargl <kargl@gcc.gnu.org>
  3917. PR fortran/30683
  3918. * resolve.c (resolve_generic_f): Check for non-NULL sym.
  3919. 2007-02-02 Roger Sayle <roger@eyesopen.com>
  3920. * trans.c (gfc_build_array_ref): Use STRIP_TYPE_NOPS to eliminate
  3921. NON_LVALUE_EXPR nodes and useless type conversions.
  3922. 2007-02-02 Paul Thomas <pault@gcc.gnu.org>
  3923. PR fortran/30284
  3924. PR fortran/30626
  3925. * trans-expr.c (gfc_conv_aliased_arg): Remove static attribute
  3926. from function and make sure that substring lengths are
  3927. translated.
  3928. (is_aliased_array): Remove static attribute.
  3929. * trans.c : Add prototypes for gfc_conv_aliased_arg and
  3930. is_aliased_array.
  3931. * trans-io.c (set_internal_unit): Add the post block to the
  3932. arguments of the function. Use is_aliased_array to check if
  3933. temporary is needed; if so call gfc_conv_aliased_arg.
  3934. (build_dt): Pass the post block to set_internal_unit and
  3935. add to the block after all io activiy is done.
  3936. 2007-02-01 Roger Sayle <roger@eyesopen.com>
  3937. * trans-array.c (gfc_conv_expr_descriptor): We don't need to use
  3938. a temporary array to pass a constant non-character array constructor.
  3939. Generalize the descriptor generation code to handle scalarizer
  3940. "info" without an array reference.
  3941. 2007-02-01 Roger Sayle <roger@eyesopen.com>
  3942. * dependency.c (gfc_check_dependency) <EXPR_ARRAY>: Implement
  3943. dependency checking for array constructors.
  3944. 2007-02-01 Roger Sayle <roger@eyesopen.com>
  3945. * trans-stmt.c (compute_overall_iter_number): Document function
  3946. arguments. Generalize "unconditional forall nest with constant
  3947. bounds" optimization to eliminate unconditional inner loops with
  3948. constant bounds.
  3949. 2007-01-31 Tobias Burnus <burnus@net-b.de>
  3950. PR fortran/30520
  3951. * interface.c (compare_actual_formal): Check conformance between
  3952. actual and VOLATILE dummy arguments.
  3953. * symbol.c (gfc_add_volatile): Allow setting of VOLATILE
  3954. multiple times in different scopes.
  3955. * decl.c (gfc_match_volatile): Search symbol in host association.
  3956. 2007-01-31 Kazu Hirata <kazu@codesourcery.com>
  3957. * simplify.c, trans-array.c: Fix comment typos.
  3958. 2007-01-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
  3959. * invoke.texi (Code Gen Options): Fix abbreviation typo.
  3960. * intrinsic.texi (ACCESS, LSHIFT, RSHIFT): Fix typos.
  3961. 2007-01-30 Steve Ellcey <sje@cup.hp.com>
  3962. PR fortran/30432
  3963. * trans-types.c (gfc_get_function_type): Do not add void_type_node
  3964. to empty arg list.
  3965. * trans-decl.c (create_function_arglist): Change assert.
  3966. 2007-01-29 Paul Thomas <pault@gcc.gnu.org>
  3967. PR fortran/30554
  3968. * module.c (read_module): If a symbol is excluded by an ONLY
  3969. clause, check to see if there is a symtree already loaded. If
  3970. so, attach the symtree to the pointer_info.
  3971. 2007-01-28 Thomas Koenig <Thomas.Koenig@online.de>
  3972. PR libfortran/30389
  3973. * gfortran.h: Remove gfc_simplify_init_1.
  3974. * arith.h: Remove third argument from gfc_compare_string.
  3975. * arith.c (gfc_compare_expression): Remove third argument
  3976. from call to gfc_compare_string.
  3977. (gfc_compare_string): Remove third argument xcoll_table.
  3978. Remove use of xcoll_table.
  3979. * misc.c (gfc_init_1): Remove call to gfc_simplify_init_1.
  3980. * simplify.c (ascii_table): Remove.
  3981. (xascii_table): Likewise.
  3982. (gfc_simplify_achar): ICE if extract_int fails. Remove use of
  3983. ascii_table. Warn if -Wsurprising and value < 0 or > 127.
  3984. (gfc_simplify_char): ICE if extract_int fails. Error if
  3985. value < 0 or value > 255.
  3986. (gfc_simplify_iachar): Remove use of xascii_table.
  3987. Char values outside of 0..255 are an ICE.
  3988. (gfc_simplify_lge): Remove use of xascii_table.
  3989. (gfc_simplify_lgt): Likewise.
  3990. (gfc_simplify_lle): Likewise.
  3991. (gfc_simplify_llt): Likewise.
  3992. (invert_table): Remove.
  3993. (gfc_simplify_init_1): Remove.
  3994. 2007-01-27 Roger Sayle <roger@eyesopen.com>
  3995. * trans-stmt.c (forall_info): Replace the next_nest and outer
  3996. fields that previously implemented a doubly-linked list with a
  3997. single prev_nest field (singly-linked list).
  3998. (gfc_trans_nested_forall_loop): The nested_forall_info argument
  3999. now denotes the innermost FORALL in the loop nest.
  4000. (compute_overall_iter_number): Use prev_nest instead of next_nest.
  4001. (gfc_trans_forall_1): Link/cons the new "info" to the head of the
  4002. nested_forall_info linked list. Free the current "info" when done.
  4003. 2007-01-27 Paul Thomas <pault@gcc.gnu.org>
  4004. PR fortran/30407
  4005. * trans-expr.c (gfc_conv_operator_assign): New function.
  4006. * trans.h : Add prototype for gfc_conv_operator_assign.
  4007. * trans-stmt.c (gfc_trans_where_assign): Add a gfc_symbol for
  4008. a potential operator assignment subroutine. If it is non-NULL
  4009. call gfc_conv_operator_assign instead of the first assignment.
  4010. ( gfc_trans_where_2): In the case of an operator assignment,
  4011. extract the argument expressions from the code for the
  4012. subroutine call and pass the symbol to gfc_trans_where_assign.
  4013. resolve.c (resolve_where, gfc_resolve_where_code_in_forall,
  4014. gfc_resolve_forall_body): Resolve the subroutine call for
  4015. operator assignments.
  4016. 2007-01-26 Steven Bosscher <stevenb.gcc@gmail.com>
  4017. Steven G. Kargl <kargl@gcc.gnu.org>
  4018. PR fortran/30278
  4019. * fortran/io.c (next_char): Deal with backslash escaped characters.
  4020. Issue warnings in non -std=gnu cases.
  4021. * fortran/primary.c (next_string_char): Issue warnings in non
  4022. 2007-01-26 Tobias Burnus <burnus@net-b.de>
  4023. * lang-specs.h: Add support for .f03 and .F03 extensions.
  4024. * gfortran.texi: Document .f03 extension.
  4025. * options.c (form_from_filename): Recognize .f03.
  4026. 2007-01-25 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
  4027. PR fortran/30437
  4028. * lang.opt (Wall): Remove RejectNegative.
  4029. * options.c (gfc_handle_option): Wall can be disabled.
  4030. (set_Wall): Add a parameter for disabling Wall.
  4031. 2007-01-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  4032. PR fortran/30532
  4033. * scanner.c (load_line): Remove check fot ctrl-z and don't gobble.
  4034. 2007-01-23 Paul Thomas <pault@gcc.gnu.org>
  4035. PR fortran/30481
  4036. * match.c (gfc_match_namelist): Add check for assumed size character
  4037. in namelist and provide error if found.
  4038. 2007-01-21 Brooks Moses <brooks.moses@codesourcery.com>
  4039. * intrinsic.texi (ACHAR): Added cross-references.
  4040. (CHAR): Put cross-references in alphabetical order.
  4041. (IACHAR): Added cross-references.
  4042. (ICHAR): Added cross-references.
  4043. 2007-01-20 Brooks Moses <brooks.moses@codesourcery.com>
  4044. * intrinsic.texi: Edited all "Syntax" examples to a consistent form.
  4045. (MAXVAL): Corrected description of result characteristics.
  4046. (MINVAL): Same.
  4047. (UMASK): Added documentation.
  4048. 2007-01-20 Steven G. Kargl <kargl@gcc.gnu.org>
  4049. * openmp.c, matchexp.c, module.c, scanner.c, resolve.c, st.c,
  4050. parse.c, primary.c, options.c, misc.c, simplify.c: Next installment
  4051. in the massive whitespace patch.
  4052. 2007-01-20 Roger Sayle <roger@eyesopen.com>
  4053. * module.c (mio_array_ref): The dimen_type fields of an array ref
  4054. are an enumerated type and can't be read/written directly with a
  4055. call to mio_integer. Instead loop over and cast each element.
  4056. 2007-01-20 Roger Sayle <roger@eyesopen.com>
  4057. * dependency.c (gfc_full_array_ref_p): Check that ref->next is NULL,
  4058. i.e. that the ARRAY_REF doesn't mention components.
  4059. * trans-array.c (gfc_constant_array_constructor_p): Export external
  4060. function renamed from constant_array_constructor_p.
  4061. (gfc_build_constant_array_constructor): Export.
  4062. (gfc_trans_array_constructor): Update call to the renamed function
  4063. constant_array_constructor_p.
  4064. * trans-array.h (gfc_constant_array_constructor_p): Prototype here.
  4065. (gfc_build_constant_array_constructor): Likewise.
  4066. * trans-expr.c (gfc_build_memcpy_call): New helper function split
  4067. out from gfc_trans_array_copy.
  4068. (gfc_trans_array_copy): Use gfc_build_memcpy_call.
  4069. (gfc_trans_array_constructor_copy): New function to optimize
  4070. assigning an entire array from a constant array constructor.
  4071. (gfc_trans_assignment): Call gfc_trans_array_constructor_copy
  4072. when appropriate.
  4073. 2007-01-20 Roger Sayle <roger@eyesopen.com>
  4074. * trans-intrinsic.c (gfc_conv_intrinsic_sign): New branchless
  4075. implementation for the SIGN intrinsic with integral operands.
  4076. (gfc_conv_intrinsic_minmax): Fix whitespace.
  4077. 2007-01-20 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  4078. * gfortran.h (gfc_options_t): Add flag_allow_leading_underscore.
  4079. * lang.opt: Add -fallow-leading-underscore.
  4080. * match.c (gfc_match_name): Allow leading underscore in symbol
  4081. name if -fallow-leading-underscore is used.
  4082. * symbol.c (gfc_get_default_type): Add special case for symbol
  4083. names beginning with an underscore.
  4084. * trans-decl.c (gfc_get_extern_function_decl,
  4085. gfc_build_intrinsic_function_decls): Add _gfortran prefix to
  4086. library symbols selected_int_kind, selected_real_kind and
  4087. all specifics.
  4088. * options.c (gfc_init_options, gfc_handle_option): Handle the
  4089. new -fallow-leading-underscore option.
  4090. 2007-01-20 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  4091. PR fortran/30446
  4092. * options.c (gfc_handle_module_path_options): Path used in -J
  4093. option is now added to the module search path.
  4094. 2007-01-20 Richard Guenther <rguenther@suse.de>
  4095. PR fortran/30223
  4096. * f95-lang.c (gfc_init_builtin_functions): Provide cbrt and
  4097. cexpi builtins if we have TARGET_C99_FUNCTIONS. Provide
  4098. sincos builtins if the target has sincos.
  4099. 2007-01-19 Brooks Moses <brooks.moses@codesourcery.com>
  4100. * intrinsic.texi (MATMUL): Corrected a typo.
  4101. (MAX): Separated @var arguments.
  4102. (MIN): Separated @var arguments.
  4103. 2007-01-19 Brooks Moses <brooks.moses@codesourcery.com>
  4104. * intrinsic.texi: general whitespace cleanup.
  4105. (menu): Added TIME8, removed UNMASK.
  4106. (AINT): Clarified argument requirement.
  4107. (ANINT): Clarified argument requirement.
  4108. (CEILING): Clarified argument requirement.
  4109. (CHAR): Clarified argument requirement.
  4110. (CMPLX): Clarified argument requirement.
  4111. (DCMPLX): Clarified argument requirement.
  4112. (FGET): Line rewrapping.
  4113. (FLOOR): Clarified argument requirement.
  4114. (GMTIME): Added documentation.
  4115. (IAND): Added cross-reference.
  4116. (IBCLR): Added cross-reference.
  4117. (IBSET): Added cross-reference.
  4118. (IEOR): Added cross-reference.
  4119. (INT): Collapsed examples, clarified argument requirement.
  4120. (IOR): Added cross-references.
  4121. (LEN_TRIM): Corrected result kind.
  4122. (LINK): Added cross-reference.
  4123. (LLT): Removed "documentation pending".
  4124. (LOGICAL): Added documentation.
  4125. (LSHIFT): Added documentation.
  4126. (LTIME): Added documentation.
  4127. (MATMUL): Added documentation.
  4128. (MAX): Added documentation.
  4129. (MAXLOC): Added documentation.
  4130. (MAXVAL): Added documentation.
  4131. (MERGE): Added documentation.
  4132. (MIN): Added documentation.
  4133. (MINLOC): Added documentation.
  4134. (MINVAL): Added documentation.
  4135. (MVBITS): Moved to correct place, added documentation.
  4136. (NOT): Added documentation.
  4137. (PERROR): Added documentation.
  4138. (RAN): Moved to correct place, added documentation.
  4139. (REAL): Clarified argument requirement.
  4140. (RENAME): Added documentation.
  4141. (RSHIFT): Clarified argument requirement.
  4142. (SIGN): Corrected table specification.
  4143. (SYMLNK): Added documentation.
  4144. (SYSTEM): Added documentation.
  4145. (TIME): Added documentation.
  4146. (TIME8): Added section and documentation.
  4147. (UNMASK): Removed erroneous section.
  4148. 2007-01-18 H.J. Lu <hongjiu.lu@intel.com>
  4149. * trans-stmt.c (compute_overall_iter_number): Fix a typo.
  4150. 2007-01-18 Roger Sayle <roger@eyesopen.com>
  4151. * trans-expr.c (copyable_array_p): Consider user derived types without
  4152. allocatable components to be copyable.
  4153. 2007-01-18 Roger Sayle <roger@eyesopen.com>
  4154. * trans-stmt.c (compute_overall_iter_number): Enhance to precompute
  4155. the number of interations in unconditional FORALL nests with constant
  4156. bounds.
  4157. 2007-01-18 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  4158. Tobias Burnus <burnus@net-b.de>
  4159. PR libfortran/29649
  4160. * gfortran.h (gfc_option_t): Add flag_dump_core.
  4161. * lang.opt: Add -fdump-core option.
  4162. * invoke.texi: Document the new options.
  4163. * trans-decl.c (gfc_build_builtin_function_decls): Add new
  4164. options to the call to set_std.
  4165. * options.c (gfc_init_options, gfc_handle_option): Set the
  4166. new options.
  4167. 2007-01-17 Paul Thomas <pault@gcc.gnu.org>
  4168. PR fortran/30476
  4169. * module.c (load_generic_interfaces): Make the marking of the
  4170. symbol as ambiguous conditional on the module names being
  4171. different.
  4172. (write_generic): Ensure that the generic interface has a
  4173. non-NULL module field.
  4174. 2007-01-16 Roger Sayle <roger@eyesopen.com>
  4175. PR fortran/30404
  4176. * trans-stmt.c (forall_info): Remove pmask field.
  4177. (gfc_trans_forall_loop): Remove NVAR argument, instead assume that
  4178. NVAR covers all the interation variables in the current forall_info.
  4179. Add an extra OUTER parameter, which specified the loop header in
  4180. which to place mask index initializations.
  4181. (gfc_trans_nested_forall_loop): Remove NEST_FLAG argument.
  4182. Change the semantics of MASK_FLAG to only control the mask in the
  4183. innermost loop.
  4184. (compute_overall_iter_number): Optimize the trivial case of a
  4185. top-level loop having a constant number of iterations. Update
  4186. call to gfc_trans_nested_forall_loop. Calculate the number of
  4187. times the inner loop will be executed, not to size of the
  4188. iteration space.
  4189. (allocate_temp_for_forall_nest_1): Reuse SIZE as BYTESIZE when
  4190. sizeof(type) == 1. Tidy up.
  4191. (gfc_trans_assign_need_temp): Remove NEST_FLAG argument from calls
  4192. to gfc_trans_nested_forall_loop.
  4193. (gfc_trans_pointer_assign_need_temp): Likewise.
  4194. (gfc_trans_forall_1): Remove unused BYTESIZE, TMPVAR, SIZEVAR and
  4195. LENVAR local variables. Split mask allocation into a separate
  4196. hunk/pass from mask population. Use allocate_temp_for_forall_nest
  4197. to allocate the FORALL mask with the correct size. Update calls
  4198. to gfc_trans_nested_forall_loop.
  4199. (gfc_evaluate_where_mask): Update call to
  4200. gfc_trans_nested_forall_loop.
  4201. (gfc_trans_where_2): Likewise.
  4202. 2007-01-15 Paul Thomas <pault@gcc.gnu.org>
  4203. PR fortran/28172
  4204. * trans-stmt.c (gfc_trans_call): If it does not have one, get
  4205. a backend_decl for an alternate return.
  4206. PR fortran/29389
  4207. * resolve.c (pure_function): Statement functions are pure. Note
  4208. that this will have to recurse to comply fully with F95.
  4209. PR fortran/29712
  4210. * resolve.c (resolve_function): Only a reference to the final
  4211. dimension of an assumed size array is an error in an inquiry
  4212. function.
  4213. PR fortran/30283
  4214. * resolve.c (resolve_function): Make sure that the function
  4215. expression has a type.
  4216. 2007-01-14 Paul Thomas <pault@gcc.gnu.org>
  4217. PR fortran/30410
  4218. * trans-decl.c (gfc_sym_mangled_function_id): Module, external
  4219. symbols must not have the module name prepended.
  4220. 2007-01-11 Thomas Koenig <Thomas.Koenig@online.de>
  4221. PR libfortran/30415
  4222. * iresolve.c (gfc_resolve_maxloc): If the rank
  4223. of the return array is nonzero and we process an
  4224. integer array smaller than default kind, coerce
  4225. the array to default integer.
  4226. * iresolve.c (gfc_resolve_minloc): Likewise.
  4227. 2007-01-11 Brooks Moses <brooks.moses@codesourcery.com>
  4228. * simplify.c: Update copyright to 2007.
  4229. * scanner.c: Same.
  4230. 2007-01-11 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  4231. PR fortran/30430
  4232. * scanner.c (gfc_release_include_path): Free gfc_option.module_dir
  4233. only once!
  4234. 2007-01-09 Brooks Moses <brooks.moses@codesourcery.com>
  4235. * simplify.c (gfc_simplify_ibclr): Fix POS comparison.
  4236. (gfc_simplify_ibset): Same.
  4237. 2007-01-09 Brooks Moses <brooks.moses@codesourcery.com>
  4238. PR 30381
  4239. PR 30420
  4240. * simplify.c (convert_mpz_to_unsigned): New function.
  4241. (convert_mpz_to_signed): New function, largely based on
  4242. twos_complement().
  4243. (twos_complement): Removed.
  4244. (gfc_simplify_ibclr): Add conversions to and from an
  4245. unsigned representation before bit-twiddling.
  4246. (gfc_simplify_ibset): Same.
  4247. (gfc_simplify_ishftc): Add checks for overly large
  4248. constant arguments, only check the third argument if
  4249. it's present, carry over high bits into the result as
  4250. appropriate, and perform the final conversion back to
  4251. a signed representation using the correct sign bit.
  4252. (gfc_simplify_not): Removed unnecessary masking.
  4253. 2007-01-09 Paul Thomas <pault@gcc.gnu.org>
  4254. PR fortran/30408
  4255. * resolve.c (resolve_code): Use the code->expr character length
  4256. directly to set length of llen.
  4257. 2007-01-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
  4258. PR fortran/30408
  4259. * lang.opt: Add Wcharacter_truncation option.
  4260. * options.c (gfc_init_options): Initialize
  4261. gfc_option.warn_character_truncation to zero.
  4262. (gfc_handle_option): Add case for OPT_Wcharacter_truncation.
  4263. 2007-01-08 Steven G. Kargl <kargl@gcc.gnu.org>
  4264. * interface.c, intrinsic.c, gfortranspec.c, io.c, f95-lang.c,
  4265. iresolve.c, match.c: Update Copyright years. Whitespace.
  4266. 2007-01-08 Richard Guenther <rguenther@suse.de>
  4267. * trans-io.c (transfer_array_desc): Use build_int_cst instead
  4268. of build_int_cstu.
  4269. 2007-01-08 Roger Sayle <roger@eyesopen.com>
  4270. * trans-array.c (constant_array_constructor_p): New function to
  4271. determine whether an array constructor consists only of constant
  4272. elements, and if so return it's size.
  4273. (gfc_build_constant_array_constructor): Construct a statically
  4274. initialized gfortran array for a given EXPR_ARRAY.
  4275. (gfc_trans_constant_array_constructor): Efficiently scalarize
  4276. a constant array constructor.
  4277. (gfc_trans_array_constructor): Tidy up use of CONST_STRING.
  4278. Special case scalarization of constant array constructors, all of
  4279. whose elements are specified, using constant_array_constructor_p
  4280. and gfc_trans_constant_array_constructor.
  4281. (gfc_conv_scalarized_array_ref): Check whetger info->offset is zero
  4282. before adding it to index, to avoid creating a NON_LVALUE_EXPR.
  4283. 2007-01-08 Kazu Hirata <kazu@codesourcery.com>
  4284. gfortran.texi: Fix typos.
  4285. 2007-01-07 Steven G. Kargl <kargl@gcc.gnu.org>
  4286. * decl.c, dump-parse-tree.c, error.c, data.c, expr.c, dependency.c,
  4287. convert.c: Update Copyright dates. Fix whitespace.
  4288. 2007-01-07 Bernhard Fischer <aldot@gcc.gnu.org>
  4289. * data.c (gfc_assign_data_value): Fix whitespace.
  4290. 2007-01-07 Bernhard Fischer <aldot@gcc.gnu.org>
  4291. * trans-array.c (gfc_trans_create_temp_array, gfc_array_init_size):
  4292. Commentary typo fix.
  4293. 2007-01-07 Bernhard Fischer <aldot@gcc.gnu.org>
  4294. PR fortran/27698
  4295. * match.c (gfc_match_name): Print diagnostics for invalid
  4296. character in names.
  4297. 2007-01-06 Steven G. Kargl <kargl@gcc.gnu.org>
  4298. * array.c: Fix whitespace in comment table.
  4299. 2007-01-06 Steven G. Kargl <kargl@gcc.gnu.org>
  4300. * array.c, bbt.c, check.c: Update copyright years. Whitespace.
  4301. 2007-01-06 Steven G. Kargl <kargl@gcc.gnu.org>
  4302. * arith.c: Update copyright years. Whitespace.
  4303. 2007-01-05 Roger Sayle <roger@eyesopen.com>
  4304. * trans-expr.c (gfc_trans_assignment_1): New subroutine to scalarize
  4305. array assignments split out from gfc_trans_assignment.
  4306. (gfc_trans_array_copy): New function to implement array to array
  4307. copies via calls to __builtin_memcpy.
  4308. (copyable_array_p): New helper function to identify an array of
  4309. simple/POD types, that may be copied/assigned using memcpy.
  4310. (gfc_trans_assignment): Use gfc_trans_array_copy to handle simple
  4311. whole array assignments considered suitable by copyable_array_p.
  4312. Invoke gfc_trans_assignment_1 to perform the fallback scalarization.
  4313. 2007-01-05 Roger Sayle <roger@eyesopen.com>
  4314. * trans-array.c (gfc_trans_array_constructor_value): Make the
  4315. static const "data" array as TREE_READONLY.
  4316. * trans-stmt.c (gfc_trans_character_select): Likewise.
  4317. 2007-01-05 Roger Sayle <roger@eyesopen.com>
  4318. * trans-array.c (gfc_conv_loop_setup): Test whether the loop
  4319. stride is one, to avoid fold_build2 introducing a useless
  4320. NON_LVALUE_EXPR node.
  4321. 2007-01-05 Tobias Burnus <burnus@net-b.de>
  4322. * symbol.c (check_conflict): Fix error message.
  4323. 2007-01-05 Paul Thomas <pault@gcc.gnu.org>
  4324. PR fortran/23232
  4325. * decl.c (gfc_in_match_data, gfc_set_in_match_data): New
  4326. functions to signal that a DATA statement is being matched.
  4327. (gfc_match_data): Call gfc_set_in_match_data on entry and on
  4328. exit.
  4329. * gfortran.h : Add prototypes for above.
  4330. * expr.c (check_init_expr): Avoid check on parameter or
  4331. variable if gfc_in_match_data is true.
  4332. (gfc_match_init_expr): Do not call error on non-reduction of
  4333. expression if gfc_in_match_data is true.
  4334. PR fortran/27996
  4335. PR fortran/27998
  4336. * decl.c (gfc_set_constant_character_len): Add boolean arg to
  4337. flag array constructor resolution. Warn if string is being
  4338. truncated. Standard dependent error if string is padded. Set
  4339. new arg to false for all three calls to
  4340. gfc_set_constant_character_len.
  4341. * match.h : Add boolean arg to prototype for
  4342. gfc_set_constant_character_len.
  4343. * gfortran.h : Add warn_character_truncation to gfc_options.
  4344. * options.c (set_Wall): Set warn_character_truncation if -Wall
  4345. is set.
  4346. * resolve.c (resolve_code): Warn if rhs string in character
  4347. assignment has to be truncated.
  4348. * array.c (gfc_resolve_character_array_constructor): Set new
  4349. argument to true for call to gfc_set_constant_character_len.
  4350. 2007-01-05 Tobias Burnus <burnus@net-b.de>
  4351. PR fortran/29624
  4352. * interface.c (compare_parameter_intent): New function.
  4353. (check_intents): Support pointer intents.
  4354. * symbol.c (check_conflict): Support pointer intents,
  4355. better conflict_std message.
  4356. * expr.c (gfc_check_assign,gfc_check_pointer_assign):
  4357. Support pointer intents.
  4358. * resolve.c (resolve_deallocate_expr,resolve_allocate_expr):
  4359. Support pointer intents.
  4360. 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
  4361. PR 30371
  4362. * check.c (gfc_check_kill_sub): Add checks for non-scalar
  4363. arguments.
  4364. 2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
  4365. * intrinsic.texi: Minor cleanup, reflowing overlong
  4366. paragraphs, and correcting whitespace.
  4367. 2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
  4368. * intrinsic.texi (LBOUND): Add documentation.
  4369. (LGE): Add documentation.
  4370. (LGT): Add documentation.
  4371. (LINK): Add documentation.
  4372. (LLE): Add documentation.
  4373. (LLT): Add documentation.
  4374. (LNBLNK): Add documentation.
  4375. (UBOUND): Add documentation.
  4376. (UNLINK): Add documentation.
  4377. 2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
  4378. * intrinsic.texi (IAND): Clarify argument specifications.
  4379. (IBCLR): Add documentation.
  4380. (IBITS): Add documentation.
  4381. (IBSET): Add documentation.
  4382. (IEOR): Add documentation.
  4383. (IERRNO): Add documentation.
  4384. (INDEX): Add documentation.
  4385. (IOR): Add documentation.
  4386. (ISHFT): Add documentation.
  4387. (ISHFTC): Add documentation.
  4388. (KILL): Add documentation.
  4389. (LEN_TRIM): Add documentation.
  4390. 2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
  4391. PR 30235
  4392. * interface.c (compare_actual_formal): check for
  4393. alternate returns when iterating over non-present
  4394. arguments.
  4395. 2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
  4396. * invoke.texi: Update manpage copyright to include 2007.
  4397. 2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
  4398. * gfortran.texi: Update copyright to include 2007.
  4399. * intrinsic.texi: Update copyright to include 2007.
  4400. * invoke.texi: Update copyright to include 2007.
  4401. 2007-01-02 Tobias Burnus <burnus@net-b.de>
  4402. Jakub Jelinek <jakub@redhat.com>
  4403. PR fortran/30276
  4404. * scanner.c (open_included_file): Revert patch.
  4405. (gfc_open_included_file): Support absolute pathnames.
  4406. (gfc_open_intrinsic_module): Support absolute pathnames.
  4407. 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
  4408. * gfortran.texi (GNU Fortran and GCC): Rewrite
  4409. 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
  4410. * gfortran.texi (Introduction): Lower "Part I:
  4411. Introduction" to a chapter, renumber Parts II and III to
  4412. Parts I and II.
  4413. * intrinsic.texi (Introduction): Rename to "Introduction
  4414. to Intrinsics" to avoid conflict with the new chapter.
  4415. 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
  4416. * intrinsic.texi (Introduction): Rewrite first paragraph.
  4417. 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
  4418. * invoke.texi (OpenMP): Added index entry.
  4419. * gfortran.texi (title page): Removed erroneous '*'.
  4420. 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
  4421. * gfortran.texi (GFORTRAN_DEFAULT_RECL): Added units
  4422. to description.
  4423. (Extensions): Miscellaneous minor rewriting and copyediting.
  4424. (BOZ-literal constants): Renamed from Hexadecimal constants.
  4425. (Hollerith constants support): Added explanation and
  4426. suggestions for standard-conforming modern equivalents.
  4427. 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
  4428. * intrinsic.texi: Improvements to index entries; change
  4429. @findex entries to @cindex entries.
  4430. * invoke.texi: Standardize and improve index entries.
  4431. * gfortran.texi: Fix @code in one index entry.
  4432. 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
  4433. * invoke.texi: Change @code-type macros to appropriate
  4434. variants (@command, @option, etc.)
  4435. * gfortran.texi: Same.
  4436. 2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
  4437. * intrinsic.texi: Various minor cleanups.
  4438. 2007-01-02 Steven G. Kargl <kargls@comcast.net>
  4439. * trans-intrinsic.c (gfc_conv_intrinsic_ibits): Fix call to
  4440. build_int_cst.
  4441. 2007-01-02 Tobias Burnus <burnus@net-b.de>
  4442. PR fortran/30276
  4443. * scanner.c (open_included_file): Support full-path filenames.
  4444. 2007-01-02 Paul Thomas <pault@gcc.gnu.org>
  4445. PR fortran/20896
  4446. * interface.c (check_sym_interfaces): Remove call to
  4447. resolve_global_procedure.
  4448. gfortran.h : Remove prototype for resolve_global_procedure.
  4449. resolve.c (resolve_global_procedure): Add static attribute
  4450. to function declaration.
  4451. 2007-01-01 Steven G. Kargl <kargls@comcast.net>
  4452. * ChangeLog: Copy to ...
  4453. * ChangeLog-2006: here.
  4454. Copyright (C) 2007 Free Software Foundation, Inc.
  4455. Copying and distribution of this file, with or without modification,
  4456. are permitted in any medium without royalty provided the copyright
  4457. notice and this notice are preserved.