ChangeLog-2015 207 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051
  1. 2015-12-27 Edward Smith-Rowland <3dw4rd@verizon.net>
  2. * include/bits/c++0x_warning.h Remove experimental language.
  3. 2015-12-24 Jason Merrill <jason@redhat.com>
  4. * testsuite/ext/bitmap_allocator/check_deallocate_null.cc
  5. * testsuite/ext/bitmap_allocator/check_allocate_max_size.cc:
  6. Correct use of __GXX_WEAK__ macro.
  7. 2015-12-22 Jonathan Wakely <jwakely@redhat.com>
  8. PR libstdc++/59768
  9. * include/std/functional (__invfwd): Add inline specifier.
  10. 2015-12-21 Jonathan Wakely <jwakely@redhat.com>
  11. PR libstdc++/68982
  12. testsuite/20_util/function_objects/mem_fn/68276.cc: Rename to ...
  13. testsuite/20_util/function_objects/mem_fn/68982.cc: Correct bug number.
  14. PR libstdc++/68995
  15. * include/std/functional (_function_handler, function): Qualify
  16. __callable_functor.
  17. * testsuite/20_util/function/68995.cc: New.
  18. PR libstdc++/68276
  19. * include/std/functional (__invoke_impl, _Mem_fn::operator()): Qualify
  20. std::forward.
  21. testsuite/20_util/function_objects/mem_fn/68276.cc: New.
  22. 2015-12-21 Ville Voutilainen <ville.voutilainen@gmail.com>
  23. PR libstdc++/66693
  24. * include/std/tuple (tuple_element, tuple_size, tuple_element_t,
  25. __tuple_element_t): Move to...
  26. * include/std/utility: ...here.
  27. * testsuite/20_util/pair/astuple/astuple.cc: Adjust.
  28. * testsuite/20_util/pair/astuple/astuple_cpp14.cc: New.
  29. * testsuite/20_util/tuple/tuple_element.cc: Adjust.
  30. * testsuite/20_util/tuple/tuple_element_t.cc: Likewise.
  31. * testsuite/20_util/tuple/tuple_size.cc: Likewise.
  32. * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
  33. Likewise.
  34. * testsuite/23_containers/array/tuple_interface/tuple_element_cpp14.cc:
  35. New.
  36. * testsuite/23_containers/array/tuple_interface/tuple_size.cc: Adjust.
  37. 2015-12-18 Ville Voutilainen <ville.voutilainen@gmail.com>
  38. Fix a regression introduced by the fix of libstdc++/68276.
  39. * src/c++11/ios.cc (_M_grow_words): Catch bad_alloc again so that
  40. bad_array_new_length is handled properly.
  41. 2015-12-18 Ville Voutilainen <ville.voutilainen@gmail.com>
  42. PR libstdc++/68276
  43. * src/c++11/ios.cc (_M_grow_words): Use nothrow new.
  44. * testsuite/27_io/ios_base/storage/11584.cc: Adjust.
  45. 2015-12-18 Andris Pavenis <andris.pavenis@iki.fi>
  46. * config/os/djgpp/error_constants.h: update according to DJGPP errno
  47. macros.
  48. 2015-12-15 Jonathan Wakely <jwakely@redhat.com>
  49. PR libstdc++/68921
  50. * src/c++11/futex.cc
  51. (__atomic_futex_unsigned_base::_M_futex_wait_until): Use null pointer
  52. as timeout argument.
  53. * include/std/functional (_Mu<_Arg, false, false>::operator()): Restore
  54. accidentally-removed volatile qualifier.
  55. * include/std/functional (is_placeholder, is_bind_expression): Update
  56. comments.
  57. (_Safe_tuple_element): Replace with _Safe_tuple_element_t alias
  58. template.
  59. (_Mu): Remove vestigial TR1 return types and update coments.
  60. PR libstdc++/68912
  61. * include/std/functional (_Bind::operator()): Use lvalue functor to
  62. deduce return type.
  63. * testsuite/20_util/bind/68912.cc: New.
  64. 2015-12-15 Tim Shen <timshen@google.com>
  65. PR libstdc++/68863
  66. * include/bits/regex_executor.tcc (_Executor::_M_lookahead):
  67. Copy the captured content for lookahead, so that the backreferences
  68. inside can refer to them.
  69. * testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc:
  70. New testcase.
  71. 2015-12-14 Ville Voutilainen <ville.voutilainen@gmail.com>
  72. Document the implementation of Logical Operator Type Traits.
  73. * doc/html/index.html: Regenerate.
  74. * doc/html/manual/status.html: Likewise.
  75. * doc/xml/manual/status_cxx2017.xml: Add P0013R1 to C++ 201z
  76. and to Library Fundamentals 2 TS.
  77. 2015-12-11 Jonathan Wakely <jwakely@redhat.com>
  78. PR libstdc++/59768
  79. * include/std/functional (_Unwrap, __invfwd): Define.
  80. (__invoke_impl): Remove reference_wrapper overloads and use __invfwd.
  81. * include/std/type_traits (__result_of_memobj, __result_of_memfun):
  82. Add partial specializations for const reference_wrappers and simplify.
  83. * testsuite/20_util/bind/ref_neg.cc: Use dg-excess-errors.
  84. * testsuite/20_util/function_objects/invoke/59768.cc: New.
  85. 2015-12-11 Ville Voutilainen <ville.voutilainen@gmail.com>
  86. PR libstdc++/68139
  87. * libsupc++/nested_exception.h (_S_rethrow): Use std::__addressof.
  88. * testsuite/18_support/nested_exception/68139.cc: New.
  89. 2015-12-10 Jonathan Wakely <jwakely@redhat.com>
  90. * testsuite/experimental/memory/shared_ptr/assign/assign.cc: Replace
  91. -std=gnu++1y with -std=gnu++14.
  92. * testsuite/experimental/memory/shared_ptr/cast/cast.cc: Likewise.
  93. * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
  94. Likewise.
  95. * testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc:
  96. Likewise.
  97. * testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc:
  98. Likewise.
  99. * testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc:
  100. Likewise.
  101. * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
  102. Likewise.
  103. * testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc:
  104. Likewise.
  105. * testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc:
  106. Likewise.
  107. * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
  108. Likewise.
  109. * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
  110. Likewise.
  111. * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
  112. Likewise.
  113. * testsuite/experimental/memory/shared_ptr/dest/dest.cc: Likewise.
  114. * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc:
  115. Likewise.
  116. * testsuite/experimental/memory/shared_ptr/modifiers/swap.cc:
  117. Likewise.
  118. * testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc:
  119. Likewise.
  120. * testsuite/experimental/memory/shared_ptr/observers/operators.cc:
  121. Likewise.
  122. * testsuite/experimental/memory/shared_ptr/observers/owner_before.cc:
  123. Likewise.
  124. * testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
  125. Likewise.
  126. PR libstdc++/68825
  127. * include/experimental/bits/shared_ptr.h (__shared_ptr, __weak_ptr,
  128. experimental::shared_ptr, experimental::weak_ptr): Constrain
  129. assignment operators.
  130. * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
  131. Change to a compile-only test and change dg-excess-errors to dg-error.
  132. * doc/doxygen/user.cfg.in: Use EXTENSION_MAPPING tag. Add new headers
  133. to INPUT. Remove obsolete XML_SCHEMA and XML_DTD tags. Update
  134. PREDEFINED macros. Set BRIEF_MEMBER_DESC for man-pages.
  135. * include/backward/strstream: Correct @file comment.
  136. * include/bits/forward_list.h: Improve Doxygen comments.
  137. * include/bits/locale_facets_nonio.h: Likewise.
  138. * include/bits/mutex.h: Likewise.
  139. * include/bits/shared_ptr.h: Likewise.
  140. * include/bits/stl_deque.h: Likewise.
  141. * include/debug/vector (_Safe_vector): Add @brief section to comment.
  142. * include/experimental/bits/fs_dir.h: Correct @file comment.
  143. * include/experimental/bits/fs_fwd.h: Likewise.
  144. * include/experimental/bits/fs_ops.h: Likewise.
  145. * include/experimental/bits/fs_path.h: Likewise.
  146. * include/experimental/bits/string_view.tcc: Likewise.
  147. * include/experimental/optional: Document experimental status.
  148. * include/experimental/string_view: Correct @file comment.
  149. * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp: Reduce
  150. whitespace to avoid Doxygen bug.
  151. * include/std/bitset: Remove redundant @class Doxygen command. Add
  152. parentheses to avoid Doxygen bug.
  153. * include/std/mutex: Improve Doxygen comments.
  154. * include/tr2/dynamic_bitset: Add missing @param documentation.
  155. * scripts/run_doxygen: Rename man pages for std::experimental types.
  156. 2015-12-04 Jonathan Wakely <jwakely@redhat.com>
  157. PR libstdc++/57060
  158. * include/std/thread (operator==(thread::id, thread::id)): Do not use
  159. __gthread_equal.
  160. (operator<(thread::id, thread::id)): Add comment.
  161. (this_thread::get_id()): Do not use __gthread_self for single-threaded
  162. programs using glibc.
  163. * testsuite/30_threads/this_thread/57060.cc: New.
  164. 2015-12-02 Jonathan Wakely <jwakely@redhat.com>
  165. PR libstdc++/56383
  166. * testsuite/20_util/enable_shared_from_this/56383.cc: New.
  167. * include/bits/shared_ptr_base.h (__enable_shared_from_this): Make
  168. friend declaration match previous declaration of
  169. __enable_shared_from_this_helper.
  170. * include/bits/shared_ptr.h (enable_shared_from_this): Likewise.
  171. 2015-12-01 Jonathan Wakely <jwakely@redhat.com>
  172. * include/experimental/bits/fs_path.h (path::_Cmpt): Move definition
  173. after __is_encoded_char explicit specializations.
  174. 2015-11-26 Jonathan Wakely <jwakely@redhat.com>
  175. * testsuite/libstdc++-prettyprinters/debug.cc: Add -std=gnu++98 to
  176. dg-options and avoid use of uniform-init.
  177. * testsuite/libstdc++-prettyprinters/simple.cc: Add -std=gnu++98 to
  178. dg-options and avoid use of uniform-init.
  179. 2015-11-26 David Edelsohn <dje.gcc@gmail.com>
  180. * configure: Regenerate.
  181. 2015-11-25 Jonathan Wakely <jwakely@redhat.com>
  182. * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Explicitly
  183. check minimum and maximum values, and size of underlying type.
  184. * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
  185. * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
  186. 2015-11-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
  187. * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY) <solaris2*>: Use
  188. -Wl,-R in VTV_CXXLINKFLAGS.
  189. * configure: Regenerate.
  190. * testsuite/18_support/bad_exception/23591_thread-1.c: Use
  191. -fvtable-verify=none on Solaris 12+.
  192. 2015-11-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
  193. * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): New test.
  194. * configure.ac: Use it.
  195. * configure: Regenerate.
  196. * config.h.in: Regenerate.
  197. * include/c_global/cmath [__cplusplus >= 201103L]
  198. (std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO.
  199. (std::isfinite): Likewise.
  200. (std::isinf): Likewise.
  201. (std::isnan): Likewise.
  202. (std::isnormal): Likewise.
  203. (std::signbit): Likewise.
  204. (std::isgreater): Likewise.
  205. (std::isgreaterequal): Likewise.
  206. (std::isless): Likewise.
  207. (std::islessequal): Likewise.
  208. (std::islessgreater): Likewise.
  209. (std::isunordered): Likewise.
  210. (std::acosh): Likewise.
  211. (std::asinh): Likewise.
  212. (std::atanh): Likewise.
  213. (std::cbrt): Likewise.
  214. (std::copysign): Likewise.
  215. (std::erf): Likewise.
  216. (std::erfc): Likewise.
  217. (std::exp2): Likewise.
  218. (std::expm1): Likewise.
  219. (std::fdim): Likewise.
  220. (std::fma): Likewise.
  221. (std::fmax): Likewise.
  222. (std::fmin): Likewise.
  223. (std::hypot): Likewise.
  224. (std::ilogb): Likewise.
  225. (std::lgamma): Likewise.
  226. (std::llrint): Likewise.
  227. (std::llround): Likewise.
  228. (std::log1p): Likewise.
  229. (std::log2): Likewise.
  230. (std::logb): Likewise.
  231. (std::lrint): Likewise.
  232. (std::lround): Likewise.
  233. (std::nearbyint): Likewise.
  234. (std::nextafter): Likewise.
  235. (std::nexttoward): Likewise.
  236. (std::remainder): Likewise.
  237. (std::remquo): Likewise.
  238. (std::rint): Likewise.
  239. (std::round): Likewise.
  240. (std::scalbln): Likewise.
  241. (std::scalbn): Likewise.
  242. (std::tgamma): Likewise.
  243. (std::trunc): Likewise.
  244. * include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1] (std::tr1::acosh):
  245. Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO.
  246. (std::tr1::asinh): Likewise.
  247. (std::tr1::atanh): Likewise.
  248. (std::tr1::cbrt): Likewise.
  249. (std::tr1::copysign): Likewise.
  250. (std::tr1::erf): Likewise.
  251. (std::tr1::erfc): Likewise.
  252. (std::tr1::exp2): Likewise.
  253. (std::tr1::expm1): Likewise.
  254. (std::tr1::fabs): Likewise.
  255. (std::tr1::fdim): Likewise.
  256. (std::tr1::fma): Likewise.
  257. (std::tr1::fmax): Likewise.
  258. (std::tr1::fmin): Likewise.
  259. (std::tr1::hypot): Likewise.
  260. (std::tr1::ilogb): Likewise.
  261. (std::tr1::lgamma): Likewise.
  262. (std::tr1::llrint): Likewise.
  263. (std::tr1::llround): Likewise.
  264. (std::tr1::log1p): Likewise.
  265. (std::tr1::log2): Likewise.
  266. (std::tr1::logb): Likewise.
  267. (std::tr1::lrint): Likewise.
  268. (std::tr1::lround): Likewise.
  269. (std::tr1::nearbyint): Likewise.
  270. (std::tr1::nextafter): Likewise.
  271. (std::tr1::nexttoward): Likewise.
  272. (std::tr1::remainder): Likewise.
  273. (std::tr1::remquo): Likewise.
  274. (std::tr1::rint): Likewise.
  275. (std::tr1::scalbln): Likewise.
  276. (std::tr1::scalbn): Likewise.
  277. (std::tr1::tgamma): Likewise.
  278. (std::tr1::trunc): Likewise.
  279. (std::tr1::pow): Likewise.
  280. * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
  281. Restrict dg-xfail-if, dg-excess-errors to *-*-solaris2.1[01]*.
  282. 2015-11-21 David Edelsohn <dje.gcc@gmail.com>
  283. * testsuite/23_containers/vector/profile/vector.cc: Add maxdata
  284. option on AIX.
  285. 2015-11-20 Jan Kratochvil <jan.kratochvil@redhat.com>
  286. PR libstdc++/68448
  287. * python/hook.in: Call register_libstdcxx_printers.
  288. * python/libstdcxx/v6/__init__.py: Wrap it to
  289. register_libstdcxx_printers.
  290. 2015-11-17 Jonathan Wakely <jwakely@redhat.com>
  291. PR libstdc++/66059
  292. * include/std/utility (_Build_index_tuple): Optimise.
  293. 2015-11-16 Doug Evans <dje@google.com>
  294. PR libstdc++/67440
  295. * python/libstdcxx/v6/printers.py (find_type): Handle "const" in
  296. type name.
  297. * testsuite/libstdc++-prettyprinters/debug.cc: Add test for
  298. const set<int>.
  299. * testsuite/libstdc++-prettyprinters/simple.cc: Ditto.
  300. * testsuite/libstdc++-prettyprinters/simple11.cc: Ditto.
  301. 2015-11-15 Jonathan Wakely <jwakely@redhat.com>
  302. PR libstdc++/68353
  303. * include/bits/basic_string.h: Test value of _GLIBCXX_USE_C99_WCHAR
  304. not whether it is defined.
  305. * include/ext/vstring.h: Likewise.
  306. 2015-11-14 Andreas Tobler <andreast@gcc.gnu.org>
  307. * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Change locale implementation
  308. from darwin to DragonFly.
  309. * configure: Regenerate.
  310. * config/os/bsd/freebsd/ctype_configure_char.cc: Improve locale
  311. support, do it the same as DragonFly.
  312. * config/os/bsd/freebsd/os_defines.h: Add fine grained C99 defines.
  313. 2015-11-14 Jonathan Wakely <jwakely@redhat.com>
  314. * testsuite/21_strings/basic_string/capacity/char/18654.cc: Use
  315. real minimum capacity.
  316. * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc:
  317. Likewise.
  318. 2015-11-13 David Edelsohn <dje.gcc@gmail.com>
  319. * testsuite/experimental/random/randint.cc: Add dg-add-options tls.
  320. 2015-11-13 Jonathan Wakely <jwakely@redhat.com>
  321. * include/Makefile.am: Add new header.
  322. * include/Makefile.in: Regenerate.
  323. * include/experimental/random: New.
  324. * testsuite/experimental/random/randint.cc: New.
  325. 2015-11-13 John Marino <gnugcc@marino.st>
  326. * testsuite/22_locale/codecvt/always_noconv/char/wrapped_env.cc:
  327. Use portable locale name
  328. * testsuite/22_locale/codecvt/always_noconv/char/wrapped_locale.cc:
  329. Likewise.
  330. * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Likewise.
  331. * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Likewise.
  332. * testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc:
  333. Likewise.
  334. * testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc:
  335. Likewise.
  336. * testsuite/22_locale/codecvt/encoding/char/wrapped_env.cc: Likewise.
  337. * testsuite/22_locale/codecvt/encoding/char/wrapped_locale.cc:
  338. Likewise.
  339. * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Likewise.
  340. * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Likewise.
  341. * testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_env.cc:
  342. Likewise.
  343. * testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc:
  344. Likewise.
  345. * testsuite/22_locale/codecvt/in/char/wrapped_env.cc: Likewise.
  346. * testsuite/22_locale/codecvt/in/char/wrapped_locale.cc: Likewise.
  347. * testsuite/22_locale/codecvt/in/wchar_t/2.cc: Likewise.
  348. * testsuite/22_locale/codecvt/in/wchar_t/wrapped_env.cc: Likewise.
  349. * testsuite/22_locale/codecvt/in/wchar_t/wrapped_locale.cc: Likewise.
  350. * testsuite/22_locale/codecvt/length/char/wrapped_env.cc: Likewise.
  351. * testsuite/22_locale/codecvt/length/char/wrapped_locale.cc: Likewise.
  352. * testsuite/22_locale/codecvt/length/wchar_t/2.cc: Likewise.
  353. * testsuite/22_locale/codecvt/length/wchar_t/3.cc: Likewise.
  354. * testsuite/22_locale/codecvt/length/wchar_t/wrapped_env.cc: Likewise.
  355. * testsuite/22_locale/codecvt/length/wchar_t/wrapped_locale.cc:
  356. Likewise.
  357. * testsuite/22_locale/codecvt/max_length/char/wrapped_env.cc: Likewise.
  358. * testsuite/22_locale/codecvt/max_length/char/wrapped_locale.cc:
  359. Likewise.
  360. * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Likewise.
  361. * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Likewise.
  362. * testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_env.cc:
  363. Likewise.
  364. * testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc:
  365. Likewise.
  366. * testsuite/22_locale/codecvt/out/char/wrapped_env.cc: Likewise.
  367. * testsuite/22_locale/codecvt/out/char/wrapped_locale.cc: Likewise.
  368. * testsuite/22_locale/codecvt/out/wchar_t/2.cc: Likewise.
  369. * testsuite/22_locale/codecvt/out/wchar_t/7.cc: Likewise.
  370. * testsuite/22_locale/codecvt/out/wchar_t/wrapped_env.cc: Likewise.
  371. * testsuite/22_locale/codecvt/out/wchar_t/wrapped_locale.cc: Likewise.
  372. * testsuite/22_locale/codecvt/unshift/char/wrapped_env.cc: Likewise.
  373. * testsuite/22_locale/codecvt/unshift/char/wrapped_locale.cc: Likewise.
  374. * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Likewise.
  375. * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Likewise.
  376. * testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_env.cc: Likewise.
  377. * testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc:
  378. Likewise.
  379. * testsuite/22_locale/codecvt_byname/50714.cc: Likewise.
  380. * testsuite/22_locale/collate/compare/char/1.cc: Likewise.
  381. * testsuite/22_locale/collate/compare/char/2.cc: Likewise.
  382. * testsuite/22_locale/collate/compare/char/3.cc: Likewise.
  383. * testsuite/22_locale/collate/compare/char/wrapped_env.cc: Likewise.
  384. * testsuite/22_locale/collate/compare/char/wrapped_locale.cc: Likewise.
  385. * testsuite/22_locale/collate/compare/wchar_t/1.cc: Likewise.
  386. * testsuite/22_locale/collate/compare/wchar_t/2.cc: Likewise.
  387. * testsuite/22_locale/collate/compare/wchar_t/3.cc: Likewise.
  388. * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Likewise.
  389. * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc:
  390. Likewise.
  391. * testsuite/22_locale/collate/hash/char/2.cc: Likewise.
  392. * testsuite/22_locale/collate/hash/char/wrapped_env.cc: Likewise.
  393. * testsuite/22_locale/collate/hash/char/wrapped_locale.cc: Likewise.
  394. * testsuite/22_locale/collate/hash/wchar_t/2.cc: Likewise.
  395. * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Likewise.
  396. * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Likewise.
  397. * testsuite/22_locale/collate/transform/char/2.cc: Likewise.
  398. * testsuite/22_locale/collate/transform/char/3.cc: Likewise.
  399. * testsuite/22_locale/collate/transform/char/wrapped_env.cc: Likewise.
  400. * testsuite/22_locale/collate/transform/char/wrapped_locale.cc:
  401. Likewise.
  402. * testsuite/22_locale/collate/transform/wchar_t/2.cc: Likewise.
  403. * testsuite/22_locale/collate/transform/wchar_t/3.cc: Likewise.
  404. * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc:
  405. Likewise.
  406. * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
  407. Likewise.
  408. * testsuite/22_locale/collate_byname/named_equivalence.cc: Likewise.
  409. * testsuite/22_locale/ctype/cons/char/wrapped_env.cc: Likewise.
  410. * testsuite/22_locale/ctype/cons/char/wrapped_locale.cc: Likewise.
  411. * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
  412. * testsuite/22_locale/ctype/is/char/wrapped_env.cc: Likewise.
  413. * testsuite/22_locale/ctype/is/char/wrapped_locale.cc: Likewise.
  414. * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
  415. * testsuite/22_locale/ctype/is/wchar_t/wrapped_env.cc: Likewise.
  416. * testsuite/22_locale/ctype/is/wchar_t/wrapped_locale.cc: Likewise.
  417. * testsuite/22_locale/ctype/narrow/char/wrapped_env.cc: Likewise.
  418. * testsuite/22_locale/ctype/narrow/char/wrapped_locale.cc: Likewise.
  419. * testsuite/22_locale/ctype/narrow/wchar_t/wrapped_env.cc: Likewise.
  420. * testsuite/22_locale/ctype/narrow/wchar_t/wrapped_locale.cc: Likewise.
  421. * testsuite/22_locale/ctype/scan/char/wrapped_env.cc: Likewise.
  422. * testsuite/22_locale/ctype/scan/char/wrapped_locale.cc: Likewise.
  423. * testsuite/22_locale/ctype/scan/wchar_t/wrapped_env.cc: Likewise.
  424. * testsuite/22_locale/ctype/scan/wchar_t/wrapped_locale.cc: Likewise.
  425. * testsuite/22_locale/ctype/to/char/wrapped_env.cc: Likewise.
  426. * testsuite/22_locale/ctype/to/char/wrapped_locale.cc: Likewise.
  427. * testsuite/22_locale/ctype/to/wchar_t/wrapped_env.cc: Likewise.
  428. * testsuite/22_locale/ctype/to/wchar_t/wrapped_locale.cc: Likewise.
  429. * testsuite/22_locale/ctype/widen/char/wrapped_env.cc: Likewise.
  430. * testsuite/22_locale/ctype/widen/char/wrapped_locale.cc: Likewise.
  431. * testsuite/22_locale/ctype/widen/wchar_t/2.cc: Likewise.
  432. * testsuite/22_locale/ctype/widen/wchar_t/wrapped_env.cc: Likewise.
  433. * testsuite/22_locale/ctype/widen/wchar_t/wrapped_locale.cc: Likewise.
  434. * testsuite/22_locale/facet/2.cc: Likewise.
  435. * testsuite/22_locale/locale/cons/12352.cc: Likewise.
  436. * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
  437. * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
  438. * testsuite/22_locale/locale/cons/2.cc: Likewise.
  439. * testsuite/22_locale/locale/cons/38365.cc: Likewise.
  440. * testsuite/22_locale/locale/cons/38368.cc: Likewise.
  441. * testsuite/22_locale/locale/cons/4.cc: Likewise.
  442. * testsuite/22_locale/locale/cons/40184.cc: Likewise.
  443. * testsuite/22_locale/locale/cons/7.cc: Likewise.
  444. * testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise.
  445. * testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise.
  446. * testsuite/22_locale/messages/13631.cc: Likewise.
  447. * testsuite/22_locale/messages/members/char/1.cc: Likewise.
  448. * testsuite/22_locale/messages/members/char/2.cc: Likewise.
  449. * testsuite/22_locale/messages/members/char/3.cc: Likewise.
  450. * testsuite/22_locale/messages/members/char/wrapped_env.cc: Likewise.
  451. * testsuite/22_locale/messages/members/char/wrapped_locale.cc:
  452. Likewise.
  453. * testsuite/22_locale/messages_byname/named_equivalence.cc: Likewise.
  454. * testsuite/22_locale/money_get/get/char/1.cc: Likewise.
  455. * testsuite/22_locale/money_get/get/char/10.cc: Likewise.
  456. * testsuite/22_locale/money_get/get/char/11.cc: Likewise.
  457. * testsuite/22_locale/money_get/get/char/11528.cc: Likewise.
  458. * testsuite/22_locale/money_get/get/char/12.cc: Likewise.
  459. * testsuite/22_locale/money_get/get/char/13.cc: Likewise.
  460. * testsuite/22_locale/money_get/get/char/15.cc: Likewise.
  461. * testsuite/22_locale/money_get/get/char/16.cc: Likewise.
  462. * testsuite/22_locale/money_get/get/char/17.cc: Likewise.
  463. * testsuite/22_locale/money_get/get/char/18.cc: Likewise.
  464. * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
  465. * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
  466. * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
  467. * testsuite/22_locale/money_get/get/char/wrapped_env.cc: Likewise.
  468. * testsuite/22_locale/money_get/get/char/wrapped_locale.cc: Likewise.
  469. * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
  470. * testsuite/22_locale/money_get/get/wchar_t/10.cc: Likewise.
  471. * testsuite/22_locale/money_get/get/wchar_t/11.cc: Likewise.
  472. * testsuite/22_locale/money_get/get/wchar_t/11528.cc: Likewise.
  473. * testsuite/22_locale/money_get/get/wchar_t/12.cc: Likewise.
  474. * testsuite/22_locale/money_get/get/wchar_t/13.cc: Likewise.
  475. * testsuite/22_locale/money_get/get/wchar_t/15.cc: Likewise.
  476. * testsuite/22_locale/money_get/get/wchar_t/16.cc: Likewise.
  477. * testsuite/22_locale/money_get/get/wchar_t/17.cc: Likewise.
  478. * testsuite/22_locale/money_get/get/wchar_t/18.cc: Likewise.
  479. * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
  480. * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
  481. * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
  482. * testsuite/22_locale/money_get/get/wchar_t/wrapped_env.cc: Likewise.
  483. * testsuite/22_locale/money_get/get/wchar_t/wrapped_locale.cc:
  484. Likewise.
  485. * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
  486. * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
  487. * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
  488. * testsuite/22_locale/money_put/put/char/9780-3.cc: Likewise.
  489. * testsuite/22_locale/money_put/put/char/wrapped_env.cc: Likewise.
  490. * testsuite/22_locale/money_put/put/char/wrapped_locale.cc: Likewise.
  491. * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
  492. * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
  493. * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
  494. * testsuite/22_locale/money_put/put/wchar_t/wrapped_env.cc: Likewise.
  495. * testsuite/22_locale/money_put/put/wchar_t/wrapped_locale.cc:
  496. Likewise.
  497. * testsuite/22_locale/moneypunct/40712.cc: Likewise.
  498. * testsuite/22_locale/moneypunct/members/char/2.cc: Likewise.
  499. * testsuite/22_locale/moneypunct/members/char/wrapped_env.cc:
  500. Likewise.
  501. * testsuite/22_locale/moneypunct/members/char/wrapped_locale.cc:
  502. Likewise.
  503. * testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Likewise.
  504. * testsuite/22_locale/moneypunct/members/wchar_t/wrapped_env.cc:
  505. Likewise.
  506. * testsuite/22_locale/moneypunct/members/wchar_t/wrapped_locale.cc:
  507. Likewise.
  508. * testsuite/22_locale/moneypunct_byname/named_equivalence.cc:
  509. Likewise.
  510. * testsuite/22_locale/num_get/get/char/1.cc: Likewise.
  511. * testsuite/22_locale/num_get/get/char/3.cc: Likewise.
  512. * testsuite/22_locale/num_get/get/char/5.cc: Likewise.
  513. * testsuite/22_locale/num_get/get/char/6.cc: Likewise.
  514. * testsuite/22_locale/num_get/get/char/9.cc: Likewise.
  515. * testsuite/22_locale/num_get/get/char/wrapped_env.cc: Likewise.
  516. * testsuite/22_locale/num_get/get/char/wrapped_locale.cc: Likewise.
  517. * testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.
  518. * testsuite/22_locale/num_get/get/wchar_t/3.cc: Likewise.
  519. * testsuite/22_locale/num_get/get/wchar_t/5.cc: Likewise.
  520. * testsuite/22_locale/num_get/get/wchar_t/6.cc: Likewise.
  521. * testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.
  522. * testsuite/22_locale/num_get/get/wchar_t/wrapped_env.cc: Likewise.
  523. * testsuite/22_locale/num_get/get/wchar_t/wrapped_locale.cc: Likewise.
  524. * testsuite/22_locale/num_put/put/char/1.cc: Likewise.
  525. * testsuite/22_locale/num_put/put/char/20909.cc: Likewise.
  526. * testsuite/22_locale/num_put/put/char/20914.cc: Likewise.
  527. * testsuite/22_locale/num_put/put/char/3.cc: Likewise.
  528. * testsuite/22_locale/num_put/put/char/5.cc: Likewise.
  529. * testsuite/22_locale/num_put/put/char/9780-2.cc: Likewise.
  530. * testsuite/22_locale/num_put/put/char/wrapped_env.cc: Likewise.
  531. * testsuite/22_locale/num_put/put/char/wrapped_locale.cc: Likewise.
  532. * testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise.
  533. * testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.
  534. * testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise.
  535. * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
  536. * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
  537. * testsuite/22_locale/num_put/put/wchar_t/wrapped_env.cc: Likewise.
  538. * testsuite/22_locale/num_put/put/wchar_t/wrapped_locale.cc: Likewise.
  539. * testsuite/22_locale/numpunct/members/char/2.cc: Likewise.
  540. * testsuite/22_locale/numpunct/members/char/3.cc: Likewise.
  541. * testsuite/22_locale/numpunct/members/char/wrapped_env.cc: Likewise.
  542. * testsuite/22_locale/numpunct/members/char/wrapped_locale.cc:
  543. Likewise.
  544. * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise.
  545. * testsuite/22_locale/numpunct/members/wchar_t/wrapped_env.cc:
  546. Likewise.
  547. * testsuite/22_locale/numpunct/members/wchar_t/wrapped_locale.cc:
  548. Likewise.
  549. * testsuite/22_locale/numpunct_byname/named_equivalence.cc: Likewise.
  550. * testsuite/22_locale/time_get/date_order/char/wrapped_env.cc:
  551. Likewise.
  552. * testsuite/22_locale/time_get/date_order/char/wrapped_locale.cc:
  553. Likewise.
  554. * testsuite/22_locale/time_get/date_order/wchar_t/wrapped_env.cc:
  555. Likewise.
  556. * testsuite/22_locale/time_get/date_order/wchar_t/wrapped_locale.cc:
  557. Likewise.
  558. * testsuite/22_locale/time_get/get/char/2.cc: Likewise.
  559. * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
  560. * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
  561. * testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
  562. * testsuite/22_locale/time_get/get_date/char/26701.cc: Likewise.
  563. * testsuite/22_locale/time_get/get_date/char/wrapped_env.cc: Likewise.
  564. * testsuite/22_locale/time_get/get_date/char/wrapped_locale.cc:
  565. Likewise.
  566. * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
  567. * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
  568. * testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise.
  569. * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Likewise.
  570. * testsuite/22_locale/time_get/get_date/wchar_t/wrapped_env.cc:
  571. Likewise.
  572. * testsuite/22_locale/time_get/get_date/wchar_t/wrapped_locale.cc:
  573. Likewise.
  574. * testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
  575. * testsuite/22_locale/time_get/get_monthname/char/wrapped_env.cc:
  576. Likewise.
  577. * testsuite/22_locale/time_get/get_monthname/char/wrapped_locale.cc:
  578. Likewise.
  579. * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
  580. * testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc:
  581. Likewise.
  582. * testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc:
  583. Likewise.
  584. * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
  585. * testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
  586. * testsuite/22_locale/time_get/get_time/char/wrapped_env.cc:
  587. Likewise.
  588. * testsuite/22_locale/time_get/get_time/char/wrapped_locale.cc:
  589. Likewise.
  590. * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
  591. * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
  592. * testsuite/22_locale/time_get/get_time/wchar_t/wrapped_env.cc:
  593. Likewise.
  594. * testsuite/22_locale/time_get/get_time/wchar_t/wrapped_locale.cc:
  595. Likewise.
  596. * testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
  597. * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: Likewise.
  598. * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
  599. * testsuite/22_locale/time_get/get_weekday/char/wrapped_env.cc:
  600. Likewise.
  601. * testsuite/22_locale/time_get/get_weekday/char/wrapped_locale.cc:
  602. Likewise.
  603. * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
  604. * testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc:
  605. Likewise.
  606. * testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc:
  607. Likewise.
  608. * testsuite/22_locale/time_get/get_year/char/wrapped_env.cc: Likewise.
  609. * testsuite/22_locale/time_get/get_year/char/wrapped_locale.cc:
  610. Likewise.
  611. * testsuite/22_locale/time_get/get_year/wchar_t/wrapped_env.cc:
  612. Likewise.
  613. * testsuite/22_locale/time_get/get_year/wchar_t/wrapped_locale.cc:
  614. Likewise.
  615. * testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
  616. * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
  617. * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
  618. * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
  619. * testsuite/22_locale/time_put/put/char/6.cc: Likewise.
  620. * testsuite/22_locale/time_put/put/char/7.cc: Likewise.
  621. * testsuite/22_locale/time_put/put/char/8.cc: Likewise.
  622. * testsuite/22_locale/time_put/put/char/9780-1.cc: Likewise.
  623. * testsuite/22_locale/time_put/put/char/wrapped_env.cc: Likewise.
  624. * testsuite/22_locale/time_put/put/char/wrapped_locale.cc: Likewise.
  625. * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
  626. * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
  627. * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
  628. * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
  629. * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
  630. * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
  631. * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
  632. * testsuite/22_locale/time_put/put/wchar_t/wrapped_env.cc: Likewise.
  633. * testsuite/22_locale/time_put/put/wchar_t/wrapped_locale.cc: Likewise.
  634. * testsuite/27_io/basic_filebuf/imbue/char/13007.cc: Likewise.
  635. * testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: Likewise.
  636. * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
  637. * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Likewise.
  638. * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
  639. * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: Likewise.
  640. * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Likewise.
  641. * testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Likewise.
  642. * testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: Likewise.
  643. * testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: Likewise.
  644. * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Likewise.
  645. * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Likewise.
  646. * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
  647. * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
  648. * testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: Likewise.
  649. * testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: Likewise.
  650. * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise.
  651. * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
  652. Likewise.
  653. * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc:
  654. Likewise.
  655. * testsuite/27_io/basic_streambuf/cons/57394.cc: Likewise.
  656. * testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: Likewise.
  657. * testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Likewise.
  658. * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: Likewise.
  659. * testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc: Likewise.
  660. * testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Likewise.
  661. * testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc: Likewise.
  662. * testsuite/27_io/manipulators/extended/get_money/char/1.cc: Likewise.
  663. * testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc:
  664. Likewise.
  665. * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Likewise.
  666. * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc:
  667. Likewise.
  668. * testsuite/27_io/manipulators/extended/put_money/char/1.cc: Likewise.
  669. * testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc:
  670. Likewise.
  671. * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Likewise.
  672. * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc:
  673. Likewise.
  674. * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Likewise.
  675. * testsuite/27_io/objects/wchar_t/9520.cc: Likewise.
  676. * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Check
  677. for named locale as appropriate for target.
  678. * testsuite/util/testsuite_hooks.h (ISO_8859): Define macro to form
  679. target's preferred form of locale name.
  680. 2015-11-13 Jennifer Yao <jenny.hyphen.fa@gmail.com>
  681. Jonathan Wakely <jwakely@redhat.com>
  682. PR libstdc++/58393
  683. PR libstdc++/61580
  684. * acinclude.m4 (GLIBCXX_ENABLE_C99): Perform tests twice, with
  685. -std=c++11 as well as -std=c++98, and define separate macros for each.
  686. Cache the results of checking for complex math and wide character
  687. functions. Reformat for readability.
  688. * config.h.in: Regenerate.
  689. * include/bits/c++config: Define _GLIBCXX_USE_C99_XXX macros to
  690. either _GLIBCXX98_USE_C99_XXX or _GLIBCXX11_USE_C99_XXX according to
  691. language standard in use.
  692. * config/locale/dragonfly/c_locale.h (std::__convert_from_v): Replace
  693. _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO.
  694. * config/locale/generic/c_locale.h (std::__convert_from_v): Likewise.
  695. * config/locale/gnu/c_locale.h (std::__convert_from_v): Likewise.
  696. * config/os/bsd/dragonfly/os_defines.h: Define _GLIBCXX_USE_C99_STDIO,
  697. _GLIBCXX_USE_C99_STDLIB, and _GLIBCXX_USE_C99_WCHAR.
  698. * configure: Regenerate.
  699. * include/bits/basic_string.h: Make numeric conversion functions
  700. depend on _GLIBCXX_USE_C99_STDIO, _GLIBCXX_USE_C99_STDLIB, or
  701. _GLIBCXX_USE_C99_WCHAR, instead of _GLIBCXX_USE_C99.
  702. * include/ext/vstring.h: Likewise.
  703. * include/bits/locale_facets.tcc (std::num_put::_M_insert_float):
  704. Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO.
  705. * include/bits/locale_facets_nonio.tcc (std::money_put::do_put):
  706. Likewise.
  707. * include/c_compatibility/math.h: Replace _GLIBCXX_USE_C99 with
  708. _GLIBCXX_USE_C99_MATH.
  709. * include/c_compatibility/wchar.h: Replace _GLIBCXX_USE_C99 with
  710. _GLIBCXX_USE_C99_WCHAR.
  711. * include/c_global/cstdio: Replace _GLIBCXX_USE_C99 with
  712. _GLIBCXX_USE_C99_STDIO.
  713. * include/c_global/cstdlib: Replace _GLIBCXX_USE_C99 with
  714. _GLIBCXX_USE_C99_STDLIB.
  715. * include/c_global/cwchar: Replace _GLIBCXX_USE_C99 with
  716. _GLIBCXX_USE_C99_WCHAR.
  717. * include/c_std/cstdio: Replace _GLIBCXX_USE_C99 with
  718. _GLIBCXX_USE_C99_STDIO.
  719. * include/c_std/cstdlib: Replace _GLIBCXX_USE_C99 with
  720. _GLIBCXX_USE_C99_STDLIB.
  721. * include/c_std/cwchar: Replace _GLIBCXX_USE_C99 with
  722. _GLIBCXX_USE_C99_WCHAR.
  723. * include/tr1/cstdio: Replace _GLIBCXX_USE_C99 with
  724. _GLIBCXX_USE_C99_STDIO.
  725. * include/tr1/cstdlib: Replace _GLIBCXX_USE_C99 with
  726. _GLIBCXX_USE_C99_STDLIB.
  727. * include/tr1/cwchar: Replace _GLIBCXX_USE_C99 with
  728. _GLIBCXX_USE_C99_WCHAR.
  729. * include/tr1/stdlib.h: Replace _GLIBCXX_USE_C99 with
  730. _GLIBCXX_USE_C99_STDLIB.
  731. * src/c++98/locale_facets.cc (std::__num_base::_S_format_float):
  732. Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO.
  733. * testsuite/18_support/exception_ptr/60612-terminate.cc: Replace
  734. _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB.
  735. * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
  736. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc
  737. (test01): Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR.
  738. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
  739. stof.cc: Likewise.
  740. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
  741. stoi.cc: Likewise.
  742. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
  743. stol.cc: Likewise.
  744. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
  745. stold.cc: Likewise.
  746. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
  747. stoll.cc: Likewise.
  748. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
  749. stoul.cc: Likewise.
  750. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
  751. stoull.cc: Likewise.
  752. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
  753. to_wstring.cc: Likewise.
  754. * testsuite/26_numerics/headers/cstdlib/13943.cc: Replace
  755. _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB.
  756. * testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc: Likewise.
  757. * testsuite/lib/libstdc++.exp (check_v3_target_string_conversions):
  758. Change preprocessor #if conditional so that it uses
  759. _GLIBCXX_USE_C99_STDIO, _GLIBCXX_USE_C99_STDLIB, and
  760. _GLIBCXX_USE_C99_WCHAR, instead of _GLIBCXX_USE_C99.
  761. * testsuite/tr1/8_c_compatibility/cmath/templates.cc: Replace
  762. _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_MATH.
  763. * testsuite/tr1/8_c_compatibility/cstdio/functions.cc: Replace
  764. _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO.
  765. * testsuite/tr1/8_c_compatibility/cstdlib/functions.cc: Replace
  766. _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB.
  767. * testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc: Likewise.
  768. * testsuite/tr1/8_c_compatibility/cwchar/functions.cc: Replace
  769. _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR.
  770. * testsuite/util/testsuite_fs.h: Replace _GLIBCXX_USE_C99 with
  771. _GLIBCXX_USE_C99_STDIO.
  772. 2015-11-13 Jonathan Wakely <jwakely@redhat.com>
  773. * include/experimental/bits/shared_ptr.h: Tweak comments.
  774. 2015-11-13 Fan You <youfan.noey@gmail.com>
  775. Jonathan Wakely <jwakely@redhat.com>
  776. * include/Makefile.am: Add new header.
  777. * include/Makefile.in: Regenerate.
  778. * include/experimental/bits/shared_ptr.h: New.
  779. * include/experimental/memory: Include new header.
  780. * testsuite/experimental/memory/shared_ptr/assign/assign.cc: New.
  781. * testsuite/experimental/memory/shared_ptr/cast/cast.cc: New.
  782. * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
  783. New.
  784. * testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc: New.
  785. * testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc: New.
  786. * testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc: New.
  787. * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc: New.
  788. * testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc: New.
  789. * testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc: New.
  790. * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc: New.
  791. * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
  792. New.
  793. * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc: New.
  794. * testsuite/experimental/memory/shared_ptr/dest/dest.cc: New.
  795. * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: New.
  796. * testsuite/experimental/memory/shared_ptr/modifiers/swap.cc: New.
  797. * testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc:
  798. New.
  799. * testsuite/experimental/memory/shared_ptr/observers/operators.cc:
  800. New.
  801. * testsuite/experimental/memory/shared_ptr/observers/owner_before.cc:
  802. New.
  803. * testsuite/experimental/memory/shared_ptr/observers/use_count.cc: New.
  804. 2015-11-13 Jonathan Wakely <jwakely@redhat.com>
  805. * include/Makefile.am: Add new header.
  806. * include/Makefile.in: Regenerate.
  807. * include/experimental/memory_resource: Add feature-test macro.
  808. * include/experimental/regex: New.
  809. * include/experimental/deque: Add alias template using PMR.
  810. * include/experimental/forward_list: Likewise.
  811. * include/experimental/list: Likewise.
  812. * include/experimental/map: Likewise.
  813. * include/experimental/set: Likewise.
  814. * include/experimental/string: Likewise.
  815. * include/experimental/unordered_map: Likewise.
  816. * include/experimental/unordered_set: Likewise.
  817. * include/experimental/vector: Likewise.
  818. 2015-11-13 Fan You <youfan.noey@gmail.com>
  819. * include/Makefile.am: Add new headers.
  820. * include/Makefile.in: Regenerate.
  821. * include/bits/uses_allocator.h (__erased_type): Define.
  822. (__uses_allocator_helper): Check for __erased_type.
  823. * include/experimental/memory_resource: New.
  824. * include/experimental/utlity: New.
  825. * testsuite/experimental/type_erased_allocator/1.cc: New.
  826. * testsuite/experimental/type_erased_allocator/1_neg.cc: New.
  827. * testsuite/experimental/type_erased_allocator/2.cc: New.
  828. * testsuite/experimental/type_erased_allocator/uses_allocator.cc: New.
  829. 2015-11-12 Jonathan Wakely <jwakely@redhat.com>
  830. PR libstdc++/56158
  831. * include/bits/ios_base.h (_Ios_Fmtflags, _Ios_Openmode, _Ios_Iostate):
  832. Define enumerators to ensure all values of type int are valid values
  833. of the enumeration type.
  834. * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Add new cases.
  835. * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
  836. * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
  837. * include/std/thread: Include <cerrno> for EINTR.
  838. 2015-11-12 Ville Voutilainen <ville.voutilainen@gmail.com>
  839. Implement D0013R2, logical type traits.
  840. * include/experimental/type_traits (conjunction, disjunction,
  841. negation, conjunction_v, disjunction_v, negation_v): New.
  842. * include/std/type_traits (conjunction, disjunction, negation):
  843. Likewise.
  844. * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
  845. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
  846. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
  847. Likewise.
  848. * testsuite/experimental/type_traits/value.cc: Likewise.
  849. * testsuite/20_util/logical_traits/requirements/explicit_instantiation.cc: New.
  850. * testsuite/20_util/logical_traits/requirements/typedefs.cc: Likewise.
  851. * testsuite/20_util/logical_traits/value.cc: Likewise.
  852. 2015-11-12 Jonathan Wakely <jwakely@redhat.com>
  853. * include/experimental/bits/string_view.tcc: Fix doxygen @file.
  854. 2015-11-11 Jonathan Wakely <jwakely@redhat.com>
  855. * libsupc++/new_handler.cc: Fix for explicit constructor change.
  856. PR libstdc++/60421
  857. * include/std/thread (this_thread::sleep_for): Retry on EINTR.
  858. (this_thread::sleep_until): Retry if time not reached.
  859. * src/c++11/thread.cc (__sleep_for): Retry on EINTR.
  860. * testsuite/30_threads/this_thread/60421.cc: Test interruption and
  861. non-steady clocks.
  862. 2015-11-11 Ville Voutilainen <ville.voutilainen@gmail.com>
  863. LWG 2510, make the default constructors of library tag types
  864. explicit.
  865. * include/bits/mutex.h (defer_lock_t, try_lock_t,
  866. adopt_lock_t): Add an explicit default constructor.
  867. * include/bits/stl_pair.h (piecewise_construct_t): Likewise.
  868. * include/bits/uses_allocator.h (allocator_arg_t): Likewise.
  869. * libsupc++/new (nothrow_t): Likewise.
  870. * testsuite/17_intro/tag_type_explicit_ctor.cc: New.
  871. 2015-11-11 Jonathan Wakely <jwakely@redhat.com>
  872. PR libstdc++/64651
  873. * libsupc++/exception_ptr.h (rethrow_exception): Add using-declaration
  874. to __exception_ptr namespace.
  875. * testsuite/18_support/exception_ptr/rethrow_exception.cc: Test ADL.
  876. Remove unnecessary test variables.
  877. 2015-11-10 Jonathan Wakely <jwakely@redhat.com>
  878. PR libstdc++/68190
  879. * include/bits/stl_multiset.h (multiset::find): Fix return types.
  880. * include/bits/stl_set.h (set::find): Likewise.
  881. * testsuite/23_containers/map/operations/2.cc: Test find return types.
  882. * testsuite/23_containers/multimap/operations/2.cc: Likewise.
  883. * testsuite/23_containers/multiset/operations/2.cc: Likewise.
  884. * testsuite/23_containers/set/operations/2.cc: Likewise.
  885. * doc/xml/manual/status_cxx2017.xml: Update.
  886. * doc/html/*: Regenerate.
  887. * include/bits/functional_hash.h: Fix grammar in comment.
  888. 2015-11-09 François Dumont <fdumont@gcc.gnu.org>
  889. * include/bits/stl_algo.h
  890. (partial_sort_copy): Instantiate std::iterator_traits only if concept
  891. checks.
  892. (lower_bound): Likewise.
  893. (upper_bound): Likewise.
  894. (equal_range): Likewise.
  895. (binary_search): Likewise.
  896. * include/bits/stl_heap.h (pop_heap): Likewise.
  897. 2015-11-06 Kai Tietz <ktietz70@googlemail.com>
  898. * testsuite/26_numerics/complex/requirements/constexpr.cc
  899. * testsuite/26_numerics/complex/requirements/constexpr_functions.cc:
  900. Use constexpr where needed.
  901. 2015-11-06 David Malcolm <dmalcolm@redhat.com>
  902. * testsuite/lib/libstdc++.exp (v3_target_compile): Add
  903. -fno-diagnostics-show-caret -fdiagnostics-color=never to
  904. option's additional_flags.
  905. 2015-11-03 Jason Merrill <jason@redhat.com>
  906. * libsupc++/new: Declare sized deletes.
  907. 2015-11-03 Ville Voutilainen <ville.voutilainen@gmail.com>
  908. Make the default constructors of tuple and pair conditionally explicit.
  909. * include/std/type_traits (is_unsigned, __is_array_unknown_bounds,
  910. __is_default_constructible_atom, __is_default_constructible_safe,
  911. __is_direct_constructible_new_safe, __is_direct_constructible_ref_cast,
  912. __is_nt_default_constructible_impl, is_nothrow_default_constructible,
  913. is_nothrow_constructible, is_nothrow_assignable,
  914. is_trivially_constructible, is_trivially_copy_constructible,
  915. is_trivially_move_constructible, is_trivially_assignable,
  916. is_trivially_copy_assignable, is_trivially_move_assignable,
  917. is_trivially_destructible): Simplify.
  918. * include/std/type_traits (
  919. __do_is_implicitly_default_constructible_impl,
  920. __is_implicitly_default_constructible_impl,
  921. __is_implicitly_default_constructible_safe,
  922. __is_implicitly_default_constructible): New.
  923. * include/bits/stl_pair.h (pair::pair()): Use it.
  924. * include/std/tuple (tuple<_T1, _T2>::tuple): Use it.
  925. * include/std/tuple (_ImplicitlyDefaultConstructibleTuple): New.
  926. * include/std/tuple (tuple<_Types...>::tuple()): Use it.
  927. * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
  928. * testsuite/20_util/is_implicitly_default_constructible/
  929. requirements/explicit_instantiation.cc: New.
  930. * testsuite/20_util/is_implicitly_default_constructible/requirements/
  931. typedefs.cc: Likewise.
  932. * testsuite/20_util/is_implicitly_default_constructible/value.cc:
  933. Likewise.
  934. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
  935. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
  936. Likewise.
  937. * testsuite/20_util/pair/cons/explicit_construct.cc: Likewise.
  938. * testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise.
  939. 2015-10-24 Jonathan Wakely <jwakely@redhat.com>
  940. * include/std/functional (__invoke_impl): New overloads.
  941. (__invoke): Replace with a single function calling __invoke_impl.
  942. (invoke): Add C++17 std::invoke.
  943. (reference_wrapper::operator()): Qualify call to __invoke.
  944. (_Mem_fn_traits_base, _Mem_fn_traits): Remove unused typedefs.
  945. (_Mem_fn_base): Remove unused typedefs and implement call operator in
  946. terms of __invoke.
  947. * include/std/future (__future_base::_Async_state_commonV2): Do not
  948. pass reference_wrapper as object argument to call_once.
  949. * include/std/type_traits (result_of): Define nested __invoke_type.
  950. Handle reference_wrapper as per LWG 2219.
  951. * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error directives.
  952. * testsuite/20_util/function_objects/mem_fn/55463.cc: Remove tests
  953. using member functions of reference_wrapper.
  954. 2015-10-24 Jonathan Wakely <jwakely@redhat.com>
  955. * include/std/future (async): Use deferred function on exception.
  956. * testsuite/30_threads/async/except.cc: New.
  957. 2015-10-21 Jonathan Wakely <jwakely@redhat.com>
  958. * include/std/type_traits (__cpp_lib_bool_constant): Define.
  959. 2015-10-16 Jonathan Wakely <jwakely@redhat.com>
  960. * doc/xml/manual/configure.xml: Document
  961. --enable-libstdcxx-filesystem-ts option.
  962. * doc/xml/manual/status_cxx2014.xml: Document libstdc++fs.a.
  963. * doc/xml/manual/using.xml: Likewise.
  964. * doc/html/*: Regenerate.
  965. 2015-10-16 Aurelio Remonda <aurelio.remonda@tallertechnologies.com>
  966. * testsuite/25_algorithms/random_shuffle/moveable.cc: Change variable
  967. N from const int N = 200000 to const unsigned int N = 10000.
  968. Delete useless fill_ascending function call.
  969. 2015-10-15 Szabolcs Nagy <szabolcs.nagy@arm.com>
  970. * testsuite/lib/libstdc++.exp (libstdc++-dg-test): Check for
  971. unsupported compiler output.
  972. 2015-10-13 Nathan Froyd <froydnj@gcc.gnu.org>
  973. * config/cpu/i486/opt/bits/opt_random.h: Include pmmintrin.h instead
  974. of x86intrin.h, and only do so when __SSE3__
  975. * include/ext/random: Include emmintrin.h instead of x86intrin.h
  976. 2015-10-11 Joseph Myers <joseph@codesourcery.com>
  977. * crossconfig.m4 (GLIBCXX_CROSSCONFIG) <*-linux* | *-uclinux* |
  978. *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu | *-cygwin*>: Check for
  979. __cxa_thread_atexit_impl.
  980. * configure: Regenerate.
  981. 2015-10-09 Jonathan Wakely <jwakely@redhat.com>
  982. * include/experimental/erase_if.h: Move to ...
  983. * include/experimental/bits/erase_if.h: New.
  984. * include/experimental/fs_dir.h: Move to ...
  985. * include/experimental/bits/fs_dir.h: New.
  986. * include/experimental/fs_fwd.h: Move to ...
  987. * include/experimental/bits/fs_fwd.h: New.
  988. * include/experimental/fs_ops.h: Move to ...
  989. * include/experimental/bits/fs_ops.h: New.
  990. * include/experimental/fs_path.h: Move to ...
  991. * include/experimental/bits/fs_path.h: New.
  992. * include/experimental/string_view.tcc: Move to ...
  993. * include/experimental/bits/string_view.tcc: New.
  994. * include/Makefile.am: Add include/experimental/bits sub-directory.
  995. * include/Makefile.in: Regenerate.
  996. * include/experimental/filesystem: Adjust includes.
  997. * include/experimental/map: Likewise.
  998. * include/experimental/set: Likewise.
  999. * include/experimental/string_view: Likewise.
  1000. * include/experimental/unordered_map: Likewise.
  1001. * include/experimental/unordered_set: Likewise.
  1002. 2015-10-05 Ville Voutilainen <ville.voutilainen@gmail.com>
  1003. PR 67844.
  1004. * include/std/tuple (_TC::_NonNestedTuple): Eagerly reject
  1005. conversions from tuple types same as the target tuple.
  1006. * testsuite/20_util/tuple/67844.cc: New.
  1007. * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Add
  1008. a missing copyright header.
  1009. 2015-10-03 Jonathan Wakely <jwakely@redhat.com>
  1010. * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Remove support
  1011. for _Manager_alloc.
  1012. * src/c++98/locale.cc: Fix comment.
  1013. * src/c++98/locale_init.cc: Likewise.
  1014. * testsuite/21_strings/basic_string/literals/types.cc: Guard use of
  1015. wchar_t with _GLIBCXX_USE_WCHAR_T.
  1016. * testsuite/21_strings/basic_string/literals/values.cc: Likewise.
  1017. * testsuite/21_strings/basic_string/requirements/citerators.cc:
  1018. Likewise.
  1019. * testsuite/22_locale/messages/13631.cc: Likewise.
  1020. * testsuite/experimental/string_view/literals/types.cc: Likewise.
  1021. * testsuite/experimental/string_view/literals/values.cc: Likewise.
  1022. * src/filesystem/Makefile.am: Add cxx11_abi_sources.
  1023. * src/filesystem/Makefile.in: Regenerate.
  1024. * src/filesystem/cow-dir.cc: New.
  1025. * src/filesystem/cow-ops.cc: New.
  1026. * src/filesystem/cow-path.cc: New.
  1027. * src/filesystem/dir.cc: Define macro for new ABI.
  1028. * src/filesystem/ops.cc: Likewise.
  1029. * src/filesystem/path.cc: Likewise.
  1030. 2015-10-02 Jonathan Wakely <jwakely@redhat.com>
  1031. * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
  1032. Minor tweaks to match narrow char version.
  1033. * testsuite/21_strings/basic_string/allocator/char/minimal.cc: Guard
  1034. explicit instantiation with check for new ABI.
  1035. * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
  1036. Likewise. Use wchar_t as char_type.
  1037. * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
  1038. (basic_string::front() const, basic_string::back() const): Use
  1039. noexcept instead of _GLIBCXX_NOEXCEPT macro.
  1040. (__versa_string::front, __versa_string::back): Likewise.
  1041. * acinclude.m4 (GLIBCXX_ENABLE_DEBUG_FLAGS): Fix comment.
  1042. * include/bits/locale_conv.h [!_GLIBCXX_USE_WCHAR_T]
  1043. (__do_str_codecvt, __str_codecvt_in, __str_codecvt_out): Enable.
  1044. * include/experimental/fs_path.h [!_GLIBCXX_USE_WCHAR_T]
  1045. (path::wstring, path::generic_wstring): Disable.
  1046. * src/filesystem/path.cc (path::_S_convert_loc)
  1047. [!_GLIBCXX_USE_WCHAR_T]: Skip conversion.
  1048. * testsuite/experimental/filesystem/path/assign/assign.cc: Check for
  1049. wchar_t support.
  1050. * testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
  1051. * testsuite/experimental/filesystem/path/construct/range.cc: Likewise.
  1052. * testsuite/util/testsuite_fs.h (nonexistent_path): Use less generic
  1053. name for paths. Prefer snprintf to sprintf.
  1054. PR libstdc++/67747
  1055. * src/filesystem/dir.cc (native_readdir): Remove.
  1056. (_Dir::advance): Use readdir instead of native_readdir.
  1057. (recursive_directory_iterator(const path&, directory_options,
  1058. error_code*)): Use swap instead of reset.
  1059. 2015-10-01 Jonathan Wakely <jwakely@redhat.com>
  1060. * doc/html/manual/errno.html: Add new file.
  1061. * doc/xml/manual/diagnostics.xml: Document use of errno.
  1062. * doc/html/*: Regenerate.
  1063. * config/locale/generic/c_locale.cc (_Save_errno): New helper.
  1064. (__convert_to_v): Use _Save_errno.
  1065. * include/ext/string_conversions.h (__stoa): Only restore errno when
  1066. it isn't set to non-zero.
  1067. 2015-09-30 François Dumont <fdumont@gcc.gnu.org>
  1068. Jonathan Wakely <jwakely@redhat.com>
  1069. * config/locale/gnu/messages_members.cc (Catalog_info, Catalogs):
  1070. Move...
  1071. * config/locale/gnu/c++locale_internal.h: ...here in std namespace.
  1072. * config/locale/gnu/c_locale.cc: Move implementation of latter here.
  1073. * src/c++98/Makefile.am: Compile c++locale.cc with -fimplicit-templates.
  1074. * src/c++98/Makefile.in: Regenerate.
  1075. * config/abi/pre/gnu.ver: Adjust.
  1076. 2015-09-30 Matthias Klose <doko@ubuntu.com>
  1077. * config/cpu/alpha, config/cpu/ia64: Remove empty directories.
  1078. 2015-09-29 Jonathan Wakely <jwakely@redhat.com>
  1079. * include/ext/string_conversions.h (__stoa): Save and restore errno.
  1080. * testsuite/21_strings/basic_string/numeric_conversions/char/errno.cc:
  1081. New.
  1082. PR libstdc++/67583
  1083. * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Fix sputn call
  1084. with mismatched arguments.
  1085. * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise.
  1086. PR libstdc++/65393
  1087. * config/abi/pre/gnu.ver: Export new symbols.
  1088. * include/std/thread (thread::_State, thread::_State_impl): New types.
  1089. (thread::_M_start_thread): Add overload taking unique_ptr<_State>.
  1090. (thread::_M_make_routine): Remove.
  1091. (thread::_S_make_state): Add.
  1092. (thread::_Impl_base, thread::_Impl, thread::_M_start_thread)
  1093. [_GLIBCXX_THREAD_ABI_COMPAT] Only declare conditionally.
  1094. * src/c++11/thread.cc (execute_native_thread_routine): Rename to
  1095. execute_native_thread_routine_compat and re-define to use _State.
  1096. (thread::_State::~_State()): Define.
  1097. (thread::_M_make_thread): Define new overload.
  1098. (thread::_M_make_thread) [_GLIBCXX_THREAD_ABI_COMPAT]: Only define old
  1099. overloads conditionally.
  1100. 2015-09-28 Jonathan Wakely <jwakely@redhat.com>
  1101. * include/std/condition_variable (condition_variable::wait): Add
  1102. noexcept.
  1103. * src/c++11/condition_variable.cc (condition_variable::wait): Call
  1104. std::terminate on error (DR 2135).
  1105. 2015-09-25 Ville Voutilainen <ville.voutilainen@gmail.com>
  1106. Avoid creating dangling references in case of nested tuples
  1107. for tuple constructors that construct from other tuples.
  1108. * include/std/tuple (_TC::_NonNestedTuple): New.
  1109. * include/std/tuple (tuple::_TNTC): New.
  1110. * include/std/tuple (tuple(const tuple<_UElements...>&),
  1111. tuple(tuple<_UElements...>&&): Use _TNTC.
  1112. * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: New.
  1113. 2015-09-24 Jonathan Wakely <jwakely@redhat.com>
  1114. PR libstdc++/67707
  1115. * include/bits/stl_deque.h (_Deque_base::_M_move_impl): Initialize
  1116. empty object.
  1117. * testsuite/23_containers/deque/allocator/move.cc: Check moved-from
  1118. deque.
  1119. 2015-09-23 Jonathan Wakely <jwakely@redhat.com>
  1120. * src/filesystem/ops.cc (canonical): Simplify error handling and
  1121. limit number of symlinks that can be resolved.
  1122. 2015-09-23 Jonathan Wakely <jwakely@redhat.com>
  1123. * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Remove _GLIBCXX_
  1124. prefix from HAVE_STRUCT_DIRENT_D_TYPE.
  1125. * config.h.in: Regenerate.
  1126. * configure: Regenerate.
  1127. * include/experimental/fs_dir.h (operator==, operator==):
  1128. Use owner_before instead of pointer equality.
  1129. (directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove.
  1130. * src/filesystem/dir.cc (ErrorCode): Remove.
  1131. (_Dir::advance): Change ErrorCode parameter to error_code*, add
  1132. directory_options parameter and check it on error.
  1133. (opendir): Rename to open_dir to avoid clashing with macro. Change
  1134. ErrorCode parameter to error_code*.
  1135. (make_shared_dir): Remove.
  1136. (native_readdir) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Don't set errno.
  1137. (directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove.
  1138. (directory_iterator(const path&, directory_options, error_code*)):
  1139. Pass options to _Dir::advance and create non-end iterator on error.
  1140. (recursive_directory_iterator(const path&, directory_options,
  1141. error_code*)): Clear error_code on ignored error, create non-end
  1142. iterator otherwise.
  1143. (recursive_directory_iterator::increment): Pass _M_options to
  1144. _Dir::advance.
  1145. (recursive_directory_iterator::pop): Likewise.
  1146. * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
  1147. New.
  1148. * testsuite/experimental/filesystem/iterators/
  1149. recursive_directory_iterator.cc: New.
  1150. * src/filesystem/ops.cc (is_dot, is_dotdot): Define new helpers.
  1151. (create_directories): Fix error handling.
  1152. * testsuite/experimental/filesystem/operations/create_directories.cc:
  1153. New.
  1154. 2015-09-21 Jonathan Wakely <jwakely@redhat.com>
  1155. PR libstdc++/67647
  1156. * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
  1157. (basic_string::shrink_to_fit): Fix #endif placement.
  1158. 2015-09-19 Tim Shen <timshen@google.com>
  1159. PR libstdc++/67361
  1160. * include/bits/regex_error.h: Add __throw_regex_error that
  1161. supports string.
  1162. * include/bits/regex_automaton.h: Add more specific exception
  1163. messages.
  1164. * include/bits/regex_automaton.tcc: Likewise.
  1165. * include/bits/regex_compiler.h: Likewise.
  1166. * include/bits/regex_compiler.tcc: Likewise.
  1167. * include/bits/regex_scanner.h: Likewise.
  1168. * include/bits/regex_scanner.tcc: Likewise.
  1169. 2015-09-18 Jonathan Wakely <jwakely@redhat.com>
  1170. * include/precompiled/extc++.h: Fix bootstrap error due to
  1171. unconditional inclusion of <ext/enc_filebuf.h>.
  1172. * include/ext/random: Check for definition of UINT32_C.
  1173. 2015-09-17 Catherine Moore <clm@codesourcery.com>
  1174. * src/c++11/debug.cc: Include <cstdio>.
  1175. 2015-09-17 Gerald Pfeifer <gerald@pfeifer.com>
  1176. * src/c++11/random.cc: Include <cerrno>.
  1177. 2015-09-17 François Dumont <fdumont@gcc.gnu.org>
  1178. * include/debug/formatter.h
  1179. (_Error_formatter::_Parameter::_M_print_field): Deprecate.
  1180. (_Error_formatter::_Parameter::_M_print_description): Likewise.
  1181. (_Error_formatter::_M_format_word): Likewise.
  1182. (_Error_formatter::_M_print_word): Likewise.
  1183. (_Error_formatter::_M_print_string): Likewise.
  1184. (_Error_formatter::_M_get_max_length): Likewise.
  1185. (_Error_formatter::_M_max_length): Delete.
  1186. (_Error_formatter::_M_indent): Likewise.
  1187. (_Error_formatter::_M_column): Likewise.
  1188. (_Error_formatter::_M_first_line): Likewise.
  1189. (_Error_formatter::_M_wordwrap): Likewise.
  1190. * src/c++11/debug.cc: Adapt.
  1191. 2015-09-17 Jonathan Wakely <jwakely@redhat.com>
  1192. PR libstdc++/65913
  1193. * include/bits/atomic_base.h (__atomic_base<_TTp>::is_lock_free(),
  1194. __atomic_base<_PTp*>::is_lock_free()): Call the built-in with the
  1195. immediate pointer value, not a variable.
  1196. * include/std/atomic (atomic<T>::is_lock_free()): Likewise.
  1197. * testsuite/29_atomics/atomic/65913.cc: New.
  1198. * testsuite/experimental/filesystem/operations/canonical.cc: Remove
  1199. non-deterministic part of the test.
  1200. PR libstdc++/65142
  1201. * src/c++11/random.cc (random_device::_M_getval()): Retry after short
  1202. reads.
  1203. * include/std/system_error (error_code::operator bool(),
  1204. error_condition::operator bool()): Remove redundant conditional
  1205. expression.
  1206. * include/bits/allocator.h (__shrink_to_fit_aux<T, true>::_S_do_it):
  1207. Do nothing if exceptions are disabled.
  1208. * include/bits/basic_string.h (basic_string::shrink_to_fit): Likewise.
  1209. 2015-09-16 Jonathan Wakely <jwakely@redhat.com>
  1210. PR libstdc++/67173
  1211. * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check _XOPEN_VERSION
  1212. and PATH_MAX for _GLIBCXX_USE_REALPATH.
  1213. * config.h.in: Regenerate.
  1214. * configure: Regenerate.
  1215. * src/filesystem/ops.cc: (canonical) [!_GLIBCXX_USE_REALPATH]: Add
  1216. alternative implementation.
  1217. * testsuite/experimental/filesystem/operations/canonical.cc: New.
  1218. * testsuite/experimental/filesystem/operations/exists.cc: Add more
  1219. tests.
  1220. * testsuite/experimental/filesystem/operations/absolute.cc: Add test
  1221. variables.
  1222. * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
  1223. * testsuite/experimental/filesystem/operations/current_path.cc:
  1224. Likewise.
  1225. * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
  1226. * testsuite/experimental/filesystem/operations/status.cc: Likewise.
  1227. * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
  1228. Likewise.
  1229. 2015-09-11 Jonathan Wakely <jwakely@redhat.com>
  1230. PR libstdc++/67173
  1231. * src/filesystem/ops.cc (filesystem::canonical): Allocate buffer for
  1232. realpath on Solaris 10.
  1233. PR libstdc++/65142
  1234. * src/c++11/random.cc (random_device::_M_getval()): Check read result.
  1235. 2015-09-11 John Marino <gnugcc@marino.st>
  1236. Jonathan Wakely <jwakely@redhat.com>
  1237. PR libstdc++/67096
  1238. * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Do not test code points
  1239. above U+10FFFF.
  1240. * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Likewise.
  1241. * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Likewise.
  1242. * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Likewise.
  1243. * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Likewise.
  1244. * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Likewise.
  1245. * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: Likewise.
  1246. * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise.
  1247. * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: Likewise.
  1248. * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: Likewise.
  1249. * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: Likewise.
  1250. * testsuite/27_io/objects/wchar_t/10.cc: Likewise.
  1251. * testsuite/27_io/objects/wchar_t/11.cc: Likewise.
  1252. * testsuite/27_io/objects/wchar_t/12.cc: Likewise.
  1253. * testsuite/27_io/objects/wchar_t/13.cc: Likewise.
  1254. 2015-09-11 Jonathan Wakely <jwakely@redhat.com>
  1255. PR libstdc++/64857
  1256. * doc/xml/manual/using.xml: Improve aggregate header documentation.
  1257. * doc/html/manual/*: Regenerate.
  1258. * include/precompiled/extc++.h: Include <bits/stdc++.h> for C++11
  1259. and later and include more extension headers.
  1260. * testsuite/17_intro/headers/c++1998/all_attributes.cc: Remove
  1261. redundant header.
  1262. * testsuite/17_intro/headers/c++200x/: Rename to c++2011.
  1263. * testsuite/17_intro/headers/c++2014/all_attributes.cc: Remove
  1264. redundant headers.
  1265. * testsuite/17_intro/headers/c++2014/all_no_exceptions.cc: New.
  1266. * testsuite/17_intro/headers/c++2014/all_no_rtti.cc: New.
  1267. * testsuite/17_intro/headers/c++2014/all_pedantic_errors.cc: New.
  1268. * testsuite/17_intro/headers/c++2014/operator_names.cc: New.
  1269. * testsuite/17_intro/headers/c++2014/stdc++.cc: New.
  1270. * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
  1271. New.
  1272. PR libstdc++/58265
  1273. * doc/xml/manual/intro.xml: Document LWG 2063 and 2064 resolutions.
  1274. * doc/html/manual/bugs.html: Regenerate.
  1275. * include/bits/basic_string.h (basic_string): Implement N4258. Add
  1276. correct exception-specifications and propagate allocators correctly.
  1277. * include/bits/basic_string.tcc (basic_string::swap): Propagate
  1278. allocators correctly.
  1279. * include/debug/string (__gnu_debug::basic_string): Add correct
  1280. exceptions-specifications and allcoator-extended constructors.
  1281. * testsuite/21_strings/basic_string/allocator/char/copy.cc: New.
  1282. * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
  1283. New.
  1284. * testsuite/21_strings/basic_string/allocator/char/minimal.cc: New.
  1285. * testsuite/21_strings/basic_string/allocator/char/move.cc: New.
  1286. * testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
  1287. New.
  1288. * testsuite/21_strings/basic_string/allocator/char/noexcept.cc: New.
  1289. * testsuite/21_strings/basic_string/allocator/char/swap.cc: New.
  1290. * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc: New.
  1291. * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
  1292. New.
  1293. * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: New.
  1294. * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc: New.
  1295. * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
  1296. New.
  1297. * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc: New.
  1298. * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc: New.
  1299. * testsuite/util/testsuite_allocator.h (tracker_allocator): Define
  1300. defaulted assignment operators.
  1301. PR libstdc++/65092
  1302. * include/bits/stl_queue.h (queue, priority_queue): Add
  1303. allocator-extended constructors.
  1304. * include/bits/stl_stack.h (stack): Likewise.
  1305. * testsuite/23_containers/priority_queue/requirements/
  1306. uses_allocator.cc: Test allocator-extended constructors.
  1307. * testsuite/23_containers/queue/requirements/uses_allocator.cc:
  1308. Likewise.
  1309. * testsuite/23_containers/stack/requirements/uses_allocator.cc:
  1310. Likewise.
  1311. 2015-09-10 Jonathan Wakely <jwakely@redhat.com>
  1312. * testsuite/util/testsuite_allocator.h (PointerBase::operator[]): Add.
  1313. * testsuite/21_strings/basic_string/operators/char/1.cc: Verify the
  1314. string contents.
  1315. 2015-09-09 Jonathan Wakely <jwakely@redhat.com>
  1316. * doc/xml/manual/using.xml (_GLIBCXX_ASSERTIONS): Document.
  1317. * doc/html/manual/using_macros.html: Regenerate.
  1318. * include/bits/c++config: Define _GLIBCXX_ASSERTIONS when
  1319. _GLIBCXX_DEBUG is defined. Disable std::string extern templates when
  1320. (_GLIBCXX_EXTERN_TEMPLATE, __glibcxx_assert): Depend on
  1321. _GLIBCXX_ASSERTIONS instead of _GLIBCXX_DEBUG.
  1322. * include/debug/debug.h [!_GLIBCXX_DEBUG]: Define
  1323. __glibcxx_requires_non_empty_range and __glibcxx_requires_nonempty.
  1324. * include/backward/auto_ptr.h (auto_ptr::operator*,
  1325. auto_ptr::operator->): Replace _GLIBCXX_DEBUG_ASSERT with
  1326. __glibcxx_assert.
  1327. * include/bits/basic_string.h (basic_string::operator[],
  1328. basic_string::front, basic_string::back, basic_string::pop_back):
  1329. Likewise.
  1330. * include/bits/random.h
  1331. (uniform_int_distribution::param_type::param_type,
  1332. uniform_real_distribution::param_type::param_type,
  1333. normal_distribution::param_type::param_type,
  1334. gamma_distribution::param_type::param_type,
  1335. bernoulli_distribution::param_type::param_type,
  1336. binomial_distribution::param_type::param_type,
  1337. geometric_distribution::param_type::param_type,
  1338. negative_binomial_distribution::param_type::param_type,
  1339. poisson_distribution::param_type::param_type,
  1340. exponential_distribution::param_type::param_type): Likewise.
  1341. * include/bits/regex.h (match_results::operator[],
  1342. match_results::prefix, match_results::suffix): Likewise.
  1343. * include/bits/regex.tcc (format, regex_iterator::operator++):
  1344. Likewise.
  1345. * include/bits/regex_automaton.tcc (_StateSeq::_M_clone): Likewise.
  1346. * include/bits/regex_compiler.tcc (_Compiler::_Compiler,
  1347. _Compiler::_M_insert_character_class_matcher): Likewise.
  1348. * include/bits/regex_executor.tcc (_Executor::_M_dfs): Likewise.
  1349. * include/bits/regex_scanner.tcc (_Scanner::_M_advance,
  1350. _Scanner::_M_scan_normal): Likewise.
  1351. * include/bits/shared_ptr_base.h (__shared_ptr::_M_reset,
  1352. __shared_ptr::operator*): Likewise.
  1353. * include/bits/stl_iterator_base_funcs.h (__advance): Likewise.
  1354. * include/bits/unique_ptr.h (unique_ptr::operator*,
  1355. unique_ptr::operator[]): Likewise.
  1356. * include/experimental/fs_path.h (path::path(string_type, _Type),
  1357. path::iterator::operator++, path::iterator::operator--,
  1358. path::iterator::operator*): Likewise.
  1359. * include/experimental/string_view (basic_string_view::operator[],
  1360. basic_string_view::front, basic_string_view::back,
  1361. basic_string_view::remove_prefix): Likewise.
  1362. * include/ext/random (beta_distribution::param_type::param_type,
  1363. normal_mv_distribution::param_type::param_type,
  1364. rice_distribution::param_type::param_type,
  1365. pareto_distribution::param_type::param_type,
  1366. k_distribution::param_type::param_type,
  1367. arcsine_distribution::param_type::param_type,
  1368. hoyt_distribution::param_type::param_type,
  1369. triangular_distribution::param_type::param_type,
  1370. von_mises_distribution::param_type::param_type,
  1371. hypergeometric_distribution::param_type::param_type,
  1372. logistic_distribution::param_type::param_type): Likewise.
  1373. * include/ext/vstring.h (__versa_string::operator[]): Likewise.
  1374. * include/std/complex (polar): Likewise.
  1375. * include/std/mutex [!_GTHREAD_USE_MUTEX_TIMEDLOCK]
  1376. (timed_mutex::~timed_mutex, timed_mutex::unlock,
  1377. (recursive_timed_mutex::~timed_mutex, recursive_timed_mutex::unlock):
  1378. Likewise.
  1379. * include/std/shared_mutex [!PTHREAD_RWLOCK_INITIALIZER]
  1380. (__shared_mutex_pthread::__shared_mutex_pthread,
  1381. __shared_mutex_pthread::~__shared_mutex_pthread): Likewise.
  1382. (__shared_mutex_pthread::lock, __shared_mutex_pthread::try_lock,
  1383. __shared_mutex_pthread::unlock, __shared_mutex_pthread::lock_shared,
  1384. __shared_mutex_pthread::try_lock_shared): Likewise.
  1385. (__shared_mutex_cv::~__shared_mutex_cv, __shared_mutex_cv::unlock,
  1386. __shared_mutex_cv::unlock_shared): Likewise.
  1387. (shared_timed_mutex::try_lock_until,
  1388. shared_timed_mutex::try_lock_shared_until): Likewise.
  1389. * include/std/valarray (valarray::valarray(const _Tp*, size_t),
  1390. valarray::operator=, valarray::sum, valarray::min, valarray::max,
  1391. _DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT, _DEFINE_BINARY_OPERATOR):
  1392. Likewise.
  1393. 2015-09-07 Jonathan Wakely <jwakely@redhat.com>
  1394. * include/bits/shared_ptr_base.h (__shared_ptr::operator->): Change
  1395. _GLIBCXX_DEBUG_ASSERT to _GLIBCXX_DEBUG_PEDASSERT.
  1396. * include/bits/unique_ptr.h (unique_ptr::operator->): Likewise.
  1397. * testsuite/20_util/shared_ptr/observers/get.cc: Test operator-> on
  1398. empty shared_ptr.
  1399. * include/bits/regex_compiler.h (_BracketMatcher::_M_is_ready):
  1400. Initialize using NSDMI and set using _GLIBCXX_DEBUG_ONLY.
  1401. * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Rename
  1402. shadowed variable.
  1403. * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Run on
  1404. darwin.
  1405. * testsuite/30_threads/timed_mutex/unlock/2.cc: Run on darwin.
  1406. 2015-09-04 Jonathan Wakely <jwakely@redhat.com>
  1407. PR libstdc++/65704
  1408. * include/std/mutex (recursive_timed_mutex): Fix uses of _Can_lock.
  1409. PR libstdc++/65704
  1410. * include/Makefile.am: Add <bits/mutex.h>.
  1411. * include/Makefile.in: Regenerate.
  1412. * include/bits/mutex.h (__mutex_base, mutex, lock_guard, unique_lock):
  1413. New file containing types moved from <mutex>.
  1414. * include/std/condition_variable: Include <bits/mutex.h> instead of
  1415. <mutex>.
  1416. * include/std/mutex (__mutex_base, mutex, lock_guard, unique_lock):
  1417. Move to <bits/mutex.h>.
  1418. * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Remove
  1419. dg-require-gthreads-timed.
  1420. * testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc:
  1421. Likewise.
  1422. * testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc:
  1423. Likewise.
  1424. * testsuite/30_threads/recursive_timed_mutex/dest/
  1425. destructor_locked.cc: Likewise.
  1426. * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
  1427. * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
  1428. * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
  1429. * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
  1430. * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
  1431. Likewise.
  1432. * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
  1433. Likewise.
  1434. * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
  1435. Likewise.
  1436. * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
  1437. Likewise.
  1438. * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
  1439. Likewise.
  1440. * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
  1441. * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
  1442. * testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
  1443. * testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
  1444. * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
  1445. Likewise.
  1446. * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
  1447. * testsuite/30_threads/timed_mutex/requirements/standard_layout.cc:
  1448. Likewise.
  1449. * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
  1450. * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
  1451. * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
  1452. * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
  1453. * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
  1454. * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
  1455. * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
  1456. * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
  1457. * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
  1458. * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
  1459. * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
  1460. * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
  1461. * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
  1462. 2015-09-04 Edward Smith-Rowland <3dw4rd@verizon.net>
  1463. Jonathan Wakely <jwakely@redhat.com>
  1464. Add C++11 header <cuchar>.
  1465. * acinclude.m4 (GLIBCXX_CHECK_UCHAR_H): Define.
  1466. * config.h.in: Regenerate.
  1467. * configure: Regenerate.
  1468. * configure.ac: Check for <uchar.h>.
  1469. * include/Makefile.am: Add new headers.
  1470. * include/Makefile.in: Regenerate.
  1471. * include/c/cuchar: New.
  1472. * include/c_compatibility/uchar.h: New.
  1473. * include/c_global/cuchar: New.
  1474. * include/c_std/cuchar: New.
  1475. * include/precompiled/stdc++.h: Include <cuchar>.
  1476. * testsuite/17_intro/headers/c++200x/stdc++.cc: Include <uchar.h>.
  1477. * testsuite/17_intro/headers/c++200x/stdc++_multiple_inclusion.cc:
  1478. Include <uchar.h>.
  1479. 2015-09-04 Jonathan Wakely <jwakely@redhat.com>
  1480. PR libstdc++/65473
  1481. * include/c/cassert: Include <bits/c++config.h>.
  1482. * include/c/cerrno: Likewise.
  1483. * include/c/cfloat: Likewise.
  1484. * include/c/ciso646: Likewise.
  1485. * include/c/climits: Likewise.
  1486. * include/c_global/cassert: Likewise.
  1487. * include/c_global/cerrno: Likewise.
  1488. * include/c_global/cfloat: Likewise.
  1489. * include/c_global/ciso646: Likewise.
  1490. * include/c_global/climits: Likewise.
  1491. * include/c_std/cassert: Likewise.
  1492. * include/c_std/cerrno: Likewise.
  1493. * include/c_std/cfloat: Likewise.
  1494. * include/c_std/ciso646: Likewise.
  1495. * include/c_std/climits: Likewise.
  1496. 2015-09-03 Jonathan Wakely <jwakely@redhat.com>
  1497. * include/bits/shared_ptr_base.h: Add required header.
  1498. * include/std/condition_variable: Likewise.
  1499. * include/std/mutex: Remove unused header.
  1500. * include/std/shared_mutex: Remove redundant header.
  1501. (shared_mutex::shared_mutex()): Replace throw with __throw_bad_alloc.
  1502. PR libstdc++/66902
  1503. * src/c++11/debug.cc (_S_debug_messages): Make array const.
  1504. PR libstdc++/66998
  1505. * include/experimental/functional (_Not_fn): Add exception
  1506. specifications and non-deduced return types.
  1507. (not_fn): Add exception specification and wrap pointer-to-member.
  1508. * testsuite/experimental/functional/not_fn.cc: Test in SFINAE context
  1509. and test pointer-to-member.
  1510. PR libstdc++/62039
  1511. * include/bits/stl_iterator_base_funcs.h (next, prev): Add concept
  1512. checks.
  1513. * testsuite/24_iterators/operations/prev_neg.cc: New.
  1514. * testsuite/24_iterators/operations/next_neg.cc: New.
  1515. 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
  1516. * testsuite/18_support/pthread_guard.cc: Add *-*-rtems* target
  1517. selector to all lines which contain a *-*-cygwin target selector.
  1518. * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise.
  1519. * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Likewise.
  1520. * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
  1521. * testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
  1522. * testsuite/21_strings/basic_string/pthread33394.cc: Likewise.
  1523. * testsuite/21_strings/basic_string/pthread4.cc: Likewise.
  1524. * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
  1525. * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
  1526. * testsuite/23_containers/list/pthread1.cc: Likewise.
  1527. * testsuite/23_containers/list/pthread5.cc: Likewise.
  1528. * testsuite/23_containers/map/pthread6.cc: Likewise.
  1529. * testsuite/23_containers/vector/debug/multithreaded_swap.cc: Likewise.
  1530. * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
  1531. * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
  1532. * testsuite/30_threads/async/42819.cc: Likewise.
  1533. * testsuite/30_threads/async/49668.cc: Likewise.
  1534. * testsuite/30_threads/async/54297.cc: Likewise.
  1535. * testsuite/30_threads/async/any.cc: Likewise.
  1536. * testsuite/30_threads/async/async.cc: Likewise.
  1537. * testsuite/30_threads/async/launch.cc: Likewise.
  1538. * testsuite/30_threads/async/lwg2021.cc: Likewise.
  1539. * testsuite/30_threads/async/sync.cc: Likewise.
  1540. * testsuite/30_threads/call_once/39909.cc: Likewise.
  1541. * testsuite/30_threads/call_once/49668.cc: Likewise.
  1542. * testsuite/30_threads/call_once/60497.cc: Likewise.
  1543. * testsuite/30_threads/call_once/call_once1.cc: Likewise.
  1544. * testsuite/30_threads/condition_variable/54185.cc: Likewise.
  1545. * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
  1546. * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
  1547. * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
  1548. * testsuite/30_threads/condition_variable/members/3.cc: Likewise.
  1549. * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
  1550. * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
  1551. Likewise.
  1552. * testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
  1553. * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
  1554. * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
  1555. * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
  1556. * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
  1557. * testsuite/30_threads/future/cons/move.cc: Likewise.
  1558. * testsuite/30_threads/future/members/45133.cc: Likewise.
  1559. * testsuite/30_threads/future/members/get.cc: Likewise.
  1560. * testsuite/30_threads/future/members/get2.cc: Likewise.
  1561. * testsuite/30_threads/future/members/share.cc: Likewise.
  1562. * testsuite/30_threads/future/members/valid.cc: Likewise.
  1563. * testsuite/30_threads/future/members/wait.cc: Likewise.
  1564. * testsuite/30_threads/future/members/wait_for.cc: Likewise.
  1565. * testsuite/30_threads/future/members/wait_until.cc: Likewise.
  1566. * testsuite/30_threads/lock/1.cc: Likewise.
  1567. * testsuite/30_threads/lock/2.cc: Likewise.
  1568. * testsuite/30_threads/lock/3.cc: Likewise.
  1569. * testsuite/30_threads/lock/4.cc: Likewise.
  1570. * testsuite/30_threads/mutex/cons/1.cc: Likewise.
  1571. * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
  1572. * testsuite/30_threads/mutex/lock/1.cc: Likewise.
  1573. * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
  1574. * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
  1575. * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
  1576. * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
  1577. * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
  1578. * testsuite/30_threads/mutex/unlock/2.cc: Likewise.
  1579. * testsuite/30_threads/packaged_task/49668.cc: Likewise.
  1580. * testsuite/30_threads/packaged_task/60564.cc: Likewise.
  1581. * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
  1582. * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
  1583. * testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
  1584. * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
  1585. * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
  1586. * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
  1587. * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
  1588. * testsuite/30_threads/packaged_task/members/at_thread_exit.cc:
  1589. Likewise.
  1590. * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
  1591. * testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise.
  1592. * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
  1593. * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
  1594. * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
  1595. * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
  1596. * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
  1597. * testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
  1598. * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
  1599. * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
  1600. * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
  1601. * testsuite/30_threads/promise/60966.cc: Likewise.
  1602. * testsuite/30_threads/promise/cons/1.cc: Likewise.
  1603. * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
  1604. * testsuite/30_threads/promise/cons/move.cc: Likewise.
  1605. * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
  1606. * testsuite/30_threads/promise/members/at_thread_exit.cc: Likewise.
  1607. * testsuite/30_threads/promise/members/get_future.cc: Likewise.
  1608. * testsuite/30_threads/promise/members/get_future2.cc: Likewise.
  1609. * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
  1610. * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
  1611. * testsuite/30_threads/promise/members/set_value.cc: Likewise.
  1612. * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
  1613. * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
  1614. * testsuite/30_threads/promise/members/swap.cc: Likewise.
  1615. * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
  1616. * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
  1617. Likewise.
  1618. * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
  1619. * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
  1620. * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
  1621. Likewise.
  1622. * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
  1623. * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
  1624. * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
  1625. * testsuite/30_threads/recursive_mutex/unlock/2.cc: Likewise.
  1626. * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
  1627. * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
  1628. Likewise.
  1629. * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
  1630. * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
  1631. * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
  1632. Likewise.
  1633. * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
  1634. Likewise.
  1635. * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
  1636. * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
  1637. * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
  1638. Likewise.
  1639. * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
  1640. Likewise.
  1641. * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
  1642. Likewise.
  1643. * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
  1644. Likewise.
  1645. * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
  1646. Likewise.
  1647. * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
  1648. * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Likewise.
  1649. * testsuite/30_threads/shared_future/cons/move.cc: Likewise.
  1650. * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
  1651. * testsuite/30_threads/shared_future/members/get.cc: Likewise.
  1652. * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
  1653. * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
  1654. * testsuite/30_threads/shared_future/members/wait.cc: Likewise.
  1655. * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
  1656. * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
  1657. * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
  1658. * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
  1659. * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
  1660. * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
  1661. * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
  1662. * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
  1663. * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
  1664. * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
  1665. * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
  1666. * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
  1667. * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
  1668. * testsuite/30_threads/shared_mutex/cons/1.cc: Likewise.
  1669. * testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise.
  1670. * testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise.
  1671. * testsuite/30_threads/shared_mutex/unlock/1.cc: Likewise.
  1672. * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
  1673. * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc: Likewise.
  1674. * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
  1675. * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: Likewise.
  1676. * testsuite/30_threads/shared_timed_mutex/unlock/1.cc: Likewise.
  1677. * testsuite/30_threads/this_thread/1.cc: Likewise.
  1678. * testsuite/30_threads/this_thread/2.cc: Likewise.
  1679. * testsuite/30_threads/this_thread/3.cc: Likewise.
  1680. * testsuite/30_threads/this_thread/4.cc: Likewise.
  1681. * testsuite/30_threads/thread/cons/1.cc: Likewise.
  1682. * testsuite/30_threads/thread/cons/2.cc: Likewise.
  1683. * testsuite/30_threads/thread/cons/3.cc: Likewise.
  1684. * testsuite/30_threads/thread/cons/4.cc: Likewise.
  1685. * testsuite/30_threads/thread/cons/49668.cc: Likewise.
  1686. * testsuite/30_threads/thread/cons/5.cc: Likewise.
  1687. * testsuite/30_threads/thread/cons/6.cc: Likewise.
  1688. * testsuite/30_threads/thread/cons/7.cc: Likewise.
  1689. * testsuite/30_threads/thread/cons/8.cc: Likewise.
  1690. * testsuite/30_threads/thread/cons/9.cc: Likewise.
  1691. * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
  1692. * testsuite/30_threads/thread/members/1.cc: Likewise.
  1693. * testsuite/30_threads/thread/members/2.cc: Likewise.
  1694. * testsuite/30_threads/thread/members/3.cc: Likewise.
  1695. * testsuite/30_threads/thread/members/4.cc: Likewise.
  1696. * testsuite/30_threads/thread/members/5.cc: Likewise.
  1697. * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
  1698. * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
  1699. * testsuite/30_threads/thread/swap/1.cc: Likewise.
  1700. * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
  1701. * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
  1702. * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
  1703. * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
  1704. * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Likewise.
  1705. * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
  1706. * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
  1707. * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
  1708. * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
  1709. * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
  1710. * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
  1711. * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
  1712. * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
  1713. * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
  1714. * testsuite/30_threads/timed_mutex/unlock/2.cc: Likewise.
  1715. * testsuite/30_threads/try_lock/1.cc: Likewise.
  1716. * testsuite/30_threads/try_lock/2.cc: Likewise.
  1717. * testsuite/30_threads/try_lock/3.cc: Likewise.
  1718. * testsuite/30_threads/try_lock/4.cc: Likewise.
  1719. * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
  1720. * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
  1721. * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
  1722. * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
  1723. * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
  1724. * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
  1725. * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
  1726. * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
  1727. * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
  1728. * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
  1729. * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
  1730. * testsuite/ext/rope/pthread7-rope.cc: Likewise.
  1731. * testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
  1732. Likewise.
  1733. * testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
  1734. Likewise.
  1735. 2015-09-02 Dmitry Vyukov <dvyukov@google.com>
  1736. * include/bits/basic_string.h: Fix data races on _M_refcount.
  1737. 2015-09-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
  1738. PR libstdc++/67408
  1739. * include/std/mutex (__timed_mutex_impl::_M_try_lock_until): Use
  1740. _Derived::_M_timedlock().
  1741. (timed_mutex): Add _M_timedlock() and make base class a friend.
  1742. (recursive_timed_mutex): Likewise.
  1743. 2015-08-28 Tim Shen <timshen@google.com>
  1744. PR libstdc++/67362
  1745. * include/bits/regex_scanner.tcc (_Scanner<>::_M_scan_normal):
  1746. Always returns ordinary char token if the char isn't
  1747. considered a special char.
  1748. * testsuite/28_regex/regression.cc: New test file for collecting
  1749. regression testcases from, typically, bugzilla.
  1750. 2015-08-27 Jonathan Wakely <jwakely@redhat.com>
  1751. PR libstdc++/67374
  1752. * include/bits/range_access.h (valarray, begin, end): Declare.
  1753. * testsuite/26_numerics/valarray/range_access.cc: Test const
  1754. overloads.
  1755. * testsuite/26_numerics/valarray/range_access2.cc: New.
  1756. 2015-08-27 John Marino <gnugcc@marino.st>
  1757. * acinclude.m4 (*-*-dragonfly*): Change 7 locale support files
  1758. from generic to new DragonFly versions.
  1759. * configure: Regenerate.
  1760. * config/locale/dragonfly/c_locale.cc: Improve locale support.
  1761. * config/locale/dragonfly/ctype_members.cc: Likewise.
  1762. * config/os/bsd/dragonfly/ctype_configure_char.cc: Likewise.
  1763. * config/os/bsd/dragonfly/os_defines.h: Define _GLIBCXX_USE_C99.
  1764. * config/locale/dragonfly/c_locale.h: New.
  1765. * config/locale/dragonfly/codecvt_members.cc: New.
  1766. * config/locale/dragonfly/collate_members.cc: New.
  1767. * config/locale/dragonfly/monetary_members.cc: New.
  1768. * config/locale/dragonfly/numeric_members.cc: New.
  1769. * config/locale/dragonfly/time_members.cc: New.
  1770. * config/locale/dragonfly/time_members.h: New.
  1771. 2015-08-27 Jonathan Wakely <jwakely@redhat.com>
  1772. * configure: Regenerate.
  1773. 2015-08-26 Edward Smith-Rowland <3dw4rd@verizon.net>
  1774. Jonathan Wakely <jwakely@redhat.com>
  1775. PR libstdc++/64351
  1776. PR libstdc++/63176
  1777. * include/bits/random.tcc (generate_canonical): Loop until we get a
  1778. result less than one.
  1779. * testsuite/26_numerics/random/uniform_real_distribution/operators/
  1780. 64351.cc: New.
  1781. 2015-08-26 Jonathan Wakely <jwakely@redhat.com>
  1782. * include/bits/shared_ptr.h (__enable_shared_from_this_helper): Use
  1783. nullptr.
  1784. * include/bits/shared_ptr_base.h (weak_ptr::_M_assign): Don't assign
  1785. if ownership is already shared with a shared_ptr object.
  1786. (__enable_shared_from_this_helper): Use nullptr.
  1787. * testsuite/20_util/enable_shared_from_this/members/const.cc: New.
  1788. * testsuite/20_util/enable_shared_from_this/members/reinit.cc: New.
  1789. * testsuite/20_util/enable_shared_from_this/requirements/
  1790. explicit_instantiation.cc: Instantiate with const and incomplete types.
  1791. * include/debug/map.h (map::try_emplace, map::insert_or_assign):
  1792. Define.
  1793. * include/debug/unordered_map (unordered_map::try_emplace,
  1794. unordered_map::insert_or_assign): Define.
  1795. PR libstdc++/66902
  1796. * src/c++11/debug.cc (_S_debug_messages): Give internal linkage.
  1797. 2015-08-24 François Dumont <fdumont@gcc.gnu.org>
  1798. PR libstdc++/60519
  1799. * include/debug/formatter.h (_Debug_msg_id::__msg_irreflexive_ordering):
  1800. New enum entry.
  1801. * include/debug/functions.h (_Irreflexive_checker): New.
  1802. (__is_irreflexive, __is_irreflexive_pred): New.
  1803. * include/debug/macros.h
  1804. (__glibcxx_check_irreflexive, __glibcxx_check_irreflexive_pred): New
  1805. macros.
  1806. (__glibcxx_check_irreflexive2, __glibcxx_check_irreflexive_pred2): New
  1807. macros limited to post-C++11 mode.
  1808. * include/debug/debug.h
  1809. (__glibcxx_requires_irreflexive, __glibcxx_requires_irreflexive_pred):
  1810. New macros, use latter.
  1811. (__glibcxx_requires_irreflexive2, __glibcxx_requires_irreflexive_pred2):
  1812. Likewise.
  1813. * include/bits/stl_algo.h
  1814. (partial_sort_copy): Add irreflexive debug check.
  1815. (partial_sort_copy): Likewise.
  1816. (lower_bound): Likewise.
  1817. (upper_bound): Likewise.
  1818. (equal_range): Likewise.
  1819. (binary_search): Likewise.
  1820. (inplace_merge): Likewise.
  1821. (includes): Likewise.
  1822. (next_permutation): Likewise.
  1823. (prev_permutation): Likewise.
  1824. (is_sorted_until): Likewise.
  1825. (minmax_element): Likewise.
  1826. (partial_sort): Likewise.
  1827. (nth_element): Likewise.
  1828. (sort): Likewise.
  1829. (merge): Likewise.
  1830. (stable_sort): Likewise.
  1831. (set_union): Likewise.
  1832. (set_intersection): Likewise.
  1833. (set_difference): Likewise.
  1834. (set_symmetric_difference): Likewise.
  1835. (min_element): Likewise.
  1836. (max_element): Likewise.
  1837. * include/bits/stl_algobase.h
  1838. (lower_bound): Likewise.
  1839. (lexicographical_compare): Likewise.
  1840. * include/bits/stl_heap.h
  1841. (push_heap): Likewise.
  1842. (pop_heap): Likewise.
  1843. (make_heap): Likewise.
  1844. (sort_heap): Likewise.
  1845. (is_heap_until): Likewise.
  1846. * testsuite/25_algorithms/lexicographical_compare/debug/
  1847. irreflexive_neg.cc: New.
  1848. * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: New.
  1849. * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
  1850. New.
  1851. 2015-08-24 Jonathan Wakely <jwakely@redhat.com>
  1852. PR libstdc++/65049
  1853. * include/bits/char_traits.h (char_traits<char>::compare,
  1854. char_traits<char>::find, char_traits<char>::move,
  1855. char_traits<char>::copy, char_traits<char>::assign): Check for zero
  1856. length.
  1857. (char_traits<wchar_t>::compare, char_traits<wchar_t>::find,
  1858. char_traits<wchar_t>::move, char_traits<wchar_t>::copy,
  1859. char_traits<wchar_t>::assign): Likewise.
  1860. (char_traits<char16_t>::move, char_traits<char16_t>::copy): Likewise.
  1861. (char_traits<char32_t>::move, char_traits<char32_t>::copy): Likewise.
  1862. * include/ext/pod_char_traits.h (char_traits<character<>>::move,
  1863. char_traits<character<>>::copy): Likewise.
  1864. * testsuite/21_strings/char_traits/requirements/char/65049.cc: New.
  1865. * testsuite/21_strings/char_traits/requirements/char16_t/65049.cc:
  1866. New.
  1867. * testsuite/21_strings/char_traits/requirements/char32_t/65049.cc:
  1868. New.
  1869. * testsuite/21_strings/char_traits/requirements/wchar_t/65049.cc:
  1870. New.
  1871. PR libstdc++/67309
  1872. * include/bits/random.tcc
  1873. (poisson_distribution::param_type::_M_initialize): Use max<double>.
  1874. (binomial_distribution::param_type::_M_initialize): Likewise.
  1875. * testsuite/17_intro/headers/c++200x/67309.cc: New.
  1876. * testsuite/17_intro/headers/c++200x/all_attributes.cc: Remove
  1877. redundant header.
  1878. 2015-08-20 Jonathan Wakely <jwakely@redhat.com>
  1879. PR libstdc++/67294
  1880. * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Do not run
  1881. on Darwin.
  1882. * testsuite/30_threads/timed_mutex/unlock/2.cc: Likewise.
  1883. * include/experimental/any (__any_caster): Define at namespace scope
  1884. so the name is visible to name lookup.
  1885. * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
  1886. * python/Makefile.am: Ensure gdb.py is installed for libstdc++ not
  1887. libstdc++fs.
  1888. * python/Makefile.in: Regenerate.
  1889. 2015-08-19 Paolo Carlini <paolo.carlini@oracle.com>
  1890. * include/c_global/cmath: Fix typo in comment.
  1891. 2015-08-19 Paolo Carlini <paolo.carlini@oracle.com>
  1892. * include/c_global/cmath: Revert fix for libstdc++/58625, no
  1893. longer necessary (__builtin_signbit is now type-generic).
  1894. 2015-08-18 Jonathan Wakely <jwakely@redhat.com>
  1895. PR c++/67216
  1896. * testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc:
  1897. Fix use of safe-bool idiom that isn't valid in C++11.
  1898. * include/bits/ptr_traits.h: Include <bits/move.h> for addressof.
  1899. PR libstdc++/67066
  1900. * doc/xml/manual/configure.xml (manual.intro.setup.configure): Add
  1901. caveats for --enable-concept-checks. Improve link text.
  1902. * doc/xml/manual/diagnostics.xml (std.diagnostics.concept_checking):
  1903. Clarify caveats.
  1904. * doc/html/*: Regenerate.
  1905. * include/bits/stl_deque.h (deque): Only use concept checks in C++03.
  1906. * include/bits/stl_stack.h (stack): Likewise.
  1907. * include/bits/stl_vector.h (vector): Likewise.
  1908. 2015-08-14 Jonathan Wakely <jwakely@redhat.com>
  1909. * include/experimental/any (any::operator=(const any&)): Move check
  1910. for self-assignment.
  1911. (any::operator=(any&&)): Add check for self-assignment.
  1912. (any::operator=(_ValueType&&)): Constrain template argument.
  1913. (any::swap(any&)): Add check for self-swap.
  1914. * testsuite/experimental/any/assign/self.cc: Test move and swap.
  1915. * testsuite/experimental/any/misc/any_cast_neg.cc: Update dg-error.
  1916. 2015-08-14 Jonathan Wakely <jwakely@redhat.com>
  1917. * include/experimental/array: Add feature-test macro.
  1918. * testsuite/experimental/array/neg.cc: Update dg-error.
  1919. 2015-08-13 Ville Voutilainen <ville.voutilainen@gmail.com>
  1920. * testsuite/experimental/array/neg.s: Remove.
  1921. * testsuite/experimental/array/neg.ii.gz: Remove.
  1922. 2015-08-13 Ville Voutilainen <ville.voutilainen@gmail.com>
  1923. Implement std::experimental::fundamentals_v2::make_array and
  1924. std::experimental::fundamentals_v2::to_array.
  1925. * include/Makefile.am: Add array.
  1926. * include/Makefile.in: Add array.
  1927. * include/experimental/array: New.
  1928. * testsuite/experimental/array/make_array.cc: Likewise.
  1929. * testsuite/experimental/array/neg.cc: Likewise.
  1930. * doc/html/manual/status.html: Mark make_array as Y.
  1931. * doc/xml/manual/status_cxx2017.xml: Likewise.
  1932. 2015-08-13 Jonathan Wakely <jwakely@redhat.com>
  1933. * include/bits/alloc_traits.h: Add feature-test macro.
  1934. * include/bits/allocator.h: Likewise.
  1935. * include/bits/range_access.h: Likewise.
  1936. * include/bits/stl_map.h: Likewise.
  1937. * include/bits/unordered_map.h: Likewise.
  1938. 2015-08-13 Jonathan Wakely <jwakely@redhat.com>
  1939. * testsuite/30_threads/mutex/unlock/2.cc: New.
  1940. * testsuite/30_threads/recursive_mutex/unlock/2.cc: New.
  1941. * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: New.
  1942. * testsuite/30_threads/shared_mutex/unlock/1.cc: New.
  1943. * testsuite/30_threads/shared_timed_mutex/unlock/1.cc: New.
  1944. * testsuite/30_threads/timed_mutex/unlock/2.cc: New.
  1945. 2015-08-13 Eelis van der Weegen <eelis@eelis.net>
  1946. * include/std/shared_mutex (shared_mutex::unlock()): Fix typo.
  1947. 2015-08-12 Caroline Tice <cmtice@google.com>
  1948. PR 66521, Contributed by Eric Gallager
  1949. * acinclude.m4 (VTV_CXXLINKFLAGS): Make this variable OS-specific, and
  1950. fix the rpath flag to work properly for darwin.
  1951. * configure: Regenerated.
  1952. 2015-08-12 Jonathan Wakely <jwakely@redhat.com>
  1953. * doc/xml/manual/appendix_contributing.xml: Update patch email policy.
  1954. * doc/xml/manual/status_cxx2017.xml: Update status table.
  1955. * doc/html/manual/*: Regenerate.
  1956. 2015-08-09 Ville Voutilainen <ville.voutilainen@gmail.com>
  1957. Implement N4279, Improved insertion interface for unique-key maps.
  1958. * include/bits/stl_map.h (try_emplace, insert_or_assign): New.
  1959. * include/bits/stl_tree.h (_M_get_insert_unique_pos,
  1960. _M_get_insert_equal_pos, _M_get_insert_hint_unique_pos,
  1961. _M_get_insert_hint_equal_pos): Make public.
  1962. * include/bits/unordered_map.h (try_emplace, insert_or_assign): New.
  1963. * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
  1964. Likewise.
  1965. * testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise.
  1966. * testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc:
  1967. Likewise.
  1968. * testsuite/23_containers/unordered_map/modifiers/try_emplace.cc:
  1969. Likewise.
  1970. 2015-08-08 Ville Voutilainen <ville.voutilainen@gmail.com>
  1971. Implement N4089 Safe conversions in unique_ptr<T[]> (LWG 2118)
  1972. and N4366 LWG 2228: Missing SFINAE rule in unique_ptr
  1973. templated assignment
  1974. * include/bits/unique_ptr.h
  1975. (__remove_cv, __is_derived_Tp): Remove.
  1976. (default_delete::default_delete(const default_delete<_Up[]>)):
  1977. Constrain with array convertibility.
  1978. (default_delete::operator(_Up*)): Turn into a template,
  1979. constrain with array convertibility.
  1980. (__safe_conversion_up): New, single object version.
  1981. (unique_ptr(unique_ptr<_Up, _Ep>&&)): Constrain with deleter
  1982. convertibility.
  1983. (unique_ptr::operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add
  1984. is_assignable as a constraint.
  1985. (__safe_conversion_up): Array version, renamed from __safe_conversion,
  1986. updated to implement N4089.
  1987. (__safe_conversion_raw): New.
  1988. (unique_ptr(_Up)): Turn into a template, constrain with array
  1989. convertibility.
  1990. (unique_ptr(_Up,
  1991. typename conditional<is_reference<deleter_type>::value,
  1992. deleter_type, const deleter_type&>::type)): Likewise.
  1993. (unique_ptr(_Up, typename
  1994. remove_reference<deleter_type>::type&&)): Likewise.
  1995. (unique_ptr(unique_ptr<_Up, _Ep>&&)): Likewise.
  1996. (operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add
  1997. is_assignable as a constraint (array version).
  1998. (reset(_Up)): Turn into a template, constrain with array
  1999. convertibility.
  2000. (reset(nullptr_t)): New.
  2001. * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
  2002. * testsuite/20_util/unique_ptr/assign/48635.cc: Likewise.
  2003. * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
  2004. * testsuite/20_util/unique_ptr/assign/cv_qual.cc: Likewise.
  2005. * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Likewise.
  2006. * testsuite/20_util/unique_ptr/dr2228.cc: New.
  2007. * testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Adjust.
  2008. 2015-08-05 Nikolai Bozhenov <n.bozhenov@samsung.com>
  2009. * testsuite/20_util/enable_shared_from_this/cons/constexpr.cc: Remove
  2010. redundant -save-temps option.
  2011. * testsuite/20_util/shared_ptr/cons/constexpr.cc: Likewise.
  2012. * testsuite/20_util/unique_ptr/cons/constexpr.cc: Likewise.
  2013. * testsuite/20_util/weak_ptr/cons/constexpr.cc: Likewise.
  2014. * testsuite/30_threads/future/cons/constexpr.cc: Likewise.
  2015. * testsuite/30_threads/shared_future/cons/constexpr.cc: Likewise.
  2016. 2015-08-03 Jonathan Wakely <jwakely@redhat.com>
  2017. PR libstdc++/67078
  2018. * include/bits/range_access.h (size, empty, data): Fix _N bad name.
  2019. 2015-07-30 Jonathan Wakely <jwakely@redhat.com>
  2020. * testsuite/experimental/filesystem/operations/current_path.cc: Use
  2021. canonical paths for comparisons.
  2022. 2015-07-30 Tim Shen <timshen@google.com>
  2023. * include/bits/regex_automaton.h (_State_base, _State<>):
  2024. Remove _TraitsT dependency from _State<>; Make matcher member
  2025. into the union to reduce struct size.
  2026. * include/bits/regex_automaton.tcc (_State_base<>::_M_print,
  2027. _State_base<>::_M_dot, _StateSeq<>::_M_clone):
  2028. Adjust to fit the interface. Factor out common parts in
  2029. _M_clone as _State<>::_M_has_alt.
  2030. * include/bits/regex_executor.h (_Executer<>::_M_lookahead):
  2031. Only pass state id instead of the whole state.
  2032. * include/bits/regex_executor.tcc (_Executer<>::_M_dfs,
  2033. _Executer<>::_M_lookahead): Adjust to fit the interface.
  2034. * include/std/regex: Include <ext/aligned_buffer.h>
  2035. 2015-07-30 Jonathan Wakely <jwakely@redhat.com>
  2036. * include/experimental/any (any::operator=(const any&)): Check for
  2037. self-assignment.
  2038. * testsuite/experimental/any/assign/self.cc: New.
  2039. * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
  2040. 2015-07-29 Jonathan Wakely <jwakely@redhat.com>
  2041. PR libstdc++/66829
  2042. * testsuite/lib/libstdc++.exp (v3-build_support): Compile
  2043. testsuite_shared.cc with -std=gnu++98.
  2044. 2015-07-29 Ville Voutilainen <ville.voutilainen@gmail.com>
  2045. * include/bits/range_access.h: Change class to typename in every
  2046. template.
  2047. (size, empty, data): New functions from N4280.
  2048. * testsuite/24_iterators/container_access.cc: New.
  2049. PR libstdc++/60970
  2050. * include/bits/functional_hash.h (__hash_enum): New.
  2051. (hash): Derive from __hash_enum.
  2052. * testsuite/20_util/hash/60970.cc: New.
  2053. 2015-07-29 Tim Shen <timshen@google.com>
  2054. PR libstdc++/67015
  2055. * include/bits/regex_compiler.h (_Compiler<>::_M_expression_term,
  2056. _BracketMatcher<>::_M_add_collating_element): Change signature
  2057. to make checking the and of bracket expression easier.
  2058. * include/bits/regex_compiler.tcc (_Compiler<>::_M_expression_term):
  2059. Treat '-' as a valid literal if it's at the end of bracket expression.
  2060. * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
  2061. New testcases.
  2062. 2015-07-24 Jonathan Wakely <jwakely@redhat.com>
  2063. * include/bits/atomic_futex.h [_GLIBCXX_HAVE_LINUX_FUTEX]
  2064. (_M_load_and_test_until): Whitespace.
  2065. (_M_load_and_test): Value-initialize the unused durations.
  2066. (_M_load_when_equal): Add missing return value.
  2067. 2015-07-24 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
  2068. * fragment.am (AM_CPPFLAGS): Add CPPFLAGS.
  2069. * Makefile.in: Regenerate.
  2070. * doc/Makefile.in: Regenerate.
  2071. * include/Makefile.in: Regenerate.
  2072. * libsupc++/Makefile.in: Regenerate.
  2073. * po/Makefile.in: Regenerate.
  2074. * python/Makefile.in: Regenerate.
  2075. * src/Makefile.in: Regenerate.
  2076. * src/c++11/Makefile.in: Regenerate.
  2077. * src/c++98/Makefile.in: Regenerate.
  2078. * src/filesystem/Makefile.in: Regenerate.
  2079. * testsuite/Makefile.in: Regenerate.
  2080. 2015-07-23 DJ Delorie <dj@redhat.com>
  2081. * include/bits/functional_hash.h: Add specializations for __intN
  2082. types.
  2083. * include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp (__gnu_pbds):
  2084. Guard against values that might exceed size_t's precision.
  2085. 2015-07-20 Jason Merrill <jason@redhat.com>
  2086. * include/bits/c++config: Fix abi_tag in special modes.
  2087. 2015-07-19 Jonathan Wakely <jwakely@redhat.com>
  2088. * doc/xml/manual/status_cxx2017.xml: Fix URL for N4279.
  2089. * doc/html/manual/status.html: Regenerate.
  2090. 2015-07-17 Jonathan Wakely <jwakely@redhat.com>
  2091. * doc/xml/manual/status_cxx2011.xml: Add caveats for native_handle.
  2092. * doc/html/manual/status.html: Regenerate.
  2093. 2015-07-16 François Dumont <fdumont@gcc.gnu.org>
  2094. * include/bits/stl_algobase.h (__miter_base): Move...
  2095. * include/bits/cpp_type_traits.h: ...here.
  2096. * include/debug/functions.h (__foreign_iterator_aux): Use latter.
  2097. * testsuite/23_containers/vector/debug/insert7_neg.cc: New.
  2098. 2015-07-13 Jonathan Wakely <jwakely@redhat.com>
  2099. PR libstdc++/66855
  2100. * src/c++11/codecvt.cc (__codecvt_utf8_utf16_base::do_in): Override
  2101. endianness bit in mode.
  2102. * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: New.
  2103. * include/bits/c++config (_GLIBCXX_NOEXCEPT_IF): Define.
  2104. * include/bits/forward_list.h (forward_list::swap): Make noexcept
  2105. unconditional.
  2106. * include/bits/hashtable.h (_Hashtable::swap): Do not use
  2107. _S_nothrow_swap().
  2108. * include/bits/stl_bvector.h (vector<bool>::swap): Make noexcept
  2109. unconditional.
  2110. * include/bits/stl_deque.h (deque::swap): Likewise.
  2111. (swap(deque&, deque&)): Use _GLIBCXX_NOEXCEPT_IF.
  2112. * include/bits/stl_list.h (list::swap): Make noexcept unconditional.
  2113. (swap(list&, list&)): Use _GLIBCXX_NOEXCEPT_IF.
  2114. * include/bits/stl_map.h (map::swap, swap(map&, map&)): Use
  2115. _GLIBCXX_NOEXCEPT_IF, do not depend on _S_nothrow_swap.
  2116. * include/bits/stl_multimap.h (multimap::swap,
  2117. swap(multimap&, multimap&)): Likewise.
  2118. * include/bits/stl_multiset.h (multiset::swap,
  2119. swap(multiset&, multiset&)): Likewise.
  2120. * include/bits/stl_set.h (set::swap, swap(set&, set&)): Likewise.
  2121. * include/bits/stl_tree.h (_Rb_tree::swap,
  2122. swap(_Rb_tree&, _Rb_tree&)): Likewise.
  2123. * include/bits/stl_vector.h (vector::swap): Make noexcept
  2124. unconditional.
  2125. (swap(vector&, vector&)): Use _GLIBCXX_NOEXCEPT_IF.
  2126. * include/debug/deque (deque::swap, swap): Likewise.
  2127. * include/debug/forward_list (swap): Add noexcept.
  2128. * include/debug/list (list::swap, swap): Use _GLIBCXX_NOEXCEPT_IF.
  2129. * include/debug/map.h (map::swap, swap): Likewise.
  2130. * include/debug/multimap.h (multimap::swap, swap): Likewise.
  2131. * include/debug/multiset.h (multiset::Swap, swap): Likewise.
  2132. * include/debug/set.h (set::swap, swap): Likewise.
  2133. * include/debug/unordered_map (unordered_map::swap,
  2134. unordered_multimap::swap, swap): Likewise.
  2135. * include/debug/unordered_set (unordered_set::swap,
  2136. unordered_multiset::swap, swap): Likewise.
  2137. * include/debug/vector (vector::swap, swap): Likewise.
  2138. * include/ext/alloc_traits.h (__alloc_traits::_S_nothrow_swap()):
  2139. Remove.
  2140. * include/profile/deque (deque::swap, swap): Use _GLIBCXX_NOEXCEPT_IF.
  2141. * include/profile/forward_list (swap): Add noexcept.
  2142. * include/profile/list (list::swap, swap) : Use _GLIBCXX_NOEXCEPT_IF.
  2143. * include/profile/map.h (map::swap, swap): Likewise.
  2144. * include/profile/multimap.h (multimap::swap, swap): Likewise.
  2145. * include/profile/multiset.h (multiset::swap, swap): Likewise.
  2146. * include/profile/set.h (set::swap, swap): Likewise.
  2147. * include/profile/unordered_map (swap): Likewise.
  2148. * include/profile/unordered_set (swap): Likewise.
  2149. * include/profile/vector (vector::swap, swap): Likewise. Remove
  2150. overloads for swapping rvalues.
  2151. * testsuite/23_containers/deque/allocator/noexcept.cc: Update tests
  2152. for noexcept on swap.
  2153. * testsuite/23_containers/forward_list/allocator/noexcept.cc:
  2154. Likewise.
  2155. * testsuite/23_containers/list/allocator/noexcept.cc: Likewise.
  2156. * testsuite/23_containers/map/allocator/noexcept.cc: Likewise.
  2157. * testsuite/23_containers/multimap/allocator/noexcept.cc: Likewise.
  2158. * testsuite/23_containers/multiset/allocator/noexcept.cc: Likewise.
  2159. * testsuite/23_containers/set/allocator/noexcept.cc: Likewise.
  2160. * testsuite/23_containers/unordered_map/allocator/noexcept.cc:
  2161. Likewise.
  2162. * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc:
  2163. Likewise.
  2164. * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc:
  2165. Likewise.
  2166. * testsuite/23_containers/unordered_set/allocator/noexcept.cc:
  2167. Likewise.
  2168. * testsuite/23_containers/vector/allocator/noexcept.cc: Likewise.
  2169. * testsuite/23_containers/vector/bool/allocator/noexcept.cc: Likewise.
  2170. * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line
  2171. number.
  2172. 2015-07-13 John Marino <gnugcc@marino.st>
  2173. * config/os/bsd/dragonfly/os_defines.h (_GLIBCXX_USE_C99_CHECK,
  2174. _GLIBCXX_USE_C99_DYNAMIC, _GLIBCXX_USE_C99_LONG_LONG_CHECK,
  2175. _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC): Define.
  2176. 2015-07-05 François Dumont <fdumont@gcc.gnu.org>
  2177. * include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Do not
  2178. rehash container.
  2179. * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
  2180. Adapt.
  2181. 2015-07-03 Jonathan Wakely <jwakely@redhat.com>
  2182. * doc/xml/manual/status_cxx2017.xml: Update status table.
  2183. * doc/html/manual/*: Regenerate.
  2184. 2015-07-03 Ville Voutilainen <ville.voutilainen@gmail.com>
  2185. Implement std::experimental::fundamentals_v2::propagate_const.
  2186. * include/Makefile.am: Add propagate_const.
  2187. * include/Makefile.in: Regenerate.
  2188. * include/experimental/propagate_const: New.
  2189. * testsuite/experimental/propagate_const/assignment/copy.cc: Likewise.
  2190. * testsuite/experimental/propagate_const/assignment/move.cc: Likewise.
  2191. * testsuite/experimental/propagate_const/assignment/move_neg.cc:
  2192. Likewise.
  2193. * testsuite/experimental/propagate_const/cons/copy.cc: Likewise.
  2194. * testsuite/experimental/propagate_const/cons/default.cc: Likewise.
  2195. * testsuite/experimental/propagate_const/cons/move.cc: Likewise.
  2196. * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
  2197. * testsuite/experimental/propagate_const/hash/1.cc: Likewise.
  2198. * testsuite/experimental/propagate_const/observers/1.cc: Likewise.
  2199. * testsuite/experimental/propagate_const/relops/1.cc: Likewise.
  2200. * testsuite/experimental/propagate_const/requirements1.cc: Likewise.
  2201. * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
  2202. * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
  2203. * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
  2204. * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
  2205. * testsuite/experimental/propagate_const/swap/1.cc: Likewise.
  2206. * testsuite/experimental/propagate_const/typedefs.cc: Likewise.
  2207. 2015-07-02 Jonathan Wakely <jwakely@redhat.com>
  2208. * acinclude.m4 (GLIBCXX_DEFAULT_ABI): Change valid arguments for
  2209. --with-default-libstdcxx-abi
  2210. * configure: Regenerate.
  2211. * doc/xml/manual/configure.xml: Document valid arguments.
  2212. 2015-07-02 Uros Bizjak <ubizjak@gmail.com>
  2213. * libsupc++/guard.cc (__test_and_acquire): Use __p after __atomic_load
  2214. to avoid unused variable warning.
  2215. (__set_and_release): Use __p after __atomic_store to avoid unused
  2216. variable warning.
  2217. 2015-07-01 Jonathan Wakely <jwakely@redhat.com>
  2218. * include/bits/alloc_traits.h (__alloctr_rebind): Remove.
  2219. (__allocator_traits_base): New base class.
  2220. (__alloc_rebind): Reimplement in terms of detection idiom.
  2221. (allocator_traits): Derive from __allocator_traits_base. Reimplement
  2222. nested types in terms of detection idiom. Simplify SFINAE constraints
  2223. on overloaded static member functions.
  2224. * include/bits/hashtable.h (_Hashtable): Use __alloc_rebind instead
  2225. of __alloctr_rebind.
  2226. * testsuite/20_util/scoped_allocator/propagation.cc: Define rebind.
  2227. * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
  2228. dg-error line number.
  2229. * include/bits/ptr_traits.h (__ptrtr_elt_type, __ptrtr_diff_type,
  2230. __ptrtr_rebind, __ptrtr_not_void): Remove
  2231. (__get_first_arg, __replace_first_arg, __make_not_void): Define new
  2232. transformations.
  2233. (__detected_or_): New detection trait.
  2234. (pointer_traits): Use new traits.
  2235. * testsuite/20_util/pointer_traits/pointer_to.cc: Add rebind member.
  2236. * testsuite/20_util/pointer_traits/requirements/
  2237. explicit_instantiation.cc: Use valid arguments to pointer_traits.
  2238. * doc/xml/manual/status_cxx2017.xml: Update status table.
  2239. * include/experimental/type_traits (void_t, is_detected,
  2240. is_detected_v, detected_t, detected_or, detected_or_t,
  2241. is_detected_exact, is_detected_exact_v, is_detected_convertible,
  2242. is_detected_convertible_v): Define.
  2243. * include/std/type_traits (__detector, __detected_or, __detected_or_t,
  2244. __detected_or_t_): Define.
  2245. * testsuite/experimental/type_traits/detection.cc: New.
  2246. 2015-06-30 Jonathan Wakely <jwakely@redhat.com>
  2247. * doc/Makefile.am (stamp-pdf-doxygen): Grep for LaTeX errors in log.
  2248. * doc/Makefile.in: Regenerate.
  2249. * include/bits/stl_pair.h: Replace class keyword with typename.
  2250. 2015-06-30 Ville Voutilainen <ville.voutilainen@gmail.com>
  2251. Implement N4387, "Improving pair and tuple", and LWG 2367.
  2252. * include/bits/stl_pair.h (_ConstructiblePair,
  2253. _ImplicitlyConvertiblePair, _MoveConstructiblePair,
  2254. _ImplicitlyMoveConvertiblePair): New.
  2255. (pair()): Constrain it.
  2256. (pair(const _T1&, const _T2&), pair(const pair<_U1, _U2>&),
  2257. pair(_U1&&, const _T2&), pair(const _T1&, _U2&&), pair(_U1&&, _U2&&),
  2258. pair(pair<_U1, _U2>&&)): Make conditionally explicit.
  2259. * include/std/tuple (_TC, tuple::_TC2, tuple::TCC, tuple::TMC): New.
  2260. (tuple()): Constrain it.
  2261. (tuple(const _UElements&...), tuple(_UElements&&...),
  2262. tuple(const tuple<_UElements...>&), tuple(tuple<_UElements...>&&),
  2263. tuple(allocator_arg_t, const _Alloc&, const _UElements&...),
  2264. tuple(allocator_arg_t, const _Alloc&, _UElements&&...),
  2265. tuple(allocator_arg_t, const _Alloc&, const tuple<_UElements...>&),
  2266. tuple(allocator_arg_t, const _Alloc&, tuple<_UElements...>&&),
  2267. tuple(const pair<_U1, _U2>&), tuple(pair<_U1, _U2>&&),
  2268. tuple(allocator_arg_t, const _Alloc&, const pair<_U1, _U2>&),
  2269. tuple(allocator_arg_t, const _Alloc&, pair<_U1, _U2>&&)): Make
  2270. conditionally explicit.
  2271. * include/experimental/functional (__boyer_moore_array_base): Name
  2272. array type explicitly instead of using an empty braced-init-list.
  2273. * testsuite/20_util/pair/cons/explicit_construct.cc: New.
  2274. * testsuite/20_util/pair/piecewise.cc: Use piecewise_construct.
  2275. * testsuite/20_util/pair/requirements/dr2367.cc: New.
  2276. * testsuite/20_util/tuple/cons/explicit_construct.cc: New.
  2277. * testsuite/20_util/tuple/requirements/dr2367.cc: New.
  2278. 2015-06-30 Jonathan Wakely <jwakely@redhat.com>
  2279. * configure: Regenerate.
  2280. 2015-06-29 François Dumont <fdumont@gcc.gnu.org>
  2281. * include/bits/stl_iterator_base_types.h (_Iter_base): Limit definition
  2282. to pre-C++11 mode.
  2283. * include/debug/functions.h
  2284. (__gnu_debug::__valid_range, __gnu_debug::__base): Move...
  2285. * include/debug/safe_iterator.h
  2286. (__gnu_debug::_Sequence_traits): New.
  2287. (__gnu_debug::__get_distance_from_begin): New.
  2288. (__gnu_debug::__get_distance_to_end): New.
  2289. (__gnu_debug::_Safe_iterator<>::_M_valid_range): Expose iterator range
  2290. distance information. Add optional check_dereferenceable parameter,
  2291. default true.
  2292. (__gnu_debug::_Distance_precision, __gnu_debug::__get_distance): Move
  2293. default definition...
  2294. (__gnu_debug::__get_distance): New overload for _Safe_iterator.
  2295. (__gnu_debug::__unsafe): Likewise.
  2296. * include/debug/helper_functions.h: ...here. New.
  2297. (__gnu_debug::__unsafe): New helper function to remove safe iterator
  2298. layer.
  2299. * include/debug/stl_iterator.h: New. Include latter.
  2300. * include/bits/stl_iterator.h: Include latter in debug mode.
  2301. * include/debug/stl_iterator.tcc: Adapt.
  2302. * include/debug/safe_local_iterator.h (__gnu_debug::__get_distance): Add
  2303. overload for _Safe_local_iterator.
  2304. (__gnu_debug::__unsafe): Likewise.
  2305. * include/debug/safe_local_iterator.tcc: Adapt.
  2306. * include/debug/macros.h (__glibcxx_check_valid_range2): New.
  2307. (__glibcxx_check_insert_range): Add _Dist parameter.
  2308. (__glibcxx_check_insert_range_after): Likewise.
  2309. (__glibcxx_check_string, __glibcxx_check_string_len): Implement using
  2310. _GLIBCXX_DEBUG_PEDASSERT.
  2311. * include/debug/deque (deque<>::assign): Remove iterator debug layer
  2312. when possible.
  2313. (deque<>::insert): Likewise.
  2314. * include/debug/forward_list (__glibcxx_check_valid_fl_range): New.
  2315. (forward_list<>::splice_after): Use latter.
  2316. (forward_list<>::assign): Remove iterator debug layer when possible.
  2317. (forward_list<>::insert_after): Likewise.
  2318. (__gnu_debug::_Sequence_traits<>): Partial specialization.
  2319. * include/debug/list (list<>::assign): Remove iterator debug layer when
  2320. possible.
  2321. (list<>::insert): Likewise.
  2322. [__gnu_debug::_Sequence_traits<>]: Partial specialization pre C++11 ABI.
  2323. * include/debug/map.h (map<>::insert): Remove iterator debug layer when
  2324. possible.
  2325. * include/debug/multimap.h (multimap<>::insert): Likewise.
  2326. * include/debug/set.h (set<>::insert): Likewise.
  2327. * include/debug/multiset.h (multiset<>::insert): Likewise.
  2328. * include/debug/string (basic_string<>::append, basic_string<>::assign,
  2329. basic_string<>::insert, basic_string<>::replace): Likewise.
  2330. * include/debug/unordered_map
  2331. (unordered_map<>::insert, unordered_multimap<>::insert): Likewise.
  2332. * include/debug/unordered_set
  2333. (unordered_set<>::insert, unordered_multiset<>insert): Likewise.
  2334. * include/debug/vector
  2335. (vector<>::assign, vector<>::insert): Likewise.
  2336. * include/Makefile.am: Add new debug headers.
  2337. * include/Makefile.in: Regenerate.
  2338. 2015-06-26 Jonathan Wakely <jwakely@redhat.com>
  2339. * doc/xml/manual/intro.xml: Document LWG 2108 status.
  2340. * include/bits/alloc_traits.h (allocator_traits::is_always_equal):
  2341. Define.
  2342. * include/bits/allocator.h (allocator::is_always_equal): Likewise.
  2343. * include/bits/forward_list.h
  2344. (forward_list::operator=(forward_list&&)): Use __bool_constant.
  2345. (forward_list::swap(forward_list&)): Add noexcept.
  2346. * include/bits/hashtable.h (_Hashtable::operator=(_Hashtable&&)):
  2347. Likewise.
  2348. (_Hashtable::swap(_Hashtable&)): Likewise.
  2349. * include/bits/stl_deque.h (_Deque_base::_Deque_base(_Deque_base&&)):
  2350. Use _Alloc_traits::is_always_equal.
  2351. (deque::operator=(deque&&)): Likewise.
  2352. (deque::_M_move_assign1(deque&&, false_type)): Add comment and use
  2353. __bool_constant.
  2354. (swap(deque&, deque&)): Add noexcept.
  2355. * include/bits/stl_list.h (list::operator=(list&&)): Use
  2356. __bool_constant.
  2357. (swap(list&, list&)): Add noexcept.
  2358. * include/bits/stl_map.h (map::swap(map&)): Include _Compare in
  2359. noexcept.
  2360. (swap(map&, map&)): Add noexcept.
  2361. * include/bits/stl_multimap.h (multimap::swap(multimap&)): Include
  2362. _Compare in noexcept.
  2363. (swap(multimap&, multimap&)): Add noexcept.
  2364. * include/bits/stl_multiset.h (multiset::swap(multiset&)): Include
  2365. _Compare in noexcept.
  2366. (swap(multiset&, multiset&)): Add noexcept.
  2367. * include/bits/stl_set.h (set::swap(set&)): Include _Compare in
  2368. noexcept.
  2369. (swap(set&, set&)): Add noexcept.
  2370. * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Include
  2371. _Compare in noexcept.
  2372. (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_alloc_type&&)): Use
  2373. is_always_equal.
  2374. * include/bits/stl_vector.h (vector::operator=(vector&&)): Use
  2375. __bool_constant.
  2376. (swap(vector&, vector&)): Add noexcept.
  2377. * include/bits/unordered_map.h (swap(unordered_map&, unordered_map&),
  2378. swap(unordered_multimap& unordered_multimap&)): Add noexcept.
  2379. * include/bits/unordered_set.h (swap(unordered_set&, unordered_set&),
  2380. swap(unordered_multiset& unordered_multiset&)): Add noexcept.
  2381. * include/ext/alloc_traits.h (__allocator_always_compares_equal):
  2382. Remove.
  2383. (__alloc_traits::_S_always_equal()): Use is_always_equal instead of
  2384. __allocator_always_compares_equal.
  2385. * include/ext/array_allocator.h (array_allocator::is_always_equal):
  2386. Define.
  2387. * include/std/scoped_allocator (__any_of, __propagate_on_copy,
  2388. __propagate_on_move, __propagate_on_swap): Remove.
  2389. (scoped_allocator_adaptor::propagate_on_container_copy_assignment,
  2390. scoped_allocator_adaptor::propagate_on_container_move_assignment,
  2391. scoped_allocator_adaptor::propagate_on_container_swap): Define with
  2392. __and_ instead of __any_of.
  2393. (scoped_allocator_adaptor::is_always_equal): Define.
  2394. * testsuite/20_util/allocator_traits/members/is_always_equal.cc: New.
  2395. * testsuite/20_util/scoped_allocator/propagation.cc: Make traits
  2396. derive from true_type or false_type.
  2397. * testsuite/23_containers/deque/allocator/move_assign-2.cc: Add
  2398. is_always_equal member and remove the trait specialization.
  2399. * testsuite/23_containers/vector/52591.cc: Likewise.
  2400. * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
  2401. Adjust dg-error line number.
  2402. * testsuite/23_containers/deque/requirements/dr438/
  2403. constructor_1_neg.cc: Likewise.
  2404. * testsuite/23_containers/deque/requirements/dr438/
  2405. constructor_2_neg.cc: Likewise.
  2406. * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
  2407. Likewise.
  2408. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
  2409. Likewise.
  2410. * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
  2411. Likewise.
  2412. * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
  2413. Likewise.
  2414. * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
  2415. Likewise.
  2416. * testsuite/23_containers/vector/requirements/dr438/
  2417. constructor_1_neg.cc: Likewise.
  2418. * testsuite/23_containers/vector/requirements/dr438/
  2419. constructor_2_neg.cc: Likewise.
  2420. * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
  2421. Likewise.
  2422. * include/bits/stl_bvector.h (vector<bool>::vector()): Add noexcept.
  2423. * include/bits/stl_map.h (map::map()): Likewise.
  2424. * include/bits/stl_multimap.h (multimap::multimap()): Likewise.
  2425. * include/bits/stl_multiset.h (multiset::multiset()): Likewise.
  2426. * include/bits/stl_set.h (set::set()): Likewise.
  2427. 2015-06-25 Jonathan Wakely <jwakely@redhat.com>
  2428. * include/bits/locale_conv.h (__do_str_codecvt): Set __count.
  2429. 2015-06-24 François Dumont <fdumont@gcc.gnu.org>
  2430. * include/bits/basic_string.h (basic_string<>::front()): Add !empty
  2431. debug check.
  2432. (basic_string<>::back()): Likewise.
  2433. (basic_string<>::pop_back()): Likewise.
  2434. 2015-06-24 Paolo Carlini <paolo.carlini@oracle.com>
  2435. * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
  2436. dg-error line numbers.
  2437. * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
  2438. Likewise.
  2439. 2015-06-23 François Dumont <fdumont@gcc.gnu.org>
  2440. * include/debug/array: Include <array>. Add version namespace when
  2441. specializing tuple interface to array. Add specialization for
  2442. __is_tuple_like_impl.
  2443. * include/profile/array: Likewise.
  2444. * include/std/array: Include <utility>. Add specialization for
  2445. __is_tuple_like_impl.
  2446. * include/std/tuple
  2447. (__is_tuple_like_impl<>, __is_tuple_like_impl<pair>): Move...
  2448. * include/std/utility: ... here. Include <type_traits>.
  2449. * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
  2450. dg-error line number.
  2451. * testsuite/23_containers/array/tuple_interface/
  2452. tuple_element_debug_neg.cc: Likewise.
  2453. 2015-06-22 Jonathan Wakely <jwakely@redhat.com>
  2454. * testsuite/26_numerics/complex/value_operations/1.cc: Use
  2455. non-negative rho argument.
  2456. * include/debug/list (__gnu_debug::list): Use allocator-aware
  2457. _Safe_container base.
  2458. * include/debug/string (__gnu_debug::basic_string): Use
  2459. allocator-aware _Safe_container base for cxx11 ABI.
  2460. * include/bits/locale_conv.h (__do_str_codecvt): Handle empty range.
  2461. (wstring_convert): Move into __cxx11 namespace.
  2462. (wbuffer_convert(streambuf*, _Codecvt*, state_type)): Fix exception
  2463. message.
  2464. PR libstdc++/64657
  2465. * include/bits/stl_uninitialized.h
  2466. (__uninitialized_copy::__uninit_copy): Cast expression to void.
  2467. 2015-06-17 Jonathan Wakely <jwakely@redhat.com>
  2468. PR libstdc++/55409
  2469. * include/bits/list.tcc (_List_base::_M_clear()): Use allocator traits.
  2470. (list::list(const list&)): Use allocator propagation trait. Use
  2471. _M_assign_dispatch to copy elements.
  2472. * include/bits/stl_list.h (_List_node): Use __aligned_membuf in C++11.
  2473. (_List_node::_M_valptr()): Add accessor for stored value.
  2474. (_List_iterator, _List_const_iterator, _List_base): Use _M_valptr().
  2475. (_List_base, list): Use allocator traits.
  2476. (_List_base::_M_get_Tp_allocator, _List_base::get_allocator): Remove.
  2477. (_List_base::_M_move_nodes): New function.
  2478. (_List_base(_List_base&&)): Use _M_move_nodes.
  2479. (_List_base(_List_base&&, _Node_alloc_type&&)): New constructor.
  2480. (list::_M_create_node, list::_M_erase, list::max_size): Use allocator
  2481. traits.
  2482. (list(size_type)): Add allocator parameter.
  2483. (list(const list&)): Use allocator propagation trait.
  2484. (list(const list&, const allocator_type&)): New constructor.
  2485. (list(list&&, const allocator_type&)): Likewise.
  2486. (list::operator=(list&&), list::swap(list&)): Use allocator
  2487. propagation traits.
  2488. (list::_M_move_assign): New functions.
  2489. * include/debug/list: Add allocator-extended constructors.
  2490. * include/profile/list: Likewise.
  2491. * python/libstdcxx/v6/printers.py (get_value_from_list_node): New
  2492. function to get value from _List_node.
  2493. (StdListPrinter): Use get_value_from_list_node.
  2494. * testsuite/23_containers/list/allocator/copy.cc: New.
  2495. * testsuite/23_containers/list/allocator/copy_assign.cc: New.
  2496. * testsuite/23_containers/list/allocator/minimal.cc: New.
  2497. * testsuite/23_containers/list/allocator/move.cc: New.
  2498. * testsuite/23_containers/list/allocator/move_assign.cc: New.
  2499. * testsuite/23_containers/list/allocator/noexcept.cc: New.
  2500. * testsuite/23_containers/list/allocator/swap.cc: New.
  2501. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
  2502. Adjust dg-prune-output line number.
  2503. * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
  2504. Likewise.
  2505. * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
  2506. Likewise.
  2507. * include/bits/forward_list.h
  2508. (_Fwd_list_base(const _Node_alloc_type&)): Change parameter to
  2509. rvalue-reference.
  2510. (_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Likewise.
  2511. (forward_list(const _Alloc&)): Split default constructor out to
  2512. separate function.
  2513. (forward_list(forward_list&&, const _Alloc&)): Move elements if base
  2514. class didn't do so.
  2515. (forward_list::_M_move_assign(forward_list&&, true_type)): Replace
  2516. swap call with two assignments.
  2517. * include/bits/forward_list.tcc
  2518. (_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Don't
  2519. move elements when allocators are not equal.
  2520. * include/debug/forward_list (forward_list(const allocator_type&)):
  2521. Split default constructor out to separate function.
  2522. * include/profile/forward_list (forward_list(const _Alloc&)):
  2523. Likewise.
  2524. * include/bits/forward_list.h (forward_list::_M_get_Node_allocator):
  2525. Remove unnecessary uses of operator& and static_cast.
  2526. * include/bits/forward_list.tcc
  2527. (forward_list::operator=(const forward_list&)): Use __addressof
  2528. instead of operator&.
  2529. (forward_list::remove(const _Tp&), forward_list::remove(_Pred)):
  2530. Remove invalid static_casts.
  2531. * include/debug/forward_list: Use __addressof instead of operator&.
  2532. * testsuite/23_containers/forward_list/modifiers/addressof.cc: New.
  2533. * include/ext/alloc_traits.h (__alloc_traits::_S_nothrow_swap()): Use
  2534. __is_nothrow_swappable.
  2535. 2015-06-16 Jonathan Wakely <jwakely@redhat.com>
  2536. * include/bits/allocated_ptr.h (__allocated_ptr): Use __addressof.
  2537. * include/bits/list.tcc (list::operator=(const list&), list::merge):
  2538. Use __addressof instead of operator&.
  2539. (list::sort): Use array-to-pointer decay instead of operator&.
  2540. * include/bits/stl_list.h (list::splice): Use __addressof instead of
  2541. operator&.
  2542. * include/debug/formatter.h (_Error_formatter::_Parameter::_Parameter):
  2543. Likewise.
  2544. * include/debug/functions.h (__check_singular): Likewise.
  2545. * include/debug/list (list::splice, list::merge): Likewise.
  2546. * testsuite/23_containers/list/modifiers/addressof.cc: New.
  2547. PR libstdc++/65393
  2548. * src/c++11/thread.cc (thread::_M_make_thread): Replace shared_ptr
  2549. copies with moves.
  2550. 2015-06-12 Jonathan Wakely <jwakely@redhat.com>
  2551. * include/precompiled/stdc++.h: Include <codecvt> and <shared_mutex>.
  2552. PR libstdc++/66464
  2553. * src/c++11/codecvt.cc (codecvt_utf16_base<char32_t>::do_max_length):
  2554. Return 4 not 3.
  2555. 2015-06-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
  2556. PR c++/66192
  2557. PR target/66200
  2558. * config/cpu/alpha/atomic_word.h: Remove.
  2559. * config/cpu/ia64/atomic_word.h: Remove.
  2560. * config/cpu/powerpc/atomic_word.h: Remove.
  2561. * config/os/aix/atomic_word.h: Remove.
  2562. * configure.host (atomic_word_dir) [ia64, aix*, powerpc, alpha]:
  2563. Use generic definition.
  2564. 2015-06-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
  2565. PR target/66200
  2566. PR c++/66192
  2567. * * config/cpu/generic/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER): Define
  2568. (_GLIBCXX_WRITE_MEM_BARRIER): Likewise
  2569. * include/bits/shared_ptr_base.h: Use ACQ_REL barrier.
  2570. * include/ext/atomicity.h: Likewise.
  2571. * include/tr1/shared_ptr.h: Likewise.
  2572. * libsupc++/guard.cc (__test_and_acquire): Rewrite with atomics.
  2573. Update comment.
  2574. (__set_and_release): Likewise.
  2575. * testsuite/20_util/shared_ptr/cons/43820_neg.cc (test01): Adjust for
  2576. line numbers.
  2577. * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
  2578. * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
  2579. Likewise.
  2580. 2015-06-12 Jonathan Wakely <jwakely@redhat.com>
  2581. * include/std/tuple (__is_tuple_like_impl): Disambiguate array in
  2582. debug and profile modes.
  2583. * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Adjust tests
  2584. for swap in C++11 and later.
  2585. 2015-06-09 Jonathan Wakely <jwakely@redhat.com>
  2586. PR libstdc++/66030
  2587. * config/abi/pre/gnu.ver: Export codecvt_byname and codecvt symbols
  2588. for mingw32.
  2589. 2015-06-08 Jonathan Wakely <jwakely@redhat.com>
  2590. PR libstdc++/66441
  2591. * testsuite/22_locale/conversions/string/66441.cc: New.
  2592. * include/bits/locale_conv.h (__do_str_codecvt): Reserve enough space
  2593. in the output string for BOM and complete result.
  2594. PR libstdc++/66417
  2595. * src/c++11/codecvt.cc (write_utf16_code_point): Use adjust_byte_order
  2596. for single UTF-16 units.
  2597. * testsuite/22_locale/codecvt/codecvt_utf16/66417.cc: New.
  2598. 2015-06-07 François Dumont <fdumont@gcc.gnu.org>
  2599. * include/bits/stl_tree.h (_Rb_tree<>::__is_transparent<>): Move to
  2600. outer scope and rename to ...
  2601. (std::__hash_is_transparent<>): ... this.
  2602. * include/debug/stl_map.h (map::find<>,
  2603. map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New
  2604. member function templates to perform heterogeneous lookup.
  2605. * include/debug/stl_multimap.h (multimap::find<>,
  2606. multimap::lower_bound<>, multimap::upper_bound<>,
  2607. multimap::equal_range<>): Likewise.
  2608. * include/debug/stl_multiset.h (multiset::find<>,
  2609. multiset::lower_bound<>, multiset::upper_bound<>,
  2610. multiset::equal_range<>): Likewise.
  2611. * include/debug/stl_set.h (set::find<>,
  2612. set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
  2613. * include/profile/stl_map.h (map::find<>, map::count<>,
  2614. map::lower_bound<>, map::upper_bound<>, map::equal_range<>): Likewise.
  2615. * include/profile/stl_multimap.h (multimap::find<>, multimap::count<>,
  2616. multimap::lower_bound<>, multimap::upper_bound<>,
  2617. multimap::equal_range<>): Likewise.
  2618. * include/profile/stl_multiset.h (multiset::find<>, multiset::count<>,
  2619. multiset::lower_bound<>, multiset::upper_bound<>,
  2620. multiset::equal_range<>): Likewise.
  2621. * include/profile/stl_set.h (set::find<>, set::count<>,
  2622. set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
  2623. * testsuite/23_containers/map/operations/1.cc: Check const variants.
  2624. * testsuite/23_containers/multimap/operations/1.cc: Likewise.
  2625. * testsuite/23_containers/multiset/operations/1.cc: Likewise.
  2626. * testsuite/23_containers/set/operations/1.cc: Likewise.
  2627. 2015-06-05 Jonathan Wakely <jwakely@redhat.com>
  2628. * doc/xml/manual/status_cxx2017.xml: Update status tables.
  2629. * doc/html/manual/*: Regenerate.
  2630. * include/std/type_traits (bool_constant): Define.
  2631. * testsuite/20_util/bool_constant/requirements.cc: New.
  2632. * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
  2633. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
  2634. Likewise.
  2635. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
  2636. Likewise.
  2637. * include/std/shared_mutex (__shared_mutex_pthread,
  2638. __shared_mutex_cv): New helper types implementing the shared mutex
  2639. requirements.
  2640. (shared_mutex): New type for C++17.
  2641. (shared_timed_mutex): Derive from one of the new helper types.
  2642. * testsuite/30_threads/shared_mutex/cons/1.cc: New.
  2643. * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New.
  2644. * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New.
  2645. * testsuite/30_threads/shared_mutex/requirements/standard_layout.cc:
  2646. New.
  2647. * testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
  2648. * testsuite/30_threads/shared_mutex/try_lock/2.cc: New.
  2649. 2015-06-05 Ville Voutilainen <ville.voutilainen@gmail.com>
  2650. Add __is_nothrow_swappable and take it into use.
  2651. * include/bits/algorithmfwd.h (swap): Only declare for C++98 mode.
  2652. * include/bits/move.h (swap): Add constraints in C++11 and later.
  2653. * include/bits/stl_pair.h (swap): Use __is_nothrow_swappable
  2654. for the free swap function for pair.
  2655. * include/bits/stl_queue.h (swap): Use __is_nothrow_swappable
  2656. for the free swap functions for queue and priority_queue.
  2657. * include/bits/stl_stack.h (swap): Use __is_nothrow_swappable
  2658. for the free swap function for stack.
  2659. * include/debug/array (swap): Use __is_nothrow_swappable
  2660. for the free swap function for array.
  2661. * include/profile/array (swap): Likewise.
  2662. * include/std/array (swap): Likewise.
  2663. * include/std/tuple (_Tuple_impl::_M_swap): Use __is_nothrow_swappable.
  2664. * include/std/type_traits (__is_swappable_impl::__is_swappable,
  2665. __is_nothrow_swappable_impl, __is_nothrow_swappable): New.
  2666. * testsuite/20_util/is_nothrow_swappable/requirements/
  2667. explicit_instantiation.cc: New.
  2668. * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
  2669. New.
  2670. * testsuite/20_util/is_nothrow_swappable/value.cc: New.
  2671. 2015-06-03 François Dumont fdumont@gcc.gnu.org>
  2672. * testsuite/23_containers/list/61347.cc: Add dg-require-normal-mode.
  2673. 2015-06-02 Jonathan Wakely <jwakely@redhat.com>
  2674. * doc/xml/manual/abi.xml: Document versioning for 5.1.0 release.
  2675. * doc/html/manual/*: Regenerate.
  2676. * doc/html/ext/lwg-active.html: Update to R93.
  2677. * doc/html/ext/lwg-closed.html: Likewise.
  2678. * doc/html/ext/lwg-defects.html: Likewise.
  2679. * doc/html/manual/*: Regenerate.
  2680. * doc/xml/manual/intro.xml: Document status of several DRs.
  2681. 2015-06-02 Renlin Li <renlin.li@arm.com>
  2682. * testsuite/27_io/fpos/14775.cc: Add _GLIBCXX_HAVE_LIMIT_FSIZE check.
  2683. 2015-06-01 Jonathan Wakely <jwakely@redhat.com>
  2684. * testsuite/lib/libstdc++.exp (libstdc++_init): Unset LANGUAGE
  2685. environment variable.
  2686. 2015-05-31 Jonathan Wakely <jwakely@redhat.com>
  2687. PR libstdc++/66354
  2688. * include/bits/stl_algobase.h (__fill_a): Check length before calling
  2689. memset.
  2690. 2015-05-30 Jonathan Wakely <jwakely@redhat.com>
  2691. * include/bits/stl_algobase.h (__equal<true>::equal): Check length
  2692. instead of checking for null pointers.
  2693. (__lexicographical_compare<true>::__lc): Only check shorter length.
  2694. 2015-05-29 François Dumont fdumont@gcc.gnu.org>
  2695. * include/debug/debug.h (_GLIBCXX_DEBUG_ASSERT,
  2696. _GLIBCXX_DEBUG_PEDASSERT, _GLIBCXX_DEBUG_ONLY): Move definition...
  2697. * include/debug/assertions.h: ...here, new.
  2698. * include/debug/formatter.h
  2699. (_Error_formatter::_Is_iterator_value_type): New.
  2700. (_Error_formatter::_Is_instance): New.
  2701. (_Error_formatter::_Parameter): Make public and not friend anymore.
  2702. (_Error_formatter::_Parameter::__instance): New _M_kind enum entry.
  2703. (_Error_formatter::_Parameter::__iterator_value_type): New _M_kind enum
  2704. entry.
  2705. (_Error_formatter::_Parameter::_Type): New.
  2706. (_Error_formatter::_Parameter::_Instance): New, inherit from
  2707. latter.
  2708. (union _Error_formatter::_Parameter::_M_variant): Reorganize.
  2709. (_Parameter(_Iterator const&, const char*, _Is_iterator)): Make all
  2710. overloads take iterator through a const reference.
  2711. (_Parameter(const _Iterator&, const char*, _Is_iterator_value_type)):
  2712. New.
  2713. (_Parameter(const _Type&, const char*, _Is_instance)): New.
  2714. (_Error_formatter::_M_print_type): Delete.
  2715. (_Error_formatter::_M_iterator_value_type): New.
  2716. (_Error_formatter::_M_instance): New.
  2717. * include/Makefile.am: Add new above debug file.
  2718. * include/Makefile.in: Regenerate.
  2719. * include/debug/functions.h
  2720. (__check_dereferenceable(const _Safe_iterator<>&),
  2721. __valid_range(const _Safe_iterator<>&),
  2722. __is_safe_random_iterator<_Safe_iterator<>>): Move...
  2723. * include/debug/safe_iterator.h: ... here.
  2724. Replace debug.h include with assertions.h.
  2725. (__check_singular_aux): Move...
  2726. * include/debug/safe_base.h: ... here.
  2727. * include/debug/functions.h
  2728. (__check_dereferenceable(const _Safe_local_iterator<>&),
  2729. __valid_range(const _Safe_local_iterator<>&): Move...
  2730. * include/debug/safe_local_iterator.h: ...here.
  2731. * include/debug/safe_sequence.h: Replace debug.h with assertions.h.
  2732. Remove _Safe_iterator declaration.
  2733. * include/debug/safe_unordered_container.h: Replace debug.h with
  2734. assertions.h.
  2735. * include/debug/array: Replace safe_sequence.h include with
  2736. formatter.h and macros.h.
  2737. * include/debug/deque: Include functions.tcc.
  2738. * include/debug/forward_list: Likewise.
  2739. * include/debug/list: Likewise.
  2740. * include/debug/string: Likewise.
  2741. * include/debug/vector: Likewise.
  2742. * include/bits/unique_ptr.h: Replace debug.h include with new
  2743. assertions.h.
  2744. * include/bits/stl_iterator_base_funcs.h: Likewise.
  2745. * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
  2746. Adjust dg-error line number.
  2747. * testsuite/23_containers/array/tuple_interface/
  2748. tuple_element_debug_neg.cc: Likewise.
  2749. * src/c++11/debug.cc: Adapt.
  2750. 2015-05-29 Jonathan Wakely <jwakely@redhat.com>
  2751. * doc/xml/manual/status_cxx2017.xml: Fix duplicate ID attribute.
  2752. * doc/html/manual/*: Regenerate.
  2753. * include/std/future (__async_result_of): New alias template.
  2754. (async): Use __async_result_of to pass decayed types to result_of.
  2755. * testsuite/30_threads/async/lwg2021.cc: New.
  2756. * doc/xml/manual/intro.xml: Document LWG 2021 status.
  2757. PR libstdc++/66327
  2758. * include/bits/stl_algobase.h (__equal<true>::equal): Do not call
  2759. memcmp with null pointers.
  2760. (__lexicographical_compare<true>::__lc): Do not call memcmp for empty
  2761. ranges.
  2762. 2015-05-28 Jonathan Wakely <jwakely@redhat.com>
  2763. PR libstdc++/65352
  2764. * include/profile/array (array::data): Use _S_ptr.
  2765. * include/debug/array (array::data): Likewise.
  2766. PR libstdc++/65352
  2767. * include/std/array (__array_traits::_S_ptr): New function.
  2768. (array::data): Use _S_ptr to avoid creating invalid reference.
  2769. * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
  2770. dg-error line numbers.
  2771. * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
  2772. likewise.
  2773. 2015-05-27 Jonathan Wakely <jwakely@redhat.com>
  2774. * include/bits/stl_tree.h (_Rb_tree::_M_end()): Return _Base_ptr
  2775. instead of downcasting.
  2776. (_Rb_tree::_M_copy): Change second parameter to _Base_ptr.
  2777. (_Rb_tree::_M_lower_bound, _Rb_tree:_M_upper_bound): Likewise.
  2778. (_Rb_tree::_S_iter): Remove.
  2779. (_Rb_tree::_S_lower_bound_tr, _Rb_tree::_S_upper_bound_tr): Remove.
  2780. (_Rb_tree::_M_find_tr(const _Kt&) const): Call _M_lower_bound_tr
  2781. instead of _S_lower_bound_tr
  2782. (_Rb_tree::_M_find_tr(const _Kt&)): Call const overload.
  2783. (_Rb_tree::_M_lower_bound_tr(const _Kt&) const): Do the search here
  2784. instead of calling _S_lower_bound_tr.
  2785. (_Rb_tree::_M_lower_bound_tr(const _Kt&)): Call const overload.
  2786. (_Rb_tree::_M_upper_bound_tr(const _Kt&) const): Do the search here
  2787. instead of calling _S_upper_bound_tr.
  2788. (_Rb_tree::_M_upper_bound_tr(const _Kt&)): Call const overload.
  2789. (_Rb_tree::_M_equal_range_tr(const _Kt&)): Likewise.
  2790. (_Rb_tree::equal_range): Use _Base_ptr for end pointer.
  2791. (_Rb_tree::_M_get_insert_unique_pos): Likewise.
  2792. (_Rb_tree::_M_get_insert_equal_pos): Likewise.
  2793. (_Rb_tree::_M_insert_equal_lower_node): Likewise.
  2794. (_Rb_tree::_M_insert_unique, _Rb_tree::_M_emplace_unique,
  2795. _Rb_tree::_M_emplace_hint_unique): Remove static_cast.
  2796. PR libstdc++/66017
  2797. * include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_membuf.
  2798. (_Rb_tree_iterator, _Rb_tree_const_iterator): Support construction
  2799. from _Base_ptr.
  2800. (_Rb_tree_const_iterator::_M_const_cast): Remove static_cast.
  2801. (_Rb_tree::begin, _Rb_tree::end): Remove static_cast.
  2802. * include/ext/aligned_buffer.h (__aligned_membuf): New type using
  2803. alignment of _Tp as a member subobject, not as a complete object.
  2804. * python/libstdcxx/v6/printers.py (StdRbtreeIteratorPrinter): Lookup
  2805. _Link_type manually as it might not be in the debug info.
  2806. 2015-05-26 Doug Evans <dje@google.com>
  2807. * python/libstdcxx/v6/xmethods.py (UniquePtrMethodsMatcher): Add
  2808. operator-> support.
  2809. * testsuite/libstdc++-xmethods/unique_ptr.cc: Add tests for
  2810. operator->.
  2811. 2015-05-26 Jonathan Wakely <jwakely@redhat.com>
  2812. * include/bits/locale_conv.h: Fix copyright years.
  2813. * include/bits/quoted_string.h: Likewise.
  2814. * src/filesystem/Makefile.am: Likewise.
  2815. * testsuite/22_locale/conversions/buffer/1.cc: Likewise.
  2816. * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc:
  2817. Likewise.
  2818. * testsuite/22_locale/conversions/string/1.cc: Likewise.
  2819. * testsuite/22_locale/conversions/string/2.cc: Likewise.
  2820. * testsuite/22_locale/conversions/string/3.cc: Likewise.
  2821. * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc:
  2822. Likewise.
  2823. * testsuite/22_locale/conversions/string/requirements/typedefs.cc:
  2824. Likewise.
  2825. * testsuite/util/testsuite_fs.h: Likewise.
  2826. 2015-05-23 François Dumont fdumont@gcc.gnu.org>
  2827. PR libstdc++/64657
  2828. * include/debug/functions.h (__check_sorted_aux): Cast expression to
  2829. void.
  2830. 2015-05-21 David Edelsohn <dje.gcc@gmail.com>
  2831. PR target/66224
  2832. * config/cpu/powerpc/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER):
  2833. Don't use isync. Use lwsync if available.
  2834. * configure.host (atomic_word_dir) [aix[56789]*]: Delete to use
  2835. powerpc cpu definition.
  2836. 2015-05-21 Jason Merrill <jason@redhat.com>
  2837. * libsupc++/del_opv.cc: Suppress -Wsized-deallocation.
  2838. * libsupc++/del_op.cc: Likewise.
  2839. 2015-05-20 François Dumont fdumont@gcc.gnu.org>
  2840. * include/debug/formatter.h (_GLIBCXX_TYPEID): New macro to simplify
  2841. usage of typeid.
  2842. (_Error_formatter::_M_print_type): New.
  2843. * src/c++11/debug.cc
  2844. (_Error_formatter::_Parameter::_M_print_field): Use latter.
  2845. (_Error_formatter::_M_print_type): Implement latter using
  2846. __cxaabiv1::__cxa_demangle to print demangled type name.
  2847. * include/bits/cpp_type_traits.h
  2848. (std::move_iterator): Delete declaration.
  2849. (std::__is_move_iterator<move_iterator>): Move partial specialization...
  2850. * include/bits/stl_iterator.h: ... here.
  2851. (std::__miter_base): Overloads for std::reverse_iterator and
  2852. std::move_iterator.
  2853. * include/bits/stl_algobase.h (std::__miter_base): Provide default
  2854. implementation.
  2855. 2015-05-20 Jonathan Wakely <jwakely@redhat.com>
  2856. * testsuite/util/testsuite_fs.h (nonexistent_path): Don't use tempnam.
  2857. PR libstdc++/66078
  2858. * include/bits/stl_iterator.h (__make_move_if_noexcept_iterator): Add
  2859. overload for pointers.
  2860. * testsuite/20_util/specialized_algorithms/uninitialized_copy/
  2861. 808590.cc: Add -std=gnu++03 switch.
  2862. * testsuite/20_util/specialized_algorithms/uninitialized_copy/
  2863. 808590-cxx11.cc: Copy of 808590.cc to test with -std=gnu++11.
  2864. * testsuite/23_containers/vector/modifiers/push_back/
  2865. strong_guarantee.cc: New.
  2866. 2015-05-19 Jonathan Wakely <jwakely@redhat.com>
  2867. * include/bits/stl_list.h (_M_resize_pos(size_type&)): Declare.
  2868. (operator==(const list&, const list&)): If size() is O(1) compare
  2869. sizes before comparing each element.
  2870. * include/bits/list.tcc (list::_M_resize_pos(size_type&)): Define.
  2871. (list::resize): Use _M_resize_pos.
  2872. 2015-05-19 François Dumont <fdumont@gcc.gnu.org>
  2873. * testsuite/23_containers/unordered_map/cons/66055.cc: Add constructor
  2874. invocations.
  2875. * testsuite/23_containers/unordered_multimap/cons/66055.cc: Likewise.
  2876. * testsuite/23_containers/unordered_multiset/cons/66055.cc: Likewise.
  2877. * testsuite/23_containers/unordered_set/cons/66055.cc: Likewise.
  2878. 2015-05-17 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
  2879. * configure.host: Define cpu_defines_dir for ARM.
  2880. * config/cpu/arm/cpu_defines.h: New file.
  2881. 2015-05-17 François Dumont <fdumont@gcc.gnu.org>
  2882. * include/bits/unordered_map.h (unordered_map, unordered_multimap): Add
  2883. missing constructors.
  2884. * include/bits/unordered_set.h (unordered_set, unordered_multiset):
  2885. Likewise.
  2886. * include/debug/unordered_map (unordered_map, unordered_multimap): Add
  2887. missing constructors.
  2888. * include/debug/unordered_set (unordered_set, unordered_multiset):
  2889. Likewise.
  2890. * include/profile/unordered_map (unordered_map, unordered_multimap): Add
  2891. missing constructors.
  2892. * include/profile/unordered_set (unordered_set, unordered_multiset):
  2893. Likewise.
  2894. 2015-05-15 Jonathan Wakely <jwakely@redhat.com>
  2895. * src/filesystem/ops.cc (stat_type): Define alias for struct stat and
  2896. use throughout the file.
  2897. (make_file_type): New function.
  2898. (file_size(const path&, error_code&)): Report an error for anything
  2899. that isn't a regular file.
  2900. (status(const path&), symlink_status(const path&)): Do not throw for
  2901. file_type::not_found.
  2902. (temp_directory_path()): Check additional environment variables.
  2903. * testsuite/experimental/filesystem/operations/exists.cc: New.
  2904. * testsuite/experimental/filesystem/operations/file_size.cc: New.
  2905. * testsuite/experimental/filesystem/operations/status.cc: New.
  2906. * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
  2907. New.
  2908. 2015-05-14 Nathan Myers <ncm@cantrip.org>
  2909. Jonathan Wakely <jwakely@redhat.com>
  2910. PR libstdc++/66055
  2911. * include/std/unordered_map (unordered_map, unordered_multimap): Add
  2912. missing constructors.
  2913. * include/std/unordered_set (unordered_set, unordered_multiset):
  2914. Likewise.
  2915. * testsuite/23_containers/unordered_map/cons/66055.cc: New.
  2916. * testsuite/23_containers/unordered_multimap/cons/66055.cc: New.
  2917. * testsuite/23_containers/unordered_multiset/cons/66055.cc: New.
  2918. * testsuite/23_containers/unordered_set/cons/66055.cc: New.
  2919. 2015-05-14 Jonathan Wakely <jwakely@redhat.com>
  2920. PR libstdc++/66011
  2921. * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmod and
  2922. sendfile.
  2923. * config.h.in: Regenerate.
  2924. * configure: Regenerate.
  2925. * src/filesystem/ops.cc (do_copy_file): Fix arguments to open(). Do
  2926. not return after copying contents. Use fchmod, fchmodat, and sendfile
  2927. when available.
  2928. (current_path, permissions, space): Use errno not return value.
  2929. PR libstdc++/66018
  2930. * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for struct
  2931. dirent.d_type.
  2932. * config.h.in: Regenerate.
  2933. * configure: Regenerate.
  2934. * configure.ac (AC_STRUCT_DIRENT_D_TYPE): Remove.
  2935. 2015-05-13 Eric Botcazou <ebotcazou@adacore.com>
  2936. * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Delete.
  2937. * configure.ac: Remove GLIBCXX_ENABLE_SJLJ_EXCEPTIONS.
  2938. * config.h.in: Regenerate.
  2939. * configure: Likewise.
  2940. * libsupc++/eh_personality.cc: Replace _GLIBCXX_SJLJ_EXCEPTIONS by
  2941. __USING_SJLJ_EXCEPTIONS__.
  2942. * libsupc++/eh_throw.cc: Likewise.
  2943. * libsupc++/eh_ptr.cc: Likewise.
  2944. * doc/html/manual/appendix_porting.html: Remove
  2945. GLIBCXX_ENABLE_SJLJ_EXCEPTIONS
  2946. * doc/xml/manual/build_hacking.xml: Likewise.
  2947. * doc/html/manual/configure.html: Remove --enable-sjlj-exceptions.
  2948. * doc/xml/manual/configure.xml: Likewise.
  2949. 2015-05-13 Jonathan Wakely <jwakely@redhat.com>
  2950. * include/bits/shared_ptr_base.h (__shared_count(unique_ptr&&)): Check
  2951. for nullptr (LWG 2415).
  2952. * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Test
  2953. construction from empty unique_ptr.
  2954. * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
  2955. * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
  2956. * include/bits/stl_raw_storage_iter.h (raw_storage_iterator::base()):
  2957. Define (LWG 2454).
  2958. * testsuite/20_util/raw_storage_iterator/base.cc: New.
  2959. * include/std/future (packaged_task(allocator_arg_t, const A&, F&&):
  2960. Remove explicit (LWG 2407).
  2961. * include/bits/basic_string.h (basic_string::basic_string()): Make
  2962. noexcept conditional on allocator (LWG 2455).
  2963. * include/std/complex (polar): Check for negative rho (LWG 2459).
  2964. * include/experimental/tuple (apply): Handle pointers to member (LWG
  2965. 2418).
  2966. * include/std/functional (_Mem_fn_base): Make constructors constexpr.
  2967. (_Maybe_wrap_member_pointer::__do_wrap): Make constexpr.
  2968. * testsuite/experimental/tuple/apply.cc: Test pointer to member.
  2969. * include/bits/random.h (seed_seq): More noexcept (LWG 2440).
  2970. * include/bits/alloc_traits.h (_S_max_size): Implement LWG 2466.
  2971. * testsuite/20_util/allocator_traits/members/max_size.cc: Adjust.
  2972. * testsuite/23_containers/forward_list/allocator/minimal.cc:
  2973. Likewise.
  2974. * testsuite/23_containers/map/allocator/minimal.cc: Likewise.
  2975. * testsuite/23_containers/multimap/allocator/minimal.cc: Likewise.
  2976. * testsuite/23_containers/multiset/allocator/minimal.cc: Likewise.
  2977. * testsuite/23_containers/set/allocator/minimal.cc: Likewise.
  2978. * testsuite/23_containers/unordered_map/allocator/minimal.cc:
  2979. Likewise.
  2980. * testsuite/23_containers/unordered_multimap/allocator/minimal.cc:
  2981. Likewise.
  2982. * testsuite/23_containers/unordered_multiset/allocator/minimal.cc:
  2983. Likewise.
  2984. * testsuite/23_containers/unordered_set/allocator/minimal.cc:
  2985. Likewise.
  2986. * testsuite/util/testsuite_allocator.h: Remove unused parameter.
  2987. * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Re-enable on solaris.
  2988. * configure: Regenerate.
  2989. 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
  2990. * Makefile.in: Regenerated with automake-1.11.6.
  2991. * aclocal.m4: Likewise.
  2992. * configure: Likewise.
  2993. * doc/Makefile.in: Likewise.
  2994. * include/Makefile.in: Likewise.
  2995. * libsupc++/Makefile.in: Likewise.
  2996. * po/Makefile.in: Likewise.
  2997. * python/Makefile.in: Likewise.
  2998. * src/Makefile.in: Likewise.
  2999. * src/c++11/Makefile.in: Likewise.
  3000. * src/c++98/Makefile.in: Likewise.
  3001. * src/filesystem/Makefile.in: Likewise.
  3002. * testsuite/Makefile.in: Likewise.
  3003. 2015-05-09 Jason Merrill <jason@redhat.com>
  3004. * testsuite/20_util/headers/functional/synopsis.cc: Add
  3005. _GLIBCXX14_CONSTEXPR.
  3006. * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.
  3007. 2015-05-08 Jason Merrill <jason@redhat.com>
  3008. * testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc: Add -std=c++98.
  3009. * testsuite/20_util/auto_ptr/1.cc: Add -std=c++98.
  3010. * testsuite/20_util/auto_ptr/2.cc: Add -std=c++98.
  3011. * testsuite/20_util/auto_ptr/3.cc: Add -std=c++98.
  3012. * testsuite/20_util/auto_ptr/4.cc: Add -std=c++98.
  3013. * testsuite/20_util/auto_ptr/5.cc: Add -std=c++98.
  3014. * testsuite/20_util/auto_ptr/6.cc: Add -std=c++98.
  3015. * testsuite/20_util/auto_ptr/7.cc: Add -std=c++98.
  3016. * testsuite/20_util/auto_ptr/3946.cc: Add -std=c++98.
  3017. * testsuite/20_util/auto_ptr/assign_neg.cc: Add -std=c++98.
  3018. * testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc:
  3019. Likewise.
  3020. * testsuite/20_util/headers/functional/synopsis.cc: Add -Wno-deprecated.
  3021. * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
  3022. Adjust expected errors.
  3023. * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
  3024. Likewise.
  3025. * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
  3026. Likewise.
  3027. * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
  3028. Likewise.
  3029. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
  3030. Likewise.
  3031. * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
  3032. Likewise.
  3033. * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
  3034. Likewise.
  3035. * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
  3036. Likewise.
  3037. * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
  3038. Likewise.
  3039. * testsuite/23_containers/vector/requirements/dr438
  3040. /constructor_1_neg.cc: Likewise.
  3041. * testsuite/23_containers/vector/requirements/dr438
  3042. /constructor_2_neg.cc: Likewise.
  3043. * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
  3044. Likewise.
  3045. * testsuite/ext/array_allocator/1.cc: Add -Wno-deprecated.
  3046. * testsuite/ext/array_allocator/2.cc: Add -Wno-deprecated.
  3047. * testsuite/ext/array_allocator/26875.cc: Add -Wno-deprecated.
  3048. * testsuite/ext/array_allocator/3.cc: Add -Wno-deprecated.
  3049. * testsuite/ext/array_allocator/check_allocate_max_size.cc:
  3050. Add -Wno-deprecated.
  3051. * testsuite/ext/array_allocator/check_deallocate_null.cc:
  3052. Add -Wno-deprecated.
  3053. * testsuite/ext/array_allocator/check_delete.cc: Add -Wno-deprecated.
  3054. * testsuite/ext/array_allocator/check_new.cc: Add -Wno-deprecated.
  3055. * testsuite/ext/profile/mutex_extensions_neg.cc: Prune follow-on error.
  3056. * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc:
  3057. Add -std=c++98.
  3058. * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
  3059. Add -std=c++98.
  3060. * testsuite/tr1/2_general_utilities/shared_ptr/assign
  3061. /auto_ptr_rvalue_neg.cc: Add -std=c++98.
  3062. * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
  3063. Add -std=c++98 -fno-show-column.
  3064. * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc:
  3065. Add -std=c++98.
  3066. * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
  3067. Add -std=c++98.
  3068. * testsuite/tr1/6_containers/utility/pair.cc: Add -std=c++98.
  3069. * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: Add -std=c++98.
  3070. * src/c++98/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98.
  3071. * src/c++98/Makefile.in: Regenerate.
  3072. * src/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98.
  3073. * src/Makefile.in: Regenerate.
  3074. 2015-05-02 Jonathan Wakely <jwakely@redhat.com>
  3075. PR libstdc++/51617
  3076. * include/std/future (async): Change default policy to launch::async.
  3077. * include/experimental/any (any::_Storage): Fix alignment of buffer.
  3078. (any::_Internal): Check alignment of type.
  3079. * testsuite/experimental/any/cons/aligned.cc: New.
  3080. * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
  3081. * include/experimental/iterator (ostream_joiner): Simplify by using
  3082. the injected-class-name and the ostream_type typedef.
  3083. * include/experimental/iterator: New. Define ostream_joiner.
  3084. * include/Makefile.am: Add new header.
  3085. * include/Makefile.in: Regenerate.
  3086. * testsuite/experimental/iterator/make_ostream_joiner.cc: New.
  3087. * testsuite/experimental/iterator/ostream_joiner.cc: New.
  3088. * testsuite/experimental/iterator/requirements.cc: New.
  3089. * doc/xml/manual/status_cxx2017.xml: Update status.
  3090. * doc/html/manual/status.html: Regenerate.
  3091. * include/experimental/numeric: New. Define gcd and lcm.
  3092. * include/Makefile.am: Add new header.
  3093. * include/Makefile.in: Regenerate.
  3094. * testsuite/experimental/numeric/gcd.cc: New.
  3095. * testsuite/experimental/numeric/lcm.cc: New.
  3096. * doc/xml/manual/status_cxx2017.xml: Update status.
  3097. * doc/html/manual/status.html: Regenerate.
  3098. 2015-05-02 Edward Smith-Rowland <3dw4rd@verizon.net>
  3099. Revert addition of feature macros from other headers per latest SD-6.
  3100. * include/experimental/deque: Remove feature-test macro.
  3101. * include/experimental/forward_list: Ditto.
  3102. * include/experimental/list: Ditto.
  3103. * include/experimental/map: Ditto.
  3104. * include/experimental/set: Ditto.
  3105. * include/experimental/string: Ditto.
  3106. * include/experimental/unordered_map: Ditto.
  3107. * include/experimental/unordered_set: Ditto.
  3108. 2015-05-02 Jonathan Wakely <jwakely@redhat.com>
  3109. * include/experimental/any (any::_Storage): Make non-copyable.
  3110. (any::any): Do not copy _Storage object.
  3111. (any::operator=): Implement more efficiently than swapping.
  3112. (any::swap): Use new _Op_xfer operation.
  3113. (any::_Op::_Op_xfer): New enumerator.
  3114. (_Manager_internal::_S_alloc): Remove unused function.
  3115. (_Manager_internal::_S_create, _Manager_external::_S_create): Use out
  3116. parameter instead of returning a _Storage object.
  3117. (_Manager_internal::_S_manage, _Manager_external::_S_manage): Add
  3118. _Op_xfer operation for moving and swapping.
  3119. * testsuite/experimental/any/cons/nontrivial.cc: New.
  3120. * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
  3121. * include/experimental/fs_path.h (filesystem_error::~filesystem_error):
  3122. Declare.
  3123. * src/filesystem/path.cc (filesystem_error::~filesystem_error):
  3124. Define.
  3125. PR libstdc++/65978
  3126. * include/std/tuple (forward_as_tuple, tie): Add constexpr.
  3127. * testsuite/20_util/tuple/creation_functions/constexpr.cc: Uncomment
  3128. and fix tests for forward_as_tuple and tie.
  3129. * src/filesystem/ops.cc (last_write_time) [_GLIBCXX_USE_UTIMENSAT]:
  3130. Set timespec members explicitly instead of with a braced-init-list.
  3131. [_GLIBCXX_HAVE_UTIME_H]: Use lambda to handle st_atime being a macro.
  3132. 2015-05-02 Edward Smith-Rowland <3dw4rd@verizon.net>
  3133. * include/experimental/deque: Add feature-test macro.
  3134. * include/experimental/forward_list: Ditto.
  3135. * include/experimental/list: Ditto.
  3136. * include/experimental/map: Ditto.
  3137. * include/experimental/set: Ditto.
  3138. * include/experimental/string: Ditto.
  3139. * include/experimental/unordered_map: Ditto.
  3140. * include/experimental/unordered_set: Ditto.
  3141. 2015-05-01 Jonathan Wakely <jwakely@redhat.com>
  3142. * include/experimental/memory: Correct feature-test macro.
  3143. * include/experimental/memory: Add feature-test macro.
  3144. * include/experimental/vector: Likewise.
  3145. * doc/xml/manual/status_cxx2017.xml: Update status.
  3146. * doc/html/manual/status.html: Regenerate.
  3147. 2015-05-01 Ville Voutilainen <ville.voutilainen@gmail.com>
  3148. Implement observer_ptr.
  3149. * include/Makefile.am: Add new header.
  3150. * include/Makefile.in: Regenerate.
  3151. * include/experimental/memory: New.
  3152. * testsuite/experimental/memory/observer_ptr/assignment/assign.cc: New.
  3153. * testsuite/experimental/memory/observer_ptr/cons/cons.cc: New.
  3154. * testsuite/experimental/memory/observer_ptr/hash/hash.cc: New.
  3155. * testsuite/experimental/memory/observer_ptr/make_observer.cc: New.
  3156. * testsuite/experimental/memory/observer_ptr/relops/relops.cc: New.
  3157. * testsuite/experimental/memory/observer_ptr/requirements.cc: New.
  3158. * testsuite/experimental/memory/observer_ptr/swap/swap.cc: New.
  3159. * testsuite/experimental/memory/observer_ptr/typedefs.cc: New.
  3160. 2015-05-01 Jonathan Wakely <jwakely@redhat.com>
  3161. * src/filesystem/path.cc (path::compare): Do not copy strings.
  3162. * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable when <dirent.h>
  3163. is not available.
  3164. (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmodat.
  3165. * configure: Regenerate.
  3166. * config.h.in: Regenerate.
  3167. * configure.ac: Check for utime.h
  3168. * include/experimental/fs_path.h (path::string<>)
  3169. [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Remove stray typename keyword.
  3170. * src/filesystem/dir.cc [!_GLIBCXX_HAVE_DIRENT_H] (DIR, opendir,
  3171. closedir, dirent, readdir_r): Replace dummy functions with #error.
  3172. (native_readdir, _Dir::advance): Use readdir when readdir_r is missing.
  3173. * src/filesystem/ops.cc (do_stat, is_set): Make inline.
  3174. (last_write_time) [!_GLIBCXX_USE_UTIMENSAT]: Use utime.
  3175. (permissions) [!_GLIBCXX_USE_FCHMODAT]: Use chmod.
  3176. (space, temp_directory_path) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Set
  3177. error_code.
  3178. * include/experimental/fs_path.h (path::_List): Use vector instead of
  3179. list.
  3180. * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Adapt.
  3181. * src/filesystem/path.cc: Use std::prev instead of decrementing
  3182. rvalues. Fix whitespace.
  3183. * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
  3184. Do not decrement iterators before begin.
  3185. * include/experimental/fs_dir.h: Fix use of non-reserved names.
  3186. * include/experimental/fs_ops.h: Likewise.
  3187. * include/experimental/fs_path.h: Likewise.
  3188. * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Use
  3189. C++11 when checking for support.
  3190. * include/bits/locale_classes.h (locale::facet): Delete copy
  3191. operations in C++11 mode.
  3192. * include/bits/alloc_traits.h (__alloc_rebind): Change parameter name.
  3193. * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable for solaris.
  3194. * configure: Regenerate.
  3195. 2015-05-01 Edward Smith-Rowland <3dw4rd@verizon.net>
  3196. Inline one-line erasure dispatch functions.
  3197. * include/experimental/forward_list (erase_if(), erase()): Inline.
  3198. * include/experimental/list (erase_if(), erase()): Inline.
  3199. * include/experimental/map (erase_if(*)): Inline.
  3200. * include/experimental/set (erase_if(*)): Inline.
  3201. * include/experimental/string (erase_if(), erase()): Inline.
  3202. * include/experimental/unordered_map (erase_if(*)): Inline.
  3203. * include/experimental/unordered_set (erase_if(*)): Inline.
  3204. 2015-05-01 Jonathan Wakely <jwakely@redhat.com>
  3205. * doc/xml/manual/intro.xml: Link to new status_cxx2017.xml file.
  3206. * doc/xml/manual/status_cxx2011.xml: Update status tables.
  3207. * doc/xml/manual/status_cxx2014.xml: Likewise.
  3208. * doc/xml/manual/status_cxx2017.xml: New.
  3209. * doc/xml/manual/using.xml: Fix typo.
  3210. * doc/html/*: Regenerate.
  3211. * include/std/memory (pointer_safety, declare_reachable,
  3212. undeclare_reachable, declare_no_pointers, undeclare_no_pointers,
  3213. get_pointer_safety): Define.
  3214. * testsuite/20_util/pointer_safety/1.cc: New.
  3215. 2015-04-30 Jonathan Wakely <jwakely@redhat.com>
  3216. Implement N4100 File System TS
  3217. * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Define.
  3218. (GLIBCXX_CHECK_FILESYSTEM_DEPS): Define.
  3219. * config.h.in: Regenerate.
  3220. * configure: Regenerate.
  3221. * configure.ac: Enable filesystem TS and check its dependencies.
  3222. * include/Makefile.am: Add new headers.
  3223. * include/Makefile.in: Regenerate.
  3224. * include/bits/locale_conv.h (__do_str_code_cvt, __str_codecvt_in,
  3225. __str_codecvt_out): Move code conversion logic from wstring_convert
  3226. into new global functions.
  3227. (wstring_convert::to_bytes, wstring_convert::from_bytes): Use new
  3228. functions.
  3229. (wstring_convert::_M_conv): Remove.
  3230. * include/bits/quoted_string.h (_Quoted_string): Split out of iomanip.
  3231. * include/experimental/filesystem: New.
  3232. * include/experimental/fs_dir.h: New.
  3233. * include/experimental/fs_fwd.h: New.
  3234. * include/experimental/fs_ops.h: New.
  3235. * include/experimental/fs_path.h: New.
  3236. * include/std/iomanip (_Quoted_string): Move to bits/quoted_string.h.
  3237. * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Add.
  3238. * src/Makefile.am (SUBDIRS): Add filesystem.
  3239. * src/Makefile.in: Regenerate.
  3240. * src/filesystem/Makefile.am: New.
  3241. * src/filesystem/Makefile.in: New.
  3242. * src/filesystem/dir.cc: New.
  3243. * src/filesystem/ops.cc: New.
  3244. * src/filesystem/path.cc: New.
  3245. * testsuite/experimental/filesystem/operations/absolute.cc: New.
  3246. * testsuite/experimental/filesystem/operations/copy.cc: New.
  3247. * testsuite/experimental/filesystem/operations/current_path.cc: New.
  3248. * testsuite/experimental/filesystem/path/append/path.cc: New.
  3249. * testsuite/experimental/filesystem/path/assign/assign.cc: New.
  3250. * testsuite/experimental/filesystem/path/assign/copy.cc: New.
  3251. * testsuite/experimental/filesystem/path/compare/compare.cc: New.
  3252. * testsuite/experimental/filesystem/path/compare/path.cc: New.
  3253. * testsuite/experimental/filesystem/path/compare/strings.cc: New.
  3254. * testsuite/experimental/filesystem/path/concat/path.cc: New.
  3255. * testsuite/experimental/filesystem/path/concat/strings.cc: New.
  3256. * testsuite/experimental/filesystem/path/construct/copy.cc: New.
  3257. * testsuite/experimental/filesystem/path/construct/default.cc: New.
  3258. * testsuite/experimental/filesystem/path/construct/locale.cc: New.
  3259. * testsuite/experimental/filesystem/path/construct/range.cc: New.
  3260. * testsuite/experimental/filesystem/path/decompose/extension.cc: New.
  3261. * testsuite/experimental/filesystem/path/decompose/filename.cc: New.
  3262. * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
  3263. New.
  3264. * testsuite/experimental/filesystem/path/decompose/relative_path.cc:
  3265. New.
  3266. * testsuite/experimental/filesystem/path/decompose/root_directory.cc:
  3267. New.
  3268. * testsuite/experimental/filesystem/path/decompose/root_name.cc:
  3269. New.
  3270. * testsuite/experimental/filesystem/path/decompose/root_path.cc:
  3271. New.
  3272. * testsuite/experimental/filesystem/path/decompose/stem.cc: New.
  3273. * testsuite/experimental/filesystem/path/generic/generic_string.cc:
  3274. New.
  3275. * testsuite/experimental/filesystem/path/itr/traversal.cc: New.
  3276. * testsuite/experimental/filesystem/path/modifiers/clear.cc: New.
  3277. * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
  3278. New.
  3279. * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
  3280. New.
  3281. * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
  3282. New.
  3283. * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
  3284. New.
  3285. * testsuite/experimental/filesystem/path/modifiers/swap.cc: New.
  3286. * testsuite/experimental/filesystem/path/nonmember/hash_value.cc: New.
  3287. * testsuite/experimental/filesystem/path/query/empty.cc: New.
  3288. * testsuite/experimental/filesystem/path/query/has_extension.cc: New.
  3289. * testsuite/experimental/filesystem/path/query/has_filename.cc: New.
  3290. * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
  3291. New.
  3292. * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
  3293. New.
  3294. * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
  3295. New.
  3296. * testsuite/experimental/filesystem/path/query/has_root_name.cc:
  3297. New.
  3298. * testsuite/experimental/filesystem/path/query/has_root_path.cc:
  3299. New.
  3300. * testsuite/experimental/filesystem/path/query/has_stem.cc: New.
  3301. * testsuite/experimental/filesystem/path/query/is_relative.cc: New.
  3302. * testsuite/util/testsuite_fs.h: New.
  3303. 2015-04-30 Edward Smith-Rowland <3dw4rd@verizon.net>
  3304. Add fundamentals TR container erasure.
  3305. * include/Makefile.am: Add new headers.
  3306. * include/Makefile.in: Add new headers.
  3307. * include/experimental/array: New.
  3308. * include/experimental/deque: New.
  3309. * include/experimental/erase_if.tcc: New.
  3310. * include/experimental/forward_list: New.
  3311. * include/experimental/list: New.
  3312. * include/experimental/map: New.
  3313. * include/experimental/set: New.
  3314. * include/experimental/string: New.
  3315. * include/experimental/unordered_map: New.
  3316. * include/experimental/unordered_set: New.
  3317. * include/experimental/vector: New.
  3318. * testsuite/experimental/deque/erasure.cc: New.
  3319. * testsuite/experimental/forward_list/erasure.cc: New.
  3320. * testsuite/experimental/list/erasure.cc: New.
  3321. * testsuite/experimental/map/erasure.cc: New.
  3322. * testsuite/experimental/set/erasure.cc: New.
  3323. * testsuite/experimental/string/erasure.cc: New.
  3324. * testsuite/experimental/unordered_map/erasure.cc: New.
  3325. * testsuite/experimental/unordered_set/erasure.cc: New.
  3326. * testsuite/experimental/vector/erasure.cc: New.
  3327. 2015-04-30 François Dumont <fdumont@gcc.gnu.org>
  3328. * include/bits/cpp_type_traits.h
  3329. (__gnu_cxx::__is_normal_iterator): Delete.
  3330. * include/bits/stl_algobase.h (std::__niter_base): Adapt.
  3331. * include/bits/stl_iterator.h (__make_reverse_iterator): New in C++11.
  3332. (std::__niter_base): Overloads for std::reverse_iterator,
  3333. __gnu_cxx::__normal_iterator and std::move_iterator.
  3334. 2015-04-30 François Dumont <fdumont@gcc.gnu.org>
  3335. * include/bits/hashtable_policy.h (_Prime_rehash_policy::_S_n_primes):
  3336. Delete.
  3337. * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
  3338. Remove usage of latter and compute size of the prime numbers array
  3339. locally.
  3340. 2015-04-29 Doug Evans <dje@google.com>
  3341. PR libstdc++/65839
  3342. * python/libstdcxx/v6/xmethods.py (get_bool_type): New function.
  3343. Replace all lookups of "bool" with this.
  3344. (get_std_size_type): New function. Replace all lookups of std::size_t
  3345. with this.
  3346. (*Worker): New method get_result_type.
  3347. (DequeWorkerBase.__init__): New arg val_type. All callers updated.
  3348. (ListWorkerBase.__init__): New arg val_type. All callers updated.
  3349. (UniquePtrGetWorker.__init__): New arg elem_type. All callers updated.
  3350. Delete setting of name, enabled.
  3351. (UniquePtrDerefWorker.__init__): New arg elem_type. All callers
  3352. updated. Delete setting of name.
  3353. (UniquePtrMethodsMatcher): Rewrite for consistency with all other
  3354. libstdc++ xmethod matchers.
  3355. * testsuite/libstdc++-xmethods/array.cc: Add whatis tests.
  3356. * testsuite/libstdc++-xmethods/associative-containers.cc: Ditto.
  3357. * testsuite/libstdc++-xmethods/deque.cc: Ditto.
  3358. * testsuite/libstdc++-xmethods/forwardlist.cc: Ditto.
  3359. * testsuite/libstdc++-xmethods/list.cc: Ditto.
  3360. * testsuite/libstdc++-xmethods/unique_ptr.cc: Ditto.
  3361. * testsuite/libstdc++-xmethods/vector.cc: Ditto.
  3362. 2015-04-29 Doug Evans <dje@google.com>
  3363. Use consistent naming for value type attributes.
  3364. * python/libstdcxx/v6/xmethods.py (ArrayWorkerBase): Rename _valtype
  3365. to _val_type.
  3366. (ArraySizeWorker, ArrayEmptyWorker): Ditto.
  3367. (ArrayFrontWorker, ArrayBackWorker): Ditto.
  3368. (ArrayAtWorker, ArraySubscriptWorker): Ditto.
  3369. (DequeWorkerBase): Rename elemtype to val_type.
  3370. (ForwardListWorkerBase): Rename _elem_type to _val_type.
  3371. (ForwardListFrontWorker): Ditto. And rename elem_address to
  3372. val_address.
  3373. (ForwardListMethodsMatcher): Rename elem_type to val_type.
  3374. (VectorWorkerBase): Rename _elemtype to _val_type.
  3375. 2015-04-29 Jonathan Wakely <jwakely@redhat.com>
  3376. PR libstdc++/65760
  3377. * include/std/functional (__check_func_return_type): Use is_same to
  3378. avoid using _is_convertible on incomplete types.
  3379. * testsuite/20_util/function/65760.cc: New.
  3380. PR libstdc++/64657
  3381. * include/bits/basic_string (basic_string::_S_copy_chars): Cast
  3382. expression to void.
  3383. * include/bits/locale_facets_nonio.tcc (money_get::_M_extract,
  3384. time_get::_M_extract_num, time_get::_M_extract_name,
  3385. time_get::_M_extract_wday_or_month): Likewise.
  3386. * include/bits/stl_algo.h (__includes, __replace_copy_if,
  3387. __is_sorted_until, __is_permutation, transform): Likewise.
  3388. * include/bits/stl_algobase.h (swap_ranges, __copy_move::__copy_m,
  3389. __equal::equal, __lexicographical_compare_impl, equal): Likewise.
  3390. * include/bits/stl_numeric.h (inner_product): Likewise.
  3391. * include/bits/stl_uninitialized.h (__uninitialized_copy_a): Likewise.
  3392. * testsuite/util/testsuite_iterators.h (output_iterator_wrapper,
  3393. input_iterator_wrapper): Declare unusable comma operator.
  3394. * testsuite/21_strings/basic_string/cons/char/64657.cc: New.
  3395. * testsuite/21_strings/basic_string/modifiers/assign/char/64657.cc:
  3396. New.
  3397. 2015-04-28 Doug Evans <dje@google.com>
  3398. * testsuite/libstdc++-xmethods/list.cc (_GLIBCXX_USE_CXX11_ABI):
  3399. Define to zero.
  3400. 2015-04-28 Jonathan Wakely <jwakely@redhat.com>
  3401. * include/bits/stl_algo.h (random_shuffle): Only define for hosted
  3402. implementations.
  3403. 2015-04-28 Jonathan Wakely <jwakely@redhat.com>
  3404. * Makefile.am (SUBDIRS): Move python to hosted_source.
  3405. * Makefile.in: Regenerate.
  3406. * acinclude.m4 (glibcxx_SUBDIRS): Reorder.
  3407. * configure: Regenerate.
  3408. 2015-04-28 Marc Glisse <marc.glisse@inria.fr>
  3409. PR libstdc++/65883
  3410. * include/std/limits (numeric_limits): Add missing unsigned.
  3411. 2015-04-28 Stephan Bergmann <sbergman@redhat.com>
  3412. * include/debug/vector (_Safe_vector::operator=): Add missing returns.
  3413. 2015-04-28 Jonathan Wakely <jwakely@redhat.com>
  3414. PR libstdc++/60333
  3415. * include/std/type_traits (__make_unsigned_selector<_Tp, false, true>):
  3416. Handle enumeration types larger than sizeof(long).
  3417. (__make_signed_selector<_Tp, false, true>): Find unsigned type then
  3418. make it signed.
  3419. * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
  3420. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
  3421. Likewise.
  3422. * testsuite/20_util/make_signed/requirements/typedefs-3.cc: New.
  3423. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust
  3424. dg-error.
  3425. * testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: New.
  3426. PR libstdc++/61645
  3427. * include/bits/forward_list.h (forward_list::splice_after): Add
  3428. noexcept.
  3429. * include/bits/forward_list.tcc (forward_list::splice_after):
  3430. Likewise.
  3431. PR libstdc++/65631
  3432. * include/bits/random.h (seed_seq) Define copy constructor and copy
  3433. assignment as deleted.
  3434. * testsuite/26_numerics/random/seed_seq/cons/65631.cc: New.
  3435. * libsupc++/exception (uncaught_exceptions): Add comment. Reorder #if.
  3436. * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc:
  3437. Use -std=gnu++1z. Check feature-test macro.
  3438. * include/std/type_traits (void_t): Add.
  3439. * testsuite/20_util/void_t/1.cc: New.
  3440. 2015-04-28 Tim Shen <timshen@google.com>
  3441. * include/bits/regex.tcc: Handle regex_constants::__polynomial.
  3442. * include/bits/regex_automaton.tcc: Throw exception when parsing
  3443. back-reference with flag __polynomial.
  3444. * include/bits/regex_constants.h: Add extension flag
  3445. syntax_option_type __polynomial.
  3446. * bits/regex_executor.tcc: Still let BFS process ECMAScript.
  3447. Alternative operation will be fixed in the coming refactoring.
  3448. * testsuite/28_regex/algorithms/regex_search/61424.cc: Turn
  3449. loose match_search_debug to use DFS only.
  3450. 2015-04-27 Sandra Loosemore <sandra@codesourcery.com>
  3451. PR libstdc++/65909
  3452. * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale):
  3453. Make the generated test program fail gracefully if the target
  3454. doesn't support passing command-line arguments.
  3455. 2015-04-27 Federico Lenarduzzi <federico.lenarduzzi@tallertechnologies.com>
  3456. Jonathan Wakely <jwakely@redhat.com>
  3457. * libsupc++/eh_catch.cc (uncaught_exception, uncaught_exceptions):
  3458. Return false or zero if the library is built without exceptions.
  3459. * libsupc++/eh_term_handler.cc: Disable verbose terminate handler if
  3460. the library is built without exceptions.
  3461. 2015-04-27 Ville Voutilainen <ville.voutilainen@gmail.com>
  3462. * config/abi/pre/gnu.ver: Fix comment.
  3463. Add support for std::uncaught_exceptions.
  3464. * acinclude.m4: Bump libtool_VERSION.
  3465. * config/abi/pre/gnu.ver: Export the new symbol.
  3466. * configure: Regenerate.
  3467. * libsupc++/eh_catch.cc (uncaught_exceptions): New.
  3468. * libsupc++/exception (uncaught_exceptions): New.
  3469. * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: New.
  3470. * testsuite/util/testsuite_abi.cc: Add 3.4.22 as the latest version.
  3471. 2015-04-27 Dmitry Prokoptsev <dprokoptsev@gmail.com>
  3472. Michael Hanselmann <public@hansmi.ch>
  3473. PR libstdc++/62258
  3474. * libsupc++/eh_ptr.cc (rethrow_exception): Increment count of
  3475. uncaught exceptions.
  3476. * testsuite/18_support/exception_ptr/62258.cc: New.
  3477. 2015-04-27 Jonathan Wakely <jwakely@redhat.com>
  3478. * doc/xml/manual/extensions.xml: Add cross-reference.
  3479. * doc/html/manual/ext_compile_checks.html: Regenerate.
  3480. 2015-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com>
  3481. * config/os/generic/os_defines.h (_GLIBCXX_GTHREAD_USE_WEAK): Define.
  3482. * configure.host (os_include_dir): Set to "os/generic" for linux-musl*.
  3483. 2015-04-22 Renlin Li <renlin.li@arm.com>
  3484. * testsuite/lib/dg-options.exp (dg-require-thread-fence): New.
  3485. * testsuite/lib/libstdc++.exp (check_v3_target_thread_fence): New.
  3486. * testsuite/29_atomics/atomic_flag/clear/1.cc: Use it.
  3487. * testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Likewise.
  3488. * testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Likewise.
  3489. 2015-04-21 Jonathan Wakely <jwakely@redhat.com>
  3490. * doc/xml/manual/configure.xml: Update descriptions of options
  3491. affecting dual ABI and add cross-references.
  3492. * doc/xml/manual/strings.xml: Clarify that string isn't COW now.
  3493. * doc/xml/manual/using.xml: Document ABI transition.
  3494. * doc/html/*: Regenerate.
  3495. * doc/xml/manual/abi.xml: Use uppercase for C++ Standard Library.
  3496. * doc/xml/manual/using.xml: Document newer -std options. Use better
  3497. examples of nested namespaces.
  3498. 2015-04-20 Jonathan Wakely <jwakely@redhat.com>
  3499. * doc/xml/manual/concurrency_extensions.xml: Update documentation
  3500. on atomics.
  3501. * doc/xml/manual/using.xml: Likewise. Improve markup.
  3502. * doc/html/*: Regenerate.
  3503. 2015-04-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
  3504. * scripts/extract_symvers.pl: Ignore elfdump error output.
  3505. 2015-04-14 Marc Glisse <marc.glisse@inria.fr>
  3506. PR libstdc++/61347
  3507. * include/bits/stl_iterator_base_funcs.h (_List_iterator,
  3508. _List_const_iterator): Declare.
  3509. (__distance): Declare new overloads for _List_iterator and
  3510. _List_const_iterator.
  3511. * include/bits/stl_list.h (__distance): New overloads for
  3512. _List_iterator and _List_const_iterator.
  3513. * testsuite/23_containers/list/61347.cc: New testcase.
  3514. 2015-04-14 Jonathan Wakely <jwakely@redhat.com>
  3515. * doc/xml/manual/evolution.xml: Fix typos.
  3516. * doc/html/manual/api.html: Regenerate.
  3517. 2015-04-14 Hans-Peter Nilsson <hp@axis.com>
  3518. * testsuite/29_atomics/atomic/62259.cc: Assert atomic
  3519. alignment is larger-equal, not equal, to default alignment.
  3520. 2015-04-13 Jonathan Wakely <jwakely@redhat.com>
  3521. PR libstdc++/65754
  3522. * config/abi/pre/gnu.ver: Export base object constructors for
  3523. fstreams.
  3524. * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
  3525. * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
  3526. * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
  3527. * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
  3528. * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
  3529. * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
  3530. * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update
  3531. * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
  3532. * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
  3533. * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
  3534. * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
  3535. * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
  3536. * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
  3537. * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
  3538. * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
  3539. * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
  3540. * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
  3541. * testsuite/27_io/basic_fstream/cons/base.cc: New.
  3542. 2015-04-13 Jonathan Wakely <jwakely@redhat.com>
  3543. * doc/xml/manual/evolution.xml: Document changes since 4.5 release.
  3544. * doc/html/*: Regenerate.
  3545. 2015-04-12 Uros Bizjak <ubizjak@gmail.com>
  3546. * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
  3547. 2015-04-10 Andreas Schwab <schwab@linux-m68k.org>
  3548. * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
  3549. * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
  3550. 2015-04-10 Jonathan Wakely <jwakely@redhat.com>
  3551. * doc/xml/manual/test.xml: Improve documentation on running a subset
  3552. of tests.
  3553. * doc/html/manual/test.html: Regenerate.
  3554. 2015-04-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
  3555. * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update
  3556. for GCC 5.1 release.
  3557. * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
  3558. Likewise.
  3559. 2015-04-10 Jonathan Wakely <jwakely@redhat.com>
  3560. * include/std/shared_mutex (shared_timed_mutex): Add comments to
  3561. explain the logic in the non-pthread_rwlock_t version.
  3562. (_Mutex): Remove redundant type.
  3563. (_M_n_readers): Rename to _S_max_readers.
  3564. (_M_write_entered, _M_readers): New convenience functions.
  3565. (lock, lock_shared, try_lock_shared, unlock_shared): Use convenience
  3566. functions. Use predicates with condition variables. Simplify bitwise
  3567. operations.
  3568. (try_lock_for, try_shared_lock_for): Convert duration to time_point
  3569. and call try_lock_until or try_shared_lock_until respectively.
  3570. (try_lock_until, try_shared_lock_until): Wait on the condition
  3571. variables until the specified time passes.
  3572. (unlock): Add Debug Mode assertion.
  3573. (unlock_shared): Add Debug Mode assertion.
  3574. * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: New.
  3575. * include/std/shared_mutex (shared_timed_mutex): Only use
  3576. pthread_rwlock_t when the POSIX Timeouts option is supported.
  3577. * testsuite/30_threads/shared_lock/cons/5.cc: Remove
  3578. dg-require-gthreads-timed.
  3579. * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
  3580. * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
  3581. * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
  3582. 2015-04-09 H.J. Lu <hongjiu.lu@intel.com>
  3583. * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
  3584. 2015-04-09 Jonathan Wakely <jwakely@redhat.com>
  3585. Richard Henderson <rth@redhat.com>
  3586. PR libstdc++/65147
  3587. * include/bits/atomic_base.h (__atomic_base<_ITp>): Increase
  3588. alignment.
  3589. * include/std/atomic (atomic): For types with a power of two size set
  3590. alignment to at least the size.
  3591. * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
  3592. * testsuite/29_atomics/atomic/65147.cc: New.
  3593. * testsuite/29_atomics/atomic_integral/65147.cc: New.
  3594. 2015-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
  3595. * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
  3596. * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
  3597. * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
  3598. 2015-04-07 Jakub Jelinek <jakub@redhat.com>
  3599. * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
  3600. * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
  3601. * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
  3602. * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
  3603. * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
  3604. * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
  3605. * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
  3606. * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
  3607. 2015-03-30 Jonathan Wakely <jwakely@redhat.com>
  3608. PR libstdc++/65630
  3609. * config/abi/pre/gnu.ver: Export operator+ for new strings.
  3610. * testsuite/21_strings/basic_string/operators/char/65630.cc: New.
  3611. * testsuite/21_strings/basic_string/operators/wchar_t/65630.cc: New.
  3612. 2015-03-28 Tim Shen <timshen@google.com>
  3613. PR libstdc++/65420
  3614. * include/bits/regex_constants.h: Use constexpr variables for flags.
  3615. * testsuite/28_regex/constants/constexpr.cc: New testcase.
  3616. 2015-03-27 Jonathan Wakely <jwakely@redhat.com>
  3617. PR libstdc++/65499
  3618. * include/std/chrono: Add using-directive for literals to std::chrono.
  3619. * testsuite/20_util/duration/literals/65499.cc: New.
  3620. 2015-03-26 Jonathan Wakely <jwakely@redhat.com>
  3621. PR libstdc++/58038
  3622. PR libstdc++/60421
  3623. * include/std/thread (this_thread::sleep_for): Check for negative
  3624. durations.
  3625. (this_thread::sleep_until): Check for times in the past.
  3626. * testsuite/30_threads/this_thread/58038.cc: New.
  3627. * testsuite/30_threads/this_thread/60421.cc: New.
  3628. 2015-03-26 Jonathan Wakely <jwakely@redhat.com>
  3629. PR libstdc++/62259
  3630. PR libstdc++/65147
  3631. * include/std/atomic (atomic<T>): Increase alignment for types with
  3632. the same size as one of the integral types.
  3633. * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
  3634. * testsuite/29_atomics/atomic/62259.cc: New.
  3635. 2015-03-26 Richard Henderson <rth@redhat.com>
  3636. PR libstdc++/65033
  3637. * include/bits/atomic_base.h (__atomic_base<T>::is_lock_free): Build
  3638. a fake pointer indicating type alignment.
  3639. (__atomic_base<T *>::is_lock_free): Likewise.
  3640. * include/std/atomic (atomic<T>::is_lock_free): Likewise.
  3641. 2015-03-25 Alan Lawrence <alan.lawrence@arm.com>
  3642. PR libstdc++/33394
  3643. * testsuite/21_strings/basic_string/pthread33394.cc: Use
  3644. dg-additional-options.
  3645. 2015-03-25 Paolo Carlini <paolo.carlini@oracle.com>
  3646. PR libstdc++/65543
  3647. * include/std/istream (operator>>(basic_istream<>&&, _Tp&): Revert
  3648. thinko in r150387.
  3649. * include/std/ostream (operator<<(basic_ostream<>&&, const _Tp&):
  3650. Likewise.
  3651. * testsuite/27_io/rvalue_streams-2.cc: New.
  3652. 2015-03-24 Jonathan Wakely <jwakely@redhat.com>
  3653. PR libstdc++/33394
  3654. * testsuite/21_strings/basic_string/pthread33394.cc: Add test.
  3655. 2015-03-23 Jonathan Wakely <jwakely@redhat.com>
  3656. PR libstdc++/64967
  3657. * acinclude.m4: Disable dual ABI when gnu-versioned-namespace in use.
  3658. * configure: Regenerate.
  3659. * src/c++11/compatibility-c++0x.cc (error_category), generic_category,
  3660. system_category): Use macros for versioned namespace.
  3661. * src/c++11/futex.cc: Add missing end macro for versioned namespace.
  3662. 2015-03-20 James Greenhalgh <james.greenhalgh@arm.com>
  3663. * testsuite/17_intro/headers/c++1998/all_attributes.cc: Disable
  3664. test for unused for ARM.
  3665. * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise.
  3666. * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
  3667. 2015-03-20 Jonathan Wakely <jwakely@redhat.com>
  3668. * include/bits/c++config (__gnu_cxx::__cxx11): Define new namespace.
  3669. * include/ext/codecvt_specializations.h (encoding_state,
  3670. encoding_char_traits): Remove abi-tag and use inline namespace.
  3671. * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line.
  3672. 2015-03-19 Jason Merrill <jason@redhat.com>
  3673. * config/locale/gnu/messages_members.cc: Revert abi-tag change.
  3674. * src/c++11/cxx11-shim_facets.cc: Revert abi-tag change.
  3675. 2015-03-18 Jonathan Wakely <jwakely@redhat.com>
  3676. PR c++/65046
  3677. * config/locale/gnu/messages_members.cc (Catalog_info, Catalogs,
  3678. get_catalogs): Add abi-tag.
  3679. * include/ext/codecvt_specializations.h (encoding_state,
  3680. encoding_char_traits): Likewise.
  3681. * src/c++11/cxx11-ios_failure.cc (io_error_category): Likewise.
  3682. * src/c++11/cxx11-shim_facets.cc (__any_string::operator basic_string,
  3683. numpunct_shim, collate_shim, time_get_shim, moneypunct_shim,
  3684. money_get_shim, money_put_shim, messages_shim): Likewise.
  3685. * src/c++11/future.cc (future_error_category::message): Likewise.
  3686. * src/c++11/system_error.cc (generic_error_category::message,
  3687. system_error_category::message): Likewise.
  3688. (__sso_string): Disable -Wabi-tag warnings.
  3689. 2015-03-18 Jonathan Wakely <jwakely@redhat.com>
  3690. PR libstdc++/13631
  3691. * config/locale/gnu/messages_members.cc (get_glibc_msg): Fix fallback
  3692. implementation for old glibc. Fix whitespace.
  3693. 2015-03-18 Jonathan Wakely <jwakely@redhat.com>
  3694. Torvald Riegel <triegel@redhat.com>
  3695. * acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Check for pthread_rwlock_t.
  3696. * config.h.in: Regenerate.
  3697. * configure: Regenerate.
  3698. * include/std/shared_mutex: Check _GLIBCXX_USE_PTHREAD_RWLOCK_T.
  3699. (shared_timed_mutex::_M_rwlock): Use PTHREAD_RWLOCK_INITIALIZER.
  3700. (shared_timed_mutex::lock_shared()): Retry on EAGAIN.
  3701. (shared_timed_mutex::try_lock_shared_until()): Retry on EAGAIN and
  3702. EDEADLK.
  3703. 2015-03-17 Jonathan Wakely <jwakely@redhat.com>
  3704. * libsupc++/nested_exception.h: Do not try to derive from final
  3705. classes.
  3706. * testsuite/18_support/nested_exception/throw_with_nested.cc: Test
  3707. final class.
  3708. * testsuite/30_threads/shared_lock/modifiers/1.cc: Remove name of
  3709. unused exception variable.
  3710. * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
  3711. * testsuite/30_threads/shared_lock/modifiers/2.cc: Remove duplicate
  3712. test.
  3713. * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
  3714. 2015-03-13 Jonathan Wakely <jwakely@redhat.com>
  3715. * acinclude.m4: Make --enable-libstdcxx-time=auto work for dragonfly.
  3716. * configure: Regenerate.
  3717. * include/experimental/system_error: Fix include guard.
  3718. 2015-03-12 Renlin Li <renlin.li@arm.com>
  3719. * testsuite/27_io/ios_base/sync_with_stdio/1.cc: Remove xfail for
  3720. wrapped target.
  3721. 2015-03-10 Tim Shen <timshen@google.com>
  3722. PR libstdc++/64441
  3723. * include/bits/regex.h (match_results<>::size,
  3724. match_results<>::position, match_results<>::str,
  3725. match_results<>::operator[], match_results<>::prefix,
  3726. match_results<>::suffix, match_results<>::end,
  3727. match_results<>::_M_resize, match_results<>::_M_unmatched_sub,
  3728. match_results<>::_M_prefix, match_results<>::_M_suffix): Remove
  3729. global __unmatched_sub. Add unmatched submatch as part of
  3730. match_results.
  3731. * include/bits/regex.tcc (__regex_algo_impl<>, regex_replace<>,
  3732. regex_iterator<>::operator++): Adjust to use match_results::_M_prefix.
  3733. * testsuite/28_regex/match_results/out_of_range_submatches.cc:
  3734. New testcases.
  3735. 2015-03-09 Jonathan Wakely <jwakely@redhat.com>
  3736. PR libstdc++/64467
  3737. * testsuite/28_regex/traits/char/isctype.cc: Don't test newline
  3738. for newlib targets. Really fix mixed line-endings this time.
  3739. 2015-03-06 Jonathan Wakely <jwakely@redhat.com>
  3740. * include/std/future (future_error(error_code)): Construct base
  3741. class with error_code's message.
  3742. * src/c++11/future.cc (future_error::what()): Do not call c_str() on
  3743. temporary string.
  3744. 2015-03-05 Jonathan Wakely <jwakely@redhat.com>
  3745. * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
  3746. noconv result.
  3747. * testsuite/22_locale/conversions/string/2.cc: Also test UTF-8.
  3748. * testsuite/22_locale/conversions/string/3.cc: Likewise, and UTF-16.
  3749. 2015-03-04 Jonathan Wakely <jwakely@redhat.com>
  3750. PR libstdc++/64797
  3751. * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
  3752. incomplete multibyte sequences correctly.
  3753. * include/std/codecvt (codecvt_utf8, codecvt_utf16,
  3754. codecvt_utf8_utf16): Limit _Maxcode to maximum Unicode code point.
  3755. * src/c++11/codecvt.cc (invalid_mb_sequence, incomplete_mb_character):
  3756. Define constants.
  3757. (is_high_surrogate, is_low_surrogate, surrogate_pair_to_code_point):
  3758. Define convenience functions.
  3759. (read_utf8_code_point): Return relevant constant to distinguish
  3760. incomplete characters from invalid sequences.
  3761. (read_utf16_code_point): Likewise. Check for invalid sequences.
  3762. (ucs4_in, utf16_in): Use incomplete_mb_character constant.
  3763. (utf16_out): Check for invalid sequences.
  3764. (utf16_span): Fix condition.
  3765. (ucs2_out): Use is_high_surrogate.
  3766. (ucs2_in): Use incomplete_mb_character constant and fix condition.
  3767. * testsuite/22_locale/codecvt/char16_t.cc: Fix whitespace.
  3768. * testsuite/22_locale/conversions/buffer/1.cc: New.
  3769. * testsuite/22_locale/conversions/string/2.cc: Use char16_t and
  3770. char32_t instead of wchar_t.
  3771. * testsuite/22_locale/conversions/string/3.cc: New.
  3772. 2015-03-03 Iain Sandoe <iain@codesourcery.com>
  3773. PR libstdc++/64883
  3774. * testsuite/17_intro/headers/c++1998/all_attributes.cc: Don't check
  3775. visibility for Darwin.
  3776. * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise, and
  3777. also deprecated.
  3778. * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
  3779. 2015-03-02 Jonathan Wakely <jwakely@redhat.com>
  3780. PR libstdc++/65279
  3781. * include/std/scoped_allocator (__inner_type_impl,
  3782. scoped_allocator_adaptor): Add defaulted copy assignment and move
  3783. assignment operators.
  3784. * testsuite/20_util/scoped_allocator/65279.cc: New.
  3785. 2015-03-02 Jonathan Wakely <jwakely@redhat.com>
  3786. PR libstdc++/64367
  3787. * include/std/stdexcept (__sso_string): Don't use non-static member
  3788. in sizeof.
  3789. 2015-02-28 Matthias Klose <doko@ubuntu.com>
  3790. PR libstdc++/65246
  3791. * python/libstdcxx/v6/__init__.py: Use explicit relative imports.
  3792. 2015-02-22 Jonathan Wakely <jwakely@redhat.com>
  3793. * doc/xml/manual/status_cxx2011.xml: Remove duplicated information.
  3794. * doc/html/manual/status.html: Regenerate.
  3795. 2015-02-20 Jonathan Wakely <jwakely@redhat.com>
  3796. PR libstdc++/64695
  3797. * python/libstdcxx/v6/printers.py (StdTuplePrinter): Handle new
  3798. tuple layout.
  3799. * doc/xml/manual/status_cxx2011.xml: Document implementation-defined
  3800. behavior.
  3801. * doc/html/manual/status.html: Regenerate.
  3802. 2015-02-19 Jonathan Wakely <jwakely@redhat.com>
  3803. PR libstdc++/58357
  3804. * include/bits/algorithmfwd.h (rotate): Move to inline namespace _V2.
  3805. * include/bits/stl_algo.h (__rotate, rotate): Likewise.
  3806. 2015-02-19 Hans-Peter Nilsson <hp@axis.com>
  3807. PR testsuite/65093
  3808. * testsuite/26_numerics/random/binomial_distribution/operators/values.cc
  3809. (test01): Add explanatory comment. Keep only the bd1 sub-test and
  3810. split out bd2, bd3, bd4, and bd5 sub-tests into...
  3811. * testsuite/26_numerics/random/binomial_distribution/operators/values2.cc,
  3812. testsuite/26_numerics/random/binomial_distribution/operators/values3.cc,
  3813. testsuite/26_numerics/random/binomial_distribution/operators/values4.cc,
  3814. testsuite/26_numerics/random/binomial_distribution/operators/values5.cc:
  3815. New separate files with the old parts.
  3816. 2015-02-18 Jonathan Wakely <jwakely@redhat.com>
  3817. * src/c++11/codecvt.cc (write_utf16_code_point): Fix code to output
  3818. surrogate pairs.
  3819. (utf16_in): Pass mode argument to write_utf16_code_point.
  3820. (codecvt<char16_t, char, mbstate_t>::do_in): Set mode according to
  3821. native byte order.
  3822. * testsuite/22_locale/codecvt/char16_t.cc: New.
  3823. * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Fix typo.
  3824. * testsuite/22_locale/codecvt/char16_t.cc: Add dg-require-cstdint.
  3825. * testsuite/22_locale/codecvt/char32_t.cc: Likewise.
  3826. 2015-02-17 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
  3827. Jonathan Wakely <jwakely@redhat.com>
  3828. * testsuite/22_locale/codecvt/char32_t.cc: New.
  3829. 2015-02-17 Jonathan Wakely <jwakely@redhat.com>
  3830. PR libstdc++/65085
  3831. * include/bits/basic_string.h (basic_string(basic_string&&)): Ensure
  3832. empty string gets null-terminated.
  3833. * testsuite/21_strings/basic_string/cons/char/65085.cc: New.
  3834. 2015-02-13 Matthew Wahab <matthew.wahab@arm.com>
  3835. * testsuite/28_regex/traits/char/isctype.cc (test01): Fix
  3836. mixed line-endings introduced in last change.
  3837. 2015-02-12 Matthew Wahab <matthew.wahab@arm.com>
  3838. * testsuite/28_regex/traits/char/isctype.cc (test01): Replace test
  3839. for __NEWLIB__ macro with a dejagnu set macro.
  3840. * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
  3841. 2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
  3842. PR libstdc++/64467
  3843. * testsuite/28_regex/traits/char/isctype.cc (test01): Add newlib
  3844. special case for '\n'.
  3845. * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
  3846. 2015-02-01 Jonathan Wakely <jwakely@redhat.com>
  3847. * src/c++11/futex.cc: Do not define for gthr-single.h targets.
  3848. 2015-02-01 Jonathan Wakely <jwakely@redhat.com>
  3849. PR libstdc++/64883
  3850. * include/c_global/cstdio (gets): Use __deprecated__ attribute instead
  3851. of deprecated.
  3852. * include/c_std/cstdio (gets): Likewise.
  3853. * testsuite/17_intro/headers/c++1998/all_attributes.cc: Avoid clashing
  3854. with attributes used in darwin headers.
  3855. 2015-01-29 Jakub Jelinek <jakub@redhat.com>
  3856. * acinclude.m4 (VTV_CYGMIN): Use x$vtv_cygmin = xyes instead of
  3857. $vtv_cygmin = yes. Initialize vtv_cygmin=no unconditionally first.
  3858. * configure: Regenerated.
  3859. 2015-01-29 H.J. Lu <hongjiu.lu@intel.com>
  3860. * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
  3861. after vtv_cygmin is set.
  3862. * configure: Regenerated.
  3863. 2015-01-29 Matthias Klose <doko@ubuntu.com>
  3864. * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
  3865. unconditionally.
  3866. * configure: Regenerate.
  3867. 2015-01-29 Caroline Tice <cmtice@google.com>
  3868. Committing VTV Cywin/Ming patch for Patrick Wollgast
  3869. * configure: Regenerate.
  3870. * libsupc++/Makefile.in: Regenerate.
  3871. * src/Makefile.in: Regenerate.
  3872. 2015-01-29 Jonathan Wakely <jwakely@redhat.com>
  3873. * include/bits/atomic_base.h: Use __always_inline__ instead of
  3874. always_inline.
  3875. * include/bits/atomic_futex.h: Likewise.
  3876. * include/bits/c++config: Use __abi_tag__ instead of abi_tag.
  3877. * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Use
  3878. __packed__ instead of packed.
  3879. * include/std/shared_mutex: Use __unused__ instead of unused.
  3880. * testsuite/17_intro/headers/c++1998/all_attributes.cc: New.
  3881. * testsuite/17_intro/headers/c++200x/all_attributes.cc: New.
  3882. * testsuite/17_intro/headers/c++2014/all_attributes.cc: New.
  3883. 2015-01-28 Caroline Tice <cmtice@google.com>
  3884. Committing VTV Cywin/Ming patch for Patrick Wollgast
  3885. * acinclude.m4: Define VTV_CYGMIN.
  3886. * libsupc++/Makefile.am: Add vtv_sources only to libsupc___la_SOURCES
  3887. and libsupc__convenience_la_SOURCES if VTV_CYGMIN is not set.
  3888. * libsupc++/vtv_stubs.cc: Add none weak declaration of every function
  3889. for Cygwin and MinGW.
  3890. * src/Makefile.am: Add libvtv.la to toolexeclib_LTLIBRARIES, if
  3891. VTV_CYGMIN is set. Define libvtv_la_SOURCES, libvtv_la_LDFLAGS,
  3892. libvtv_la_AM_CXXFLAGS and libvtv_la_LINK if VTV_CYGMIN is set.
  3893. 2015-01-28 Jonathan Wakely <jwakely@redhat.com>
  3894. PR libstdc++/64828
  3895. * libsupc++/Makefile.am: Compile del_opvs.cc as C++14.
  3896. * libsupc++/Makefile.in: Regenerate.
  3897. * src/c++11/Makefile.in: Regenerate.
  3898. 2015-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
  3899. * testsuite/lib/libstdc++.exp (v3_target_compile): Remove
  3900. check for unsupported.
  3901. (v3_target_compile_as_c): Likewise.
  3902. 2015-01-28 Richard Biener <rguenther@suse.de>
  3903. PR libstdc++/64798
  3904. * libsupc++/eh_alloc.cc (struct allocated_entry): Align
  3905. data member.
  3906. (pool::allocate): Adjust allocation size and alignment to
  3907. that change.
  3908. (pool::free): Adjust pointer offsetting.
  3909. 2015-01-27 Jonathan Wakely <jwakely@redhat.com>
  3910. PR libstdc++/64368
  3911. * include/std/shared_mutex (shared_timed_mutex::try_lock_for,
  3912. shared_timed_mutex::try_lock_until): Only define when POSIX thread
  3913. timeouts option is supported.
  3914. (shared_timed_mutex::try_shared_lock_for,
  3915. shared_timed_mutex::try_shared_lock_until): Likewise.
  3916. 2015-01-26 Jonathan Wakely <jwakely@redhat.com>
  3917. PR libstdc++/64368
  3918. * config/locale/gnu/numeric_members.cc (numpunct<char>::~numpunct(),
  3919. numpunct<wchar_t>::~numpunct()): Do not set _M_data->_M_grouping.
  3920. * src/c++11/cxx11-shim_facets.cc (numpunct_shim): Remove _M_grouping
  3921. and use cache's _M_grouping field.
  3922. (__numpunct_fill_cache): Likewise.
  3923. (__moneypunct_fill_cache): Improve comments.
  3924. 2015-01-26 Jonathan Wakely <jwakely@redhat.com>
  3925. * testsuite/23_containers/set/operations/2.cc: Add test for
  3926. non-transparent comparison function.
  3927. 2015-01-25 Oleg Endo <olegendo@gcc.gnu.org>
  3928. PR target/29366
  3929. * config/cpu/sh/atomicity.h (__exchange_and_add, __atomic_add):
  3930. Remove SH4A inline asm and lock based implementations and use the
  3931. defaults from ext/atomicity.h.
  3932. 2015-01-23 Jonathan Wakely <jwakely@redhat.com>
  3933. * config/abi/pre/gnu.ver: Tighten GLIBCXX_3.4 patterns to not match
  3934. new std::string constructors for byname facets.
  3935. 2015-01-22 Richard Biener <rguenther@suse.de>
  3936. PR libstdc++/64535
  3937. * libsupc++/eh_alloc.cc: Include new.
  3938. (bitmask_type): Remove.
  3939. (one_buffer): Likewise.
  3940. (emergency_buffer): Likewise.
  3941. (emergency_used): Likewise.
  3942. (dependents_buffer): Likewise.
  3943. (dependents_used): Likewise.
  3944. (class pool): New custom fixed-size arena, variable size object
  3945. allocator.
  3946. (emergency_pool): New global.
  3947. (__cxxabiv1::__cxa_allocate_exception): Use new emergency_pool.
  3948. (__cxxabiv1::__cxa_free_exception): Likewise.
  3949. (__cxxabiv1::__cxa_allocate_dependent_exception): Likewise.
  3950. (__cxxabiv1::__cxa_free_dependent_exception): Likewise.
  3951. 2015-01-22 Tim Shen <timshen@google.com>
  3952. PR libstdc++/64680
  3953. * include/bits/regex.h (basic_regex<>::basic_regex,
  3954. basic_regex<>::operator=, basic_regex<>::imbue): Conform to the
  3955. standard interface.
  3956. * testsuite/28_regex/basic_regex/assign/char/cstring.cc: New testcase.
  3957. 2015-01-22 Tim Shen <timshen@google.com>
  3958. PR libstdc++/64649
  3959. * include/bits/regex.tcc (regex_traits<>::lookup_collatename,
  3960. regex_traits<>::lookup_classname): Correctly narrow input chars.
  3961. * testsuite/28_regex/traits/wchar_t/user_defined.cc: New testcase.
  3962. 2015-01-21 Jonathan Wakely <jwakely@redhat.com>
  3963. * config/abi/pre/gnu.ver: Use [jmy] for size_t parameters.
  3964. 2015-01-21 Jonathan Wakely <jwakely@redhat.com>
  3965. * testsuite/29_atomics/atomic/64658.cc: Test stored value.
  3966. 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
  3967. * doc/xml/manual/status_cxx2011.xml: Remove stray dbhtml tags.
  3968. * doc/xml/manual/status_cxx2014.xml: Update status.
  3969. * doc/html/manual/status.html: Regenerate.
  3970. 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
  3971. PR libstdc++/64650
  3972. * include/experimental/optional (bad_optional_access): Add default
  3973. constructor.
  3974. * testsuite/experimental/optional/requirements.cc: Test for default
  3975. constructor.
  3976. 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
  3977. * include/bits/stl_map.h (map::find<>, map::count<>,
  3978. map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New
  3979. member function templates to perform heterogeneous lookup.
  3980. * include/bits/stl_multimap.h (multimap::find<>, multimap::count<>,
  3981. multimap::lower_bound<>, multimap::upper_bound<>,
  3982. multimap::equal_range<>): Likewise.
  3983. * include/bits/stl_multiset.h (multiset::find<>, multiset::count<>,
  3984. multiset::lower_bound<>, multiset::upper_bound<>,
  3985. multiset::equal_range<>): Likewise.
  3986. * include/bits/stl_set.h (set::find<>, set::count<>,
  3987. set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
  3988. * include/bits/stl_tree.h (_Rb_tree::_S_lower_bound_tr,
  3989. _Rb_tree::_S_upper_bound_tr, _Rb_tree::_M_find_tr,
  3990. _Rb_tree::_M_count_tr, _Rb_tree::_M_lower_bound_tr,
  3991. _Rb_tree::_M_upper_bound_tr, _Rb_tree::_M_equal_range_tr): Likewise.
  3992. * testsuite/23_containers/map/operations/2.cc: New.
  3993. * testsuite/23_containers/multimap/operations/2.cc: New.
  3994. * testsuite/23_containers/multiset/operations/2.cc: New.
  3995. * testsuite/23_containers/set/operations/2.cc: New.
  3996. 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
  3997. * config/abi/pre/gnu.ver: Export new constructors.
  3998. * include/bits/codecvt.h (codecvt_byname): Add string constructor.
  3999. (codecvt_byname<char16_t>, codecvt_byname<char32_t>): Define explicit
  4000. specializations and declare explicit instantiations.
  4001. * include/bits/locale_classes.h (locale, collate_byname): Add string
  4002. constructors.
  4003. * include/bits/locale_facets.h (ctype_byname, numpunct_byname):
  4004. Likewise.
  4005. * include/bits/locale_facets_nonio.h (time_get_byname,
  4006. time_put_byname, moneypunct_byname, messages_byname): Likewise.
  4007. * src/c++11/codecvt.cc (codecvt_byname<char16_t>,
  4008. codecvt_byname<char32_t>): Define explicit instantiations.
  4009. * src/c++11/locale-inst.cc (time_put_byname, codecvt_byname):
  4010. Instantiate string constructors.
  4011. (ctype_byname): Define string constructor.
  4012. * testsuite/22_locale/codecvt_byname/1.cc: New.
  4013. * testsuite/22_locale/collate_byname/1.cc: New.
  4014. * testsuite/22_locale/ctype_byname/2.cc: New.
  4015. * testsuite/22_locale/messages_byname/1.cc: New.
  4016. * testsuite/22_locale/moneypunct_byname/1.cc: New.
  4017. * testsuite/22_locale/numpunct_byname/1.cc: New.
  4018. 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
  4019. PR libstdc++/64658
  4020. * include/std/atomic (atomic_init): Define.
  4021. * testsuite/29_atomics/atomic/64658.cc: New.
  4022. 2015-01-19 Tim Shen <timshen@google.com>
  4023. PR libstdc++/64649
  4024. * include/bits/regex.tcc (regex_traits<>::lookup_collatename,
  4025. regex_traits<>::lookup_classname): Support forward iterators.
  4026. * testsuite/28_regex/traits/char/lookup_classname.cc: New testcases.
  4027. * testsuite/28_regex/traits/char/lookup_collatename.cc: New testcase.
  4028. 2015-01-19 Tim Shen <timshen@google.com>
  4029. PR libstdc++/64584
  4030. PR libstdc++/64585
  4031. * include/bits/regex.h (basic_regex<>::basic_regex,
  4032. basic_regex<>::assign, basic_regex<>::imbue,
  4033. basic_regex<>::swap, basic_regex<>::mark_count): Drop NFA after
  4034. imbuing basic_regex; Make assign() transactional against exception.
  4035. * include/bits/regex_compiler.h (__compile_nfa<>): Add back
  4036. __compile_nfa SFINAE.
  4037. * include/std/regex: Adjust include order to avoid __compile_nfa
  4038. forward declaration.
  4039. * testsuite/28_regex/basic_regex/assign/char/string.cc: New testcase.
  4040. * testsuite/28_regex/basic_regex/imbue/string.cc: New testcase.
  4041. 2015-01-19 Ville Voutilainen <ville.voutilainen@gmail.com>
  4042. Jonathan Wakely <jwakely@redhat.com>
  4043. * include/bits/range_access.h (begin, end): Use _GLIBCXX14_CONSTEXPR
  4044. on overloads for arrays.
  4045. (cbegin, cend, rbegin, rend, crbegin, crend): New.
  4046. * testsuite/24_iterators/range_access_cpp14.cc: New.
  4047. 2015-01-18 Jonathan Wakely <jwakely@redhat.com>
  4048. PR libstdc++/64646
  4049. * include/bits/stl_algo.h (__is_permutation): Also test for reaching
  4050. end of the second range.
  4051. * testsuite/25_algorithms/is_permutation/64646.cc: New.
  4052. 2015-01-18 Jonathan Wakely <jwakely@redhat.com>
  4053. * doc/xml/manual/status_cxx2011.xml: Remove note about offsetof.
  4054. * doc/html/manual/status.html: Regenerate.
  4055. 2015-01-18 Jonathan Wakely <jwakely@redhat.com>
  4056. * include/bits/atomic_futex.h: Use mutex and condition_variable when
  4057. atomic int is not lock-free. Make member variables private.
  4058. * src/c++11/futex.cc: Likewise.
  4059. * src/c++11/futex.cc: Fix order of includes and preprocessor condition.
  4060. 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
  4061. PR libstdc++/64638
  4062. * include/bits/atomic_futex.h: Use appropriate config macros for
  4063. availability of std::mutex, std::condition and std::chrono.
  4064. 2015-01-17 Ville Voutilainen <ville.voutilainen@gmail.com>
  4065. Jonathan Wakely <jwakely@redhat.com>
  4066. * doc/xml/manual/status_cxx2011.xml: Update C++11 status.
  4067. * doc/html/*: Regenerate.
  4068. 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
  4069. DR 488
  4070. PR libstdc++/58357
  4071. * include/bits/algorithmfwd.h (rotate): Return an iterator.
  4072. * include/bits/stl_algo.h (rotate, __rotate): Likewise.
  4073. * testsuite/25_algorithms/rotate/dr488.cc: New.
  4074. * testsuite/25_algorithms/rotate/check_type.cc: Adjust function type.
  4075. * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
  4076. 2.cc: Likewise.
  4077. * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
  4078. pod.cc: Likewise.
  4079. 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
  4080. PR libstdc++/60940
  4081. * include/bits/atomic_base.h: Remove atomic integral typedefs as
  4082. synonyms for __atomic_base<int> etc.
  4083. * include/std/atomic: Make atomic_int a synonym for atomic<int> and
  4084. likewise for all atomic integral types.
  4085. * testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New.
  4086. * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
  4087. 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
  4088. PR libstdc++/56785
  4089. * include/std/tuple (_Tuple_impl): Remove zero-element specialization
  4090. and define one-element specialization.
  4091. * testsuite/20_util/tuple/56785.cc: New.
  4092. 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
  4093. * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc:
  4094. Remove unused header.
  4095. * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
  4096. Likewise.
  4097. * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
  4098. Likewise.
  4099. 2015-01-16 Jonathan Wakely <jwakely@redhat.com>
  4100. * include/bits/locale_conv.h (wstring_convert, wbuffer_convert): New.
  4101. * include/std/locale: Include new header.
  4102. * include/Makefile.am: Add it.
  4103. * include/Makefile.in: Regenerate.
  4104. * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc: New.
  4105. * testsuite/22_locale/conversions/string/1.cc: New.
  4106. * testsuite/22_locale/conversions/string/2.cc: New.
  4107. * testsuite/22_locale/conversions/string/requirements/typedefs.cc: New.
  4108. * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc:
  4109. New.
  4110. 2015-01-16 Jonathan Wakely <jwakely@redhat.com>
  4111. * config/abi/pre/gnu.ver: Export new symbols.
  4112. * include/Makefile.am: Add codecvt.
  4113. * include/Makefile.in: Regenerate.
  4114. * include/std/codecvt: New header.
  4115. * src/c++11/codecvt.cc (__codecvt_utf8_base, __codecvt_utf16_base,
  4116. __codecvt_utf8_utf16_base): Define specializations.
  4117. * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: New.
  4118. * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: New.
  4119. * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
  4120. New.
  4121. 2015-01-16 Torvald Riegel <triegel@redhat.com>
  4122. * src/c++11/futex.cc: New file.
  4123. * include/bits/atomic_futex.h: New file.
  4124. * include/std/future (__future_base::_State_baseV2): Use
  4125. atomic_futex_unsigned instead of mutex+condvar.
  4126. * src/c++11/futex.cc: Likewise.
  4127. * include/Makefile.am: Add atomic_futex.h.
  4128. * include/Makefile.in: Likewise.
  4129. * src/c++11/Makefile.am: Add futex.cc.
  4130. * src/c++11/Makefile.in: Likewise.
  4131. 2015-01-16 Jonathan Wakely <jwakely@redhat.com>
  4132. * acinclude.m4: Fix typo in comment.
  4133. * configure: Regenerate.
  4134. * include/bits/codecvt.h (codecvt<char16_t, char, mbstate_t>,
  4135. codecvt<char16_t, char, mbstate_t>): Declare specializations.
  4136. * include/bits/locale_facets.h: Reserve space for new specializations.
  4137. * src/c++11/Makefile.am: Add codecvt.cc.
  4138. * src/c++11/Makefile.in: Regenerate.
  4139. * src/c++11/codecvt.cc: New.
  4140. * src/c++98/Makefile.am: Compile locale_init.cc and localename.cc
  4141. with -std=gnu++11.
  4142. * src/c++98/Makefile.in: Regenerate.
  4143. * src/c++98/locale_init.cc: Initialize new codecvt specializations.
  4144. * src/c++98/localename.cc: Likewise.
  4145. * config/abi/pre/gnu.ver: Exports for new codecvt specializations.
  4146. * testsuite/22_locale/codecvt/utf8.cc: New.
  4147. * testsuite/22_locale/locale/cons/unicode.cc: Check that new
  4148. specializations are installed in locale objects.
  4149. 2015-01-16 Torvald Riegel <triegel@redhat.com>
  4150. * include/std/shared_mutex (shared_timed_mutex): Add POSIX-based
  4151. implementation.
  4152. 2015-01-13 Jonathan Wakely <jwakely@redhat.com>
  4153. PR libstdc++/64571
  4154. * config/abi/pre/gnu.ver: Export fstream functions using new string.
  4155. 2015-01-12 Jonathan Wakely <jwakely@redhat.com>
  4156. PR libstdc++/64560
  4157. * src/c++11/cxx11-shim_facets.cc (locale::facet::_M_sso_shim): Check
  4158. for RTTI support.
  4159. PR libstdc++/64553
  4160. * src/c++11/cxx11-shim_facets.cc: Check for wchar_t support.
  4161. 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
  4162. * doc/xml/manual/parallel_mode.xml: Update for libgomp being
  4163. renamed from "GNU OpenMP Runtime Library" to "GNU Offloading and
  4164. Multi Processing Runtime Library".
  4165. 2015-01-09 Jonathan Wakely <jwakely@redhat.com>
  4166. PR libstdc++/64476
  4167. * include/bits/stl_uninitialized.h (uninitialized_copy): Fix
  4168. is_assignable arguments.
  4169. * testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc:
  4170. New.
  4171. 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
  4172. * libsupc++/unwind-cxx.h: Revert previous commit.
  4173. 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
  4174. * configure.host: Add arm*-*-freebsd* port_specific_symbol_files.
  4175. 2015-01-09 Tim Shen <timshen@google.com>
  4176. PR libstdc++/64239
  4177. * include/bits/regex.h (match_results<>::swap): Use std::swap
  4178. instead of swap.
  4179. * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
  4180. Likewise.
  4181. * testsuite/28_regex/match_results/swap.cc: New testcase.
  4182. 2015-01-08 Jonathan Wakely <jwakely@redhat.com>
  4183. PR libstdc++/60132
  4184. * include/std/type_traits (has_trivial_default_constructor,
  4185. has_trivial_copy_constructor, has_trivial_copy_assign): Add deprecated
  4186. attribute.
  4187. * testsuite/20_util/has_trivial_copy_assign/requirements/
  4188. explicit_instantiation.cc: Use -Wno-deprecated.
  4189. * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
  4190. Likewise.
  4191. * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
  4192. * testsuite/20_util/has_trivial_copy_constructor/requirements/
  4193. explicit_instantiation.cc: Likewise.
  4194. * testsuite/20_util/has_trivial_copy_constructor/requirements/
  4195. typedefs.cc: Likewise.
  4196. * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
  4197. * testsuite/20_util/has_trivial_default_constructor/requirements/
  4198. explicit_instantiation.c: Likewise.
  4199. * testsuite/20_util/has_trivial_default_constructor/requirements/
  4200. typedefs.cc: Likewise.
  4201. * testsuite/20_util/has_trivial_default_constructor/value.cc:
  4202. Likewise.
  4203. * testsuite/20_util/pair/requirements/dr801.cc: Replace deprecated
  4204. trait.
  4205. * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
  4206. * testsuite/util/testsuite_common_types.h: Likewise.
  4207. 2015-01-08 Jonathan Wakely <jwakely@redhat.com>
  4208. * include/bits/hashtable_policy.h: Use __bool_constant.
  4209. 2015-01-07 Jonathan Wakely <jwakely@redhat.com>
  4210. * libsupc++/Makefile.am: Compile del_ops.cc as C++14.
  4211. * libsupc++/Makefile.in: Regenerate.
  4212. 2015-01-06 Jonathan Wakely <jwakely@redhat.com>
  4213. * config/abi/pre/gnu.ver: Fix version conflict for std::locale::name().
  4214. 2015-01-05 Jakub Jelinek <jakub@redhat.com>
  4215. Update copyright years.
  4216. 2015-01-04 Jonathan Wakely <jwakely@redhat.com>
  4217. PR libstdc++/64483
  4218. * testsuite/18_support/exception_ptr/64241.cc: Use
  4219. dg-require-atomic-builtins.
  4220. 2015-01-02 Jonathan Wakely <jwakely@redhat.com>
  4221. * testsuite/21_strings/basic_string/modifiers/64422.cc: Fix copyright
  4222. date.
  4223. 2015-01-02 Tim Shen <timshen@google.com>
  4224. PR libstdc++/64475
  4225. * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Copy the
  4226. iterator, since the original one shouldn't be mutated.
  4227. 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
  4228. PR libstdc++/64422
  4229. * src/c++98/misc-inst.cc (string::erase): Add missing overloads.
  4230. (string::insert): Likewise.
  4231. (string::replace): Likewise.
  4232. (wstring::erase): Likewise.
  4233. (wstring::insert): Likewise.
  4234. (wstring::replace): Likewise.
  4235. * testsuite/21_strings/basic_string/modifiers/64422.cc: New testcase.
  4236. 2015-01-02 Jonathan Wakely <jwakely@redhat.com>
  4237. PR libstdc++/64468
  4238. * doc/doxygen/user.cfg.in: Set correct TAB_SIZE.
  4239. 2015-01-02 Jonathan Wakely <jwakely@redhat.com>
  4240. PR libstdc++/64438
  4241. * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
  4242. Revert removal of dg-require-string-conversions.
  4243. * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
  4244. Likewise.
  4245. * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
  4246. Likewise.
  4247. * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
  4248. Likewise.
  4249. * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
  4250. Likewise.
  4251. * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
  4252. Likewise.
  4253. * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
  4254. Likewise.
  4255. * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
  4256. Likewise.
  4257. * testsuite/21_strings/basic_string/numeric_conversions/char/
  4258. stoull.cc: Likewise.
  4259. * testsuite/21_strings/basic_string/numeric_conversions/char/
  4260. to_string.cc: Likewise.
  4261. Copyright (C) 2015 Free Software Foundation, Inc.
  4262. Copying and distribution of this file, with or without modification,
  4263. are permitted in any medium without royalty provided the copyright
  4264. notice and this notice are preserved.