ChangeLog 193 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197
  1. 2015-07-16 Release Manager
  2. * GCC 5.2.0 released.
  3. 2015-07-15 Thomas Schwinge <thomas@codesourcery.com>
  4. Backport trunk r225560:
  5. 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
  6. PR libgomp/65099
  7. * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
  8. in a 64-bit configuration.
  9. * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
  10. offloading testing if no such device is available.
  11. * testsuite/libgomp.oacc-c/c.exp: Likewise.
  12. * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
  13. Backport trunk r223801:
  14. 2015-05-28 Julian Brown <julian@codesourcery.com>
  15. PR libgomp/65742
  16. * oacc-init.c (plugin/plugin-host.h): Include.
  17. (acc_on_device): Check whether we're in an offloaded region for
  18. host_nonshm
  19. plugin. Don't use __builtin_acc_on_device.
  20. * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
  21. nonshm_exec flag in thread-local data.
  22. (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
  23. data for host_nonshm plugin.
  24. (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
  25. for host_nonshm plugin.
  26. * plugin/plugin-host.h: New.
  27. 2015-06-30 Jakub Jelinek <jakub@redhat.com>
  28. PR middle-end/66702
  29. * testsuite/libgomp.c++/pr66702-1.C: New test.
  30. * testsuite/libgomp.c++/pr66702-2.C: New test.
  31. 2015-05-22 Jakub Jelinek <jakub@redhat.com>
  32. Backported from mainline
  33. 2015-05-19 Jakub Jelinek <jakub@redhat.com>
  34. PR middle-end/66199
  35. * testsuite/libgomp.c/pr66199-1.c: New test.
  36. * testsuite/libgomp.c/pr66199-2.c: New test.
  37. * testsuite/libgomp.c++/pr66199-1.C: New test.
  38. * testsuite/libgomp.c++/pr66199-2.C: New test.
  39. * testsuite/libgomp.fortran/pr66199-1.f90: New test.
  40. * testsuite/libgomp.fortran/pr66199-2.f90: New test.
  41. 2015-05-13 Jakub Jelinek <jakub@redhat.com>
  42. PR middle-end/66133
  43. * testsuite/libgomp.c/pr66133.c: New test.
  44. 2015-04-22 Release Manager
  45. * GCC 5.1.0 released.
  46. 2015-04-08 Julian Brown <julian@codesourcery.com>
  47. * libgomp.h (target_mem_desc: Remove mem_map field.
  48. (acc_dispatch_t): Remove open_device_func, close_device_func,
  49. get_device_num_func, set_device_num_func, target_data members.
  50. Change create_thread_data_func argument to device number instead of
  51. generic pointer.
  52. * oacc-async.c (assert.h): Include.
  53. (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
  54. (acc_wait_all, acc_wait_all_async): Use current host thread's
  55. active device, not base_dev.
  56. * oacc-cuda.c (acc_get_current_cuda_device)
  57. (acc_get_current_cuda_context, acc_get_cuda_stream)
  58. (acc_set_cuda_stream): Likewise.
  59. * oacc-host.c (host_dispatch): Don't set open_device_func,
  60. close_device_func, get_device_num_func or set_device_num_func.
  61. * oacc-init.c (base_dev, init_key): Remove.
  62. (cached_base_dev): New.
  63. (name_of_acc_device_t): New.
  64. (acc_init_1): Initialise default-numbered device, not zeroth.
  65. (acc_shutdown_1): Close all devices of a given type.
  66. (goacc_destroy_thread): Don't use base_dev.
  67. (lazy_open, lazy_init, lazy_init_and_open): Remove.
  68. (goacc_attach_host_thread_to_device): New.
  69. (acc_init): Reimplement with goacc_attach_host_thread_to_device.
  70. (acc_get_num_devices): Don't use base_dev.
  71. (acc_set_device_type): Reimplement.
  72. (acc_get_device_type): Don't use base_dev.
  73. (acc_get_device_num): Tweak logic.
  74. (acc_set_device_num): Likewise.
  75. (acc_on_device): Use acc_get_device_type.
  76. (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
  77. (goacc_lazy_initialize): Reimplement with acc_init and
  78. goacc_attach_host_thread_to_device.
  79. * oacc-int.h (goacc_thread): Add base_dev field.
  80. (base_dev): Remove extern declaration.
  81. (goacc_attach_host_thread_to_device): Add prototype.
  82. * oacc-mem.c (acc_malloc): Use current thread's device instead of
  83. base_dev.
  84. (acc_free): Likewise.
  85. (acc_memcpy_to_device): Likewise.
  86. (acc_memcpy_from_device): Likewise.
  87. * oacc-parallel.c (select_acc_device): Remove. Replace calls with
  88. goacc_lazy_initialize (throughout).
  89. (GOACC_parallel): Use tgt_offset to locate target functions.
  90. * target.c (gomp_map_vars): Don't set tgt->mem_map.
  91. (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
  92. (gomp_load_plugin_for_device): Remove open_device, close_device,
  93. get_device_num, set_device_num openacc hook initialisation. Don't set
  94. openacc.target_data.
  95. * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
  96. (GOMP_OFFLOAD_openacc_close_device)
  97. (GOMP_OFFLOAD_openacc_get_device_num)
  98. (GOMP_OFFLOAD_openacc_set_device_num): Remove.
  99. (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
  100. to int.
  101. * plugin/plugin-nvptx.c (ptx_inited): Remove.
  102. (instantiated_devices, ptx_dev_lock): New.
  103. (struct ptx_image_data): New.
  104. (ptx_devices, ptx_images, ptx_image_lock): New.
  105. (fini_streams_for_device): Reorder cuStreamDestroy call.
  106. (nvptx_get_num_devices): Remove forward declaration.
  107. (nvptx_init): Change return type to bool.
  108. (nvptx_fini): Remove.
  109. (nvptx_attach_host_thread_to_device): New.
  110. (nvptx_open_device): Return struct ptx_device* instead of void*.
  111. (nvptx_close_device): Change argument type to struct ptx_device*,
  112. return type to void.
  113. (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
  114. (kernel_target_data, kernel_host_table): Remove static globals.
  115. (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
  116. (GOMP_OFFLOAD_init_device): Reimplement.
  117. (GOMP_OFFLOAD_fini_device): Likewise.
  118. (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
  119. (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
  120. (GOMP_OFFLOAD_host2dev): Use ORD argument.
  121. (GOMP_OFFLOAD_openacc_open_device)
  122. (GOMP_OFFLOAD_openacc_close_device)
  123. (GOMP_OFFLOAD_openacc_set_device_num)
  124. (GOMP_OFFLOAD_openacc_get_device_num): Remove.
  125. (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
  126. (device number).
  127. testsuite/
  128. * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
  129. 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
  130. * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
  131. * libgomp.h (struct gomp_memory_mapping): Remove.
  132. (struct target_mem_desc): Change type of mem_map from
  133. gomp_memory_mapping * to splay_tree_s *.
  134. (struct gomp_device_descr): Remove register_image_func, get_table_func.
  135. Add load_image_func, unload_image_func.
  136. Change type of mem_map from gomp_memory_mapping to splay_tree_s.
  137. Remove offload_regions_registered.
  138. (gomp_init_tables): Remove.
  139. (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
  140. to splay_tree_s *.
  141. * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
  142. * oacc-host.c (host_dispatch): Do not initialize register_image_func,
  143. get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
  144. offload_regions_registered.
  145. Initialize load_image_func, unload_image_func, mem_map.root.
  146. (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
  147. * oacc-init.c (lazy_open): Don't call gomp_init_tables.
  148. (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
  149. * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
  150. gomp_memory_mapping *. Use dev's lock and splay_tree.
  151. (lookup_dev): Use dev's lock.
  152. (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
  153. (acc_is_present): Likewise.
  154. (acc_map_data): Likewise.
  155. (acc_unmap_data): Likewise. Use dev's lock.
  156. (present_create_copy): Likewise.
  157. (delete_copyout): Pass dev to lookup_host instead of mem_map.
  158. (update_dev_host): Likewise.
  159. (gomp_acc_remove_pointer): Likewise. Use dev's lock.
  160. * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
  161. * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
  162. (GOMP_OFFLOAD_get_table): Remove
  163. (GOMP_OFFLOAD_load_image): New function.
  164. (GOMP_OFFLOAD_unload_image): New function.
  165. * target.c (register_lock): New mutex for offload image registration.
  166. (num_devices): Do not guard with PLUGIN_SUPPORT.
  167. (gomp_realloc_unlock): New static function.
  168. (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
  169. before gomp_fatal.
  170. (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
  171. Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
  172. (gomp_copy_from_async): Use dev's lock and splay_tree instead of
  173. mem_map's.
  174. (gomp_unmap_vars): Likewise.
  175. (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
  176. splay_tree instead of mm's. Unlock mutex before gomp_fatal.
  177. (gomp_offload_image_to_device): New static function.
  178. (GOMP_offload_register): Add mutex lock.
  179. Call gomp_offload_image_to_device for all initialized devices.
  180. Replace gomp_realloc with gomp_realloc_unlock.
  181. (GOMP_offload_unregister): New function.
  182. (gomp_init_tables): Replace with gomp_init_device. Replace a call to
  183. get_table_func from the plugin with calls to init_device_func and
  184. gomp_offload_image_to_device.
  185. (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
  186. to splay_tree_s *.
  187. (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
  188. splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
  189. (GOMP_target_data): Do not call gomp_init_tables.
  190. (GOMP_target_update): Likewise. Remove argument from gomp_update.
  191. (gomp_load_plugin_for_device): Replace register_image and get_table
  192. with load_image and unload_image in DLSYM ().
  193. (gomp_register_images_for_device): Remove function.
  194. (gomp_target_init): Do not initialize current_device.mem_map.*,
  195. current_device.offload_regions_registered.
  196. Remove call to gomp_register_images_for_device.
  197. Do not free offload_images and num_offload_images.
  198. 2015-03-30 Jakub Jelinek <jakub@redhat.com>
  199. PR fortran/65597
  200. * testsuite/libgomp.fortran/pr65597.f90: New test.
  201. 2015-03-27 Tom de Vries <tom@codesourcery.com>
  202. PR testsuite/65594
  203. * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
  204. (init, check): New function.
  205. (foo): Change return type to void.
  206. (main): Call init and check.
  207. 2015-03-27 Tom de Vries <tom@codesourcery.com>
  208. PR testsuite/65594
  209. * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
  210. (foo): Use M for non-inner loops to scale down test-case.
  211. 2015-03-25 Kai Tietz <ktietz@redhat.com>
  212. PR libgomp/64972
  213. * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
  214. (GOACC_data_start): Likewise.
  215. * target.c (gomp_map_vars): Likewise.
  216. 2015-03-21 John David Anglin <danglin@gcc.gnu.org>
  217. * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
  218. hppa*-*-hpux*.
  219. 2015-03-19 Jakub Jelinek <jakub@redhat.com>
  220. * testsuite/libgomp.c/target-10.c: New test.
  221. * testsuite/libgomp.c++/target-4.C: New test.
  222. 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
  223. * testsuite/libgomp.fortran/declare-target-1.f90: New test.
  224. * testsuite/libgomp.fortran/declare-target-2.f90: New file.
  225. 2015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
  226. * configure.tgt (*-*-rtems*): Use local-exec TLS model.
  227. * configure.ac (*-*-rtems*): Assume Pthread is supported.
  228. (pthread.h): Check for this header file.
  229. * configure: Regenerate.
  230. 2015-02-25 Tom de Vries <tom@codesourcery.com>
  231. * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
  232. (check_reduction_op, check_reduction_macro, max, min):
  233. Declare.
  234. (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
  235. function.
  236. (main): Use new functions.
  237. 2015-02-18 Ilya Tocar <ilya.tocar@intel.com>
  238. * target.c (gomp_load_plugin_for_device): Use const char * instead of
  239. char * for variables holding dlerror return values.
  240. (DLSYM_OPT): Ditto.
  241. 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
  242. * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
  243. 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
  244. Cesar Philippidis <cesar@codesourcery.com>
  245. * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
  246. GOACC_ctaid, and GOACC_nctaid routines.
  247. 2015-02-11 Jakub Jelinek <jakub@redhat.com>
  248. PR c/64824
  249. * testsuite/libgomp.c/atomic-18.c: New test.
  250. * testsuite/libgomp.c++/atomic-16.C: New test.
  251. 2015-02-04 Jakub Jelinek <jakub@redhat.com>
  252. PR c/64824
  253. PR c/64868
  254. * testsuite/libgomp.c/pr64824.c: New test.
  255. * testsuite/libgomp.c/pr64868.c: New test.
  256. * testsuite/libgomp.c++/pr64824.C: New test.
  257. * testsuite/libgomp.c++/pr64868.C: New test.
  258. 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
  259. PR libgomp/64635
  260. * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
  261. Link with -lpthread.
  262. * config/aix/plugin-suffix.h: Delete.
  263. 2015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
  264. PR libgomp/64635
  265. * configure.tgt (*-*-aix*): Use config_path "aix posix".
  266. (*-*-darwin*): Use config_path "bsd darwin posix".
  267. (*-*-hpux*): Use config_path "hpux posix".
  268. * target.c: Add include of plugin-suffix.h and use
  269. SONAME_SUFFIX macro.
  270. * config/aix/plugin-suffix.h: New file.
  271. * config/darwin/plugin-suffix.h: New file.
  272. * config/hpux/plugin-suffix.h: New file.
  273. * config/posix/plugin-suffix.h: New file.
  274. 2015-01-23 Jakub Jelinek <jakub@redhat.com>
  275. PR middle-end/64734
  276. * libgomp.c/pr64734.c: New test.
  277. 2015-01-23 Tom de Vries <tom@codesourcery.com>
  278. PR libgomp/64672
  279. * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
  280. 2015-01-23 Tom de Vries <tom@codesourcery.com>
  281. PR libgomp/64707
  282. * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
  283. dg-options.
  284. 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
  285. PR libgomp/64625
  286. * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
  287. (GOACC_parallel, GOACC_update): Remove const_void *offload_table
  288. formal parameter. Update all users.
  289. * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
  290. Document unused formal parameter.
  291. 2015-01-16 Thomas Schwinge <thomas@codesourcery.com>
  292. * oacc-parallel.c: Don't include <alloca.h>.
  293. (GOACC_parallel): Use gomp_alloca instead of alloca.
  294. 2015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
  295. * target.c (num_devices): Guard with PLUGIN_SUPPORT.
  296. 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
  297. James Norris <jnorris@codesourcery.com>
  298. Tom de Vries <tom@codesourcery.com>
  299. Julian Brown <julian@codesourcery.com>
  300. Cesar Philippidis <cesar@codesourcery.com>
  301. Nathan Sidwell <nathan@codesourcery.com>
  302. Tobias Burnus <burnus@net-b.de>
  303. * Makefile.am (search_path): Add $(top_srcdir)/../include.
  304. (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
  305. oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
  306. oacc-async.c, oacc-plugin.c, oacc-cuda.c.
  307. [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
  308. Include $(top_srcdir)/plugin/Makefrag.am.
  309. (nodist_libsubinclude_HEADERS): Add openacc.h.
  310. [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
  311. openacc.f90, openacc.mod, openacc_kinds.mod.
  312. (omp_lib.mod): Generalize into...
  313. (%.mod): ... this new rule.
  314. (openacc_kinds.mod, openacc.mod): New rules.
  315. * plugin/configfrag.ac: New file.
  316. * configure.ac: Move plugin/offloading support into it. Include
  317. it. Instantiate testsuite/libgomp-test-support.pt.exp.
  318. * plugin/Makefrag.am: New file.
  319. * testsuite/Makefile.am (OFFLOAD_TARGETS)
  320. (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
  321. export.
  322. (libgomp-test-support.exp): New rule.
  323. (all-local): Depend on it.
  324. * Makefile.in: Regenerate.
  325. * testsuite/Makefile.in: Regenerate.
  326. * config.h.in: Likewise.
  327. * configure: Likewise.
  328. * configure.tgt: Harden shell syntax.
  329. * env.c: Include "oacc-int.h".
  330. (parse_acc_device_type): New function.
  331. (gomp_debug_var, goacc_device_type, goacc_device_num): New
  332. variables.
  333. (initialize_env): Initialize those. Call
  334. goacc_runtime_initialize.
  335. * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
  336. (gomp_fatal): Call gomp_vfatal.
  337. * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
  338. (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
  339. (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
  340. (splay_tree_node, splay_tree, splay_tree_key)
  341. (struct target_mem_desc, struct splay_tree_key_s)
  342. (struct gomp_memory_mapping, struct acc_dispatch_t)
  343. (struct gomp_device_descr, gomp_acc_insert_pointer)
  344. (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
  345. (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
  346. (gomp_free_memmap, gomp_fini_device): New declarations.
  347. (gomp_vdebug, gomp_debug): New macros.
  348. Include "splay-tree.h".
  349. * libgomp.map (OACC_2.0): New symbol version. Use for
  350. acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
  351. acc_set_device_type_h_, acc_get_device_type,
  352. acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
  353. acc_get_device_num, acc_get_device_num_h_, acc_async_test,
  354. acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
  355. acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
  356. acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
  357. acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
  358. acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
  359. acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
  360. acc_copyin_array_h_, acc_present_or_copyin,
  361. acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
  362. acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
  363. acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
  364. acc_present_or_create_32_h_, acc_present_or_create_64_h_,
  365. acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
  366. acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
  367. acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
  368. acc_update_device, acc_update_device_32_h_,
  369. acc_update_device_64_h_, acc_update_device_array_h_,
  370. acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
  371. acc_update_self_array_h_, acc_map_data, acc_unmap_data,
  372. acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
  373. acc_is_present_64_h_, acc_is_present_array_h_,
  374. acc_memcpy_to_device, acc_memcpy_from_device,
  375. acc_get_current_cuda_device, acc_get_current_cuda_context,
  376. acc_get_cuda_stream, acc_set_cuda_stream.
  377. (GOACC_2.0): New symbol version. Use for GOACC_data_end,
  378. GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
  379. GOACC_update, GOACC_wait, GOACC_get_thread_num,
  380. GOACC_get_num_threads.
  381. (GOMP_PLUGIN_1.0): New symbol version. Use for
  382. GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
  383. GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
  384. GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
  385. GOMP_PLUGIN_acc_thread.
  386. * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
  387. environment variable.
  388. * libgomp_g.h (GOACC_data_start, GOACC_data_end)
  389. (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
  390. (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
  391. * splay-tree.h (splay_tree_lookup, splay_tree_insert)
  392. (splay_tree_remove): New declarations.
  393. (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
  394. (splay_tree_remove, splay_tree_lookup): Move into...
  395. * splay-tree.c: ... this new file.
  396. * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
  397. (splay_tree_node, splay_tree, splay_tree_key)
  398. (struct target_mem_desc, struct splay_tree_key_s)
  399. (struct gomp_device_descr): Don't declare.
  400. (num_devices_openmp): New variable.
  401. (gomp_get_num_devices ): Use it.
  402. (gomp_init_targets_once): New function.
  403. (gomp_get_num_devices ): Use it.
  404. (get_kind, gomp_copy_from_async, gomp_free_memmap)
  405. (gomp_fini_device, gomp_register_image_for_device): New functions.
  406. (gomp_map_vars): Add devaddrs parameter.
  407. (gomp_update): Add mm parameter.
  408. (gomp_init_device): Move most of it into...
  409. (gomp_init_tables): ... this new function.
  410. (gomp_register_images_for_device): Remove function.
  411. (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
  412. Make them hidden instead of static.
  413. (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
  414. (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
  415. (GOMP_target_end_data, GOMP_target_update)
  416. (gomp_load_plugin_for_device, gomp_target_init): Update for
  417. OpenACC changes.
  418. * oacc-async.c: New file.
  419. * oacc-cuda.c: Likewise.
  420. * oacc-host.c: Likewise.
  421. * oacc-init.c: Likewise.
  422. * oacc-int.h: Likewise.
  423. * oacc-mem.c: Likewise.
  424. * oacc-parallel.c: Likewise.
  425. * oacc-plugin.c: Likewise.
  426. * oacc-plugin.h: Likewise.
  427. * oacc-ptx.h: Likewise.
  428. * openacc.f90: Likewise.
  429. * openacc.h: Likewise.
  430. * openacc_lib.h: Likewise.
  431. * plugin/plugin-host.c: Likewise.
  432. * plugin/plugin-nvptx.c: Likewise.
  433. * libgomp-plugin.c: Likewise.
  434. * libgomp-plugin.h: Likewise.
  435. * libgomp_target.h: Remove file after merging content into the
  436. former file. Update all users.
  437. * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
  438. (offload_targets_s, offload_targets_s_openacc): New variables.
  439. (check_effective_target_openacc_nvidia_accel_present)
  440. (check_effective_target_openacc_nvidia_accel_selected): New
  441. procedures.
  442. (libgomp_init): Update for OpenACC changes.
  443. * testsuite/libgomp-test-support.exp.in: New file.
  444. * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
  445. * testsuite/libgomp.oacc-c/c.exp: Likewise.
  446. * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
  447. * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
  448. * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
  449. * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
  450. * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
  451. * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
  452. * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
  453. * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
  454. * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
  455. * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
  456. * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
  457. * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
  458. * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
  459. * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
  460. * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
  461. * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
  462. * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
  463. * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
  464. * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
  465. * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
  466. * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
  467. * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
  468. * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
  469. * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
  470. * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
  471. * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
  472. * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
  473. * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
  474. * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
  475. * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
  476. * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
  477. * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
  478. * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
  479. * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
  480. * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
  481. * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
  482. * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
  483. * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
  484. * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
  485. * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
  486. * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
  487. * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
  488. * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
  489. * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
  490. * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
  491. * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
  492. * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
  493. * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
  494. * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
  495. * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
  496. * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
  497. * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
  498. * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
  499. * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
  500. * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
  501. * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
  502. * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
  503. * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
  504. * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
  505. * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
  506. * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
  507. * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
  508. * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
  509. * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
  510. * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
  511. * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
  512. * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
  513. * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
  514. * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
  515. * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
  516. * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
  517. * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
  518. * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
  519. * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
  520. * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
  521. * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
  522. * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
  523. * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
  524. * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
  525. * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
  526. * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
  527. * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
  528. * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
  529. * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
  530. * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
  531. * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
  532. * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
  533. * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
  534. * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
  535. * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
  536. * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
  537. * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
  538. * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
  539. * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
  540. * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
  541. * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
  542. * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
  543. * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
  544. * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
  545. * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
  546. * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
  547. * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
  548. * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
  549. * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
  550. * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
  551. * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
  552. * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
  553. * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
  554. * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
  555. * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
  556. * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
  557. * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
  558. * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
  559. * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
  560. * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
  561. * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
  562. * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
  563. * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
  564. * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
  565. * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
  566. * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
  567. * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
  568. * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
  569. * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
  570. * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
  571. * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
  572. * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
  573. * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
  574. * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
  575. * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
  576. * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
  577. * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
  578. * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
  579. * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
  580. * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
  581. * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
  582. * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
  583. * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
  584. Likewise.
  585. * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
  586. * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
  587. * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
  588. * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
  589. * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
  590. * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
  591. * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
  592. * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
  593. * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
  594. * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
  595. * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
  596. * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
  597. * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
  598. * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
  599. * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
  600. * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
  601. * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
  602. * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
  603. * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
  604. * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
  605. * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
  606. * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
  607. * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
  608. * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
  609. * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
  610. * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
  611. * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
  612. * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
  613. * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
  614. * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
  615. * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
  616. * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
  617. * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
  618. * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
  619. * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
  620. * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
  621. * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
  622. * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
  623. * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
  624. * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
  625. * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
  626. * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
  627. * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
  628. * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
  629. * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
  630. * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
  631. * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
  632. * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
  633. * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
  634. * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
  635. * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
  636. * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
  637. * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
  638. * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
  639. * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
  640. * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
  641. * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
  642. * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
  643. * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
  644. * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
  645. 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
  646. Julian Brown <julian@codesourcery.com>
  647. David Malcolm <dmalcolm@redhat.com>
  648. * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
  649. to "GNU Offloading and Multi Processing Runtime Library". Change
  650. all users.
  651. * configure: Regenerate.
  652. * libgomp.texi: Update.
  653. 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
  654. * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
  655. "$tgt_dir/lib32".
  656. * configure: Regenerate.
  657. * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
  658. "intelmic" in $offload_targets.
  659. 2015-01-05 Jakub Jelinek <jakub@redhat.com>
  660. Update copyright years.
  661. * libgomp.texi: Bump @copying's copyright year.
  662. 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
  663. * testsuite/lib/libgomp.exp: Load target-utils.exp.
  664. Move load of target-supportes.exp earlier.
  665. 2014-12-10 Ilya Verbin <ilya.verbin@intel.com>
  666. * testsuite/libgomp.c/target-9.c: New test.
  667. 2014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
  668. * config.h.in: Regenerate.
  669. * configure: Regenerate.
  670. * configure.ac: Add GCC_CHECK_EMUTLS.
  671. * libgomp.h: Add check for USE_EMUTLS: this case
  672. is equal to HAVE_TLS.
  673. * team.c: Likewise.
  674. 2014-12-03 Uros Bizjak <ubizjak@gmail.com>
  675. * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
  676. 2014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
  677. Ilya Verbin <ilya.verbin@intel.com>
  678. * testsuite/libgomp.c/target-critical-1.c: New test.
  679. 2014-11-26 Jakub Jelinek <jakub@redhat.com>
  680. * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
  681. to dg-options unless expensive testing is on.
  682. (TESTITERS): Define to N if not defined.
  683. (main): Use TESTITERS instead of N.
  684. * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
  685. dg-additional-options depending on whether expensive testing is on.
  686. * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
  687. Decrease N to 100000 and CHUNKSZ to 10000.
  688. 2014-11-24 Jakub Jelinek <jakub@redhat.com>
  689. PR fortran/63938
  690. * testsuite/libgomp.fortran/pr63938-1.f90: New test.
  691. * testsuite/libgomp.fortran/pr63938-2.f90: New test.
  692. 2014-11-21 Steve Ellcey <sellcey@imgtec.com>
  693. * config/linux/mips/futex.h (SYS_futex): Define if not already done.
  694. 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
  695. PR bootstrap/63784
  696. * configure: Regenerated.
  697. 2014-11-19 Uros Bizjak <ubizjak@gmail.com>
  698. * testsuite/libgomp.c/examples-4/e.53.5.c: Require
  699. vect_simd_clones effective target.
  700. * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
  701. 2014-11-14 Jakub Jelinek <jakub@redhat.com>
  702. * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
  703. of 32 as block_size.
  704. * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
  705. instead of 32 as block_size.
  706. 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
  707. Ilya Verbin <ilya.verbin@intel.com>
  708. * Makefile.in: Regenerate.
  709. * configure: Regenerate.
  710. * configure.ac: Set up offload_additional_options,
  711. offload_additional_lib_paths and offload_targets.
  712. * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
  713. OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
  714. * testsuite/Makefile.in: Regenerate.
  715. * testsuite/lib/libgomp.exp (libgomp_init): Append
  716. offload_additional_lib_paths to LD_LIBRARY_PATH. Append
  717. offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
  718. build directory to LD_LIBRARY_PATH for intelmic offload targets.
  719. 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
  720. Ilya Verbin <ilya.verbin@intel.com>
  721. Kirill Yukhin <kirill.yukhin@intel.com>
  722. Ilya Tocar <ilya.tocar@intel.com>
  723. * testsuite/lib/libgomp.exp
  724. (check_effective_target_offload_device): New.
  725. * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
  726. * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
  727. * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
  728. * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
  729. * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
  730. * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
  731. * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
  732. * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
  733. * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
  734. * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
  735. * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
  736. * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
  737. * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
  738. * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
  739. * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
  740. * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
  741. * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
  742. * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
  743. * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
  744. * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
  745. * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
  746. * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
  747. * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
  748. * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
  749. * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
  750. * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
  751. * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
  752. * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
  753. * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
  754. * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
  755. * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
  756. * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
  757. * testsuite/libgomp.c/target-7.c: Fix test.
  758. * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
  759. * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
  760. * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
  761. * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
  762. * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
  763. * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
  764. * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
  765. * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
  766. * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
  767. * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
  768. * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
  769. * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
  770. * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
  771. * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
  772. * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
  773. * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
  774. * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
  775. * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
  776. * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
  777. * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
  778. * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
  779. * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
  780. * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
  781. * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
  782. * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
  783. * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
  784. * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
  785. * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
  786. * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
  787. * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
  788. * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
  789. 2014-11-13 Jakub Jelinek <jakub@redhat.com>
  790. Ilya Verbin <ilya.verbin@intel.com>
  791. Thomas Schwinge <thomas@codesourcery.com>
  792. Andrey Turetskiy <andrey.turetskiy@intel.com>
  793. * libgomp.map (GOMP_4.0.1): New symbol version.
  794. Add GOMP_offload_register.
  795. * libgomp_target.h: New file.
  796. * splay-tree.h: New file.
  797. * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
  798. (gomp_target_init): New forward declaration.
  799. (gomp_is_initialized): New static variable.
  800. (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
  801. (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
  802. New structures.
  803. (offload_images, num_offload_images, devices, num_devices): New static
  804. variables.
  805. (splay_compare): New static function.
  806. (struct gomp_device_descr): New structure.
  807. (gomp_get_num_devices): Call gomp_target_init.
  808. (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
  809. (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
  810. (GOMP_offload_register): New function.
  811. (GOMP_target): Arrange for host callback to be performed in a separate
  812. initial thread and contention group, inheriting ICVs from
  813. gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
  814. Add device initialization and lookup for target function in splay tree.
  815. (GOMP_target_data): Add device initialization and call gomp_map_vars.
  816. (GOMP_target_end_data): Call gomp_unmap_vars.
  817. (GOMP_target_update): Add device initialization and call gomp_update.
  818. (gomp_load_plugin_for_device, gomp_register_images_for_device)
  819. (gomp_target_init): New static functions.
  820. 2014-11-13 Bernd Schmidt <bernds@codesourcery.com>
  821. Thomas Schwinge <thomas@codesourcery.com>
  822. Ilya Verbin <ilya.verbin@intel.com>
  823. Andrey Turetskiy <andrey.turetskiy@intel.com>
  824. * config.h.in: Regenerate.
  825. * configure: Regenerate.
  826. * configure.ac: Check for libdl, required for plugin support.
  827. (PLUGIN_SUPPORT): Define if plugins are supported.
  828. (enable_offload_targets): Support Intel MIC targets.
  829. (OFFLOAD_TARGETS): List of target names suitable for offloading.
  830. 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  831. PR target/63610
  832. * configure: Regenerate.
  833. 2014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
  834. * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
  835. 2014-10-06 Marek Polacek <polacek@redhat.com>
  836. * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
  837. * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
  838. * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
  839. * testsuite/libgomp.c/thread-limit-2.c: Likewise.
  840. 2014-10-06 Marek Polacek <polacek@redhat.com>
  841. * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
  842. * testsuite/libgomp.c/nqueens-1.c: Likewise.
  843. * testsuite/libgomp.c/pr26943-3.c: Likewise.
  844. * testsuite/libgomp.c/pr26943-4.c: Likewise.
  845. * testsuite/libgomp.c/pr36802-2.c: Likewise.
  846. * testsuite/libgomp.c/pr36802-3.c: Likewise.
  847. * testsuite/libgomp.c/thread-limit-1.c: Likewise.
  848. * testsuite/libgomp.c/thread-limit-2.c: Likewise.
  849. * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
  850. * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
  851. * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
  852. * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
  853. * testsuite/libgomp.c/omp-single-1.c: Likewise.
  854. * testsuite/libgomp.c/omp-single-2.c: Likewise.
  855. * testsuite/libgomp.c/omp_matvec.c: Likewise.
  856. * testsuite/libgomp.c/omp_workshare3.c: Likewise.
  857. * testsuite/libgomp.c/omp_workshare4.c: Likewise.
  858. * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
  859. declarations.
  860. 2014-10-03 Jakub Jelinek <jakub@redhat.com>
  861. PR libgomp/61200
  862. * testsuite/libgomp.c/pr61200.c: New test.
  863. 2014-09-18 Jakub Jelinek <jakub@redhat.com>
  864. PR c++/63248
  865. * testsuite/libgomp.c++/pr63248.C: New test.
  866. 2014-08-04 Jakub Jelinek <jakub@redhat.com>
  867. * task.c (GOMP_taskgroup_end): If taskgroup->num_children
  868. is not zero, but taskgroup->children is NULL and there are
  869. any task->children, schedule those instead of waiting.
  870. * testsuite/libgomp.c/depend-6.c: New test.
  871. * testsuite/libgomp.c/depend-7.c: New test.
  872. * testsuite/libgomp.c/depend-8.c: New test.
  873. * testsuite/libgomp.c/depend-9.c: New test.
  874. * testsuite/libgomp.c/depend-10.c: New test.
  875. 2014-08-01 Jakub Jelinek <jakub@redhat.com>
  876. * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
  877. (struct gomp_taskwait): New type.
  878. (struct gomp_task): Add taskwait and parent_depends_on, remove
  879. in_taskwait and taskwait_sem fields.
  880. (gomp_finish_task): Don't destroy taskwait_sem.
  881. * task.c (gomp_init_task): Don't init in_taskwait, instead init
  882. taskwait and parent_depends_on.
  883. (GOMP_task): For if (0) tasks with depend clause that depend on
  884. earlier tasks don't defer them, instead call
  885. gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
  886. Initialize redundant_out field, for redundant out entries just
  887. move them at the end of linked list instead of removing them
  888. completely, and set redundant_out flag instead of redundant.
  889. (gomp_task_run_pre): Update last_parent_depends_on if scheduling
  890. that task.
  891. (gomp_task_run_post_handle_dependers): If parent is in
  892. gomp_task_maybe_wait_for_dependencies and newly runnable task
  893. is not parent_depends_on, queue it in parent->children linked
  894. list after all runnable tasks with parent_depends_on set.
  895. Adjust for addition of taskwait indirection.
  896. (gomp_task_run_post_remove_parent): If parent is in
  897. gomp_task_maybe_wait_for_dependencies and task to be removed
  898. is parent_depends_on, decrement n_depend and if needed awake
  899. parent. Adjust for addition of taskwait indirection.
  900. (GOMP_taskwait): Adjust for addition of taskwait indirection.
  901. (gomp_task_maybe_wait_for_dependencies): New function.
  902. * testsuite/libgomp.c/depend-5.c: New test.
  903. 2014-07-13 Tobias Burnus <burnus@net-b.de>
  904. * testsuite/libgomp.fortran/pr34020.f90: Make compile
  905. with TS 18508/Fortran 2015.
  906. 2014-07-06 Marek Polacek <polacek@redhat.com>
  907. PR c/6940
  908. * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
  909. 2014-07-03 Jakub Jelinek <jakub@redhat.com>
  910. * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
  911. matches regex $lang_source_re, add $lang_include_flags to options.
  912. * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
  913. * testsuite/libgomp.c++/c++.exp: Likewise.
  914. * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
  915. and lang_include_flags instead of adding -fintrinsic-modules-path= to
  916. ALWAYS_CFLAGS.
  917. * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
  918. 2014-07-03 Thomas Schwinge <thomas@codesourcery.com>
  919. * testsuite/libgomp.fortran/fortran.exp: Explain
  920. gfortran-dg-runtest usage.
  921. 2014-06-25 Jakub Jelinek <jakub@redhat.com>
  922. * testsuite/libgomp.fortran/simd5.f90: New test.
  923. * testsuite/libgomp.fortran/simd6.f90: New test.
  924. * testsuite/libgomp.fortran/simd7.f90: New test.
  925. 2014-06-24 Jakub Jelinek <jakub@redhat.com>
  926. * testsuite/libgomp.c/for-2.c: Define SC to static for
  927. #pragma omp for simd testing.
  928. * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
  929. (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
  930. SC macro.
  931. * testsuite/libgomp.c/simd-14.c: New test.
  932. * testsuite/libgomp.c/simd-15.c: New test.
  933. * testsuite/libgomp.c/simd-16.c: New test.
  934. * testsuite/libgomp.c/simd-17.c: New test.
  935. * testsuite/libgomp.c++/for-10.C: Define SC to static for
  936. #pragma omp for simd testing.
  937. * testsuite/libgomp.c++/simd10.C: New test.
  938. * testsuite/libgomp.c++/simd11.C: New test.
  939. * testsuite/libgomp.c++/simd12.C: New test.
  940. * testsuite/libgomp.c++/simd13.C: New test.
  941. * testsuite/libgomp.fortran/aligned1.f03: New test.
  942. * testsuite/libgomp.fortran/nestedfn5.f90: New test.
  943. * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
  944. tasks with !$omp parallel !$omp single.
  945. * testsuite/libgomp.fortran/target8.f90: New test.
  946. * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
  947. not to use trim in the combiner, instead call elemental function.
  948. (fn): New elemental function.
  949. * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
  950. Make elemental.
  951. * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
  952. omp_in): Likewise.
  953. * testsuite/libgomp.fortran/udr12.f90: New test.
  954. * testsuite/libgomp.fortran/udr13.f90: New test.
  955. * testsuite/libgomp.fortran/udr14.f90: New test.
  956. * testsuite/libgomp.fortran/udr15.f90: New test.
  957. 2014-06-18 Jakub Jelinek <jakub@redhat.com>
  958. * omp_lib.f90.in (openmp_version): Set to 201307.
  959. * omp_lib.h.in (openmp_version): Likewise.
  960. * testsuite/libgomp.c/target-8.c: New test.
  961. * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
  962. and inbranch clauses.
  963. * testsuite/libgomp.fortran/depend-3.f90: New test.
  964. * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
  965. openmp_version.
  966. * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
  967. * testsuite/libgomp.fortran/target1.f90: New test.
  968. * testsuite/libgomp.fortran/target2.f90: New test.
  969. * testsuite/libgomp.fortran/target3.f90: New test.
  970. * testsuite/libgomp.fortran/target4.f90: New test.
  971. * testsuite/libgomp.fortran/target5.f90: New test.
  972. * testsuite/libgomp.fortran/target6.f90: New test.
  973. * testsuite/libgomp.fortran/target7.f90: New test.
  974. 2014-06-10 Jakub Jelinek <jakub@redhat.com>
  975. PR fortran/60928
  976. * testsuite/libgomp.fortran/allocatable9.f90: New test.
  977. * testsuite/libgomp.fortran/allocatable10.f90: New test.
  978. * testsuite/libgomp.fortran/allocatable11.f90: New test.
  979. * testsuite/libgomp.fortran/allocatable12.f90: New test.
  980. * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
  981. * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
  982. * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
  983. * testsuite/libgomp.fortran/associate1.f90: New test.
  984. * testsuite/libgomp.fortran/associate2.f90: New test.
  985. * testsuite/libgomp.fortran/procptr1.f90: New test.
  986. 2014-06-06 Jakub Jelinek <jakub@redhat.com>
  987. * testsuite/libgomp.fortran/simd1.f90: New test.
  988. * testsuite/libgomp.fortran/udr1.f90: New test.
  989. * testsuite/libgomp.fortran/udr2.f90: New test.
  990. * testsuite/libgomp.fortran/udr3.f90: New test.
  991. * testsuite/libgomp.fortran/udr4.f90: New test.
  992. * testsuite/libgomp.fortran/udr5.f90: New test.
  993. * testsuite/libgomp.fortran/udr6.f90: New test.
  994. * testsuite/libgomp.fortran/udr7.f90: New test.
  995. * testsuite/libgomp.fortran/udr8.f90: New test.
  996. * testsuite/libgomp.fortran/udr9.f90: New test.
  997. * testsuite/libgomp.fortran/udr10.f90: New test.
  998. * testsuite/libgomp.fortran/udr11.f90: New test.
  999. 2014-05-27 Uros Bizjak <ubizjak@gmail.com>
  1000. * testsuite/libgomp.fortran/declare-simd-1.f90: Require
  1001. vect_simd_clones effective target.
  1002. * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
  1003. 2014-05-21 Jakub Jelinek <jakub@redhat.com>
  1004. PR middle-end/61252
  1005. * testsuite/libgomp.c++/simd-9.C: New test.
  1006. 2014-05-18 Uros Bizjak <ubizjak@gmail.com>
  1007. * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
  1008. (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
  1009. texts according to their @menu entry positions.
  1010. 2014-05-11 Jakub Jelinek <jakub@redhat.com>
  1011. * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
  1012. * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
  1013. * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
  1014. * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
  1015. * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
  1016. * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
  1017. * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
  1018. * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
  1019. * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
  1020. * testsuite/libgomp.fortran/depend-1.f90: New test.
  1021. * testsuite/libgomp.fortran/depend-2.f90: New test.
  1022. * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
  1023. * testsuite/libgomp.fortran/simd1.f90: New test.
  1024. * testsuite/libgomp.fortran/simd2.f90: New test.
  1025. * testsuite/libgomp.fortran/simd3.f90: New test.
  1026. * testsuite/libgomp.fortran/simd4.f90: New test.
  1027. * testsuite/libgomp.fortran/taskgroup1.f90: New test.
  1028. 2014-05-02 Jakub Jelinek <jakub@redhat.com>
  1029. * testsuite/libgomp.c/simd-10.c: New test.
  1030. * testsuite/libgomp.c/simd-11.c: New test.
  1031. * testsuite/libgomp.c/simd-12.c: New test.
  1032. * testsuite/libgomp.c/simd-13.c: New test.
  1033. 2014-04-24 Jakub Jelinek <jakub@redhat.com>
  1034. * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
  1035. atomic type clauses in any order and optional comma in between.
  1036. * testsuite/libgomp.c++/atomic-15.C: Likewise.
  1037. * testsuite/libgomp.c/atomic-17.c: Likewise.
  1038. * testsuite/libgomp.c/simd-7.c: New test.
  1039. * testsuite/libgomp.c/simd-8.c: New test.
  1040. * testsuite/libgomp.c/simd-9.c: New test.
  1041. * testsuite/libgomp.c/loop-16.c: New test.
  1042. 2014-04-02 Richard Henderson <rth@redhat.com>
  1043. * config/linux/futex.h (futex_wait): Get error value from errno.
  1044. (futex_wake): Likewise.
  1045. 2014-03-25 Jakub Jelinek <jakub@redhat.com>
  1046. PR c++/60331
  1047. * testsuite/libgomp.c++/udr-11.C: New test.
  1048. * testsuite/libgomp.c++/udr-12.C: New test.
  1049. * testsuite/libgomp.c++/udr-13.C: New test.
  1050. * testsuite/libgomp.c++/udr-14.C: New test.
  1051. * testsuite/libgomp.c++/udr-15.C: New test.
  1052. * testsuite/libgomp.c++/udr-16.C: New test.
  1053. * testsuite/libgomp.c++/udr-17.C: New test.
  1054. * testsuite/libgomp.c++/udr-18.C: New test.
  1055. * testsuite/libgomp.c++/udr-19.C: New test.
  1056. 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
  1057. Update copyright years
  1058. 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
  1059. * hashtab.h: Use the standard form for the copyright notice.
  1060. 2014-01-02 Tobias Burnus <burnus@net-b.de>
  1061. * libgomp.texi: Bump @copying's copyright year.
  1062. 2013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
  1063. * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
  1064. alloca () with __builtin_alloca ().
  1065. * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
  1066. * testsuite/libgomp.c/lock-3.c: Likewise.
  1067. * testsuite/libgomp.c/pr48591.c: Likewise.
  1068. 2013-12-17 Jakub Jelinek <jakub@redhat.com>
  1069. PR testsuite/59534
  1070. * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
  1071. comparisons.
  1072. 2013-12-16 Jakub Jelinek <jakub@redhat.com>
  1073. PR libgomp/58756
  1074. * testsuite/libgomp.c/pr58756.c: New test.
  1075. 2013-12-12 Jakub Jelinek <jakub@redhat.com>
  1076. PR libgomp/59467
  1077. * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
  1078. !$omp parallel.
  1079. 2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
  1080. * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
  1081. ALWAYS_CFLAGS.
  1082. * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
  1083. * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
  1084. * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
  1085. * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
  1086. Likewise.
  1087. * libgomp_g.h: Include <stddef.h> for size_t.
  1088. * libgomp.spec.in: Update comment about libgomp's dependencies.
  1089. * configure.ac: Likewise.
  1090. * configure: Regenerate.
  1091. 2013-10-16 Tobias Burnus <burnus@net-b.de>
  1092. * libgomp.texi: (Runtime Library Routines): Update references for
  1093. OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
  1094. omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
  1095. omp_get_team_num, omp_is_initial_device, omp_set_default_device.
  1096. (Environment Variables): Update references for OpenMP 4.0. Add
  1097. OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
  1098. Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
  1099. order.
  1100. 2013-10-14 Jakub Jelinek <jakub@redhat.com>
  1101. * env.c (parse_bind_var): Initialize value to avoid
  1102. (false positive) warning.
  1103. 2013-10-12 Jakub Jelinek <jakub@redhat.com>
  1104. PR libgomp/58691
  1105. * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
  1106. to check variable.
  1107. (gomp_init_num_threads): Move i variable declaration into
  1108. #ifdef CPU_ALLOC_SIZE block.
  1109. * config/linux/affinity.c (gomp_affinity_init_level): Test
  1110. gomp_places_list_len == 0 rather than gomp_places_list == 0
  1111. when checking for topology reading error.
  1112. * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
  1113. * env.c (parse_affinity): Add ignore argument, if true, don't populate
  1114. gomp_places_list, only parse env var and always return false.
  1115. (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
  1116. (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
  1117. vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
  1118. and either of these variables were parsed correctly into a places
  1119. list.
  1120. 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
  1121. Jakub Jelinek <jakub@redhat.com>
  1122. * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
  1123. of 5 loopfn matches.
  1124. * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
  1125. * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
  1126. * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
  1127. * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
  1128. * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
  1129. * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
  1130. * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
  1131. * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
  1132. 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
  1133. * Makefile.am (omp_lib.mod): Streamline rule.
  1134. * Makefile.in: Regenerate.
  1135. * libgomp.texi (Runtime Library Routines): C linkage, don't throw
  1136. exceptions.
  1137. * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
  1138. * testsuite/libgomp.fortran/lib1.f90: Likewise.
  1139. * testsuite/libgomp.fortran/lib2.f: Likewise.
  1140. * testsuite/libgomp.fortran/lib3.f: Likewise.
  1141. * configure.ac: Typo fix.
  1142. * configure: Regenerate.
  1143. * testsuite/libgomp.fortran/openmp_version-1.f: New file.
  1144. * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
  1145. * omp.h.in: Don't touch the user's namespace.
  1146. 2013-10-11 Jakub Jelinek <jakub@redhat.com>
  1147. Tobias Burnus <burnus@net-b.de>
  1148. Richard Henderson <rth@redhat.com>
  1149. * target.c: New file.
  1150. * Makefile.am (libgomp_la_SOURCES): Add target.c.
  1151. * Makefile.in: Regenerated.
  1152. * libgomp_g.h (GOMP_task): Add depend argument.
  1153. (GOMP_barrier_cancel, GOMP_loop_end_cancel,
  1154. GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
  1155. GOMP_target_end_data, GOMP_target_update, GOMP_teams,
  1156. GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
  1157. GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
  1158. GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
  1159. GOMP_taskgroup_start, GOMP_taskgroup_end,
  1160. GOMP_parallel_sections): New prototypes.
  1161. * fortran.c (omp_is_initial_device): Add ialias_redirect.
  1162. (omp_is_initial_device_): New function.
  1163. (ULP, STR1, STR2, ialias_redirect): Removed.
  1164. (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
  1165. omp_set_default_device_8_, omp_get_default_device_,
  1166. omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
  1167. functions.
  1168. * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
  1169. GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
  1170. GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
  1171. @@GOMP_4.0.
  1172. (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
  1173. omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
  1174. omp_set_default_device, omp_set_default_device_,
  1175. omp_set_default_device_8_, omp_get_default_device,
  1176. omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
  1177. omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
  1178. omp_get_team_num_): Export @@OMP_4.0.
  1179. * team.c (struct gomp_thread_start_data): Add place field.
  1180. (gomp_thread_start): Clear thr->thread_pool and
  1181. thr->task before returning. Use gomp_team_barrier_wait_final
  1182. instead of gomp_team_barrier_wait. Initialize thr->place.
  1183. (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
  1184. team_cancelled and task_queued_count fields.
  1185. (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
  1186. before calling pthread_exit.
  1187. (gomp_free_thread): No longer static. Use
  1188. gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
  1189. (gomp_team_start): Add flags argument. Set
  1190. thr->thread_pool->threads_busy to nthreads immediately after creating
  1191. new pool. Use gomp_managed_threads_lock instead of
  1192. gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
  1193. (gomp_team_end): Use gomp_managed_threads_lock instead of
  1194. gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
  1195. of gomp_team_barrier_wait. If team->team_cancelled, call
  1196. gomp_fini_worshare on ws chain starting at team->work_shares_to_free
  1197. rather than thr->ts.work_share.
  1198. (initialize_team): Don't call gomp_sem_init here.
  1199. * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
  1200. caller.
  1201. (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
  1202. * env.c (gomp_global_icv): Add default_device_var, target_data and
  1203. bind_var initializers.
  1204. (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
  1205. (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
  1206. gomp_places_list_len): New variables.
  1207. (parse_bind_var, parse_one_place, parse_places_var): New functions.
  1208. (parse_affinity): Rewritten to construct OMP_PLACES list with unit
  1209. sized places.
  1210. (gomp_cancel_var): New global variable.
  1211. (parse_int): New function.
  1212. (handle_omp_display_env): New function.
  1213. (initialize_env): Use it. Initialize default_device_var.
  1214. Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
  1215. OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
  1216. OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
  1217. been successfully parsed (and call gomp_init_affinity in that case).
  1218. (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
  1219. omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
  1220. omp_get_team_num, omp_is_initial_device): New functions.
  1221. * libgomp.h: Include stdlib.h.
  1222. (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
  1223. Define.
  1224. (struct target_mem_desc): Forward declare.
  1225. (struct gomp_task_icv): Add default_device_var, target_data, bind_var
  1226. and thread_limit_var fields.
  1227. (gomp_get_num_devices): New prototype.
  1228. (gomp_cancel_var): New extern decl.
  1229. (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
  1230. team_cancelled and task_queued_count fields. Add comments about
  1231. task_{,queued_,running_}count.
  1232. (gomp_cancel_kind): New enum.
  1233. (gomp_work_share_end_cancel): New prototype.
  1234. (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
  1235. copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
  1236. and depend fields.
  1237. (struct gomp_taskgroup): New type.
  1238. (struct gomp_task_depend_entry,
  1239. struct gomp_dependers_vec): New types.
  1240. (gomp_finish_task): Free depend_hash if non-NULL.
  1241. (struct gomp_team_state): Add place_partition_off
  1242. and place_partition_len fields.
  1243. (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
  1244. gomp_places_list_len): New extern decls.
  1245. (struct gomp_thread): Add place field.
  1246. (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
  1247. (gomp_init_thread_affinity): Add place argument.
  1248. (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
  1249. gomp_affinity_remove_cpu, gomp_affinity_copy_place,
  1250. gomp_affinity_same_place, gomp_affinity_finalize_place_list,
  1251. gomp_affinity_init_level, gomp_affinity_print_place): New
  1252. prototypes.
  1253. (gomp_team_start): Add flags argument.
  1254. (gomp_thread_limit_var, gomp_remaining_threads_count,
  1255. gomp_remaining_threads_lock): Remove.
  1256. (gomp_managed_threads_lock): New variable.
  1257. (struct gomp_thread_pool): Add threads_busy field.
  1258. (gomp_free_thread): New prototype.
  1259. * task.c: Include hashtab.h.
  1260. (hash_entry_type): New typedef.
  1261. (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
  1262. (gomp_init_task): Clear dependers, depend_hash, depend_count,
  1263. copy_ctors_done and taskgroup fields.
  1264. (GOMP_task): Add depend argument, handle depend clauses. If
  1265. gomp_team_barrier_cancelled or if it's taskgroup has been
  1266. cancelled, don't queue or start new tasks. Set copy_ctors_done
  1267. field if needed. Initialize taskgroup field. If copy_ctors_done
  1268. and already cancelled, don't discard the task. If taskgroup is
  1269. non-NULL, enqueue the task into taskgroup queue. Increment
  1270. num_children field in taskgroup. Increment task_queued_count.
  1271. (gomp_task_run_pre, gomp_task_run_post_remove_parent,
  1272. gomp_task_run_post_remove_taskgroup): New inline functions.
  1273. (gomp_task_run_post_handle_depend_hash,
  1274. gomp_task_run_post_handle_dependers,
  1275. gomp_task_run_post_handle_depend): New functions.
  1276. (GOMP_taskwait): Use them. If more than one new tasks
  1277. have been queued, wake other threads if needed.
  1278. (gomp_barrier_handle_tasks): Likewise. If
  1279. gomp_team_barrier_cancelled, don't start any new tasks, just free
  1280. all tasks.
  1281. (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
  1282. * omp_lib.f90.in
  1283. (omp_proc_bind_kind, omp_proc_bind_false,
  1284. omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
  1285. omp_proc_bind_spread): New params.
  1286. (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
  1287. omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
  1288. omp_get_team_num, omp_is_initial_device): New interfaces.
  1289. (omp_get_dynamic, omp_get_nested, omp_in_parallel,
  1290. omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
  1291. omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
  1292. omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
  1293. omp_get_team_size, omp_get_active_level, omp_in_final): Remove
  1294. useless use omp_lib_kinds.
  1295. * omp.h.in (omp_proc_bind_t): New typedef.
  1296. (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
  1297. omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
  1298. omp_get_team_num, omp_is_initial_device): New prototypes.
  1299. * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
  1300. through to gomp_team_start.
  1301. (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
  1302. GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
  1303. Adjust gomp_parallel_loop_start callers.
  1304. (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
  1305. GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
  1306. GOMP_loop_end_cancel): New functions.
  1307. (GOMP_parallel_end): Add ialias_redirect.
  1308. * hashtab.h: New file.
  1309. * libgomp.texi (Environment Variables): Minor cleanup,
  1310. update section refs to OpenMP 4.0rc2.
  1311. (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
  1312. environment variables.
  1313. * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
  1314. team->work_shares_to_free to thr->ts.work_share before calling
  1315. free_work_share.
  1316. (gomp_work_share_end_cancel): New function.
  1317. * config/linux/proc.c: Include errno.h.
  1318. (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
  1319. (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
  1320. sizeof (cpu_set_t) to determine number of iterations. Fix up check
  1321. extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
  1322. gomp_cpuset_size is sizeof (cpu_set_t).
  1323. (gomp_init_num_threads): Initialize gomp_cpuset_size,
  1324. gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
  1325. of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
  1326. to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
  1327. contain any logical CPUs.
  1328. (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
  1329. is NULL. Use gomp_cpusetp instead of &cpuset and pass
  1330. gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
  1331. pthread_getaffinity_np. Check gomp_places_list instead of
  1332. gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
  1333. * config/linux/bar.c (gomp_barrier_wait_end,
  1334. gomp_barrier_wait_last): Use BAR_* defines.
  1335. (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
  1336. from state where needed. Set work_share_cancelled to 0 on last
  1337. thread.
  1338. (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
  1339. gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
  1340. functions.
  1341. * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
  1342. Add cpusetsize argument.
  1343. (gomp_cpuset_size, gomp_cpusetp): Declare.
  1344. * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
  1345. (affinity_counter): Remove.
  1346. (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
  1347. if CPU_ALLOC_SIZE isn't defined.
  1348. (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
  1349. silently create OMP_PLACES=threads, if it is non-NULL afterwards,
  1350. bind current thread to the first place.
  1351. (gomp_init_thread_affinity): Rewritten. Add place argument, just
  1352. pthread_setaffinity_np to gomp_places_list[place].
  1353. (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
  1354. gomp_affinity_remove_cpu, gomp_affinity_copy_place,
  1355. gomp_affinity_same_place, gomp_affinity_finalize_place_list,
  1356. gomp_affinity_init_level, gomp_affinity_print_place): New functions.
  1357. * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
  1358. BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
  1359. (gomp_barrier_t): Add awaited_final field.
  1360. (gomp_barrier_init): Initialize awaited_final field.
  1361. (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
  1362. gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
  1363. prototypes.
  1364. (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
  1365. defines.
  1366. (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
  1367. gomp_team_barrier_cancelled): New inline functions.
  1368. (gomp_barrier_last_thread,
  1369. gomp_team_barrier_set_task_pending,
  1370. gomp_team_barrier_clear_task_pending,
  1371. gomp_team_barrier_set_waiting_for_tasks,
  1372. gomp_team_barrier_waiting_for_tasks,
  1373. gomp_team_barrier_done): Use BAR_* defines.
  1374. * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
  1375. (gomp_barrier_wait_end): Use BAR_* defines.
  1376. (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
  1377. Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
  1378. Use BAR_* defines.
  1379. (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
  1380. gomp_team_barrier_cancel): New functions.
  1381. * config/posix/affinity.c (gomp_init_thread_affinity): Add place
  1382. argument.
  1383. (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
  1384. gomp_affinity_remove_cpu, gomp_affinity_copy_place,
  1385. gomp_affinity_same_place, gomp_affinity_finalize_place_list,
  1386. gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
  1387. * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
  1388. BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
  1389. (gomp_barrier_t): Add cancellable field.
  1390. (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
  1391. gomp_team_barrier_cancel): New prototypes.
  1392. (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
  1393. (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
  1394. gomp_team_barrier_cancelled): New inline functions.
  1395. (gomp_barrier_wait_start, gomp_barrier_last_thread,
  1396. gomp_team_barrier_set_task_pending,
  1397. gomp_team_barrier_clear_task_pending,
  1398. gomp_team_barrier_set_waiting_for_tasks,
  1399. gomp_team_barrier_waiting_for_tasks,
  1400. gomp_team_barrier_done): Use BAR_* defines.
  1401. * barrier.c (GOMP_barrier_cancel): New function.
  1402. * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
  1403. omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
  1404. omp_proc_bind_spread): New params.
  1405. (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
  1406. omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
  1407. omp_get_team_num, omp_is_initial_device): New externals.
  1408. * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
  1409. New functions.
  1410. (gomp_resolve_num_threads): Adjust for thread_limit now being in
  1411. icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
  1412. infinity. If not nested, just return minimum of max_num_threads
  1413. and icv->thread_limit_var and if thr->thread_pool, set threads_busy
  1414. to the returned value. Otherwise, don't update atomically
  1415. gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
  1416. (GOMP_parallel_end): Adjust for thread_limit now being in
  1417. icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
  1418. infinity. Adjust threads_busy in the pool rather than
  1419. gomp_remaining_threads_count. Remember team->nthreads and call
  1420. gomp_team_end before adjusting threads_busy, if not nested
  1421. afterwards, just set it to 1 non-atomically. Add ialias.
  1422. (GOMP_parallel_start): Adjust gomp_team_start caller.
  1423. * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
  1424. * testsuite/libgomp.c/affinity-1.c: New test.
  1425. * testsuite/libgomp.c/atomic-15.c: New test.
  1426. * testsuite/libgomp.c/atomic-16.c: New test.
  1427. * testsuite/libgomp.c/atomic-17.c: New test.
  1428. * testsuite/libgomp.c/cancel-for-1.c: New test.
  1429. * testsuite/libgomp.c/cancel-for-2.c: New test.
  1430. * testsuite/libgomp.c/cancel-parallel-1.c: New test.
  1431. * testsuite/libgomp.c/cancel-parallel-2.c: New test.
  1432. * testsuite/libgomp.c/cancel-parallel-3.c: New test.
  1433. * testsuite/libgomp.c/cancel-sections-1.c: New test.
  1434. * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
  1435. * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
  1436. * testsuite/libgomp.c/depend-1.c: New test.
  1437. * testsuite/libgomp.c/depend-2.c: New test.
  1438. * testsuite/libgomp.c/depend-3.c: New test.
  1439. * testsuite/libgomp.c/depend-4.c: New test.
  1440. * testsuite/libgomp.c/for-1.c: New test.
  1441. * testsuite/libgomp.c/for-1.h: New file.
  1442. * testsuite/libgomp.c/for-2.c: New test.
  1443. * testsuite/libgomp.c/for-2.h: New file.
  1444. * testsuite/libgomp.c/for-3.c: New test.
  1445. * testsuite/libgomp.c/pr58392.c: New test.
  1446. * testsuite/libgomp.c/simd-1.c: New test.
  1447. * testsuite/libgomp.c/simd-2.c: New test.
  1448. * testsuite/libgomp.c/simd-3.c: New test.
  1449. * testsuite/libgomp.c/simd-4.c: New test.
  1450. * testsuite/libgomp.c/simd-5.c: New test.
  1451. * testsuite/libgomp.c/simd-6.c: New test.
  1452. * testsuite/libgomp.c/target-1.c: New test.
  1453. * testsuite/libgomp.c/target-2.c: New test.
  1454. * testsuite/libgomp.c/target-3.c: New test.
  1455. * testsuite/libgomp.c/target-4.c: New test.
  1456. * testsuite/libgomp.c/target-5.c: New test.
  1457. * testsuite/libgomp.c/target-6.c: New test.
  1458. * testsuite/libgomp.c/target-7.c: New test.
  1459. * testsuite/libgomp.c/taskgroup-1.c: New test.
  1460. * testsuite/libgomp.c/thread-limit-1.c: New test.
  1461. * testsuite/libgomp.c/thread-limit-2.c: New test.
  1462. * testsuite/libgomp.c/thread-limit-3.c: New test.
  1463. * testsuite/libgomp.c/udr-1.c: New test.
  1464. * testsuite/libgomp.c/udr-2.c: New test.
  1465. * testsuite/libgomp.c/udr-3.c: New test.
  1466. * testsuite/libgomp.c++/affinity-1.C: New test.
  1467. * testsuite/libgomp.c++/atomic-10.C: New test.
  1468. * testsuite/libgomp.c++/atomic-11.C: New test.
  1469. * testsuite/libgomp.c++/atomic-12.C: New test.
  1470. * testsuite/libgomp.c++/atomic-13.C: New test.
  1471. * testsuite/libgomp.c++/atomic-14.C: New test.
  1472. * testsuite/libgomp.c++/atomic-15.C: New test.
  1473. * testsuite/libgomp.c++/cancel-for-1.C: New test.
  1474. * testsuite/libgomp.c++/cancel-for-2.C: New test.
  1475. * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
  1476. * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
  1477. * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
  1478. * testsuite/libgomp.c++/cancel-sections-1.C: New test.
  1479. * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
  1480. * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
  1481. * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
  1482. * testsuite/libgomp.c++/cancel-test.h: New file.
  1483. * testsuite/libgomp.c++/for-9.C: New test.
  1484. * testsuite/libgomp.c++/for-10.C: New test.
  1485. * testsuite/libgomp.c++/for-11.C: New test.
  1486. * testsuite/libgomp.c++/simd-1.C: New test.
  1487. * testsuite/libgomp.c++/simd-2.C: New test.
  1488. * testsuite/libgomp.c++/simd-3.C: New test.
  1489. * testsuite/libgomp.c++/simd-4.C: New test.
  1490. * testsuite/libgomp.c++/simd-5.C: New test.
  1491. * testsuite/libgomp.c++/simd-6.C: New test.
  1492. * testsuite/libgomp.c++/simd-7.C: New test.
  1493. * testsuite/libgomp.c++/simd-8.C: New test.
  1494. * testsuite/libgomp.c++/target-1.C: New test.
  1495. * testsuite/libgomp.c++/target-2.C: New test.
  1496. * testsuite/libgomp.c++/target-2-aux.cc: New file.
  1497. * testsuite/libgomp.c++/target-3.C: New test.
  1498. * testsuite/libgomp.c++/taskgroup-1.C: New test.
  1499. * testsuite/libgomp.c++/udr-1.C: New test.
  1500. * testsuite/libgomp.c++/udr-2.C: New test.
  1501. * testsuite/libgomp.c++/udr-3.C: New test.
  1502. * testsuite/libgomp.c++/udr-4.C: New test.
  1503. * testsuite/libgomp.c++/udr-5.C: New test.
  1504. * testsuite/libgomp.c++/udr-6.C: New test.
  1505. * testsuite/libgomp.c++/udr-7.C: New test.
  1506. * testsuite/libgomp.c++/udr-8.C: New test.
  1507. * testsuite/libgomp.c++/udr-9.C: New test.
  1508. 2013-09-20 Jakub Jelinek <jakub@redhat.com>
  1509. PR testsuite/57605
  1510. * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
  1511. ALWAYS_CFLAGS.
  1512. 2013-09-20 Alan Modra <amodra@gmail.com>
  1513. * configure: Regenerate.
  1514. 2013-09-19 Jakub Jelinek <jakub@redhat.com>
  1515. * testsuite/libgomp.c/sections-2.c: New test.
  1516. 2013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
  1517. * testsuite/libgomp.fortran/strassen.f90:
  1518. Add dg-skip-if aarch64_tiny.
  1519. 2013-06-20 Iain Sandoe <iain@codesourcery.com>
  1520. Cesar Philippidis <cesar@codesourcery.com>
  1521. * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
  1522. Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
  1523. * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
  1524. * testsuite/libgomp.fortran/fortran.exp: Likewise.
  1525. * testsuite/libgomp.graphite/graphite.exp: Likewise.
  1526. * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
  1527. Use dg-runtest rather than gfortran-dg-runtest.
  1528. 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
  1529. * testsuite/libgomp.c/icv-2.c: Extend current handling of
  1530. Linux-based x86 systems to cover all GNU systems.
  1531. * testsuite/libgomp.c/lock-3.c: Likewise.
  1532. * testsuite/libgomp.c/pr48591.c: Likewise.
  1533. 2013-06-06 Thomas Schwinge <thomas@codesourcery.com>
  1534. * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
  1535. GNU/Hurd, as done for Linux-based systems.
  1536. * config/posix/ptrlock.h: Fix comment.
  1537. 2013-05-27 Tobias Burnus <burnus@net-b.de>
  1538. PR fortran/57423
  1539. * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
  1540. omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
  1541. omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
  1542. omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
  1543. omp_destroy_nest_lock): Correct arguments to match the one in
  1544. the OpenMP spec.
  1545. * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
  1546. omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
  1547. omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
  1548. omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
  1549. 2013-05-16 Jakub Jelinek <jakub@redhat.com>
  1550. * testsuite/libgomp.c/loop-13.c: New test.
  1551. * testsuite/libgomp.c/loop-14.c: New test.
  1552. * testsuite/libgomp.c/loop-15.c: New test.
  1553. * testsuite/libgomp.c++/loop-13.C: New test.
  1554. * testsuite/libgomp.c++/loop-14.C: New test.
  1555. * testsuite/libgomp.c++/loop-15.C: New test.
  1556. 2013-02-06 Jakub Jelinek <jakub@redhat.com>
  1557. PR middle-end/56217
  1558. * testsuite/libgomp.c++/pr56217.C: New test.
  1559. 2013-02-01 Alan Modra <amodra@gmail.com>
  1560. * task.c (GOMP_task, GOMP_taskwait): Comment.
  1561. 2013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
  1562. Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
  1563. PR libgomp/55561
  1564. * config/linux/wait.h (do_spin): Use atomic load for addr.
  1565. * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
  1566. for intptr and ptrlock.
  1567. * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
  1568. for ptrlock.
  1569. 2013-01-22 Alan Modra <amodra@gmail.com>
  1570. PR libgomp/51376
  1571. PR libgomp/56073
  1572. * task.c (GOMP_task): Revert 2011-12-09 change.
  1573. (GOMP_taskwait): Likewise. Instead use atomic load with acquire
  1574. barrier to read task->children..
  1575. (gomp_barrier_handle_tasks): ..and matching atomic store with
  1576. release barrier here when setting parent->children to NULL.
  1577. 2013-01-16 Jakub Jelinek <jakub@redhat.com>
  1578. Tobias Burnus <burnus@net-b.de>
  1579. PR driver/55884
  1580. * testsuite/libgomp.fortran/fortran.exp: Use
  1581. -fintrinsic-modules-path= instead of
  1582. -fintrinsic-modules-path.
  1583. 2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
  1584. Update copyright years.
  1585. 2012-12-19 Tobias Burnus <burnus@net-b.de>
  1586. * testsuite/libgomp.fortran/fortran.exp: Set
  1587. -fintrinsic-modules-path.
  1588. 2012-12-19 Tobias Burnus <burnus@net-b.de>
  1589. * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
  1590. from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
  1591. 2012-11-21 Jakub Jelinek <jakub@redhat.com>
  1592. PR libgomp/55411
  1593. * team.c (gomp_free_thread): Decrease gomp_managed_threads
  1594. if pool had any threads_used.
  1595. 2012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
  1596. * testsuite/libgomp.c++/pr24455.C: Use
  1597. -Wl,-undefined,dynamic_lookup on darwin.
  1598. 2012-11-07 David Edelsohn <dje.gcc@gmail.com>
  1599. * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
  1600. 2012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
  1601. * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
  1602. 2012-10-23 Ian Bolton <ian.bolton@arm.com>
  1603. Jim MacArthur <jim.macarthur@arm.com>
  1604. Marcus Shawcroft <marcus.shawcroft@arm.com>
  1605. Nigel Stephens <nigel.stephens@arm.com>
  1606. Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
  1607. Richard Earnshaw <rearnsha@arm.com>
  1608. Sofiane Naci <sofiane.naci@arm.com>
  1609. Stephen Thomas <stephen.thomas@arm.com>
  1610. Tejas Belagod <tejas.belagod@arm.com>
  1611. Yufeng Zhang <yufeng.zhang@arm.com>
  1612. * configure.tgt: Add AArch64.
  1613. 2012-10-04 Jason Merrill <jason@redhat.com>
  1614. * testsuite/libgomp.c++/tls-init1.C: New.
  1615. 2012-09-14 David Edelsohn <dje.gcc@gmail.com>
  1616. * configure: Regenerated.
  1617. 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
  1618. * config/linux/mips/futex.h (sys_futex0): Change to static
  1619. function with noinline, nomips16 attributes under MIPS16. Adjust
  1620. asm statement to place 'li v0,SYS_futex' immediately before
  1621. syscall insn.
  1622. 2012-07-04 Sandra Loosemore <sandra@codesourcery.com>
  1623. * libgomp.texi (Library Index): Renamed from "Index" to prevent
  1624. conflict with index.html on case-insensitive file systems.
  1625. 2012-07-03 Uros Bizjak <ubizjak@gmail.com>
  1626. * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
  1627. * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
  1628. 2012-07-02 Richard Guenther <rguenther@suse.de>
  1629. Michael Matz <matz@suse.de>
  1630. Tobias Grosser <tobias@grosser.es>
  1631. Sebastian Pop <sebpop@gmail.com>
  1632. * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
  1633. * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
  1634. * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
  1635. * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
  1636. 2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
  1637. * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
  1638. 2012-06-22 Richard Guenther <rguenther@suse.de>
  1639. Merge from graphite branch
  1640. 2012-01-13 Tobias Grosser <tobias@grosser.es>
  1641. * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
  1642. * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
  1643. 2012-06-07 Jakub Jelinek <jakub@redhat.com>
  1644. PR middle-end/53580
  1645. * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
  1646. use GOMP_barrier () call instead.
  1647. * testsuite/libgomp.c/pr26943-3.c: Likewise.
  1648. * testsuite/libgomp.c/pr26943-4.c: Likewise.
  1649. * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
  1650. call GOMP_barrier instead.
  1651. * testsuite/libgomp.fortran/vla5.f90: Likewise.
  1652. 2012-06-06 Jakub Jelinek <jakub@redhat.com>
  1653. PR libgomp/52993
  1654. * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
  1655. argument to memset call.
  1656. 2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
  1657. * configure: Regenerated.
  1658. 2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
  1659. * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
  1660. 2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
  1661. PR bootstrap/52812
  1662. * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
  1663. 2012-03-22 Jakub Jelinek <jakub@redhat.com>
  1664. PR middle-end/52547
  1665. * testsuite/libgomp.c/pr52547.c: New test.
  1666. 2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
  1667. * testsuite/lib/libgomp.exp: load fortran-modules.exp
  1668. 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
  1669. * configure.tgt (mips-sgi-irix6*): Remove.
  1670. 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
  1671. * configure.tgt (alpha*-dec-osf*): Remove.
  1672. * config/osf/sem.h: Remove.
  1673. * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
  1674. 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
  1675. * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
  1676. 2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
  1677. PR libstdc++/52188
  1678. * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
  1679. Remove ENABLE_SYMVERS_SOL2.
  1680. * configure: Regenerate.
  1681. * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
  1682. (PREPROCESS): New variable.
  1683. (libgomp.ver): New target.
  1684. [LIBGOMP_BUILD_VERSIONED_SHLIB &&
  1685. LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
  1686. LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
  1687. Use libgomp.ver.
  1688. [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
  1689. * Makefile.in: Regenerate.
  1690. 2012-02-14 Walter Lee <walt@tilera.com>
  1691. * configure.tgt: Handle tilegx and tilepro.
  1692. * config/linux/tile/futex.h: New file.
  1693. 2012-02-08 Richard Guenther <rguenther@suse.de>
  1694. PR tree-optimization/46886
  1695. * testsuite/libgomp.c/pr46886.c: New testcase.
  1696. 2012-01-25 Matthias Klose <doko@ubuntu.com>
  1697. * config/linux/arm: Remove empty directory.
  1698. * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
  1699. 2011-12-09 Alan Modra <amodra@gmail.com>
  1700. PR libgomp/51376
  1701. * task.c (GOMP_taskwait): Don't access task->children outside of
  1702. task_lock mutex region.
  1703. (GOMP_task): Likewise.
  1704. 2011-12-06 Jakub Jelinek <jakub@redhat.com>
  1705. PR libgomp/51132
  1706. * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
  1707. to file scope.
  1708. * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
  1709. * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
  1710. * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
  1711. * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
  1712. * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
  1713. 2011-12-02 Alan Modra <amodra@gmail.com>
  1714. * config/linux/affinity.c: Use atomic rather than sync builtin.
  1715. * config/linux/lock.c: Likewise.
  1716. * config/linux/ptrlock.h: Likewise.
  1717. * config/linux/ptrlock.c: Likewise.
  1718. * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
  1719. * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
  1720. * config/linux/futex.h (atomic_write_barrier): Delete unused function.
  1721. * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
  1722. * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
  1723. * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
  1724. * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
  1725. * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
  1726. * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
  1727. * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
  1728. 2011-11-30 Alan Modra <amodra@gmail.com>
  1729. PR libgomp/51298
  1730. * config/linux/bar.h: Use atomic rather than sync builtins.
  1731. * config/linux/bar.c: Likewise. Add missing acquire
  1732. synchronisation on generation field.
  1733. * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
  1734. double unlock.
  1735. 2011-11-30 Alan Modra <amodra@gmail.com>
  1736. * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
  1737. * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
  1738. * config/linux/mutex.h: Use atomic rather than sync builtins.
  1739. * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
  1740. * config/linux/omp-lock.h: Comment fix.
  1741. * config/linux/arm/mutex.h: Delete.
  1742. * config/linux/powerpc/mutex.h: Delete.
  1743. * config/linux/ia64/mutex.h: Delete.
  1744. * config/linux/mips/mutex.h: Delete.
  1745. 2011-11-30 Alan Modra <amodra@gmail.com>
  1746. PR libgomp/51249
  1747. * config/linux/sem.h: Rewrite.
  1748. * config/linux/sem.c: Rewrite.
  1749. 2011-11-28 Richard Henderson <rth@redhat.com>
  1750. * libgomp.h (enum memmodel): New.
  1751. 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
  1752. * configure: Regenerate.
  1753. 2011-10-10 Matthias Klose <doko@ubuntu.com>
  1754. * config/posix95: Remove empty directory.
  1755. 2011-08-26 Jakub Jelinek <jakub@redhat.com>
  1756. * testsuite/libgomp.fortran/threadprivate4.f90: New test.
  1757. 2011-08-19 Jakub Jelinek <jakub@redhat.com>
  1758. PR fortran/49792
  1759. * testsuite/libgomp.fortran/pr49792-1.f90: New test.
  1760. * testsuite/libgomp.fortran/pr49792-2.f90: New test.
  1761. 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
  1762. * config/posix95/lock.c, posix95/omp-lock.h: Remove.
  1763. 2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
  1764. PR libgomp/49965
  1765. * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
  1766. 2011-08-03 Uros Bizjak <ubizjak@gmail.com>
  1767. * config/linux/proc.h: New.
  1768. * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
  1769. (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
  1770. (gomp_init_num_threads): Update call to cpuset_popcount.
  1771. (get_num_procs): Ditto.
  1772. * config/linux/affinity.c (gomp_init_affinity): Call
  1773. gomp_cpuset_popcount.
  1774. 2011-08-02 Jakub Jelinek <jakub@redhat.com>
  1775. PR fortran/42041
  1776. PR fortran/46752
  1777. * omp.h.in (omp_in_final): New prototype.
  1778. * omp_lib.f90.in (omp_in_final): New interface.
  1779. (omp_integer_kind, omp_logical_kind): Remove
  1780. and replace all its uses in the module with 4.
  1781. (openmp_version): Change to 201107.
  1782. * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
  1783. omp_sched_guided, omp_sched_auto): Use omp_sched_kind
  1784. kind for the parameters.
  1785. (omp_in_final): New external.
  1786. (openmp_version): Change to 201107.
  1787. * task.c (omp_in_final): New function.
  1788. (gomp_init_task): Initialize final_task.
  1789. (GOMP_task): Remove unused attribute from flags. Handle final
  1790. tasks.
  1791. (GOMP_taskyield): New function.
  1792. (omp_in_final): Return true if if (false) or final (true) task
  1793. or descendant of final (true).
  1794. * fortran.c (omp_in_final_): New function.
  1795. * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
  1796. (GOMP_3.0): Export GOMP_taskyield.
  1797. * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
  1798. variables.
  1799. (parse_unsigned_long_list): New function.
  1800. (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
  1801. with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
  1802. even if parse_affinity returned false.
  1803. * config/linux/affinity.c (gomp_init_affinity): Handle
  1804. gomp_cpu_affinity_len == 0.
  1805. * libgomp_g.h (GOMP_taskyield): New prototype.
  1806. * libgomp.h (struct gomp_task): Add final_task field.
  1807. (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
  1808. * team.c (gomp_team_start): Override new task's nthreads_var icv
  1809. if list form OMP_NUM_THREADS has been used and it has value for
  1810. the new nesting level.
  1811. * testsuite/libgomp.c/atomic-11.c: New test.
  1812. * testsuite/libgomp.c/atomic-12.c: New test.
  1813. * testsuite/libgomp.c/atomic-13.c: New test.
  1814. * testsuite/libgomp.c/atomic-14.c: New test.
  1815. * testsuite/libgomp.c/reduction-6.c: New test.
  1816. * testsuite/libgomp.c/task-5.c: New test.
  1817. * testsuite/libgomp.c++/atomic-2.C: New test.
  1818. * testsuite/libgomp.c++/atomic-3.C: New test.
  1819. * testsuite/libgomp.c++/atomic-4.C: New test.
  1820. * testsuite/libgomp.c++/atomic-5.C: New test.
  1821. * testsuite/libgomp.c++/atomic-6.C: New test.
  1822. * testsuite/libgomp.c++/atomic-7.C: New test.
  1823. * testsuite/libgomp.c++/atomic-8.C: New test.
  1824. * testsuite/libgomp.c++/atomic-9.C: New test.
  1825. * testsuite/libgomp.c++/task-8.C: New test.
  1826. * testsuite/libgomp.c++/reduction-4.C: New test.
  1827. * testsuite/libgomp.fortran/allocatable7.f90: New test.
  1828. * testsuite/libgomp.fortran/allocatable8.f90: New test.
  1829. * testsuite/libgomp.fortran/crayptr3.f90: New test.
  1830. * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
  1831. * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
  1832. * testsuite/libgomp.fortran/pointer1.f90: New test.
  1833. * testsuite/libgomp.fortran/pointer2.f90: New test.
  1834. * testsuite/libgomp.fortran/task4.f90: New test.
  1835. 2011-08-02 Tobias Burnus <burnus@net-b.de>
  1836. * libgomp.texi: Update OpenMP spec references to 3.1.
  1837. (omp_in_final,OMP_PROC_BIND): New sections.
  1838. (OMP_NUM_THREADS): Document that the value can be now a list.
  1839. (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
  1840. 2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
  1841. * config/linux/x86/futex.h: Check __x86_64__ instead of
  1842. __LP64__.
  1843. 2011-07-29 Jakub Jelinek <jakub@redhat.com>
  1844. PR middle-end/49897
  1845. PR middle-end/49898
  1846. * testsuite/libgomp.c/pr49897-1.c: New test.
  1847. * testsuite/libgomp.c/pr49897-2.c: New test.
  1848. * testsuite/libgomp.c/pr49898-1.c: New test.
  1849. * testsuite/libgomp.c/pr49898-2.c: New test.
  1850. 2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
  1851. * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
  1852. for ia32 instead of ilp32.
  1853. * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
  1854. * testsuite/libgomp.c/atomic-6.c: Likewise.
  1855. 2011-07-23 Sebastian Pop <sebastian.pop@amd.com>
  1856. * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
  1857. * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
  1858. 2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
  1859. PR libgomp/45351
  1860. * config/osf/sem.h: New file.
  1861. * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
  1862. 2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
  1863. PR target/49541
  1864. * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
  1865. ldflags.
  1866. 2011-07-15 Jakub Jelinek <jakub@redhat.com>
  1867. * config/linux/wait.h (do_spin): New inline, largely copied
  1868. from do_wait, just don't do futex_wait here, instead return true if
  1869. it should be done.
  1870. (do_wait): Implement using do_spin.
  1871. * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
  1872. to prototype.
  1873. (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
  1874. __sync_bool_compare_and_swap, pass the oldval to
  1875. gomp_mutex_lock_slow.
  1876. * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
  1877. If all mutex contenders are just spinning and not sleeping, don't
  1878. change state to 2 unnecessarily. Optimize the loop when state has
  1879. already become 2 to use just one atomic operation per loop instead
  1880. of two.
  1881. * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
  1882. to prototype.
  1883. (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
  1884. __sync_bool_compare_and_swap, pass the oldval to
  1885. gomp_mutex_lock_slow.
  1886. 2011-06-22 Jakub Jelinek <jakub@redhat.com>
  1887. PR libgomp/49490
  1888. * iter.c (gomp_iter_static_next): For chunk size 0
  1889. only use n ceil/ nthreads size for the first
  1890. n % nthreads threads in the team instead of
  1891. all threads except for the last few ones which
  1892. get less work or none at all.
  1893. * iter_ull.c (gomp_iter_ull_static_next): Likewise.
  1894. * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
  1895. chunk argument, set run_sched_modifier to 0 for static
  1896. resp. 1 for other kinds. If chunk argument is 0
  1897. and not static, set value to 1.
  1898. 2011-05-19 Jakub Jelinek <jakub@redhat.com>
  1899. PR c++/49043
  1900. * testsuite/libgomp.c++/pr49043.C: New test.
  1901. PR c++/48869
  1902. * testsuite/libgomp.c++/pr48869.C: New test.
  1903. 2011-05-06 Jakub Jelinek <jakub@redhat.com>
  1904. PR fortran/48894
  1905. * fortran.c: Include limits.h.
  1906. (TO_INT): Define.
  1907. (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
  1908. *set.
  1909. (omp_set_num_threads_8_, omp_set_schedule_8_,
  1910. omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
  1911. omp_get_team_size_8_): Use TO_INT macro.
  1912. * testsuite/libgomp.fortran/pr48894.f90: New test.
  1913. 2011-04-13 Jakub Jelinek <jakub@redhat.com>
  1914. PR middle-end/48591
  1915. * testsuite/libgomp.c/pr48591.c: New test.
  1916. 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
  1917. PR bootstrap/48135
  1918. * acinclude.m4 (enable_symvers): Handle --disable-symvers.
  1919. * configure: Regenerate.
  1920. 2011-02-27 Jakub Jelinek <jakub@redhat.com>
  1921. PR fortran/47886
  1922. * testsuite/libgomp.fortran/task3.f90: New test.
  1923. 2011-02-24 Tobias Burnus <burnus@net-b.de>
  1924. * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
  1925. 2011-02-23 Jakub Jelinek <jakub@redhat.com>
  1926. PR libgomp/47854
  1927. * libgomp.texi (omp_get_wtime): Don't say time in the past
  1928. must be Unix Epoch.
  1929. 2011-02-18 Jakub Jelinek <jakub@redhat.com>
  1930. PR libgomp/47804
  1931. * testsuite/libgomp.fortran/fortran.exp: Check for both
  1932. libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
  1933. but $blddir != "", still append ${blddir}/${lang_library_path}
  1934. to ld_library_path.
  1935. 2011-02-16 Tobias Burnus <burnus@net-b.de>
  1936. PR libgomp/47758
  1937. * testsuite/libgomp.fortran/fortran.exp: Check for the existence
  1938. of libquadmath.a before adding its libpath to ldflags.
  1939. 2011-02-14 Jakub Jelinek <jakub@redhat.com>
  1940. PR libgomp/47731
  1941. * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
  1942. to FUTEX_WAIT futex syscall.
  1943. * config/linux/wait.h: Include <futex.h> instead of "futex.h".
  1944. 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
  1945. * configure: Regenerate.
  1946. 2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
  1947. PR libstdc++/36104
  1948. * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
  1949. 2011-01-16 Gerald Pfeifer
  1950. * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
  1951. 2010-12-14 Jakub Jelinek <jakub@redhat.com>
  1952. PR fortran/46874
  1953. * libgomp.fortran/allocatable6.f90: New test.
  1954. 2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
  1955. * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
  1956. * configure: Regenerate.
  1957. 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
  1958. PR target/40125
  1959. PR lto/46695
  1960. * configure.ac: Invoke ACX_LT_HOST_FLAGS.
  1961. * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
  1962. * aclocal.m4: Regenerate.
  1963. * configure: Regenerate.
  1964. * Makefile.in: Regenerate.
  1965. * testsuite/Makefile.in: Regenerate.
  1966. 2010-12-02 Jakub Jelinek <jakub@redhat.com>
  1967. PR fortran/46753
  1968. * libgomp.fortran/pr46753.f90: New test.
  1969. PR libgomp/43706
  1970. * env.c (initialize_env): Default to spin count 300000
  1971. instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
  1972. is specified.
  1973. PR libgomp/45240
  1974. * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
  1975. at the end if sync builtins aren't supported.
  1976. 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
  1977. * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
  1978. 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
  1979. * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
  1980. 2010-11-24 Iain Sandoe <iains@gcc.gnu.org>
  1981. * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
  1982. 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  1983. Tobias Burnus <burnus@net-b.de>
  1984. PR fortran/32049
  1985. * configure.ac:
  1986. * configure: Regenerate.
  1987. 2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
  1988. * config/linux/futex.h: New.
  1989. * config/linux/arm/mutex.h: New.
  1990. * configure.tgt (arm*-*-linux*): Add config path.
  1991. 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
  1992. * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
  1993. 2010-09-23 Tobias Burnus <burnus@net-b.de>
  1994. * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
  1995. Change Fortran datatype to LOGICAL.
  1996. (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
  1997. omp_unset_nested_lock): Use intent(inout) instead of intent(out).
  1998. 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
  1999. * configure: Regenerate.
  2000. 2010-07-26 Jakub Jelinek <jakub@redhat.com>
  2001. * libgomp.texi: Add function keyword to a couple of Fortran
  2002. interfaces, use integer instead of int for Fortran.
  2003. 2010-07-26 Aldy Hernandez <aldyh@redhat.com>
  2004. * libgomp.texi: Fix spelling and pasto problems throughout.
  2005. Adjust prototypes to match code.
  2006. 2010-07-24 Tobias Burnus <burnus@net-b.de>
  2007. * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
  2008. silence -fwhole-file warning.
  2009. 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
  2010. * configure.tgt (*-*-solaris2.[56]*): Removed.
  2011. 2010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
  2012. * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
  2013. Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
  2014. LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
  2015. (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
  2016. targetting solaris2*.
  2017. * configure: Regenerate.
  2018. * config.h.in: Regenerate.
  2019. * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
  2020. libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
  2021. Add libgomp_version_dep.
  2022. [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
  2023. versioning.
  2024. [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
  2025. (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
  2026. * Makefile.in: Regenerate.
  2027. * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
  2028. HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
  2029. * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
  2030. to common block, protected by
  2031. HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
  2032. 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
  2033. * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
  2034. 2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
  2035. PR bootstrap/43170
  2036. * configure: Regenerate.
  2037. 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
  2038. PR other/43620
  2039. * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
  2040. * configure: Regenerate.
  2041. * Makefile.in: Regenerate.
  2042. * testsuite/Makefile.in: Regenerate.
  2043. 2010-04-26 Jakub Jelinek <jakub@redhat.com>
  2044. PR c/43893
  2045. * testsuite/libgomp.c/pr43893.c: New test.
  2046. * testsuite/libgomp.c++/pr43893.C: New test.
  2047. 2010-04-21 Jakub Jelinek <jakub@redhat.com>
  2048. PR middle-end/43570
  2049. * testsuite/libgomp.fortran/vla8.f90: New test.
  2050. 2010-04-20 Jakub Jelinek <jakub@redhat.com>
  2051. PR libgomp/43706
  2052. * config/linux/affinity.c (gomp_init_affinity): Decrease
  2053. gomp_available_cpus if affinity mask confines the process to fewer
  2054. CPUs.
  2055. * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
  2056. non-NULL, just return gomp_available_cpus.
  2057. PR libgomp/43569
  2058. * sections.c (gomp_sections_init): Initialize ws->mode.
  2059. 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
  2060. * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
  2061. not unused bar variable.
  2062. * configure: Regenerate.
  2063. 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
  2064. * Makefile.in: Regenerate.
  2065. * aclocal.m4: Regenerate.
  2066. * testsuite/Makefile.in: Regenerate.
  2067. 2010-03-22 Jakub Jelinek <jakub@redhat.com>
  2068. PR libgomp/42942
  2069. * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
  2070. (initialize_env): Adjust callers.
  2071. (omp_set_max_active_levels): Set gomp_max_active_levels_var even
  2072. when the argument is 0.
  2073. * testsuite/libgomp.c/pr42942.c: New test.
  2074. 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
  2075. PR middle-end/42644
  2076. PR middle-end/42130
  2077. * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
  2078. * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
  2079. 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
  2080. * testsuite/libgomp.c++/task-1.C: Renamed err to e.
  2081. * testsuite/libgomp.c++/task-6.C: Likewise.
  2082. 2010-01-28 Steve Ellcey <sje@cup.hp.com>
  2083. * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
  2084. 2010-01-26 Paolo Bonzini <bonzini@gnu.org>
  2085. * configure.ac: Test for executability of _the first word_ of GFORTRAN.
  2086. * configure: Regenerate.
  2087. 2010-01-26 Jakub Jelinek <jakub@redhat.com>
  2088. PR fortran/42866
  2089. * testsuite/libgomp.fortran/allocatable5.f90: New test.
  2090. 2010-01-20 Paolo Bonzini <bonzini@gnu.org>
  2091. * configure.ac: Test for executability of GFORTRAN.
  2092. * configure: Regenerate.
  2093. 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
  2094. * configure: Regenerate.
  2095. 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
  2096. PR libgomp/42602
  2097. * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
  2098. 2010-01-03 Richard Guenther <rguenther@suse.de>
  2099. * testsuite/libgomp.fortran/recursion1.f90: New testcase.
  2100. 2009-12-23 Sebastian Pop <sebpop@gmail.com>
  2101. * testsuite/libgomp.graphite/pr4118.c: New.
  2102. 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
  2103. * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
  2104. for darwin, protect the test with require-effective-target tls_runtime.
  2105. * testsuite/libgomp.fortran/pr32550.f90: Ditto.
  2106. 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
  2107. PR target/41605
  2108. * testsuite/lib/libgomp.exp: Provide -B options to allow for
  2109. link spec %s substitutions for static libraries.
  2110. 2009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
  2111. PR testsuite/42135
  2112. * libgomp.graphite/force-parallel-2.c: Reduce array size.
  2113. 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
  2114. * Makefile.in: Regenerate.
  2115. * configure: Regenerate.
  2116. * testsuite/Makefile.in: Regenerate.
  2117. 2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
  2118. * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
  2119. settings for LC_ALL and LANG.
  2120. 2009-11-25 Jakub Jelinek <jakub@redhat.com>
  2121. PR fortran/42162
  2122. * testsuite/libgomp.fortran/pr42162.f90: New test.
  2123. 2009-11-13 Jakub Jelinek <jakub@redhat.com>
  2124. PR middle-end/42029
  2125. * testsuite/libgomp.c/pr42029.c: New test.
  2126. 2009-10-26 Jakub Jelinek <jakub@redhat.com>
  2127. * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
  2128. *s. Accept ld version without text in ()s.
  2129. * configure: Regenerated.
  2130. 2009-10-22 Razya Ladelsky <razya@il.ibm.com>
  2131. * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
  2132. 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
  2133. PR libgomp/41418
  2134. * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
  2135. or a hyphen (happens with fortran language disabled).
  2136. * configure: Regenerate.
  2137. 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
  2138. * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
  2139. use sed script portable to Solaris /bin/sed for extracting ld
  2140. version.
  2141. * configure: Regenerate.
  2142. 2009-09-17 Alexander Monakov <amonakov@ispras.ru>
  2143. * testsuite/libgomp.graphite/bounds.c: New test.
  2144. 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
  2145. * Makefile.am (libgomp_la_LINK): New.
  2146. * Makefile.in: Regenerate.
  2147. 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
  2148. * configure.ac (AC_PREREQ): Bump to 2.64.
  2149. 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
  2150. * Makefile.am (install-html, install-pdf): Remove.
  2151. * Makefile.in: Regenerate.
  2152. * Makefile.in: Regenerate.
  2153. * aclocal.m4: Regenerate.
  2154. * config.h.in: Regenerate.
  2155. * configure: Regenerate.
  2156. * testsuite/Makefile.in: Regenerate.
  2157. 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
  2158. * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
  2159. * Makefile.in: Regenerate.
  2160. 2009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
  2161. * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
  2162. * Makefile.in: Regenerate.
  2163. 2009-08-19 Tobias Burnus <burnus@net-b.de>
  2164. PR fortran/41102
  2165. omp_lib.h.in: Fix -std=f95 errors.
  2166. 2009-08-14 David Edelsohn <edelsohn@gnu.org>
  2167. * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
  2168. * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
  2169. * testsuite/libgomp.graphite/graphite.exp: New.
  2170. 2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
  2171. * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
  2172. only build.
  2173. 2009-08-04 David Daney <ddaney@caviumnetworks.com>
  2174. * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
  2175. needed memory barrier semantics.
  2176. * config/linux/mips/mutex.h: New file.
  2177. 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
  2178. * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
  2179. 2009-07-16 Joseph Myers <joseph@codesourcery.com>
  2180. * configure: Regenerate.
  2181. 2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
  2182. PR testsuite/40699
  2183. PR testsuite/40707
  2184. PR testsuite/40709
  2185. * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
  2186. * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
  2187. testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
  2188. 2009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
  2189. * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
  2190. options when choosing a multilib.
  2191. 2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
  2192. * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
  2193. ld_library_path. Use add_path. Add just find_libgcc_s to
  2194. ld_library_path, not every libgcc multilib directory.
  2195. * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
  2196. gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
  2197. * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
  2198. Use add_path.
  2199. * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
  2200. 2009-06-09 Nathan Froyd <froydnj@codesourcery.com>
  2201. * Makefile.am (LTLDFLAGS): Define.
  2202. (LINK): Define.
  2203. * Makefile.in: Regenerate.
  2204. 2009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
  2205. PR fortran/39718
  2206. * testsuite/libgomp.fortran/fortran.exp: Don't link with
  2207. libgfortranbegin, check existence of libgfortran.a instead of
  2208. libgfortranbegin.a.
  2209. 2009-05-20 Jakub Jelinek <jakub@redhat.com>
  2210. PR libgomp/40174
  2211. * team.c (gomp_thread_start): Destroy thr->release semaphore.
  2212. (gomp_free_pool_helper): Likewise.
  2213. 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
  2214. Jakub Jelinek <jakub@redhat.com>
  2215. PR fortran/35423
  2216. * testsuite/libgomp.fortran/workshare2.f90: New test.
  2217. 2009-04-09 Nick Clifton <nickc@redhat.com>
  2218. * iter.c: Change copyright header to refer to version 3 of the
  2219. GNU General Public License with version 3.1 of the GCC Runtime
  2220. Library Exception and to point readers at the COPYING3 and
  2221. COPYING3.RUNTIME files and the FSF's license web page.
  2222. * alloc.c: Likewise.
  2223. * barrier.c: Likewise.
  2224. * config/bsd/proc.c: Likewise.
  2225. * config/linux/affinity.c: Likewise.
  2226. * config/linux/alpha/futex.h: Likewise.
  2227. * config/linux/bar.c: Likewise.
  2228. * config/linux/bar.h: Likewise.
  2229. * config/linux/ia64/futex.h: Likewise.
  2230. * config/linux/ia64/mutex.h: Likewise.
  2231. * config/linux/lock.c: Likewise.
  2232. * config/linux/mips/futex.h: Likewise.
  2233. * config/linux/mutex.c: Likewise.
  2234. * config/linux/mutex.h: Likewise.
  2235. * config/linux/powerpc/futex.h: Likewise.
  2236. * config/linux/proc.c: Likewise.
  2237. * config/linux/ptrlock.c: Likewise.
  2238. * config/linux/ptrlock.h: Likewise.
  2239. * config/linux/s390/futex.h: Likewise.
  2240. * config/linux/sem.c: Likewise.
  2241. * config/linux/sem.h: Likewise.
  2242. * config/linux/sparc/futex.h: Likewise.
  2243. * config/linux/wait.h: Likewise.
  2244. * config/linux/x86/futex.h: Likewise.
  2245. * config/mingw32/proc.c: Likewise.
  2246. * config/mingw32/time.c: Likewise.
  2247. * config/posix/affinity.c: Likewise.
  2248. * config/posix/bar.c: Likewise.
  2249. * config/posix/bar.h: Likewise.
  2250. * config/posix/lock.c: Likewise.
  2251. * config/posix/mutex.h: Likewise.
  2252. * config/posix/proc.c: Likewise.
  2253. * config/posix/ptrlock.h: Likewise.
  2254. * config/posix/sem.c: Likewise.
  2255. * config/posix/sem.h: Likewise.
  2256. * config/posix/time.c: Likewise.
  2257. * config/posix95/lock.c: Likewise.
  2258. * critical.c: Likewise.
  2259. * env.c: Likewise.
  2260. * error.c: Likewise.
  2261. * fortran.c: Likewise.
  2262. * iter_ull.c: Likewise.
  2263. * libgomp.h: Likewise.
  2264. * libgomp_f.h.in: Likewise.
  2265. * libgomp_g.h: Likewise.
  2266. * loop.c: Likewise.
  2267. * loop_ull.c: Likewise.
  2268. * omp.h.in: Likewise.
  2269. * omp_lib.f90.in: Likewise.
  2270. * omp_lib.h.in: Likewise.
  2271. * ordered.c: Likewise.
  2272. * parallel.c: Likewise.
  2273. * sections.c: Likewise.
  2274. * single.c: Likewise.
  2275. * task.c: Likewise.
  2276. * team.c: Likewise.
  2277. * work.c: Likewise.
  2278. 2009-04-09 Jakub Jelinek <jakub@redhat.com>
  2279. * testsuite/config/default.exp: Change copyright header to refer to
  2280. version 3 of the GNU General Public License and to point readers
  2281. at the COPYING3 file and the FSF's license web page.
  2282. 2009-04-08 Jakub Jelinek <jakub@redhat.com>
  2283. PR middle-end/39573
  2284. * libgomp.c++/pr39573.C: New test.
  2285. 2009-04-01 Jakub Jelinek <jakub@redhat.com>
  2286. PR other/39591
  2287. * testsuite/libgomp.c/pr39591-1.c: New test.
  2288. * testsuite/libgomp.c/pr39591-2.c: New test.
  2289. * testsuite/libgomp.c/pr39591-3.c: New test.
  2290. 2009-03-25 Uros Bizjak <ubizjak@gmail.com>
  2291. * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
  2292. * testsuite/libgomp.c/atomic-6.c: Ditto.
  2293. 2009-03-23 Jakub Jelinek <jakub@redhat.com>
  2294. PR c/39495
  2295. * testsuite/libgomp.c/loop-12.c: New test.
  2296. * testsuite/libgomp.c/loop-11.c: New test.
  2297. * testsuite/libgomp.c++/loop-11.C: New test.
  2298. * testsuite/libgomp.c++/loop-12.C: New test.
  2299. * testsuite/libgomp.c++/for-8.C: New test.
  2300. 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
  2301. * configure: Regenerate.
  2302. 2009-02-11 Jakub Jelinek <jakub@redhat.com>
  2303. PR middle-end/39154
  2304. * testsuite/libgomp.c/pr39154.c: New test.
  2305. 2009-01-30 Ian Lance Taylor <iant@google.com>
  2306. * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
  2307. libgomp_ld_is_gold. Get gold version number.
  2308. (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
  2309. * configure: Rebuild.
  2310. 2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
  2311. * testsuite/lib/libgomp.exp: Add -B option for targets that
  2312. use libgfortran.a%s in their specs.
  2313. 2009-01-07 Jakub Jelinek <jakub@redhat.com>
  2314. PR libgomp/38086
  2315. * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
  2316. * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
  2317. HAVE_AS_SYMVER_DIRECTIVE is not defined.
  2318. * configure: Regenerated.
  2319. * config.h.in: Likewise.
  2320. 2008-12-28 Jakub Jelinek <jakub@redhat.com>
  2321. PR c++/38650
  2322. * testsuite/libgomp.c/pr38650.c: New test.
  2323. * testsuite/libgomp.c++/pr38650.C: New test.
  2324. 2008-12-27 Jakub Jelinek <jakub@redhat.com>
  2325. * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
  2326. 2008-12-26 Uros Bizjak <ubizjak@gmail.com>
  2327. * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
  2328. 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
  2329. * configure: Regenerate.
  2330. 2008-12-08 Jakub Jelinek <jakub@redhat.com>
  2331. PR middle-end/36802
  2332. * testsuite/libgomp.c/pr36802-1.c: New test.
  2333. * testsuite/libgomp.c/pr36802-2.c: New test.
  2334. * testsuite/libgomp.c/pr36802-3.c: New test.
  2335. 2008-12-01 Janis Johnson <janis187@us.ibm.com>
  2336. PR libgomp/38270
  2337. * config/linux/powerpc/mutex.h: New.
  2338. 2008-12-01 Jakub Jelinek <jakub@redhat.com>
  2339. PR c++/38257
  2340. * testsuite/libgomp.c++/for-7.C: New test.
  2341. PR c++/38348
  2342. * testsuite/libgomp.c++/for-6.C: New test.
  2343. 2008-11-26 Janis Johnson <janis187@us.ibm.com>
  2344. PR testsuite/28870
  2345. * testsuite/lib/libgomp.exp: Include new timeout library files.
  2346. (libgomp_target_compile): Set timeout value from new proc.
  2347. 2008-11-13 Steve Ellcey <sje@cup.hp.com>
  2348. PR libgomp/37938
  2349. * config/linux/ia64/mutex.h: New.
  2350. 2008-11-04 Tobias Burnus <burnus@net-b.de>
  2351. PR libgomp/37935
  2352. * libgomp.texi (Runtime library routines, environment variables):
  2353. Update for OpenMP version 3.0.
  2354. 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
  2355. Steve Ellcey <sje@cup.hp.com>
  2356. * configure: Regenerate for new libtool.
  2357. * Makefile.in: Ditto.
  2358. * testsuite/Makefile.in: Ditto.
  2359. 2008-09-19 Jakub Jelinek <jakub@redhat.com>
  2360. Andreas Tobler <a.tobler@schweiz.org>
  2361. * config/bsd/proc.c: New file.
  2362. * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
  2363. * configure.ac: Check for header <sys/sysctl.h>
  2364. * configure: Regenerate.
  2365. * config.h.in: Likewise.
  2366. 2008-09-05 Janis Johnson <janis187@us.ibm.com>
  2367. * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
  2368. 2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
  2369. * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
  2370. * Makefile.in: Regenerated.
  2371. * testsuite/Makefile.in: Regenerated.
  2372. 2008-08-21 Nathan Froyd <froydnj@codesourcery.com>
  2373. * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
  2374. depend on blddir if blddir exists.
  2375. (libgomp_target_compile): Likewise.
  2376. * testsuite/libgomp.c++/c++.exp: Likewise.
  2377. * testsuite/libgomp.fortran/fortran.exp: Likewise.
  2378. 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
  2379. * libgomp.texi: Update to GFDL 1.2. Update copyright years.
  2380. Do not list GPL as Invariant Section.
  2381. 2008-07-28 Ilie Garbacea <ilie@mips.com>
  2382. Chao-ying Fu <fu@mips.com>
  2383. * configure.tgt: Enable futex for MIPS.
  2384. * config/linux/mips/futex.h: New file.
  2385. 2008-07-16 Jakub Jelinek <jakub@redhat.com>
  2386. * team.c (gomp_team_end): Free team immediately if it has
  2387. just one thread.
  2388. 2008-07-08 David Edelsohn <edelsohn@gnu.org>
  2389. * testsuite/libgomp.c++/c++.exp: Append multilib library path.
  2390. * testsuite/libgomp.fortran/fortran.exp: Same.
  2391. * testsuite/libgomp.c/c.exp: Same.
  2392. * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
  2393. directory to library path first.
  2394. 2008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
  2395. * env.c (parse_stacksize): Add cast to avoid warning.
  2396. (parse_spincount): Likewise.
  2397. 2008-06-27 Jakub Jelinek <jakub@redhat.com>
  2398. * testsuite/libgomp.c/loop-10.c: New test.
  2399. * libgomp.c/loop-3.c (main): Add lastprivate clause.
  2400. * libgomp.c++/loop-6.C (main): Likewise.
  2401. PR debug/36617
  2402. * testsuite/libgomp.c/debug-1.c: New test.
  2403. 2008-06-19 Jakub Jelinek <jakub@redhat.com>
  2404. * testsuite/libgomp.c/nqueens-1.c: New test.
  2405. PR c++/36523
  2406. * testsuite/libgomp.c++/task-7.C: New function.
  2407. 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
  2408. * configure: Regenerate.
  2409. 2008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
  2410. * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
  2411. mutex when HAVE_SYNC_BUILTINS isn't defined.
  2412. 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
  2413. * libgomp.texi (omp_test_lock): Fix typo.
  2414. 2008-06-12 Tobias Burnus <burnus@net-b.de>
  2415. * omp_lib.f90.in: Add "implicit none".
  2416. 2008-06-12 Jakub Jelinek <jakub@redhat.com>
  2417. PR middle-end/36506
  2418. * testsuite/libgomp.c/reduction-5.c: New test.
  2419. 2008-06-11 Jakub Jelinek <jakub@redhat.com>
  2420. * libgomp.h (struct gomp_task): Add in_tied_task field.
  2421. * task.c (gomp_init_task): Initialize it.
  2422. (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
  2423. unconditionally. Don't call gomp_team_barrier_wake if
  2424. current task is implicit or if(0) from implicit and number of
  2425. running tasks is equal to nthreads - 1.
  2426. PR libgomp/36471
  2427. * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
  2428. omp_get_team_size_8): Fix pastos.
  2429. PR libgomp/36469
  2430. * configure.ac: Add AC_CHECK_FUNCS (strtoull).
  2431. * configure: Regenerated.
  2432. * config.h.in: Regenerated.
  2433. * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
  2434. defined.
  2435. 2008-06-06 Andreas Tobler <a.tobler@schweiz.org>
  2436. PR bootstrap/36452
  2437. * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
  2438. (GOMP_loop_ull_dynamic_start): Likewise.
  2439. (GOMP_loop_ull_guided_start): Likewise.
  2440. (GOMP_loop_ull_ordered_static_start): Likewise.
  2441. (GOMP_loop_ull_ordered_dynamic_start): Likewise.
  2442. (GOMP_loop_ull_ordered_guided_start): Likewise.
  2443. 2008-06-06 Jakub Jelinek <jakub@redhat.com>
  2444. Richard Henderson <rth@redhat.com>
  2445. Ulrich Drepper <drepper@redhat.com>
  2446. Jakob Blomer <jakob.blomer@ira.uka.de>
  2447. * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
  2448. Substitute also OMP_*LOCK_25*.
  2449. * configure: Regenerated.
  2450. * config.h.in: Regenerated.
  2451. * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
  2452. ptrlock.c and task.c.
  2453. * Makefile.in: Regenerated.
  2454. * testsuite/Makefile.in: Regenerated.
  2455. * task.c: New file.
  2456. * loop_ull.c: New file.
  2457. * iter_ull.c: New file.
  2458. * libgomp.h: Include ptrlock.h.
  2459. (enum gomp_task_kind): New type.
  2460. (struct gomp_team): Add task_lock, task_queue, task_count,
  2461. task_running_count, single_count fields. Add
  2462. work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
  2463. Remove work_share_lock, generation_mask,
  2464. oldest_live_gen, num_live_gen and init_work_shares fields, add
  2465. work work_share_list_alloc, work_share_list_free and work_share_chunk
  2466. fields. Change work_shares from pointer to pointers into an array.
  2467. Change ordered_release field into gomp_sem_t ** from flexible array
  2468. member. Add implicit_task and initial_work_shares fields.
  2469. Move close to the end of the struct.
  2470. (struct gomp_team_state): Add single_count, last_work_share,
  2471. active_level and level fields, remove work_share_generation.
  2472. (gomp_barrier_handle_tasks): New prototype.
  2473. (gomp_finish_task): New inline function.
  2474. (struct gomp_work_share): Move chunk_size, end, incr into
  2475. transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
  2476. next_ll fields. Reshuffle fields. Add next_alloc,
  2477. next_ws, next_free and inline_ordered_team_ids fields, change
  2478. ordered_team_ids into pointer from flexible array member.
  2479. Add mode field. Put lock and next into a different cache line
  2480. from most of the write-once fields.
  2481. (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
  2482. gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
  2483. gomp_iter_ull_guided_next): New prototypes.
  2484. (gomp_new_icv): New prototype.
  2485. (struct gomp_thread): Add thread_pool and task fields.
  2486. (struct gomp_thread_pool): New type.
  2487. (gomp_new_team): New prototype.
  2488. (gomp_team_start): Change type of last argument.
  2489. (gomp_new_work_share): Removed.
  2490. (gomp_init_work_share, gomp_fini_work_share): New prototypes.
  2491. (gomp_work_share_init_done): New static inline.
  2492. (gomp_throttled_spin_count_var, gomp_available_cpus,
  2493. gomp_managed_threads): New extern decls.
  2494. (gomp_init_task): New prototype.
  2495. (gomp_spin_count_var): New extern var decl.
  2496. (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
  2497. or no alias support, or if not PIC.
  2498. (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
  2499. gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
  2500. gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
  2501. gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
  2502. gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
  2503. gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
  2504. gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
  2505. gomp_test_nest_lock_25): New prototypes.
  2506. (omp_lock_symver, strong_alias): Define.
  2507. (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
  2508. decls.
  2509. (gomp_end_task): New.
  2510. (struct gomp_task_icv, gomp_global_icv): New.
  2511. (gomp_thread_limit_var, gomp_max_active_levels_var): New.
  2512. (struct gomp_task): New.
  2513. (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
  2514. gomp_run_sched_var, gomp_run_sched_chunk): Remove.
  2515. (gomp_icv): New.
  2516. (gomp_schedule_type): Reorder enum to match
  2517. omp_sched_t.
  2518. * team.c (struct gomp_thread_start_data): Add thread_pool and task
  2519. fields.
  2520. (gomp_thread_start): Add gomp_team_barrier_wait call.
  2521. For non-nested case remove clearing of docked thread thr fields.
  2522. Use pool fields instead of global gomp_* variables. Use
  2523. gomp_barrier_wait_last when needed. Initialize ts.active_level.
  2524. Create tasks for each member thread.
  2525. (free_team): Only destroy team barrier, task_lock here and free it.
  2526. (gomp_free_thread): Free last_team if non-NULL.
  2527. (gomp_team_end): Call gomp_team_barrier_wait instead of
  2528. gomp_barrier_wait. For nested case call one extra
  2529. gomp_barrier_wait. Move here some destruction from free_team.
  2530. Call free_team on pool->last_team if any, rather than freeing
  2531. current team. Destroy work_share_list_free_lock ifndef
  2532. HAVE_SYNC_BUILTINS.
  2533. (gomp_new_icv): New function.
  2534. (gomp_threads, gomp_threads_size, gomp_threads_used,
  2535. gomp_threads_dock): Removed.
  2536. (gomp_thread_destructor): New variable.
  2537. (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
  2538. functions.
  2539. (gomp_team_start): Create new pool if current thread doesn't have
  2540. one. Use pool fields instead of global gomp_* variables.
  2541. Initialize thread_pool field for new threads. Clear single_count.
  2542. Change last argument from ws to team, don't create
  2543. new team, set ts.work_share to &team->work_shares[0] and clear
  2544. ts.last_work_share. Don't clear ts.work_share_generation.
  2545. If number of threads changed, adjust atomically gomp_managed_threads.
  2546. Use gomp_init_task instead of gomp_new_task,
  2547. set thr->task to the corresponding implicit_task array entry.
  2548. Create tasks for each member thread. Initialize ts.level.
  2549. (initialize_team): Call pthread_key_create on
  2550. gomp_thread_destructor.
  2551. (team_destructor): New function.
  2552. (new_team): Removed.
  2553. (gomp_new_team): New function.
  2554. (free_team): Free gomp_work_share blocks chained through next_alloc,
  2555. instead of freeing work_shares and destroying work_share_lock.
  2556. (gomp_team_end): Call gomp_fini_work_share. If number of threads
  2557. changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
  2558. * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
  2559. of gomp_barrier_wait.
  2560. * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
  2561. instead of gomp_barrier_wait. Call gomp_work_share_init_done
  2562. if gomp_work_share_start returned true. Don't unlock ws->lock.
  2563. (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
  2564. of gomp_barrier_wait.
  2565. (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
  2566. gomp_work_share_init_done if gomp_work_share_start returned true.
  2567. Don't unlock ws->lock.
  2568. * work.c: Include stddef.h.
  2569. (free_work_share): Use work_share_list_free_lock instead
  2570. of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
  2571. Call gomp_fini_work_share and then either free ws if orphaned, or
  2572. put it into work_share_list_free list of the current team.
  2573. (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
  2574. functions.
  2575. (gomp_work_share_start, gomp_work_share_end,
  2576. gomp_work_share_end_nowait): Rewritten.
  2577. * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
  2578. (openmp_version): Set to 200805.
  2579. (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
  2580. omp_sched_guided, omp_sched_auto): New parameters.
  2581. (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
  2582. omp_set_max_active_levels, omp_get_max_active_levels,
  2583. omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
  2584. omp_get_active_level): New interfaces.
  2585. * omp_lib.h.in (openmp_version): Set to 200805.
  2586. (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
  2587. omp_sched_guided, omp_sched_auto): New parameters.
  2588. (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
  2589. omp_set_max_active_levels, omp_get_max_active_levels,
  2590. omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
  2591. omp_get_active_level): New externals.
  2592. * loop.c: Include limits.h.
  2593. (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
  2594. GFS_AUTO.
  2595. (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
  2596. Likewise. Use gomp_icv.
  2597. (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
  2598. ts.static_trip here.
  2599. (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
  2600. gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
  2601. (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
  2602. gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
  2603. don't unlock ws->lock, otherwise lock it.
  2604. (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
  2605. gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
  2606. (gomp_parallel_loop_start): Call gomp_new_team instead of
  2607. gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
  2608. Adjust gomp_team_start caller. Pass 0 as second argument to
  2609. gomp_resolve_num_threads.
  2610. (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
  2611. If adding ws->chunk_size nthreads + 1 times after end won't
  2612. overflow, set ws->mode to 1.
  2613. * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
  2614. GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
  2615. GOMP_loop_ull_ordered_static_start,
  2616. GOMP_loop_ull_ordered_dynamic_start,
  2617. GOMP_loop_ull_ordered_guided_start,
  2618. GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
  2619. GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
  2620. GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
  2621. GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
  2622. GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
  2623. prototypes.
  2624. * libgomp.map: Export lock routines also @@OMP_2.0.
  2625. (GOMP_loop_ordered_dynamic_first,
  2626. GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
  2627. GOMP_loop_ordered_static_first): Remove.
  2628. (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
  2629. GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
  2630. GOMP_loop_ull_ordered_dynamic_next,
  2631. GOMP_loop_ull_ordered_dynamic_start,
  2632. GOMP_loop_ull_ordered_guided_next,
  2633. GOMP_loop_ull_ordered_guided_start,
  2634. GOMP_loop_ull_ordered_runtime_next,
  2635. GOMP_loop_ull_ordered_runtime_start,
  2636. GOMP_loop_ull_ordered_static_next,
  2637. GOMP_loop_ull_ordered_static_start,
  2638. GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
  2639. GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
  2640. GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
  2641. (omp_set_schedule, omp_get_schedule,
  2642. omp_get_thread_limit, omp_set_max_active_levels,
  2643. omp_get_max_active_levels, omp_get_level,
  2644. omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
  2645. omp_set_schedule_, omp_set_schedule_8_,
  2646. omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
  2647. omp_set_max_active_levels_, omp_set_max_active_levels_8_,
  2648. omp_get_max_active_levels_, omp_get_level_,
  2649. omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
  2650. omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
  2651. New exports @@OMP_3.0.
  2652. * omp.h.in (omp_sched_t): New type.
  2653. (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
  2654. omp_set_max_active_levels, omp_get_max_active_levels,
  2655. omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
  2656. omp_get_active_level): New prototypes.
  2657. * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
  2658. gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
  2659. gomp_thread_limit_var, gomp_remaining_threads_count,
  2660. gomp_remaining_threads_lock): New variables.
  2661. (parse_spincount): New function.
  2662. (initialize_env): Call gomp_init_num_threads unconditionally.
  2663. Initialize gomp_available_cpus. Call parse_spincount,
  2664. initialize gomp_{,throttled_}spin_count_var
  2665. depending on presence and value of OMP_WAIT_POLICY and
  2666. GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
  2667. Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
  2668. OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
  2669. for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
  2670. gomp_remaining_threads_lock if needed. Use gomp_global_icv.
  2671. (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
  2672. gomp_run_sched_var, gomp_run_sched_chunk): Remove.
  2673. (gomp_global_icv): New.
  2674. (parse_schedule): Use it. Parse "auto".
  2675. (omp_set_num_threads): Use gomp_icv.
  2676. (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
  2677. Likewise.
  2678. (omp_get_max_threads): Move from parallel.c.
  2679. (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
  2680. omp_set_max_active_levels, omp_get_max_active_levels): New functions,
  2681. add ialias.
  2682. (parse_stacksize, parse_wait_policy): New functions.
  2683. * fortran.c: Rewrite lock wrappers, if symbol versioning provide
  2684. both wrappers for compatibility and new locks.
  2685. (omp_set_schedule, omp_get_schedule,
  2686. omp_get_thread_limit, omp_set_max_active_levels,
  2687. omp_get_max_active_levels, omp_get_level,
  2688. omp_get_ancestor_thread_num, omp_get_team_size,
  2689. omp_get_active_level): New ialias_redirect.
  2690. (omp_set_schedule_, omp_set_schedule_8_,
  2691. omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
  2692. omp_set_max_active_levels_, omp_set_max_active_levels_8_,
  2693. omp_get_max_active_levels_, omp_get_level_,
  2694. omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
  2695. omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
  2696. New functions.
  2697. * parallel.c: Include limits.h.
  2698. (gomp_resolve_num_threads): Add count argument. Rewritten.
  2699. (GOMP_parallel_start): Call gomp_new_team and pass that as last
  2700. argument to gomp_team_start. Pass 0 as second argument to
  2701. gomp_resolve_num_threads.
  2702. (GOMP_parallel_end): Decrease gomp_remaining_threads_count
  2703. if gomp_thread_limit_var != ULONG_MAX.
  2704. (omp_in_parallel): Implement using ts.active_level.
  2705. (omp_get_max_threads): Move to env.c.
  2706. (omp_get_level, omp_get_ancestor_thread_num,
  2707. omp_get_team_size, omp_get_active_level): New functions,
  2708. add ialias.
  2709. * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
  2710. after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
  2711. gomp_iter_dynamic_next instead of the _locked variant and don't take
  2712. lock around it, otherwise acquire it before calling
  2713. gomp_iter_dynamic_next_locked.
  2714. (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
  2715. gomp_iter_dynamic_next instead of the _locked variant and don't take
  2716. lock around it.
  2717. (GOMP_parallel_sections_start): Call gomp_new_team instead of
  2718. gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
  2719. Adjust gomp_team_start caller. Pass count as second argument to
  2720. gomp_resolve_num_threads, don't adjust num_threads after the call.
  2721. Use gomp_icv.
  2722. * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
  2723. ws->chunk_size by incr.
  2724. (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
  2725. code.
  2726. * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
  2727. types.
  2728. (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
  2729. (omp_check_defines): Check even the compat defines.
  2730. * config/linux/ptrlock.c: New file.
  2731. * config/linux/ptrlock.h: New file.
  2732. * config/linux/wait.h: New file.
  2733. * config/posix/ptrlock.c: New file.
  2734. * config/posix/ptrlock.h: New file.
  2735. * config/linux/bar.h (gomp_team_barrier_wait,
  2736. gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
  2737. (gomp_team_barrier_set_task_pending,
  2738. gomp_team_barrier_clear_task_pending,
  2739. gomp_team_barrier_set_waiting_for_tasks,
  2740. gomp_team_barrier_waiting_for_tasks,
  2741. gomp_team_barrier_done): New inlines.
  2742. (gomp_barrier_t): Rewritten.
  2743. (gomp_barrier_state_t): New typedef.
  2744. (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
  2745. gomp_barrier_wait_start): Rewritten.
  2746. (gomp_barrier_wait_end): Change second argument to
  2747. gomp_barrier_state_t.
  2748. (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
  2749. inlines.
  2750. * config/linux/bar.c: Include wait.h instead of libgomp.h and
  2751. futex.h.
  2752. (gomp_barrier_wait_end): Rewritten.
  2753. (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
  2754. gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
  2755. * config/posix/bar.h (gomp_barrier_t): Add generation field.
  2756. (gomp_barrier_state_t): New typedef.
  2757. (gomp_team_barrier_wait,
  2758. gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
  2759. (gomp_barrier_wait_start): Or all but low 2 bits from generation
  2760. into the return value. Return gomp_barrier_state_t.
  2761. (gomp_team_barrier_set_task_pending,
  2762. gomp_team_barrier_clear_task_pending,
  2763. gomp_team_barrier_set_waiting_for_tasks,
  2764. gomp_team_barrier_waiting_for_tasks,
  2765. gomp_team_barrier_done): New inlines.
  2766. (gomp_barrier_wait_end): Change second argument to
  2767. gomp_barrier_state_t.
  2768. (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
  2769. inlines.
  2770. * config/posix/bar.c (gomp_barrier_init): Clear generation field.
  2771. (gomp_barrier_wait_end): Change second argument to
  2772. gomp_barrier_state_t.
  2773. (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
  2774. gomp_team_barrier_wake): New functions.
  2775. * config/linux/mutex.c: Include wait.h instead of libgomp.h and
  2776. futex.h.
  2777. (gomp_futex_wake, gomp_futex_wait): New variables.
  2778. (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
  2779. * config/linux/lock.c: Rewrite to make locks task owned,
  2780. for backwards compatibility provide the old entrypoints
  2781. if symbol versioning. Include wait.h instead of libgomp.h and
  2782. futex.h.
  2783. (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
  2784. * config/posix95/lock.c: Rewrite to make locks task owned,
  2785. for backwards compatibility provide the old entrypoints
  2786. if symbol versioning.
  2787. * config/posix/lock.c: Rewrite to make locks task owned,
  2788. for backwards compatibility provide the old entrypoints
  2789. if symbol versioning.
  2790. * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
  2791. (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
  2792. * config/posix/proc.c, config/mingw32/proc.c: Similarly.
  2793. * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
  2794. (sys_futex0): Return error code.
  2795. (futex_wake, futex_wait): If ENOSYS was returned, clear
  2796. FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
  2797. (cpu_relax, atomic_write_barrier): New static inlines.
  2798. * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
  2799. (futex_wake, futex_wait): If ENOSYS was returned, clear
  2800. FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
  2801. (cpu_relax, atomic_write_barrier): New static inlines.
  2802. * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
  2803. (sys_futex0): Return error code.
  2804. (futex_wake, futex_wait): If ENOSYS was returned, clear
  2805. FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
  2806. (cpu_relax, atomic_write_barrier): New static inlines.
  2807. * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
  2808. (sys_futex0): Return error code.
  2809. (futex_wake, futex_wait): If ENOSYS was returned, clear
  2810. FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
  2811. (cpu_relax, atomic_write_barrier): New static inlines.
  2812. * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
  2813. (sys_futex0): Return error code.
  2814. (futex_wake, futex_wait): If ENOSYS was returned, clear
  2815. FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
  2816. (cpu_relax, atomic_write_barrier): New static inlines.
  2817. * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
  2818. (sys_futex0): Return error code.
  2819. (futex_wake, futex_wait): If ENOSYS was returned, clear
  2820. FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
  2821. (cpu_relax, atomic_write_barrier): New static inlines.
  2822. * config/linux/sem.c: Include wait.h instead of libgomp.h and
  2823. futex.h.
  2824. (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
  2825. * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
  2826. * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
  2827. types.
  2828. (omp_nest_lock_t): Change owner into void *, add lock field.
  2829. * config/posix95/omp-lock.h: Include semaphore.h.
  2830. (omp_lock_25_t, omp_nest_lock_25_t): New types.
  2831. (omp_lock_t): Use sem_t instead of mutex if semaphores
  2832. aren't broken.
  2833. (omp_nest_lock_t): Likewise. Change owner to void *.
  2834. * config/posix/omp-lock.h: Include semaphore.h.
  2835. (omp_lock_25_t, omp_nest_lock_25_t): New types.
  2836. (omp_lock_t): Use sem_t instead of mutex if semaphores
  2837. aren't broken.
  2838. (omp_nest_lock_t): Likewise. Add owner field.
  2839. 2008-06-06 Jakub Jelinek <jakub@redhat.com>
  2840. * testsuite/libgomp.c/collapse-1.c: New test.
  2841. * testsuite/libgomp.c/collapse-2.c: New test.
  2842. * testsuite/libgomp.c/collapse-3.c: New test.
  2843. * testsuite/libgomp.c/icv-1.c: New test.
  2844. * testsuite/libgomp.c/icv-2.c: New test.
  2845. * testsuite/libgomp.c/lib-2.c: New test.
  2846. * testsuite/libgomp.c/lock-1.c: New test.
  2847. * testsuite/libgomp.c/lock-2.c: New test.
  2848. * testsuite/libgomp.c/lock-3.c: New test.
  2849. * testsuite/libgomp.c/loop-4.c: New test.
  2850. * testsuite/libgomp.c/loop-5.c: New test.
  2851. * testsuite/libgomp.c/loop-6.c: New test.
  2852. * testsuite/libgomp.c/loop-7.c: New test.
  2853. * testsuite/libgomp.c/loop-8.c: New test.
  2854. * testsuite/libgomp.c/loop-9.c: New test.
  2855. * testsuite/libgomp.c/nested-3.c: New test.
  2856. * testsuite/libgomp.c/nestedfn-6.c: New test.
  2857. * testsuite/libgomp.c/sort-1.c: New test.
  2858. * testsuite/libgomp.c/task-1.c: New test.
  2859. * testsuite/libgomp.c/task-2.c: New test.
  2860. * testsuite/libgomp.c/task-3.c: New test.
  2861. * testsuite/libgomp.c/task-4.c: New test.
  2862. * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
  2863. to C++ testsuite default compiler options.
  2864. * testsuite/libgomp.c++/collapse-1.C: New test.
  2865. * testsuite/libgomp.c++/collapse-2.C: New test.
  2866. * testsuite/libgomp.c++/ctor-10.C: New test.
  2867. * testsuite/libgomp.c++/for-1.C: New test.
  2868. * testsuite/libgomp.c++/for-2.C: New test.
  2869. * testsuite/libgomp.c++/for-3.C: New test.
  2870. * testsuite/libgomp.c++/for-4.C: New test.
  2871. * testsuite/libgomp.c++/for-5.C: New test.
  2872. * testsuite/libgomp.c++/loop-8.C: New test.
  2873. * testsuite/libgomp.c++/loop-9.C: New test.
  2874. * testsuite/libgomp.c++/loop-10.C: New test.
  2875. * testsuite/libgomp.c++/task-1.C: New test.
  2876. * testsuite/libgomp.c++/task-2.C: New test.
  2877. * testsuite/libgomp.c++/task-3.C: New test.
  2878. * testsuite/libgomp.c++/task-4.C: New test.
  2879. * testsuite/libgomp.c++/task-5.C: New test.
  2880. * testsuite/libgomp.c++/task-6.C: New test.
  2881. * testsuite/libgomp.fortran/allocatable1.f90: New test.
  2882. * testsuite/libgomp.fortran/allocatable2.f90: New test.
  2883. * testsuite/libgomp.fortran/allocatable3.f90: New test.
  2884. * testsuite/libgomp.fortran/allocatable4.f90: New test.
  2885. * testsuite/libgomp.fortran/collapse1.f90: New test.
  2886. * testsuite/libgomp.fortran/collapse2.f90: New test.
  2887. * testsuite/libgomp.fortran/collapse3.f90: New test.
  2888. * testsuite/libgomp.fortran/collapse4.f90: New test.
  2889. * testsuite/libgomp.fortran/lastprivate1.f90: New test.
  2890. * testsuite/libgomp.fortran/lastprivate2.f90: New test.
  2891. * testsuite/libgomp.fortran/lib4.f90: New test.
  2892. * testsuite/libgomp.fortran/lock-1.f90: New test.
  2893. * testsuite/libgomp.fortran/lock-2.f90: New test.
  2894. * testsuite/libgomp.fortran/nested1.f90: New test.
  2895. * testsuite/libgomp.fortran/nestedfn4.f90: New test.
  2896. * testsuite/libgomp.fortran/strassen.f90: New test.
  2897. * testsuite/libgomp.fortran/tabs1.f90: New test.
  2898. * testsuite/libgomp.fortran/tabs2.f: New test.
  2899. * testsuite/libgomp.fortran/task1.f90: New test.
  2900. * testsuite/libgomp.fortran/task2.f90: New test.
  2901. * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
  2902. * testsuite/libgomp.fortran/vla5.f90: Likewise.
  2903. * testsuite/libgomp.c/pr26943-2.c: Likewise.
  2904. * testsuite/libgomp.c/pr26943-3.c: Likewise.
  2905. * testsuite/libgomp.c/pr26943-4.c: Likewise.
  2906. 2008-05-23 Jakub Jelinek <jakub@redhat.com>
  2907. PR c++/36308
  2908. * testsuite/libgomp.c++/ctor-11.C: New test.
  2909. * testsuite/libgomp.c++/ctor-12.C: New test.
  2910. 2008-05-15 Janis Johnson <janis187@us.ibm.com>
  2911. * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
  2912. 2008-05-07 Jakub Jelinek <jakub@redhat.com>
  2913. PR middle-end/36106
  2914. * testsuite/libgomp.c/atomic-5.c: New test.
  2915. * testsuite/libgomp.c/atomic-6.c: New test.
  2916. * testsuite/libgomp.c/autopar-1.c: New test.
  2917. 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
  2918. * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
  2919. (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
  2920. (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
  2921. (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
  2922. * configure: Regenerate.
  2923. * Makefile.in, testsuite/Makefile.in: Likewise.
  2924. 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
  2925. PR bootstrap/35457
  2926. * aclocal.m4: Regenerate.
  2927. * configure: Regenerate.
  2928. 2008-03-18 Jakub Jelinek <jakub@redhat.com>
  2929. PR middle-end/35611
  2930. * testsuite/libgomp.c/atomic-4.c: New test.
  2931. PR libgomp/35625
  2932. * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
  2933. (gomp_iter_guided_next): Likewise.
  2934. * testsuite/libgomp.c/pr35625.c: New test.
  2935. 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
  2936. * aclocal.m4: Regenerate.
  2937. * configure: Likewise.
  2938. * Makefile.in: Likewise.
  2939. * testsuite/Makefile.in: Likewise.
  2940. 2008-03-13 Jakub Jelinek <jakub@redhat.com>
  2941. PR middle-end/35185
  2942. * testsuite/libgomp.c++/pr35185.C: New test.
  2943. 2008-03-12 Jakub Jelinek <jakub@redhat.com>
  2944. PR middle-end/35549
  2945. * testsuite/libgomp.c/pr35549.c: New test.
  2946. 2008-03-06 Jakub Jelinek <jakub@redhat.com>
  2947. * testsuite/libgomp.c/atomic-3.c: New test.
  2948. 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
  2949. PR fortran/33197
  2950. * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
  2951. .F08 file suffixes.
  2952. 2008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
  2953. PR libgomp/33131
  2954. * configure.ac: Add ACX_HEADER_STRING.
  2955. * env.c: Include strings.h.
  2956. * aclocal.m4: Regenerate.
  2957. * config.h.in: Regenerate.
  2958. * configure: Regenerate.
  2959. * Makefile.in: Regenerate.
  2960. * testsuite/Makefile.in: Regenerate.
  2961. 2008-02-15 Jakub Jelinek <jakub@redhat.com>
  2962. PR middle-end/35196
  2963. * testsuite/libgomp.c/pr35196.c: New test.
  2964. PR middle-end/35130
  2965. * testsuite/libgomp.fortran/pr35130.f90: New test.
  2966. * testsuite/libgomp.c/pr35130.c: New test.
  2967. 2008-01-25 Jakub Jelinek <jakub@redhat.com>
  2968. PR middle-end/33880
  2969. * testsuite/libgomp.c/pr33880.c: New test.
  2970. * testsuite/libgomp.fortran/pr33880.f90: New test.
  2971. 2008-01-24 David Edelsohn <edelsohn@gnu.org>
  2972. * configure: Regenerate.
  2973. 2008-01-08 Jakub Jelinek <jakub@redhat.com>
  2974. * configure.ac: Move futex checking into ../config/futex.m4.
  2975. * configure: Rebuilt.
  2976. * aclocal.m4: Rebuilt.
  2977. * Makefile.in: Rebuilt.
  2978. * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
  2979. 2007-10-15 ../config/tls.m4 change.
  2980. 2007-12-19 Jakub Jelinek <jakub@redhat.com>
  2981. PR c++/34513
  2982. * testsuite/libgomp.c/pr34513.c: New test.
  2983. * testsuite/libgomp.c++/pr34513.C: New test.
  2984. 2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
  2985. PR target/32765
  2986. * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
  2987. 2007-12-04 Jakub Jelinek <jakub@redhat.com>
  2988. * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
  2989. 2007-12-03 Jakub Jelinek <jakub@redhat.com>
  2990. * testsuite/libgomp.c/private-1.c: New test.
  2991. 2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
  2992. Paolo Bonzini <bonzini@gnu.org>
  2993. * Makefile.am: Use space as vpath separator. Use 'vpath %'
  2994. instead of 'VPATH ='.
  2995. * Makefile.in: Regenerate.
  2996. 2007-11-23 Matthias Klose <doko@ubuntu.com>
  2997. * configure.ac: Adjust makeinfo version check.
  2998. * configure: Regenerate.
  2999. 2007-11-10 Jakub Jelinek <jakub@redhat.com>
  3000. PR fortran/34020
  3001. * testsuite/libgomp.fortran/pr34020.f90: New test.
  3002. 2007-11-06 Jakub Jelinek <jakub@redhat.com>
  3003. PR c++/33894
  3004. * testsuite/libgomp.c++/atomic-1.C: New test.
  3005. 2007-10-25 Jakub Jelinek <jakub@redhat.com>
  3006. PR libgomp/33275
  3007. * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
  3008. Make x and y integers rather than (implicit) reals. Add private (j)
  3009. clause to the last omp parallel.
  3010. 2007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
  3011. * configure: Regenerate following changes to ../config/tls.m4.
  3012. 2007-09-28 Jakub Jelinek <jakub@redhat.com>
  3013. * testsuite/libgomp.fortran/stack.f90: New test.
  3014. 2007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
  3015. * config/mingw32/proc.c: New file.
  3016. 2007-09-05 Uros Bizjak <ubizjak@gmail.com>
  3017. * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
  3018. (main): Use __get_cpuid to get i386 target fetaures.
  3019. * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
  3020. (main): Use __get_cpuid to get x86_64 target fetaures.
  3021. 2007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
  3022. PR target/32765
  3023. * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
  3024. * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
  3025. 2007-07-12 Jakub Jelinek <jakub@redhat.com>
  3026. PR fortran/32550
  3027. * testsuite/libgomp.fortran/pr32550.f90: New test.
  3028. * testsuite/libgomp.fortran/crayptr2.f90: New test.
  3029. 2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
  3030. * aclocal.m4: Regenerated.
  3031. 2007-07-05 Tobias Burnus <burnus@net-b.de>
  3032. PR fortran/32359
  3033. * testsuite/libgomp.fortran/pr32359.f90: New.
  3034. 2007-07-02 Jakub Jelinek <jakub@redhat.com>
  3035. PR libgomp/32468
  3036. * sections.c (GOMP_parallel_sections_start): Only decrease
  3037. number of threads to COUNT if dyn_var is true.
  3038. * testsuite/libgomp.c/pr32468.c: New test.
  3039. 2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
  3040. PR libgomp/26308
  3041. * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
  3042. 2007-06-21 Jakub Jelinek <jakub@redhat.com>
  3043. PR middle-end/32362
  3044. * testsuite/libgomp.c/pr32362-1.c: New test.
  3045. * testsuite/libgomp.c/pr32362-2.c: New test.
  3046. * testsuite/libgomp.c/pr32362-3.c: New test.
  3047. 2007-06-07 Jakub Jelinek <jakub@redhat.com>
  3048. * team.c (gomp_team_start): Fix setting up thread_attr
  3049. stack size.
  3050. 2007-06-02 Paolo Bonzini <bonzini@gnu.org>
  3051. * configure: Regenerate.
  3052. 2007-05-23 Steve Ellcey <sje@cup.hp.com>
  3053. * Makefile.in: Regenerate.
  3054. * configure: Regenerate.
  3055. * aclocal.m4: Regenerate.
  3056. * testsuite/Makefile.in: Regenerate.
  3057. 2007-05-04 Jakub Jelinek <jakub@redhat.com>
  3058. * config/linux/proc.c: New file.
  3059. PR libgomp/28482
  3060. * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
  3061. 2007-04-19 Daniel Franke <franke.daniel@gmail.com>
  3062. * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
  3063. 2007-04-16 Matthias Klose <doko@debian.org>
  3064. * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
  3065. flags if not building with -m64.
  3066. * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
  3067. flag for i?86-*-* targets, if current target matches -m64.
  3068. 2007-04-14 Steve Ellcey <sje@cup.hp.com>
  3069. * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
  3070. * Makefile.in: Regenerate.
  3071. 2007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
  3072. PR testsuite/31369
  3073. * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
  3074. ld_library_path.
  3075. * testsuite/libgomp.fortran/fortran.exp: Likewise.
  3076. 2007-04-04 Jakub Jelinek <jakub@redhat.com>
  3077. * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
  3078. decls.
  3079. (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
  3080. * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
  3081. (parse_affinity): New function.
  3082. (initialize_env): Call it and gomp_init_affinity.
  3083. * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
  3084. create new pthread_attr_t and call gomp_init_thread_affinity
  3085. on it for each thread before passing the attribute to pthread_create.
  3086. * config/linux/affinity.c: New file.
  3087. * config/posix/affinity.c: New file.
  3088. * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
  3089. * configure: Rebuilt.
  3090. * config.h.in: Rebuilt.
  3091. * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
  3092. * Makefile.in: Rebuilt.
  3093. 2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
  3094. * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
  3095. *-*-darwin*.
  3096. * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
  3097. and use it if found.
  3098. 2007-03-18 Uros Bizjak <ubizjak@gmail.com>
  3099. * testsuite/config/default.exp: New file.
  3100. * testsuite/lib/libgomp.exp: New file.
  3101. * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
  3102. libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
  3103. load_lib *, load_gcc_lib *): Move to libgomp.exp.
  3104. (libgomp_load): Remove.
  3105. * testsuite/lib/libgomp.exp (libgomp_init): Compute
  3106. always_ld_library_path, not ld_library_path. Set additional_flags
  3107. to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
  3108. (target_compile): Do not call libgomp_init. Append lang_library_path
  3109. and lang_link_flags to options.
  3110. * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
  3111. ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
  3112. here.
  3113. * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
  3114. always_ld_library_path. Set LD_LIBRARY_PATH here.
  3115. * testsuite/libgomp.fortran/fortran.exp: Ditto.
  3116. * testsuite/libgomp.c/atomic-1.c: Set dg-options to
  3117. "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
  3118. CX8 flag.
  3119. * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
  3120. lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
  3121. * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
  3122. * testsuite/libgomp.c/pr29947-1.c: Ditto.
  3123. * testsuite/libgomp.c/atomic-10.c: Ditto.
  3124. 2007-03-21 Jakub Jelinek <jakub@redhat.com>
  3125. * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
  3126. dg-final cleanup-modules line.
  3127. * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
  3128. * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
  3129. * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
  3130. * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
  3131. * testsuite/libgomp.fortran/reduction5.f90: Likewise.
  3132. * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
  3133. * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
  3134. 2007-03-18 Andreas Schwab <schwab@suse.de>
  3135. * acinclude.m4: Adjust regular expression for ld version
  3136. extraction.
  3137. * configure: Regenerate.
  3138. 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
  3139. * Makefile.am: Add install-pdf target as copied from
  3140. automake v1.10 rules.
  3141. * Makefile.in: Regenerate
  3142. 2007-02-07 Jakub Jelinek <jakub@redhat.com>
  3143. PR libgomp/28486
  3144. * configure: Regenerate.
  3145. PR c++/30703
  3146. * testsuite/libgomp.c++/pr30703.C: New test.
  3147. 2007-02-02 Jakub Jelinek <jakub@redhat.com>
  3148. Revert:
  3149. 2006-07-05 Eric Christopher <echristo@apple.com>
  3150. * configure.ac: Depend addition of -pthread on host OS.
  3151. * configure: Regenerate.
  3152. 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
  3153. * libgomp.texi: Fix spacing after abbreviations.
  3154. 2007-01-31 Daniel Franke <franke.daniel@gmail.com>
  3155. PR libgomp/30546
  3156. * configure.ac: Add check for makeinfo
  3157. * Makefile.am: Redefined target libgomp.info, build libgomp.info only
  3158. if an appropiate version of makeinfo is found.
  3159. * aclocal.m4: Regenerated.
  3160. * configure: Regenerated.
  3161. * Makefile.in: Regenerated.
  3162. * testsuite/Makefile.in: Regenerated.
  3163. 2007-01-29 Daniel Franke <franke.daniel@gmail.com>
  3164. PR libgomp/30540
  3165. * libgomp.texi: More about implementation-dependent settings.
  3166. 2007-01-26 Tobias Burnus <burnus@net-b.de>
  3167. * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
  3168. 2007-01-24 Jakub Jelinek <jakub@redhat.com>
  3169. PR middle-end/30494
  3170. * testsuite/libgomp.c/pr30494.c: New test.
  3171. 2007-01-15 Tom Tromey <tromey@redhat.com>
  3172. * configure: Rebuilt.
  3173. * configure.ac: Fixed comment.
  3174. 2007-01-14 Daniel Franke <franke.daniel@gmail.com>
  3175. * libgomp.texi: Document implementation specific default values of
  3176. environment variables.
  3177. 2006-12-21 Daniel Franke <franke.daniel@gmail.com>
  3178. PR libgomp/28209
  3179. * libgomp.texi: New file.
  3180. * configure.ac: Add --enable-generated-files-in-srcdir option.
  3181. * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
  3182. files to srcdir.
  3183. * Makefile.in: Regenerated.
  3184. * config.h.in: Regenerated.
  3185. * testsuite/Makefile.in: Regenerated.
  3186. * NOTES: Removed.
  3187. 2006-12-04 Daniel Franke <franke.daniel@gmail.com>
  3188. PR libgomp/29949
  3189. * env.c (omp_set_num_threads): Set illegal thread count to 1.
  3190. 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
  3191. * configure: Regenerate.
  3192. 2006-12-04 Jakub Jelinek <jakub@redhat.com>
  3193. PR libgomp/29947
  3194. * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
  3195. start if there shouldn't be any loop iterations.
  3196. (gomp_loop_ordered_static_start): Remove start == end test.
  3197. * testsuite/libgomp.c/pr29947-1.c: New test.
  3198. * testsuite/libgomp.c/pr29947-2.c: New test.
  3199. 2006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
  3200. * configure.tgt: Force initial-exec TLS model on Linux only.
  3201. 2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
  3202. * configure: Regenerated.
  3203. 2006-11-09 Uros Bizjak <ubizjak@gmail.com>
  3204. * env.c (parse_schedule): Reject out of range values.
  3205. (parse_unsigned_long): Reject out of range, negative or zero values.
  3206. 2006-10-29 Jakub Jelinek <jakub@redhat.com>
  3207. PR fortran/29629
  3208. * testsuite/libgomp.fortran/pr29629.f90: New test.
  3209. 2006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
  3210. PR libgomp/29494
  3211. * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
  3212. * config/posix95: New directory.
  3213. * config/posix95/omp-lock.h: New file.
  3214. * config/posix95/lock.c: Likewise.
  3215. 2006-10-14 Geoffrey Keating <geoffk@apple.com>
  3216. * aclocal.m4: Regenerate.
  3217. * configure: Regenerate.
  3218. 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
  3219. * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
  3220. '<' to '<='.
  3221. 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
  3222. * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
  3223. test.
  3224. * configure: Regenerate.
  3225. * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
  3226. 2006-09-26 Jakub Jelinek <jakub@redhat.com>
  3227. PR middle-end/25261
  3228. PR middle-end/28790
  3229. * testsuite/libgomp.c/nestedfn-4.c: New test.
  3230. * testsuite/libgomp.c/nestedfn-5.c: New test.
  3231. * testsuite/libgomp.fortran/nestedfn3.f90: New test.
  3232. PR fortran/29097
  3233. * testsuite/libgomp.fortran/condinc1.f: New test.
  3234. * testsuite/libgomp.fortran/condinc2.f: New test.
  3235. * testsuite/libgomp.fortran/condinc3.f90: New test.
  3236. * testsuite/libgomp.fortran/condinc4.f90: New test.
  3237. * testsuite/libgomp.fortran/condinc1.inc: New file.
  3238. 2006-09-18 Tom Tromey <tromey@redhat.com>
  3239. * configure: Rebuilt.
  3240. 2006-09-13 Joseph S. Myers <joseph@codesourcery.com>
  3241. PR c/28768
  3242. PR preprocessor/14634
  3243. * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
  3244. to AC_DEFINE.
  3245. * configure: Regenerate.
  3246. 2006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
  3247. * testsuite/libgomp.fortran/reduction3.f90: Change
  3248. -2147483648 to -huge(i)-1 to avoid overflow.
  3249. * testsuite/libgomp.fortran/reduction4.f90: Change
  3250. Z'ffffffff' to not(0) to avoid overflow.
  3251. 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
  3252. PR libgomp/25938
  3253. * Makefile.am (libsubincludedir): New.
  3254. (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
  3255. * Makefile.in: Regenerate.
  3256. 2006-08-17 Jakub Jelinek <jakub@redhat.com>
  3257. PR libgomp/28725
  3258. * env.c: Include ctype.h.
  3259. (parse_schedule, parse_unsigned_long, parse_boolean): Allow
  3260. leading and/or trailing whitespace and compare strings case
  3261. insensitively.
  3262. 2006-07-16 Jakub Jelinek <jakub@redhat.com>
  3263. PR fortran/28390
  3264. * testsuite/libgomp.fortran/pr28390.f: New test.
  3265. 2006-07-05 Eric Christopher <echristo@apple.com>
  3266. * configure.ac: Depend addition of -pthread on host OS.
  3267. * configure: Regenerate.
  3268. 2006-06-21 Jakub Jelinek <jakub@redhat.com>
  3269. * critical.c (GOMP_critical_name_start): Fix *pptr initialization
  3270. when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
  3271. defined.
  3272. 2006-06-20 Jakub Jelinek <jakub@redhat.com>
  3273. PR libgomp/26175
  3274. PR libgomp/26477
  3275. * configure.ac: If neither --enable-linux-futex nor
  3276. --disable-linux-futex is passed, determine the default by checking
  3277. for compiling and/or running against NPTL. With --enable-linux-futex,
  3278. check if SYS_gettid and SYS_futex are defined.
  3279. * configure: Rebuilt.
  3280. 2006-06-14 Richard Henderson <rth@redhat.com>
  3281. PR libgomp/28008
  3282. * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
  3283. undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
  3284. 2006-06-09 Richard Henderson <rth@redhat.com>
  3285. * env.c (gomp_nthreads_var): Change to unsigned long.
  3286. (gomp_run_sched_chunk): Likewise.
  3287. (parse_unsigned_long): Rename from parse_num_threads and generalize.
  3288. (initialize_env): Initialize gomp_thread_attr.
  3289. * libgomp.h (gomp_nthreads_var): Update decl.
  3290. (gomp_run_sched_chunk): Likewise.
  3291. (gomp_thread_attr): Declare.
  3292. * team.c (gomp_thread_attr): Export.
  3293. (initialize_team): Don't initialize it.
  3294. 2006-06-09 Jakub Jelinek <jakub@redhat.com>
  3295. PR fortran/27916
  3296. * testsuite/libgomp.fortran/pr27916-1.f90: New test.
  3297. * testsuite/libgomp.fortran/pr27916-2.f90: New test.
  3298. 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  3299. * config/mingw32/time.c: New file.
  3300. * configure.tgt: Use it.
  3301. 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
  3302. * Makefile.am: Add install-html target. Add install-html to .PHONY
  3303. * Makefile.in: Regenerate.
  3304. 2006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
  3305. PR libgomp/27612
  3306. * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
  3307. * testsuite/libgomp.c/critical-1.c: Likewise.
  3308. * testsuite/libgomp.c/loop-1.c: Likewise.
  3309. * testsuite/libgomp.c/loop-2.c: Likewise.
  3310. * testsuite/libgomp.c/single-1.c: Likewise.
  3311. * testsuite/libgomp.c/ordered-1.c: Likewise.
  3312. * testsuite/libgomp.c/ordered-2.c: Likewise.
  3313. 2006-05-15 Jakub Jelinek <jakub@redhat.com>
  3314. PR middle-end/27416
  3315. * libgomp.fortran/pr27416-1.f90: New test.
  3316. 2006-05-03 Jakub Jelinek <jakub@redhat.com>
  3317. PR fortran/27395
  3318. * testsuite/libgomp.fortran/pr27395-1.f90: New test.
  3319. * testsuite/libgomp.fortran/pr27395-2.f90: New test.
  3320. 2006-05-02 Jakub Jelinek <jakub@redhat.com>
  3321. PR c++/26943
  3322. * testsuite/libgomp.c/pr26943-1.c: New test.
  3323. * testsuite/libgomp.c/pr26943-2.c: New test.
  3324. * testsuite/libgomp.c/pr26943-3.c: New test.
  3325. * testsuite/libgomp.c/pr26943-4.c: New test.
  3326. * testsuite/libgomp.c++/pr27337.C: Remove barrier.
  3327. * testsuite/libgomp.c++/pr26943.C: New test.
  3328. 2006-05-02 Jakub Jelinek <jakub@redhat.com>
  3329. PR middle-end/27337
  3330. * testsuite/libgomp.c++/pr27337.C: New test.
  3331. 2006-04-26 Jakub Jelinek <jakub@redhat.com>
  3332. PR c/26171
  3333. * testsuite/libgomp.c/pr26171.c: New test.
  3334. 2006-04-25 Richard Henderson <rth@redhat.com>
  3335. PR libgomp/25865
  3336. * configure.ac: Use GCC_CHECK_TLS.
  3337. * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
  3338. * Makefile.in, aclocal.m4, configure: Regenerate.
  3339. 2006-04-10 Matthias Klose <doko@debian.org>
  3340. * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
  3341. directory names containing underscores.
  3342. 2006-03-21 Jakub Jelinek <jakub@redhat.com>
  3343. PR c++/26691
  3344. * testsuite/libgomp.c++/pr26691.C: New test.
  3345. 2006-03-13 Jakub Jelinek <jakub@redhat.com>
  3346. * testsuite/libgomp.fortran/retval2.f90: New test.
  3347. 2006-03-09 Diego Novillo <dnovillo@redhat.com>
  3348. * testsuite/libgomp.c++: New directory.
  3349. 2006-02-25 Shantonu Sen <ssen@opendarwin.org>
  3350. * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
  3351. * config/posix/sem.c: Implement the above.
  3352. 2006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
  3353. * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
  3354. define HAVE_BROKEN_POSIX_SEMAPHORES.
  3355. * configure: Rebuilt.
  3356. * config.h.in: Rebuilt.
  3357. 2006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
  3358. PR bootstrap/26161
  3359. * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
  3360. for the other pthread check.
  3361. * configure: Regenerate.
  3362. * config.h.in: Regenerate.
  3363. 2006-02-15 Jakub Jelinek <jakub@redhat.com>
  3364. PR libgomp/25938
  3365. PR libgomp/25984
  3366. * Makefile.am (fincludedir): New variable.
  3367. (nodist_include_HEADERS): Remove Fortran files.
  3368. (nodist_finclude_HEADERS): New variable.
  3369. * Makefile.in: Regenerated.
  3370. 2006-02-13 Jakub Jelinek <jakub@redhat.com>
  3371. * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
  3372. Remove tests for returning assumed character length arrays.
  3373. 2006-02-12 Roger Sayle <roger@eyesopen.com>
  3374. John David Anglin <dave@hiauly1.hia.nrc.ca>
  3375. PR libgomp/25936
  3376. * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
  3377. 2006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
  3378. * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
  3379. 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
  3380. * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
  3381. part of LD_LIBRARY_PATH manually.
  3382. 2006-02-03 H.J. Lu <hongjiu.lu@intel.com>
  3383. PR libgomp/25852
  3384. * testsuite/lib/libgomp-dg.exp (blddir): Set it in
  3385. libgomp_init.
  3386. 2005-01-25 Paolo Bonzini <bonzini@gnu.org>
  3387. PR libgomp/25884
  3388. * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
  3389. * configure.ac (PERL): Don't set.
  3390. (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
  3391. (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
  3392. OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
  3393. * omp.h.in: Wrap the new configure substitutions with @ characters.
  3394. * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
  3395. * aclocal.m4, configure, Makefile.in: Regenerate.
  3396. * mkomp_h.pl: Delete.
  3397. 2005-01-24 Paolo Bonzini <bonzini@gnu.org>
  3398. PR libgomp/25259
  3399. * configure.ac: Use GCC_HEADER_STDINT.
  3400. * libgomp.h: Include gstdint.h.
  3401. * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
  3402. * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
  3403. 2006-01-24 Richard Henderson <rth@redhat.com>
  3404. PR libgomp/25942
  3405. * configure.ac: Add AM_MAINTAINER_MODE.
  3406. * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
  3407. 2006-01-24 Diego Novillo <dnovillo@redhat.com>
  3408. * Makefile.in: Regenerate.
  3409. * testsuite/Makefile.in: Regenerate.
  3410. * aclocal.m4: Regenerate.
  3411. 2006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
  3412. * config/posix/proc.c: Conditional include of sys/loadavg.h for
  3413. Solaris.
  3414. * configure.ac: Add check for loadavg.h.
  3415. (link_gomp): Adjust comment.
  3416. * configure: Regenerate.
  3417. * config.h.in: Regenerate.
  3418. 2006-01-21 Steve Ellcey <sje@cup.hp.com>
  3419. PR libgomp/25877
  3420. * configure.ac: Remove check for alloca.h.
  3421. * configure: Regenerate.
  3422. * config.h.in: Regenerate.
  3423. * libgomp.h: define gomp_alloca to be __builtin_alloca.
  3424. * team.c: Remove use of alloca.h.
  3425. Call gomp_alloca instead of alloca.
  3426. 2006-01-20 Steve Ellcey <sje@cup.hp.com>
  3427. PR libgomp/25877
  3428. * team.c: Add include of alloca.h.
  3429. * configure.ac: Add check for alloca.h.
  3430. * configure: Regenerate.
  3431. * config.h.in: Regenerate.
  3432. 2006-01-17 Jakub Jelinek <jakub@redhat.com>
  3433. PR fortran/25219
  3434. * testsuite/libgomp.fortran/pr25219.f90: New test.
  3435. 2005-12-05 Uros Bizjak <uros@kss-loka.si>
  3436. * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
  3437. testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
  3438. testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
  3439. testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
  3440. testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
  3441. testsuite/libgomp.fortran/threadprivate1.f90,
  3442. testsuite/libgomp.fortran/threadprivate2.f90,
  3443. testsuite/libgomp.fortran/threadprivate3.f90,
  3444. testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
  3445. testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
  3446. testsuite/libgomp.fortran/omp_parse3.f90: Change required
  3447. effective-target to TLS runtime.
  3448. * testsuite/libgomp.fortran/pr25162.f: Require
  3449. effective-target TLS runtime.
  3450. 2005-12-01 Jakub Jelinek <jakub@redhat.com>
  3451. * testsuite/libgomp.fortran/nestedfn2.f90: New test.
  3452. * testsuite/libgomp.c/nestedfn-3.c: New test.
  3453. 2005-11-30 Jakub Jelinek <jakub@redhat.com>
  3454. PR fortran/25162
  3455. * testsuite/libgomp.fortran/pr25162.f: New test.
  3456. 2005-11-28 Jakub Jelinek <jakub@redhat.com>
  3457. * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
  3458. CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
  3459. 2005-11-25 Jakub Jelinek <jakub@redhat.com>
  3460. * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
  3461. libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
  3462. omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
  3463. single.c, team.c, work.c, config/linux/alpha/futex.h,
  3464. config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
  3465. config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
  3466. config/linux/powerpc/futex.h, config/linux/s390/futex.h,
  3467. config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
  3468. config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
  3469. config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
  3470. config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
  3471. FSF address.
  3472. 2005-11-18 Jakub Jelinek <jakub@redhat.com>
  3473. * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
  3474. to nodist_noinst_HEADERS.
  3475. * Makefile.in: Rebuilt.
  3476. * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
  3477. add integer count field.
  3478. * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
  3479. omp_nest_lock_t type change.
  3480. (omp_init_nest_lock): Likewise. Initialize count to 0.
  3481. (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
  3482. Increment count.
  3483. (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
  3484. Decrement count.
  3485. (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
  3486. Increment count if successful and return the new nesting level.
  3487. * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
  3488. * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
  3489. * testsuite/libgomp.c/lib-1.c: New test.
  3490. * testsuite/libgomp.fortran/lib1.f90: New test.
  3491. * testsuite/libgomp.fortran/lib2.f: New test.
  3492. * testsuite/libgomp.fortran/lib3.f: New test.
  3493. 2005-11-17 Richard Henderson <rth@redhat.com>
  3494. PR 24845
  3495. * Makefile.am (nodist_toolexeclib_HEADERS): New.
  3496. * configure.ac (link_gomp): New. Substitute it.
  3497. (AC_CONFIG_FILES): Add libgomp.spec.
  3498. * libgomp.spec.in: New file.
  3499. * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
  3500. * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
  3501. 2005-11-18 Jakub Jelinek <jakub@redhat.com>
  3502. * testsuite/libgomp.fortran/reduction1.f90: Adjust for
  3503. reduction(-:var) behaving the same as reduction(+:var).
  3504. * testsuite/libgomp.c/reduction-4.c: New test.
  3505. 2005-11-15 Uros Bizjak <uros@kss-loka.si>
  3506. * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
  3507. testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
  3508. testsuite/libgomp.c/copyin-3.c,
  3509. testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
  3510. testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
  3511. testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
  3512. testsuite/libgomp.c++/pr24455.C,
  3513. testsuite/libgomp.fortran/threadprivate1.f90,
  3514. testsuite/libgomp.fortran/threadprivate2.f90,
  3515. testsuite/libgomp.fortran/threadprivate3.f90,
  3516. testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
  3517. testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
  3518. testsuite/libgomp.fortran/omp_parse3.f90: Require
  3519. effective-target TLS.
  3520. 2005-11-14 Diego Novillo <dnovillo@redhat.com>
  3521. * HEADER: Remove.
  3522. 2005-11-13 Jakub Jelinek <jakub@redhat.com>
  3523. PR libgomp/24797
  3524. * team.c (initialize_team): Pass NULL rather than free as
  3525. pthread_key_create destructor. Initialize thread specific data
  3526. pointer in initial thread to a static local variable rather than
  3527. malloced memory.
  3528. 2005-11-11 Uros Bizjak <uros@kss-loka.si>
  3529. * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
  3530. its location to ld_library_path.
  3531. 2005-11-10 Diego Novillo <dnovillo@redhat.com>
  3532. * testsuite/libgomp.c/c.exp: Rename from dg.exp.
  3533. 2005-11-10 Diego Novillo <dnovillo@redhat.com>
  3534. * testsuite/libgomp.c: Rename from libgomp.dg.
  3535. 2005-11-09 Diego Novillo <dnovillo@redhat.com>
  3536. * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
  3537. threadprivate variable 'i'.
  3538. 2005-11-09 Jakub Jelinek <jakub@redhat.com>
  3539. * config/linux/s390/futex.h: New file.
  3540. * configure.tgt: Use it.
  3541. * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
  3542. before the parallel.
  3543. 2005-11-08 Jakub Jelinek <jakub@redhat.com>
  3544. PR c++/24734
  3545. * testsuite/libgomp.c++/master-1.C: New test.
  3546. 2005-11-07 Jakub Jelinek <jakub@redhat.com>
  3547. * testsuite/libgomp.dg/copyin-3.c: New test.
  3548. 2005-11-07 Jakub Jelinek <jakub@redhat.com>
  3549. * testsuite/libgomp.fortran/retval1.f90: New test.
  3550. * testsuite/libgomp.fortran/vla7.f90: New test.
  3551. 2005-11-06 Jakub Jelinek <jakub@redhat.com>
  3552. * testsuite/libgomp.fortran/vla2.f90: New test.
  3553. * testsuite/libgomp.fortran/vla3.f90: New test.
  3554. * testsuite/libgomp.fortran/vla4.f90: New test.
  3555. * testsuite/libgomp.fortran/vla5.f90: New test.
  3556. * testsuite/libgomp.fortran/vla6.f90: New test.
  3557. 2005-11-01 Jakub Jelinek <jakub@redhat.com>
  3558. * config/linux/sparc/futex.h: New file.
  3559. * configure.tgt: Use it.
  3560. * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
  3561. * critical.c: Include stdlib.h.
  3562. * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
  3563. ignoring return value.
  3564. * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
  3565. LIBGOMP_CHECK_SYNC_BUILTINS check.
  3566. * configure: Rebuilt.
  3567. 2005-10-31 Jakub Jelinek <jakub@redhat.com>
  3568. * testsuite/libgomp.fortran/vla1.f90: New test.
  3569. 2005-10-31 Richard Henderson <rth@redhat.com>
  3570. * testsuite/libgomp.fortran/character2.f90: Fix race condition
  3571. setting 's' in different threads.
  3572. 2005-10-31 Jakub Jelinek <jakub@redhat.com>
  3573. * libgomp.h (attribute_hidden, ialias): Define.
  3574. * config/posix/proc.c (omp_get_num_procs): Add ialias.
  3575. * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
  3576. * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
  3577. omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
  3578. omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
  3579. omp_test_lock, omp_test_nest_lock): Likewise.
  3580. * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
  3581. omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
  3582. omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
  3583. omp_test_lock, omp_test_nest_lock): Likewise.
  3584. * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
  3585. omp_get_dynamic, omp_get_nested): Likewise.
  3586. * parallel.c (omp_get_num_threads, omp_get_max_threads,
  3587. omp_get_thread_num, omp_in_parallel): Likewise.
  3588. * fortran.c (ialias_redirect): Define.
  3589. (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
  3590. omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
  3591. omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
  3592. omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
  3593. omp_set_num_threads, omp_get_dynamic, omp_get_nested,
  3594. omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
  3595. omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
  3596. omp_get_wtime): Add ialias_redirect.
  3597. 2005-10-30 Jakub Jelinek <jakub@redhat.com>
  3598. * fortran.c: Include stdlib.h.
  3599. 2005-10-29 Jakub Jelinek <jakub@redhat.com>
  3600. * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
  3601. * Makefile.in: Regenerated.
  3602. 2005-10-28 Jakub Jelinek <jakub@redhat.com>
  3603. * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
  3604. * libgomp_f.h.in (omp_check_defines): New function.
  3605. * env.c: Include libgomp_f.h.
  3606. (initialize_env): Call omp_check_defines.
  3607. * testsuite/libgomp.dg/copyin-2.c: New test.
  3608. * testsuite/libgomp.c++/copyin-2.C: New test.
  3609. * testsuite/libgomp.fortran/threadprivate3.f90: New test.
  3610. * testsuite/libgomp.fortran/threadprivate2.f90: New test.
  3611. * testsuite/libgomp.fortran/sharing2.f90: New test.
  3612. * testsuite/libgomp.dg/copyin-1.c: New test.
  3613. * testsuite/libgomp.c++/copyin-1.C: New test.
  3614. 2005-10-26 Jakub Jelinek <jakub@redhat.com>
  3615. * testsuite/libgomp.fortran/crayptr1.f90: New test.
  3616. * testsuite/libgomp.fortran/workshare1.f90: New test.
  3617. * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
  3618. only test.
  3619. * libgomp.fortran/sharing1.f90: New test.
  3620. 2005-10-24 Jakub Jelinek <jakub@redhat.com>
  3621. PR c++/24502
  3622. * testsuite/libgomp.c++/loop-7.C: New test.
  3623. * testsuite/libgomp.dg/nestedfn-2.c: New test.
  3624. * testsuite/libgomp.dg/nestedfn-1.c: New test.
  3625. * testsuite/libgomp.fortran/reduction6.f90: New test.
  3626. * testsuite/libgomp.fortran/nestedfn1.f90: New test.
  3627. 2005-10-23 Richard Henderson <rth@redhat.com>
  3628. * testsuite/libgomp.c++/ctor-1.C: New.
  3629. * testsuite/libgomp.c++/ctor-2.C: New.
  3630. * testsuite/libgomp.c++/ctor-3.C: New.
  3631. * testsuite/libgomp.c++/ctor-4.C: New.
  3632. * testsuite/libgomp.c++/ctor-5.C: New.
  3633. * testsuite/libgomp.c++/ctor-6.C: New.
  3634. * testsuite/libgomp.c++/ctor-7.C: New.
  3635. * testsuite/libgomp.c++/ctor-8.C: New.
  3636. * testsuite/libgomp.c++/ctor-9.C: New.
  3637. 2005-10-21 Diego Novillo <dnovillo@redhat.com>
  3638. PR 24455
  3639. * testsuite/libgomp.c++/pr24455-1.C: New test.
  3640. * testsuite/libgomp.c++/pr24455.C: New test.
  3641. * testsuite/libgomp.dg/pr24455-1.c: New test.
  3642. * testsuite/libgomp.dg/pr24455.c: New test.
  3643. 2005-10-20 Richard Henderson <rth@redhat.com>
  3644. * testsuite/libgomp.c++/loop-6.C: New.
  3645. * testsuite/libgomp.dg/loop-3.c: New.
  3646. 2005-10-20 Jakub Jelinek <jakub@redhat.com>
  3647. * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
  3648. explicitly private.
  3649. * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
  3650. explicitly shared.
  3651. 2005-10-19 Diego Novillo <dnovillo@redhat.com>
  3652. * testsuite/libgomp.fortran/jacobi.f: New test.
  3653. 2005-10-19 Richard Henderson <rth@redhat.com>
  3654. * configure.tgt (i?86-linux): Default to with_arch instead of
  3655. CFLAGS. Add -mtune to match target_cpu.
  3656. (x86_64-linux): Tune to i686.
  3657. * fortran.c (omp_test_nest_lock_): Fix typo.
  3658. 2005-10-19 Jakub Jelinek <jakub@redhat.com>
  3659. * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
  3660. gomp_ordered_sync): Do nothing if team->nthreads == 1.
  3661. * testsuite/libgomp.dg/ordered-3.c: New test.
  3662. * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
  3663. Remove volatile keyword.
  3664. * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
  3665. in COMMON block to avoid warnings on 64-bit targets.
  3666. 2005-10-18 Diego Novillo <dnovillo@redhat.com>
  3667. * testsuite/libgomp.dg/shared-3.c: New test.
  3668. 2005-10-18 Jakub Jelinek <jakub@redhat.com>
  3669. * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
  3670. * testsuite/libgomp.fortran/reduction5.f90: New test.
  3671. 2005-10-18 Jakub Jelinek <jakub@redhat.com>
  3672. * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
  3673. dg-options.
  3674. * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
  3675. flush loop now that __sync_synchronize has proper memory barrier.
  3676. * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
  3677. Add -ffixed-form to dg-options.
  3678. 2005-10-17 Diego Novillo <dnovillo@redhat.com>
  3679. * testsuite/libgomp.fortran/fortran.exp: Also gather tests
  3680. from subdirectories.
  3681. * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
  3682. * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
  3683. * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
  3684. * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
  3685. * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
  3686. * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
  3687. * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
  3688. * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
  3689. * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
  3690. * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
  3691. * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
  3692. * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
  3693. * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
  3694. * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
  3695. * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
  3696. * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
  3697. * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
  3698. * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
  3699. * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
  3700. * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
  3701. * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
  3702. * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
  3703. * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
  3704. * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
  3705. * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
  3706. 2005-10-17 Jakub Jelinek <jakub@redhat.com>
  3707. * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
  3708. lang_library_path exists. Use find instead of glob to gather tests.
  3709. * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
  3710. 2005-10-17 Diego Novillo <dnovillo@redhat.com>
  3711. * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
  3712. * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
  3713. * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
  3714. * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
  3715. * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
  3716. * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
  3717. * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
  3718. * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
  3719. * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
  3720. * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
  3721. * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
  3722. * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
  3723. * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
  3724. 2005-10-15 Jakub Jelinek <jakub@redhat.com>
  3725. * testsuite/libgomp.dg/vla-1.c: New test.
  3726. * testsuite/libgomp.fortran/reference2.f90: New test.
  3727. * testsuite/libgomp.fortran/character2.f90: Remove explicit
  3728. declaration of omp_get_thread_num.
  3729. * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
  3730. use omp_lib.
  3731. * testsuite/libgomp.fortran/reduction1.f90: New test.
  3732. * testsuite/libgomp.fortran/reduction2.f90: New test.
  3733. * testsuite/libgomp.fortran/reduction3.f90: New test.
  3734. * testsuite/libgomp.fortran/reduction4.f90: New test.
  3735. 2005-10-13 Richard Henderson <rth@redhat.com>
  3736. * Makefile.am (libgomp_la_SOURCES): Add bar.c.
  3737. * Makefile.in: Regenerate.
  3738. * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
  3739. * libgomp.h: Include bar.h.
  3740. (struct gomp_barrier): Remove.
  3741. (struct gomp_team): Add barrier. Replace master_barrier with
  3742. master_release. Replace threads with ordered_release.
  3743. (struct gomp_thread): Replace barrier with release.
  3744. * ordered.c (gomp_ordered_first): Update for ordered_release change.
  3745. (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
  3746. gomp_ordered_static_next, gomp_ordered_sync): Likewise.
  3747. * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
  3748. (GOMP_single_copy_end): Likewise.
  3749. * team.c (gomp_threads_dock): New.
  3750. (gomp_barrier_init, gomp_barrier_destroy): Remove.
  3751. (gomp_thread_start): Use gomp_barrier_wait.
  3752. (new_team, free_team): Update for gomp_team changes.
  3753. (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
  3754. (gomp_team_end): Use gomp_barrier_wait.
  3755. (initialize_team): Update for gomp_thread changes.
  3756. * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
  3757. (gomp_work_share_end_nowait): Use atomic ops when available.
  3758. * config/linux/bar.c, config/linux/bar.h: New files.
  3759. * config/posix/bar.c, config/posix/bar.h: New files.
  3760. 2005-10-13 Jakub Jelinek <jakub@redhat.com>
  3761. * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
  3762. * testsuite/libgomp.dg/single-2.c: New test.
  3763. * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
  3764. lang_link_flags): Unset, so that they aren't inherited from previously
  3765. sourced *.exp.
  3766. * testsuite/libgomp.fortran/threadprivate1.f90: New test.
  3767. 2005-10-12 Richard Henderson <rth@redhat.com>
  3768. * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
  3769. (libgomp_init): Use lang_test_file, lang_library_path, and
  3770. lang_link_flags, set by the subdirectory files. Add -fopenmp here.
  3771. * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
  3772. (lang_test_file, lang_link_flags): New.
  3773. (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
  3774. * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
  3775. testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
  3776. testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
  3777. testsuite/libgomp.c++/parallel-1.C,
  3778. testsuite/libgomp.c++/reduction-1.C,
  3779. testsuite/libgomp.c++/reduction-2.C,
  3780. testsuite/libgomp.c++/reduction-3.C,
  3781. testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
  3782. testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
  3783. testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
  3784. New files, largely cribbed from the C testsuite.
  3785. 2005-10-12 Jakub Jelinek <jakub@redhat.com>
  3786. * testsuite/libgomp.fortran/character1.f90: New test.
  3787. * testsuite/libgomp.fortran/character2.f90: New test.
  3788. * testsuite/libgomp.dg/nested-1.c: New test.
  3789. * testsuite/libgomp.dg/nested-2.c: New test.
  3790. * testsuite/libgomp.fortran/do1.f90: New test.
  3791. * testsuite/libgomp.fortran/do2.f90: New test.
  3792. * testsuite/libgomp.fortran/reference1.f90: New test.
  3793. 2005-10-11 Jakub Jelinek <jakub@redhat.com>
  3794. * testsuite/libgomp.dg/reduction-1.c: New test.
  3795. * testsuite/libgomp.dg/reduction-2.c: New test.
  3796. * testsuite/libgomp.dg/reduction-3.c: New test.
  3797. 2005-10-10 Jakub Jelinek <jakub@redhat.com>
  3798. * testsuite/libgomp.dg/atomic-1.c: New test.
  3799. * testsuite/libgomp.dg/atomic-2.c: New test.
  3800. 2005-10-09 Richard Henderson <rth@redhat.com>
  3801. * critical.c (atomic_lock): New.
  3802. (initialize_critical): Initialize it.
  3803. (GOMP_atomic_start, GOMP_atomic_end): New.
  3804. * libgomp.map: Export them.
  3805. * libgomp_g.h: Declare them.
  3806. * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
  3807. 2005-10-02 Richard Henderson <rth@redhat.com>
  3808. * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
  3809. to XCFLAGS instead of CFLAGS.
  3810. 2005-09-30 Richard Henderson <rth@redhat.com>
  3811. * configure.ac: Determine whether -pthread or -lpthread is needed.
  3812. * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
  3813. * Makefine.in, configure: Rebuild.
  3814. 2005-09-28 Richard Henderson <rth@redhat.com>
  3815. * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
  3816. * testsuite/libgomp.dg/omp-single-3.c: New test.
  3817. 2005-09-28 Diego Novillo <dnovillo@redhat.com>
  3818. * testsuite/libgomp.dg/omp-single-2.c: New test.
  3819. * testsuite/libgomp.dg/shared-2.c: Fix return code.
  3820. 2005-09-27 Richard Henderson <rth@redhat.com>
  3821. * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
  3822. * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
  3823. 2005-09-27 Jakub Jelinek <jakub@redhat.com>
  3824. * testsuite/libgomp.dg/omp-loop03.c: New test.
  3825. 2005-09-27 Diego Novillo <dnovillo@redhat.com>
  3826. * testsuite/libgomp.dg/omp-parallel-for.c: New test.
  3827. 2005-09-27 Diego Novillo <dnovillo@redhat.com>
  3828. * testsuite/libgomp.dg/omp-single-1.c: New test.
  3829. * testsuite/libgomp.dg/shared-1.c: Return 0.
  3830. Add prototype for abort.
  3831. * testsuite/libgomp.dg/shared-2.c: Likewise.
  3832. 2005-09-26 Jakub Jelinek <jakub@redhat.com>
  3833. * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
  3834. constructs.
  3835. 2005-09-26 Diego Novillo <dnovillo@redhat.com>
  3836. * testsuite/libgomp.dg/shared-1.c: New test.
  3837. * testsuite/libgomp.dg/shared-2.c: New test.
  3838. 2005-09-24 Richard Henderson <rth@redhat.com>
  3839. * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
  3840. 2005-09-24 Richard Henderson <rth@redhat.com>
  3841. * iter.c (gomp_iter_static_next): Round up when computing number
  3842. of iterations. Don't bother distributing a remainder equally.
  3843. * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
  3844. Don't call srand. Zero b before testing.
  3845. (main): New.
  3846. 2005-09-24 Jakub Jelinek <jakub@redhat.com>
  3847. * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
  3848. * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
  3849. 2005-09-23 Jakub Jelinek <jakub@redhat.com>
  3850. * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
  3851. without !$omp end do, followed immediately by subroutine end.
  3852. 2005-09-23 Diego Novillo <dnovillo@redhat.com>
  3853. * testsuite/libgomp.dg/omp-parallel-if.c: New test.
  3854. 2005-09-22 Richard Henderson <rth@redhat.com>
  3855. * critical.c (GOMP_critical_name_start): Change argument to void**.
  3856. Reuse the pointer space if the mutex fits.
  3857. (GOMP_critical_name_end): Likewise.
  3858. (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
  3859. * libgomp_g.h (GOMP_critical_name_start): Update decl.
  3860. (GOMP_critical_name_end): Likewise.
  3861. * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
  3862. * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
  3863. 2005-09-20 Richard Henderson <rth@redhat.com>
  3864. * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
  3865. (create_lock_lock): New.
  3866. (initialize_critical): Initialize it.
  3867. * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
  3868. * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
  3869. 2005-09-20 Diego Novillo <dnovillo@redhat.com>
  3870. * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
  3871. 2005-09-20 Diego Novillo <dnovillo@redhat.com>
  3872. * testsuite/libgomp.dg/omp-loop01.c: New test.
  3873. * testsuite/libgomp.dg/omp-loop02.c: New test.
  3874. 2005-09-20 Jakub Jelinek <jakub@redhat.com>
  3875. * configure.ac (AC_PROG_FC): Add.
  3876. (USE_FORTRAN): New automake conditional.
  3877. * configure: Rebuilt.
  3878. * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
  3879. (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
  3880. If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
  3881. Add rules to build them.
  3882. * Makefile.in: Rebuilt.
  3883. * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
  3884. OMP_NEST_LOCK_KIND.
  3885. * libgomp.map: Add Fortran wrappers.
  3886. * libgomp_f.h.in: New file.
  3887. * omp_lib.h.in: New file.
  3888. * omp_lib.f90.in: New file.
  3889. * fortran.c: New file.
  3890. * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
  3891. Append libgfortran directory to LD_LIBRARY_PATH if it exists.
  3892. Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
  3893. libgfortran has been built.
  3894. * testsuite/libgomp.fortran/fortran.exp: New file.
  3895. * testsuite/libgomp.fortran/omp_cond1.f: New test.
  3896. * testsuite/libgomp.fortran/omp_cond2.f: New test.
  3897. * testsuite/libgomp.fortran/omp_cond3.F90: New test.
  3898. * testsuite/libgomp.fortran/omp_cond4.F90: New test.
  3899. * testsuite/libgomp.fortran/omp_hello.f: New test.
  3900. * testsuite/libgomp.fortran/omp_orphan.f: New test.
  3901. * testsuite/libgomp.fortran/omp_parse1.f90: New test.
  3902. * testsuite/libgomp.fortran/omp_parse2.f90: New test.
  3903. * testsuite/libgomp.fortran/omp_parse3.f90: New test.
  3904. * testsuite/libgomp.fortran/omp_parse4.f90: New test.
  3905. * testsuite/libgomp.fortran/omp_reduction.f: New test.
  3906. * testsuite/libgomp.fortran/omp_workshare1.f: New test.
  3907. * testsuite/libgomp.fortran/omp_workshare2.f: New test.
  3908. 2005-08-30 Richard Henderson <rth@redhat.com>
  3909. * loop.c (GOMP_loop_static_start): Provide fallback wrapper
  3910. function for when aliases are not usable.
  3911. (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
  3912. GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
  3913. GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
  3914. GOMP_loop_dynamic_next, GOMP_loop_guided_next,
  3915. GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
  3916. GOMP_loop_ordered_guided_next): Likewise.
  3917. * ordered.c (GOMP_ordered_start): Likewise.
  3918. 2005-08-01 Diego Novillo <dnovillo@redhat.com>
  3919. * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
  3920. * testsuite/libgomp.dg/omp_hello.c: Fix return code
  3921. * testsuite/libgomp.dg/omp_matvec.c: Likewise.
  3922. * testsuite/libgomp.dg/omp_orphan.c: Likewise
  3923. * testsuite/libgomp.dg/omp_reduction.c: Likewise
  3924. * testsuite/libgomp.dg/omp_workshare1.c: Likewise
  3925. * testsuite/libgomp.dg/omp_workshare2.c: Likewise
  3926. * testsuite/libgomp.dg/omp_workshare3.c: Likewise
  3927. * testsuite/libgomp.dg/omp_workshare4.c: Likewise
  3928. 2005-07-07 Eric Christopher <echristo@redhat.com>
  3929. Diego Novillo <dnovillo@redhat.com>
  3930. * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
  3931. * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
  3932. up code.
  3933. * testsuite/libgomp.dg/omp_matvec.c: Ditto.
  3934. * testsuite/libgomp.dg/omp_orphan.c: Ditto.
  3935. * testsuite/libgomp.dg/omp_reduction.c: Ditto.
  3936. * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
  3937. * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
  3938. * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
  3939. * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
  3940. 2005-06-13 Diego Novillo <dnovillo@redhat.com>
  3941. * TOPLEVEL.patch: Remove.
  3942. 2005-05-16 Richard Henderson <rth@redhat.com>
  3943. * configure.ac: Test for clock_gettime.
  3944. * config.h.in, configure: Rebuild.
  3945. * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
  3946. (omp_get_wtime): Use clock_gettime if available.
  3947. (omp_get_wtick): Use clock_getres if available.
  3948. 2005-05-11 Richard Henderson <rth@redhat.com>
  3949. * config/linux/ia64/futex.h: New file.
  3950. * configure.tgt: Use it.
  3951. * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
  3952. 2005-05-07 Richard Henderson <rth@redhat.com>
  3953. * config/linux/powerpc/futex.h: New file.
  3954. * configure.tgt: Use it.
  3955. * config/linux/i486/futex.h: Merge ...
  3956. * config/linux/x86_64/futex.h: ... into ...
  3957. * config/linux/x86/futex.h: ... here.
  3958. * configure.tgt: Update to match.
  3959. 2005-05-06 Richard Henderson <rth@redhat.com>
  3960. * config/linux/alpha/futex.h: Conditionally define SYS_futex.
  3961. * config/linux/i486/futex.h: Likewise.
  3962. * config/linux/x86_64/futex.h: Likewise.
  3963. * config/linux/lock.c: New file.
  3964. * config/linux/omp-lock.h: New file.
  3965. * critical.c, env.h: Don't include omp.h
  3966. * config/posix/lock.c: Include libgomp.h instead of omp.h.
  3967. * config/posix/time.c: Likewise.
  3968. * config/posix/omp-lock.h: New file.
  3969. * libgomp.h: Include omp-lock.h and omp.h.
  3970. * Makefile.am (nodist_include_HEADERS): New.
  3971. (omp.h): New rule.
  3972. * configure.ac (PERL): New.
  3973. * mkomp_h.pl: New file.
  3974. * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
  3975. with templates.
  3976. * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
  3977. * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
  3978. build directory. Re-add -march=i486 hack.
  3979. * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
  3980. (libgomp_link_flags): Remove.
  3981. (libgomp_initialized): Remove.
  3982. (libgomp_init): Don't protect from reinitialization. Copy code
  3983. from libstdc++ for getting the multilib set correctly.
  3984. 2005-05-05 Richard Henderson <rth@redhat.com>
  3985. * config/linux/alpha/futex.h: New file.
  3986. * configure.tgt (alpha*-*-linux*): Use it.
  3987. * config/posix/mutex.c: New file.
  3988. * config/posix/sem.c: Use libgomp.h.
  3989. * configure.tgt (x86_64-linux): Also test CC for -m32.
  3990. * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
  3991. * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
  3992. after $gccpath.
  3993. * Makefile.am (SUBDIRS): New.
  3994. (libgomp_la_LDFLAGS): Add -lpthread.
  3995. * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
  3996. * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
  3997. * libgomp_g.h: New file.
  3998. * libgomp.h: Split out all public declarations to libgomp_g.h.
  3999. Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
  4000. * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
  4001. * config/linux/sem.h: Likewise.
  4002. * config/posix/sem.h: Likewise.
  4003. * Makefile.am (AM_LDFLAGS): New.
  4004. (libgomp_version_script): Split out from ...
  4005. (libgomp_la_LDFLAGS): ... here.
  4006. (libgomp_version_info): New.
  4007. * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
  4008. (LIBGOMP_ENABLE): New.
  4009. (LIBGOMP_CHECK_LINKER_FEATURES): New.
  4010. (LIBGOMP_ENABLE_SYMVERS): New.
  4011. * configure.ac (AC_INIT): Version 1.0.
  4012. (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
  4013. (enable-linux-futex): Likewise. Rename from enable-futex.
  4014. (libtool_VERSION): New.
  4015. (LIBGOMP_ENABLE_SYMVERS): Use it.
  4016. * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
  4017. * Makefile.in, aclocal.m4, configure: Rebuild.
  4018. * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
  4019. (gomp_mutex_unlock_slow): Fix typo.
  4020. * config/linux/sem.c: Similarly.
  4021. (gomp_sem_post_slow): Fix typo.
  4022. * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
  4023. * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
  4024. [__PIC__] (sys_futex0): Don't use tmp output in asm.
  4025. * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
  4026. (libgomp_la_LDFLAGS): Add top_srcdir to path.
  4027. * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
  4028. * configure.ac: Check for getloadavg. Substitute XCFLAGS and
  4029. XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
  4030. * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
  4031. LDFLAGS. Pull enable_futex check to top-level.
  4032. * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
  4033. * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
  4034. First attempt at real configury.
  4035. * Makefile, config.h: Remove file.
  4036. * Makefile.am, Makefile.in: New file.
  4037. * acinclude.m4 aclocal.m4: New file.
  4038. * configure.ac, configure.tgt, configure: New file.
  4039. * config/posix/lock.c: Rename from sys-lock.c.
  4040. * config/posix/mutex.h: Rename from sys-mutex.h.
  4041. * config/posix/sem.c: Rename from sys-sem.c.
  4042. * config/posix/sem.h: Rename from sys-sem.h.
  4043. * config/posix/proc.c: Rename from sys-proc.c.
  4044. * config/posix/time.c: Rename from sys-proc.c.
  4045. * config/linux/mutex.c: New file.
  4046. * config/linux/mutex.h: New file.
  4047. * config/linux/sem.c: New file.
  4048. * config/linux/sem.h: New file.
  4049. * config/linux/i486/futex.h: New file.
  4050. * config/linux/x86_64/futex.h: New file.
  4051. 2005-05-04 Richard Henderson <rth@redhat.com>
  4052. * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
  4053. * libgomp.h: Declare them.
  4054. * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
  4055. gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
  4056. 2005-05-04 Richard Henderson <rth@redhat.com>
  4057. * libgomp-1 code drop
  4058. 2005-05-04 Richard Henderson <rth@redhat.com>
  4059. * iter.c (gomp_iter_static_next): Return tri-state on 0.
  4060. * ordered.c (gomp_ordered_static_next): Remove not_last argument.
  4061. * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
  4062. (gomp_iter_static_next): Update.
  4063. (gomp_ordered_static_next): Update.
  4064. * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
  4065. (gomp_loop_ordered_static_start): Likewise. Exit early for a
  4066. totally empty range.
  4067. (gomp_loop_ordered_static_next): Refine test for calling
  4068. gomp_ordered_static_next.
  4069. * testsuite/ordered-1.c: Add case for more threads than iterations.
  4070. * iter.c (gomp_iter_runtime_next_locked): Remove.
  4071. * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
  4072. gomp_loop_guided_start, gomp_loop_ordered_static_start,
  4073. gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
  4074. gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
  4075. gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
  4076. gomp_loop_ordered_guided_next): Downcase name, make static, add
  4077. an external alias with the old name.
  4078. (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
  4079. GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
  4080. switch and call one of the above static functions.
  4081. * libgomp.h: Update.
  4082. * work.c (gomp_work_share_start): Lock the mutex for !first too.
  4083. * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
  4084. GOMP_loop_guided_start, GOMP_loop_runtime_start,
  4085. GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
  4086. GOMP_loop_ordered_guided_start): Update to match.
  4087. * sections.c (GOMP_sections_start): Likewise.
  4088. * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
  4089. * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
  4090. gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
  4091. Use bounds check instead of modulus.
  4092. (gomp_ordered_sync): Split out of GOMP_ordered_start.
  4093. (gomp_ordered_last): Don't sync with ordered_owner here.
  4094. (gomp_ordered_next): Likewise.
  4095. (gomp_ordered_static_loop_next): Likewise.
  4096. * loop.c, libgomp.h: Update to match.
  4097. * libgomp.h (GOMP_barrier): Declare.
  4098. * testsuite/barrier-1.c: New file.
  4099. * testsuite/critical-1.c: New file.
  4100. * testsuite/ordered-2.c: New file.
  4101. * testsuite/ordered-1.c: New file.
  4102. * testsuite/sections-1.c: New file.
  4103. * testsuite/single-1.c: New file.
  4104. * testsuite/Makefile (TESTS): Add them.
  4105. 2005-05-04 Richard Henderson <rth@redhat.com>
  4106. * libgomp.h (struct gomp_work_share): Add ordered_owner.
  4107. * loop.c (GOMP_loop_static_start): If not the startup thread,
  4108. acquire the mutex to wait for initialization complete.
  4109. (GOMP_loop_ordered_static_start): Likewise.
  4110. (GOMP_loop_ordered_runtime_start): Likewise.
  4111. (GOMP_loop_ordered_static_first): Remove.
  4112. (GOMP_loop_ordered_dynamic_first): Remove.
  4113. (GOMP_loop_ordered_guided_first): Remove.
  4114. (GOMP_loop_ordered_runtime_first): Remove.
  4115. * ordered.c (gomp_ordered_loop_first): Post to own release when
  4116. we're the first thread.
  4117. (gomp_ordered_loop_last): Wait on release if not owner.
  4118. (gomp_ordered_loop_next): Likewise.
  4119. (gomp_ordered_static_loop_init): New.
  4120. (gomp_ordered_static_loop_next): Use ordered_owner.
  4121. (GOMP_ordered_start): Likewise.
  4122. * work.c (gomp_new_work_share): Initialize ordered_owner.
  4123. 2005-05-03 Richard Henderson <rth@redhat.com>
  4124. * Makefile (OPT): New.
  4125. (CFLAGS): Use it.
  4126. * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
  4127. * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
  4128. * libgomp.h, libgomp.map, NOTES: Update to match.
  4129. * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
  4130. Add initialized and thr members.
  4131. (gomp_thread_start): Pause when initially spawned to wait for
  4132. the whole team to be created.
  4133. (gomp_team_start): Release team members at the end.
  4134. * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
  4135. (f_foo_1): Use GOMP_loop_end.
  4136. (f_foo_2): Use GOMP_loop_end_nowait.
  4137. * testsuite/loop-2.c: New file.
  4138. * testsuite/Makefile (TESTS): Add it.
  4139. 2005-05-03 Richard Henderson <rth@redhat.com>
  4140. * iter.c (gomp_iter_static_next): Fix overflow check typo.
  4141. (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
  4142. * team.c (new_team): Initialize oldest_live_gen to 1 if no
  4143. initial work_share.
  4144. * testsuite/Makefile: New file.
  4145. * testsuite/loop-1.c: New file.
  4146. 2005-05-03 Richard Henderson <rth@redhat.com>
  4147. Initial implementation and checkin.