ChangeLog-2001 134 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902
  1. 2001-12-29 Nathan Sidwell <nathan@codesourcery.com>
  2. * call.c (build_user_type_conversion_1): Use my_friendly_assert
  3. rather than if ... abort.
  4. * cvt.c (convert_to_reference): Likewise.
  5. * semantics.c (setup_vtbl_ptr): Likewise.
  6. * pt.c (lookup_template_class): Comment typo.
  7. 2001-12-29 Nathan Sidwell <nathan@codesourcery.com>
  8. PR c++/5125
  9. * pt.c (push_template_decl_real): Make sure DECL has
  10. DECL_LANG_SPECIFIC.
  11. 2001-12-29 Nathan Sidwell <nathan@codesourcery.com>
  12. PR c++/335
  13. * init.c (resolve_offset_ref): Copy cv qualifiers of this pointer
  14. for non-reference fields.
  15. * typeck.c (require_complete_type): Use resolve_offset_ref).
  16. 2001-12-26 Nathan Sidwell <nathan@codesourcery.com>
  17. PR c++/196
  18. * parse.y (bad_parm): Better diagnostic when given a SCOPE_REF.
  19. 2001-12-24 Nathan Sidwell <nathan@codesourcery.com>
  20. PR c++/160
  21. * typeck.c (build_modify_expr): Remove old unreachable code & tidy
  22. up. Don't stabilize_references when initializing a reference.
  23. 2001-12-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
  24. * decl2.c (lang_f_options): Const-ify.
  25. 2001-12-20 Joseph S. Myers <jsm28@cam.ac.uk>
  26. * config-lang.in (diff_excludes): Remove.
  27. 2001-12-19 Nathan Sidwell <nathan@codesourcery.com>
  28. PR c++/90
  29. * typeck.c (build_function_call_real): Use original function
  30. expression for errors.
  31. 2001-12-18 Jason Merrill <jason@redhat.com>
  32. PR c++/3242
  33. * class.c (add_method): Do compare 'this' quals when trying to match a
  34. used function. Don't defer to another used function.
  35. 2001-12-18 Nathan Sidwell <nathan@codesourcery.com>
  36. * pt.c (instantiate_clone): Remove, fold into ...
  37. (instantiate_template): ... here. Simplify by removing mutual
  38. recursion.
  39. * typeck2.c (build_m_component_ref): Don't cv qualify the function
  40. pointed to by a pointer to function.
  41. * class.c (delete_duplicate_fields_1): Typo.
  42. 2001-12-18 Jason Merrill <jason@redhat.com>
  43. C++ ABI change: destroy value arguments in caller.
  44. * semantics.c (genrtl_start_function, genrtl_finish_function): Don't
  45. create an extra binding level for the parameters.
  46. * decl.c (store_parm_decls): Don't do parameter cleanups.
  47. 2001-12-18 Nathan Sidwell <nathan@codesourcery.com>
  48. * call.c (build_new_method_call): Use '%#V'.
  49. * error.c (cv_to_string): Use V parameter to determine padding.
  50. 2001-12-18 Joseph S. Myers <jsm28@cam.ac.uk>
  51. * call.c, decl2.c, init.c: Use "built-in" and "bit-field"
  52. spellings in messages.
  53. 2001-12-17 Zack Weinberg <zack@codesourcery.com>
  54. * cp-tree.h: Delete #defines for cp_error, cp_warning,
  55. cp_pedwarn, and cp_compiler_error.
  56. * call.c, class.c, cp-tree.h, cvt.c, decl.c, decl2.c, error.c,
  57. except.c, friend.c, init.c, lex.c, method.c, parse.y, pt.c,
  58. rtti.c, search.c, semantics.c, spew.c, tree.c, typeck.c,
  59. typeck2.c: Change calls to the above macros to use their
  60. language-independent equivalents: error, warning, pedwarn, and
  61. internal_error respectively.
  62. 2001-12-16 Neil Booth <neil@daikokuya.demon.co.uk>
  63. * decl2.c (finish_file): Remove back_end_hook.
  64. 2001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
  65. * ChangeLog.1, ChangeLog.2, ChangeLog, NEWS, call.c, class.c,
  66. cp-tree.h, decl.c, decl2.c, except.c, operators.def, optimize.c,
  67. pt.c, rtti.c, semantics.c, typeck.c: Fix spelling errors.
  68. 2001-12-15 Joseph S. Myers <jsm28@cam.ac.uk>
  69. * lang-options.h: Use American spelling in messages.
  70. 2001-12-13 Jason Merrill <jason@redhat.com>
  71. * Make-lang.in (parse.h): Separate rule, just depend on parse.c.
  72. Use cleanups to run base and member destructors.
  73. * init.c (push_base_cleanups): New function, split out from...
  74. (build_delete): ...here. Lose !TYPE_HAS_DESTRUCTOR code.
  75. * decl.c (finish_destructor_body): Move vbase destruction code to
  76. push_base_cleanups.
  77. (begin_function_body, finish_function_body): New fns.
  78. (finish_function): Move [cd]tor handling and call_poplevel to
  79. finish_function_body.
  80. (pushdecl): Skip the new level.
  81. * semantics.c (genrtl_try_block): Don't call end_protect_partials.
  82. (setup_vtbl_ptr): Call push_base_cleanups.
  83. * method.c (synthesize_method): Call {begin,end}_function_body.
  84. * pt.c (tsubst_expr): Handle COMPOUND_STMT_BODY_BLOCK.
  85. * cp-tree.h: Declare new fns.
  86. * parse.y (function_body, .begin_function_body): New nonterminals.
  87. (fndef, pending_inline, function_try_block): Use function_body.
  88. (ctor_initializer_opt, function_try_block): No longer has a value.
  89. (base_init): Remove .set_base_init token.
  90. (.set_base_init, compstmt_or_error): Remove.
  91. * Make-lang.in (parse.c): Expect two fewer s/r conflicts.
  92. * optimize.c (maybe_clone_body): Fix parameter updating.
  93. 2001-12-12 Jason Merrill <jason@redhat.com>
  94. * decl.c (store_parm_decls): Remove parms_have_cleanups cruft.
  95. * semantics.c (genrtl_start_function): Don't pass
  96. parms_have_cleanups or push an extra binding level.
  97. (genrtl_finish_function): Lose cleanup_label cruft.
  98. * cp-tree.h (struct cp_language_function): Remove x_ctor_label.
  99. (ctor_label): Remove.
  100. * semantics.c (finish_return_stmt): Lose ctor_label support.
  101. * decl.c (finish_constructor_body, mark_lang_function): Likewise.
  102. * typeck.c (check_return_expr): Check DECL_DESTRUCTOR_P, not
  103. dtor_label.
  104. * call.c (build_new_method_call): Let resolves_to_fixed_type_p
  105. check for [cd]tors.
  106. * class.c (fixed_type_or_null, case INDIRECT_REF): Fix.
  107. * decl.c (finish_function): Check VMS_TARGET, not VMS.
  108. * decl.c (start_cleanup_fn): Remove redundant pushlevel.
  109. (end_cleanup_fn): And poplevel.
  110. * semantics.c (setup_vtbl_ptr): Always build a CTOR_INITIALIZER
  111. if we're in a template.
  112. 2001-12-12 Jakub Jelinek <jakub@redhat.com>
  113. * cp-tree.h (DESTRUCTOR_DECL_PREFIX, DESTRUCTOR_NAME_P,
  114. ANON_PARMNAME_FORMAT, ANON_PARMNAME_P, DESTRUCTOR_NAME_FORMAT,
  115. THIS_NAME_P): Delete.
  116. * spew.c (read_process_identifier): Remove DESTRUCTOR_NAME_P,
  117. THIS_NAME_P and ANON_PARMNAME_P tests from warning about clash
  118. with internal naming scheme.
  119. * error.c (dump_decl): Remove DESTRUCTOR_NAME_P use.
  120. 2001-12-12 Nathan Sidwell <nathan@codesourcery.com>
  121. * decl.c (grokdeclarator): Deprecated implicit typename use.
  122. 2001-12-11 Nathan Sidwell <nathan@codesourcery.com>
  123. PR g++/51
  124. * parse.y (frob_specs): Indicate it is a language linkage which
  125. contained the extern.
  126. * decl.c (grokdeclarator): Allow extern language linkage with
  127. other specifiers.
  128. 2001-12-10 Nathan Sidwell <nathan@codesourcery.com>
  129. PR g++/72
  130. * decl.c (add_binding): Don't reject duplicate typedefs involving
  131. template parameters.
  132. 2001-12-10 Neil Booth <neil@daikokuya.demon.co.uk>
  133. * parse.y, semantics.c: Similarly.
  134. 2001-12-09 Nathan Sidwell <nathan@codesourcery.com>
  135. PR g++/87
  136. * cp-tree.h (DECL_COPY_CONSTRUCTOR_P): Use copy_fn_p.
  137. (copy_args_p): Rename to ...
  138. (copy_fn_p): ... here.
  139. (grok_special_member_properties): New function.
  140. (grok_op_properties): Lose VIRTUALP parameter.
  141. (copy_assignment_arg_p): Remove.
  142. * call.c (build_over_call): Use copy_fn_p.
  143. * decl.c (grokfndecl): Reformat. Adjust call to
  144. grok_op_properties.
  145. (copy_args_p): Rename to ...
  146. (copy_fn_p): ... here. Reject template functions. Check for pass
  147. by value.
  148. (grok_special_member_properties): Remember special functions.
  149. (grok_ctor_properties): Don't remember them here, just check.
  150. (grok_op_properties): Likewise.
  151. (start_method): Call grok_special_member_properties.
  152. * decl2.c (grokfield): Likewise.
  153. (copy_assignment_arg_p): Remove.
  154. (grok_function_init): Don't remember abstract assignment here.
  155. * pt.c (instantiate_class_template): Call
  156. grok_special_member_properties.
  157. (tsubst_decl): Adjust grok_op_properties call.
  158. 2001-12-08 Aldy Hernandez <aldyh@redhat.com>
  159. * lex.c (rid_to_yy): Add RID_CHOOSE_EXPR and
  160. RID_TYPES_COMPATIBLE_P.
  161. 2001-12-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
  162. * semantics.c (simplify_aggr_init_exprs_r): Add DIRECT_BIND flag in
  163. call to build_aggr_init.
  164. * cp-tree.h (DIRECT_BIND): Document new use of DIRECT_BIND.
  165. 2001-12-08 Neil Booth <neil@daikokuya.demon.co.uk>
  166. * parse.y: Replace uses of the string non-terminal with STRING.
  167. Don't perform string concatentaion here.
  168. (string): Remove non-terminal.
  169. * semantics.c (finish_asm_stmt): Don't concatenate strings here.
  170. 2001-12-05 Jason Merrill <jason@redhat.com>
  171. * cp-lang.c (LANG_HOOKS_TREE_INLINING_START_INLINING): Define.
  172. (LANG_HOOKS_TREE_INLINING_END_INLINING): Define.
  173. * tree.c (cp_start_inlining, cp_end_inlining): New fns.
  174. * pt.c (push_tinst_level): No longer static.
  175. * cp-tree.h: Declare them.
  176. * init.c (resolve_offset_ref): Don't check access for the base
  177. conversion to access a FIELD_DECL.
  178. * cp-tree.h (TYPE_REFFN_P): New macro.
  179. * decl.c (bad_specifiers): Check it, too.
  180. * rtti.c (create_pseudo_type_info): Set CLASSTYPE_INTERFACE_ONLY
  181. on the __*_type_info type if we haven't seen a definition.
  182. 2001-12-05 Neil Booth <neil@daikokuya.demon.co.uk>
  183. * decl.c: Include c-common.h.
  184. (shadow_warning): Move to c-common.c.
  185. 2001-12-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
  186. * decl.c (duplicate_decls): Don't copy DECL_NO_CHECK_MEMORY_USAGE.
  187. 2001-12-04 Nathan Sidwell <nathan@codesourcery.com>
  188. * pt.c (end_template_parm_list): Clear TREE_CHAIN of each parm.
  189. 2001-12-04 Nathan Sidwell <nathan@codesourcery.com>
  190. PR g++/164
  191. * init.c (sort_base_init): Allow binfos to be directly specified.
  192. * method.c (do_build_copy_constructor): Explicitly convert to the
  193. base instance.
  194. (do_build_assign_ref): Likewise.
  195. 2001-12-03 Hans-Peter Nilsson <hp@bitrange.com>
  196. * decl.c (xref_basetypes): Don't use C99 construct in tag_code
  197. declaration and initialization.
  198. 2001-12-03 Neil Booth <neil@daikokuya.demon.co.uk>
  199. * typeck2.c: Remove leading capital from diagnostic messages, as
  200. per GNU coding standards.
  201. 2001-12-03 Mumit Khan <khan@nanotech.wisc.edu>
  202. PR c++/3394
  203. * decl.c (xref_basetypes): Handle attributes between
  204. 'class' and name.
  205. 2001-12-03 Nathan Sidwell <nathan@codesourcery.com>
  206. PR g++/3381
  207. * parse.y (named_complex_class_head_sans_basetype): Add new
  208. reduction.
  209. * Make-lang.in (parse.c): Adjust expected conflict count.
  210. 2001-12-03 Jason Merrill <jason@redhat.com>
  211. * class.c (finish_vtbls): Fill in BINFO_VPTR_FIELD in the
  212. immediate binfos for our virtual bases.
  213. 2001-12-02 Neil Booth <neil@daikokuya.demon.co.uk>
  214. * call.c (build_java_interface_fn_ref): Similarly.
  215. * except.c (is_admissible_throw_operand): Similarly.
  216. * init.c (build_java_class_ref): Similarly.
  217. * xref.c (open_xref_file): Similarly.
  218. 2001-12-01 Neil Booth <neil@daikokuya.demon.co.uk>
  219. * class.c (finish_struct): Remove trailing periods from messages.
  220. * decl.c (check_tag_decl): Similarly.
  221. * lex.c (cxx_set_yydebug): Similarly.
  222. * typeck2.c (friendly_abort): Similarly.
  223. 2001-11-29 Mark Mitchell <mark@codesourcery.com>
  224. PR c++/3048
  225. * cp-tree.h (ovl_member): Remove.
  226. * decl2.c (merge_functions): Handle extern "C" functions
  227. specially.
  228. * tree.c (ovl_member): Remove.
  229. 2001-11-29 Mark Mitchell <mark@codesourcery.com>
  230. PR c++/4842
  231. * class.c (get_basefndecls): Take an IDENTIFIER_NODE, not a
  232. FUNCTION_DECL, as input.
  233. (mark_overriders): Remove.
  234. (warn_hidden): Rework for the new ABI.
  235. 2001-11-29 Mark Mitchell <mark@codesourcery.com>
  236. PR c++/3471
  237. * call.c (convert_like_real): Do not build additional temporaries
  238. for rvalues of class type.
  239. 2001-11-28 Nathan Sidwell <nathan@codesourcery.com>
  240. * cp-tree.h (UNIQUELY_DERIVED_FROM_P): Use lookup base.
  241. (ACCESSIBLY_UNIQUELY_DERIVED_FROM_P): Likewise.
  242. (PUBLICLY_UNIQUELY_DERIVED_FROM_P: Likewise.
  243. (DERIVED_FROM_P): Likewise.
  244. (enum base_access): Renumber, add ba_quiet bit mask.
  245. (get_binfo): Remove.
  246. (get_base_distance): Remove.
  247. (binfo_value): Remove.
  248. (ACCESSIBLY_DERIVED_FROM_P): Remove.
  249. * call.c (standard_conversion): Use lookup_base.
  250. * class.c (strictly_overrides): Likewise.
  251. (layout_virtual_bases): Likewise.
  252. (warn_about_ambiguous_direct_bases): Likewise.
  253. (is_base_of_enclosing_class): Likewise.
  254. (add_vcall_offset_vtbl_entries_1): Likewise.
  255. * cvt.c (build_up_reference): Adjust comment.
  256. * init.c (build_member_call): Reformat.
  257. * search.c (get_binfo): Remove.
  258. (get_base_distance_recursive): Remove.
  259. (get_base_distance): Remove.
  260. (lookup_base_r): Tweak.
  261. (lookup_base): Add ba_quiet control. Complete the types here.
  262. (covariant_return_p): Use lookup_base.
  263. * tree.c (binfo_value): Remove.
  264. (maybe_dummy_object): Use lookup_base.
  265. * typeck.c (build_static_cast): Use lookup_base.
  266. (get_delta_difference): Likewise.
  267. * typeck2.c (binfo_or_else): Use lookup_base.
  268. (build_scoped_ref): Add back error_mark_check.
  269. (build_m_component_ref): Use lookup_base.
  270. 2001-11-29 Joseph S. Myers <jsm28@cam.ac.uk>
  271. * Make-lang.in (c++.generated-manpages): New dummy target.
  272. 2001-11-27 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
  273. * Make-lang.in (cp-lang.o): Depends on c-common.h.
  274. * cp-lang.c (c-common.h): Include.
  275. (LANG_HOOKS_EXPAND_CONSTANT, LANG_HOOKS_SAFE_FROM_P): New hooks.
  276. * decl.c (cxx_init_decl_processing): Don't set lang_safe_from_p.
  277. * expr.c (init_cplus_expand): Don't set lang_expand_constant.
  278. 2001-11-26 Neil Booth <neil@daikokuya.demon.co.uk>
  279. * decl2.c (c_language): Move to c-common.c.
  280. * lex.c (cxx_post_options, cxx_init_options): Use c-common.c
  281. functions.
  282. (cxx_init): Update.
  283. 2001-11-26 Jason Merrill <jason@redhat.com>
  284. * call.c (joust): Remove COND_EXPR hack.
  285. 2001-11-25 Aldy Hernandez <aldyh@redhat.com>
  286. * search.c (lookup_base_r): Declare bk in variable declaration
  287. space.
  288. 2001-11-25 Nathan Sidwell <nathan@codesourcery.com>
  289. PR g++/3145
  290. * class.c (build_vbase_pointer): Remove.
  291. (build_vbase_path): Remove.
  292. (build_base_path): New function.
  293. * cp-tree.h (base_access, base_kind): New enumerations.
  294. (build_base_path): Declare.
  295. (convert_pointer_to_real): Remove.
  296. (convert_pointer_to): Remove.
  297. (lookup_base): Declare.
  298. (convert_pointer_to_vbase): Remove.
  299. * call.c (build_scoped_method_call): Use lookup_base &
  300. build_base_path instead of convert_pointer_to_real,
  301. get_base_distance & get_binfo.
  302. (build_over_call): Likewise.
  303. * cvt.c (cp_convert_to_pointer): Likewise.
  304. (convert_to_pointer_force): Likewise.
  305. (build_up_reference): Likewise.
  306. (convert_pointer_to_real): Remove.
  307. (convert_pointer_to): Remove.
  308. * init.c (dfs_initialize_vtbl_ptrs): Use build_base_path
  309. instead of convert_pointer_to_vbase & build_vbase_path.
  310. (emit_base_init): Use build_base_path instead of
  311. convert_pointer_to_real.
  312. (expand_virtual_init): Lose unrequired conversions.
  313. (resolve_offset_ref): Use lookup_base and build_base_path
  314. instead of convert_pointer_to.
  315. * rtti.c (build_dynamic_cast_1): Use lookup_base &
  316. build_base_path instead of get_base_distance & build_vbase_path.
  317. * search.c (get_vbase_1): Remove.
  318. (get_vbase): Remove.
  319. (convert_pointer_to_vbase): Remove.
  320. (lookup_base_r): New function.
  321. (lookup_base): New function.
  322. * typeck.c (require_complete_type): Use lookup_base &
  323. build_base_path instead of convert_pointer_to.
  324. (build_component_ref): Likewise.
  325. (build_x_function_call): Likewise.
  326. (get_member_function_from_ptrfunc): Likewise.
  327. (build_component_addr): Likewise.
  328. * typeck2.c (build_scoped_ref): Likewise.
  329. 2001-11-22 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
  330. * cp-tree.h (CP_TYPE_QUALS): Removed.
  331. * decl.c (cxx_init_decl_processing): Don't set lang_dump_tree.
  332. * cp-lang.c: Set LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN and
  333. LANG_HOOKS_TREE_DUMP_TYPE_QUALS_FN.
  334. * dump.c (cp_dump_tree): Use void* dump_info argument to match
  335. lang-hooks prototype.
  336. * call.c, cp-tree.h, cvt.c, decl.c, init.c, mangle.c, method.c, pt.c,
  337. rtti.c, semantics.c, tree.c, typeck.c, typeck2.c: All references to
  338. CP_TYPE_QUALS changed to cp_type_quals.
  339. * Make-lang.in: References to c-dump.h changed to tree-dump.h.
  340. (CXX_C_OBJS): Remove c-dump.o.
  341. 2001-11-21 Mark Mitchell <mark@codesourcery.com>
  342. PR c++/3637
  343. * pt.c (lookup_template_class): Ensure that all specializations
  344. are registered on the list corresponding to the most general
  345. template.
  346. 2001-11-20 Mark Mitchell <mark@codesourcery.com>
  347. * call.c (non_reference): Add documentation.
  348. (convert_class_to_reference): Do not strip reference types
  349. from conversion operators.
  350. (maybe_handle_ref_bind): Simplify.
  351. (compare_ics): Correct handling of references.
  352. 2001-11-19 John Wilkinson <johnw@research.att.com>
  353. * dump.c (dump_op): New function.
  354. (cp_dump_tree): Dump CLASSTYPE_TEMPLATE_SPECIALIZATION. Use
  355. dump_op. Dump DECL_MUTABLE, access and staticness for VAR_DECLs.
  356. DECL_PURE_VIRTUAL_P, DECL_VIRTUAL_P,
  357. 2001-11-19 Mark Mitchell <mark@codesourcery.com>
  358. PR4629
  359. * semantics.c (finish_sizeof): Make sure that expression created
  360. while processing a template do not have a type.
  361. (finish_alignof): Likewise.
  362. * typeck.c (c_sizeof): Likewise.
  363. (expr_sizeof): Likewise.
  364. 2001-11-18 Neil Booth <neil@daikokuya.demon.co.uk>
  365. * lex.c (cxx_finish): Call c_common_finish.
  366. (finish_parse): Remove.
  367. 2001-11-17 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
  368. * decl.c (create_array_type_for_decl): Check if NAME is NULL_TREE
  369. when displaying error message about missing array bounds.
  370. 2001-11-17 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
  371. * mangle.c (write_expression): Handle CAST_EXPR, STATIC_CAST_EXPR,
  372. CONST_CAST_EXPR.
  373. * operators.def: Add CAST_EXPR, STATIC_CAST_EXPR, CONST_CAST_EXPR.
  374. 2001-11-16 Neil Booth <neil@daikokuya.demon.co.uk>
  375. * cp-tree.h (print_class_statistics): Restore.
  376. 2001-11-15 Jason Merrill <jason@redhat.com>
  377. * method.c (use_thunk): Don't emit debugging information for thunks.
  378. * parse.y: Add ... IDENTIFIER SCOPE and ... PTYPENAME SCOPE expansions.
  379. * decl.c (make_typename_type): Handle getting a class template.
  380. * search.c (lookup_field_r): A class template is good enough for
  381. want_type.
  382. * call.c (convert_like_real): Only use cp_convert for the bad part.
  383. (standard_conversion): Also allow bad int->enum.
  384. * typeck.c (ptr_reasonably_similar): Also allow functions to
  385. interconvert. Pointers to same-size integers are reasonably
  386. similar.
  387. * cvt.c (convert_to_void): If we build a new COND_EXPR, always
  388. give it void type.
  389. 2001-11-15 Nathan Sidwell <nathan@codesourcery.com>
  390. PR g++/3154
  391. * init.c (sort_base_init): Remove unreachable code.
  392. (expand_member_init): Adjust comment to reflect reality. Simplify
  393. and remove unreachable code.
  394. 2001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
  395. * cp-tree.h (init_reswords, cxx_init_decl_processing): New.
  396. (cxx_init): Update prototype.
  397. * decl.c (init_decl_processing): Rename. Move null node init
  398. to its creation time.
  399. * lex.c (cxx_init_options): Update.
  400. (cxx_init): Combine with old init_parse; also call
  401. cxx_init_decl_processing.
  402. 2001-11-14 Richard Sandiford <rsandifo@redhat.com>
  403. * decl.c (check_initializer): Try to complete the type of an
  404. array element before checking whether it's complete. Don't
  405. complain about arrays with complete element types but an
  406. unknown size.
  407. (cp_finish_decl): Build the hierarchical constructor before
  408. calling maybe_deduce_size_from_array_init.
  409. 2001-11-14 Joseph S. Myers <jsm28@cam.ac.uk>
  410. * Make-lang.in: Change all uses of $(manext) to $(man1ext).
  411. 2001-11-13 Nathan Sidwell <nathan@codesourcery.com>
  412. PR g++/4206
  413. * parse.y (already_scoped_stmt): Remove.
  414. (simple_stmt, WHILE & FOR): Use implicitly_scoped_stmt.
  415. 2001-11-12 H.J. Lu <hjl@gnu.org>
  416. * cvt.c (ocp_convert): Don't warn the address of a weak
  417. function is always `true'.
  418. 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
  419. * cp-lang.c (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
  420. LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
  421. LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): Override.
  422. * cp-tree.h (print_class_statistics): Remove.
  423. (cxx_print_statistics, cxx_print_xnode, cxx_print_decl, cxx_print_type,
  424. cxx_print_identifier, cxx_set_yydebug): New.
  425. * lex.c (set_yydebug): Rename c_set_yydebug.
  426. * ptree.c (print_lang_decl, print_lang_type, print_lang_identifier,
  427. lang_print_xnode): Rename.
  428. * tree.c (print_lang_statistics): Rename.
  429. 2001-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
  430. * class.c (dump_array): Fix format specifier warning.
  431. 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
  432. * cp-lang.c (LANG_HOOKS_NAME): Override.
  433. (struct lang_hooks): Constify.
  434. * lex.c (cxx_init_options): Update.
  435. (lang_identify): Remove.
  436. * parse.y (language_string): Remove.
  437. 2001-11-08 Andreas Franck <afranck@gmx.de>
  438. * Make-lang.in (CXX_INSTALL_NAME, GXX_CROSS_NAME,
  439. DEMANGLER_CROSS_NAME): Handle program_transform_name the way
  440. suggested by autoconf.
  441. (GXX_TARGET_INSTALL_NAME, CXX_TARGET_INSTALL_NAME): Define.
  442. (c++.install-common): Use the transformed target alias names.
  443. 2001-11-06 Neil Booth <neil@cat.daikokuya.demon.co.uk>
  444. * Make-lang.in: Update.
  445. * cp-lang.c: Include langhooks-def.h.
  446. 2001-11-04 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
  447. * pt.c (tsubst_copy): Call tsubst for TYPEOF_EXPR.
  448. 2001-11-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
  449. * lex.c (copy_lang_type): Add static prototype.
  450. 2001-11-02 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
  451. * pt.c (unify): Handle SCOPE_REF.
  452. 2001-11-01 Jakub Jelinek <jakub@redhat.com>
  453. * tree.c (cp_copy_res_decl_for_inlining): Adjust
  454. DECL_ABSTRACT_ORIGIN for the return variable.
  455. 2001-10-31 Zack Weinberg <zack@codesourcery.com>
  456. * Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
  457. 2001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
  458. * ChangeLog.1, ChangeLog.2, ChangeLog, class.c, decl2.c, search.c,
  459. semantics.c, spew.c: Fix spelling errors.
  460. 2001-10-27 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
  461. * decl2.c (validate_nonmember_using_decl): Handle NAMESPACE_DECL.
  462. 2001-10-25 Zack Weinberg <zack@codesourcery.com>
  463. * cp-lang.c: Redefine LANG_HOOKS_CLEAR_BINDING_STACK to
  464. pop_everything.
  465. 2001-10-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
  466. * cp-lang.c (cxx_get_alias_set): New function.
  467. Point LANG_HOOKS_GET_ALIAS_SET to it.
  468. 2001-10-23 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
  469. * cp-tree.def (UNBOUND_CLASS_TEMPLATE): New tree node.
  470. * cp-tree.h (make_unbound_class_template): Prototype new function.
  471. * decl.c (make_unbound_class_template): New function.
  472. * decl2.c (arg_assoc_template_arg): Handle UNBOUND_CLASS_TEMPLATE.
  473. * error.c (dump_type): Likewise.
  474. * mangle.c (write_type): Likewise.
  475. * parse.y (template_parm): Likewise.
  476. (template_argument): Use make_unbound_class_template.
  477. * pt.c (convert_template_argument): Handle UNBOUND_CLASS_TEMPLATE.
  478. (tsubst): Likewise.
  479. (tsubst_copy): Likewise.
  480. (unify): Likewise.
  481. * tree.c (walk_tree): Likewise.
  482. * typeck.c (comptypes): Likewise.
  483. 2001-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
  484. * xref.c (GNU_xref_member): Use safe-ctype macros and/or fold
  485. extra calls into fewer ones.
  486. 2001-10-18 Alexandre Oliva <aoliva@redhat.com>
  487. * decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
  488. Warn when merging inline with attribute noinline.
  489. (start_decl, start_function): Warn if inline and attribute
  490. noinline appear in the same declaration.
  491. 2001-10-16 H.J. Lu <hjl@gnu.org>
  492. * cp-tree.h (BOUND_TEMPLATE_TEMPLATE_PARM_TYPE_CHECK): Defined
  493. for tree checking disabled.
  494. 2001-10-16 Hans-Peter Nilsson <hp@axis.com>
  495. * cp-tree.h (VFIELD_NAME_FORMAT) [NO_DOLLAR_IN_LABEL &&
  496. NO_DOT_IN_LABEL]: Adjust to match VFIELD_NAME.
  497. 2001-10-15 Richard Sandiford <rsandifo@redhat.com>
  498. * pt.c (UNIFY_ALLOW_MAX_CORRECTION): Define.
  499. (unify): Only handle MINUS_EXPR specially if the above flag is set
  500. and the subtracted constant is 1. Clear the flag on recursive calls.
  501. Set it when unifying the maximum value in an INTEGER_TYPE's range.
  502. 2001-10-15 Richard Sandiford <rsandifo@redhat.com>
  503. * decl.c (bad_specifiers): Don't allow exception specifications
  504. on any typedefs.
  505. 2001-10-14 Neil Booth <neil@daikokuya.demon.co.uk>
  506. * cp/lex.c (init_cp_pragma): Similarly.
  507. 2001-10-13 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
  508. * pt.c (lookup_template_class): Build complete template arguments
  509. for BOUND_TEMPLATE_TEMPLATE_PARM.
  510. 2001-10-12 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
  511. * cp-tree.h (TYPE_BINFO): Update comment.
  512. (BOUND_TEMPLATE_TEMPLATE_PARM_TYPE_CHECK): New macro.
  513. (TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO): Use template_info.
  514. (TYPENAME_TYPE_FULLNAME): Use TYPE_FIELDS.
  515. (copy_type): Prototype new function.
  516. * lex.c (copy_lang_decl): Gather tree node statistics.
  517. (copy_lang_type): New function.
  518. (copy_type): Likewise.
  519. (cp_make_lang_type): Create lang_type for
  520. BOUND_TEMPLATE_TEMPLATE_PARM. Set TYPE_BINFO for TYPENAME_TYPE
  521. and BOUND_TEMPLATE_TEMPLATE_PARM.
  522. * pt.c (tsubst): Use copy_type instead of copy_node.
  523. * search.c (lookup_field_1): Ignore TYPENAME_TYPE.
  524. 2001-10-12 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
  525. * pt.c (determine_specialization): Ignore functions without
  526. DECL_TEMPLATE_INFO.
  527. 2001-10-12 Nathan Sidwell <nathan@codesourcery.com>
  528. PR g++/4476
  529. * typeck2.c (abstract_virtuals_error): Ignore incomplete classes.
  530. 2001-10-11 Jason Merrill <jason_merrill@redhat.com>
  531. * typeck2.c (store_init_value): Don't re-digest a bracketed
  532. initializer.
  533. * class.c (finish_struct_anon): Use TYPE_ANONYMOUS_P instead of
  534. ANON_AGGR_TYPE_P.
  535. 2001-10-11 Richard Henderson <rth@redhat.com>
  536. * class.c (build_vtable_entry_ref): Create a VTABLE_REF instead
  537. of an asm statement.
  538. (build_vtbl_ref_1): Split out from build_vtbl_ref.
  539. (build_vfn_ref): Use it to handle vtable descriptors before
  540. calling build_vtable_entry_ref.
  541. * decl2.c (output_vtable_inherit): Use assemble_vtable_inherit.
  542. 2001-10-10 Richard Henderson <rth@redhat.com>
  543. * parse.y (asm_operand): Allow named operands.
  544. * semantics.c (finish_asm_stmt): Tweek for changed location
  545. of the operand constraint.
  546. 2001-10-09 Jason Merrill <jason_merrill@redhat.com>
  547. * call.c (standard_conversion): Add bad conversion between
  548. integers and pointers.
  549. (convert_like_real): Don't use convert_for_initialization for bad
  550. conversions; complain here and use cp_convert.
  551. (build_over_call): Don't handle bad conversions specially.
  552. (perform_implicit_conversion): Allow bad conversions.
  553. (can_convert_arg_bad): New fn.
  554. * cp-tree.h: Declare it.
  555. * typeck.c (convert_for_assignment): Use it.
  556. (ptr_reasonably_similar): Any target type is similar to void.
  557. 2001-10-08 Alexandre Oliva <aoliva@redhat.com>
  558. * Make-lang.in (CXX_OBJS): Added cp-lang.o.
  559. (cp/cp-lang.o): New rule.
  560. * cp-tree.h: Declare hooks.
  561. * tree.c: Make hooks non-static.
  562. (init_tree): Don't initialize hooks here.
  563. * lex.c: Likewise. Move definition of lang_hooks to...
  564. * cp-lang.c: ... new file.
  565. 2001-10-08 Richard Henderson <rth@redhat.com>
  566. * cp-tree.h (struct lang_decl_flags): Remove declared_inline.
  567. (DECL_DECLARED_INLINE_P): Use the bit in struct c_lang_decl.
  568. 2001-10-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
  569. * class.c (build_vtable_entry_ref): Const-ify.
  570. * decl.c (predefined_identifier,
  571. initialize_predefined_identifiers): Likewise.
  572. * init.c (build_new_1): Likewise.
  573. * lex.c (cplus_tree_code_type, cplus_tree_code_length, resword):
  574. Likewise.
  575. 2001-10-05 Alexandre Oliva <aoliva@redhat.com>
  576. * optimize.c (struct inline_data): Moved to ../tree-inline.c.
  577. (INSNS_PER_STMT): Likewise.
  578. (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
  579. (copy_body, initialize_inlined_parameters): Likewise.
  580. (declare_return_variable, inlinable_function_p): Likewise.
  581. (expand_call_inline, expand_calls_inline): Likewise.
  582. (optimize_inline_calls, clone_body): Likewise.
  583. * tree.c (walk_tree): Moved to ../tree-inline.c.
  584. (walk_tree_without_duplicates): Likewise.
  585. (copy_tree_r, remap_save_expr): Likewise.
  586. 2001-10-04 Alexandre Oliva <aoliva@redhat.com>
  587. * Make-lang.in (cp/decl.o, cp/tree.o): Depend on tree-inline.h.
  588. (cp/pt.o, cp/semantics.o, cp/optimize.o): Likewise.
  589. * cp-tree.h (lang_decl): Moved inlined_fns to tree_decl.
  590. (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved to ../tree.h.
  591. (flag_inline_trees): Moved declaration to ../tree-inline.h.
  592. (walk_tree): Moved declaration to ../tree-inline.h.
  593. (walk_tree_without_duplicates, copy_tree_r): Likewise.
  594. (remap_save_expr): Likewise.
  595. * decl.c: Include tree-inline.h.
  596. (lang_mark_tree): Don't mark inlined_fns.
  597. * decl2.c (flag_inline_trees): Moved defn to ../tree-inline.c.
  598. * optimize.c: Include tree-inline.h.
  599. (optimize_inline_calls): Move declaration to ../tree.h, as
  600. non-static.
  601. (remap_decl): Use language-independent constructs and hooks.
  602. (remap_block, copy_body_r, declare_return_variable): Likewise.
  603. (inlinable_function_p): Likewise. Don't test for
  604. DECL_LANG_SPECIFIC before DECL_INLINED_FNS as inlined_fns is
  605. no longer language-specific.
  606. (optimize_inline_calls): Likewise. Make it non-static. Moved
  607. call of dump_function to...
  608. (optimize_function): Here...
  609. (clone_body): New function, extracted from...
  610. (maybe_clone_body): ... here. Build decl_map locally and pass
  611. it on to clone_body.
  612. * pt.c, semantics.c: Include tree-inline.h.
  613. * tree.c: Likewise.
  614. (cp_walk_subtrees): New language-specific hook for tree inlining.
  615. (cp_cannot_inline_tree_fn, cp_add_pending_fn_decls,
  616. cp_is_overload_p, cp_auto_var_in_fn_p,
  617. cp_copy_res_decl_for_inlining): Likewise.
  618. (walk_tree): Move language-specific constructs into...
  619. (cp_walk_subtrees): this new function.
  620. (copy_tree_r): Use language-independent constructs and hooks.
  621. (init_tree): Initialize tree inlining hooks.
  622. (remap_save_expr): Adjust prototype so that the declaration
  623. does not require the definition of splay_tree.
  624. 2001-10-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
  625. * rtti.c (get_tinfo_decl): Call typeinfo_in_lib_p with the type used
  626. to build the declaration instead of the declaration itself.
  627. 2001-10-02 Jason Merrill <jason_merrill@redhat.com>
  628. * decl2.c (cxx_decode_option): Add 'else'.
  629. * spew.c (end_input): No longer static.
  630. * cp-tree.h: Declare it.
  631. * parse.y (datadef): Add "error END_OF_SAVED_INPUT" expansion.
  632. 2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
  633. * call.c (build_over_call), typeck.c (build_function_call_real):
  634. Pass type attributes to check_function_format rather than name or
  635. assembler name. Don't require there to be a name or assembler
  636. name to check formats.
  637. 2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
  638. * decl.c (init_decl_processing): Don't call
  639. init_function_format_info. Initialize lang_attribute_table
  640. earlier.
  641. (builtin_function): Call decl_attributes.
  642. (insert_default_attributes): New.
  643. 2001-10-01 Jason Merrill <jason_merrill@redhat.com>
  644. * decl.c (grokdeclarator): Copy array typedef handling from C
  645. frontend.
  646. * decl.c (grokdeclarator): Copy too-large array handling from C
  647. frontend.
  648. 2001-09-29 Alexandre Oliva <aoliva@redhat.com>
  649. * config-lang.in (target_libs): Added target-gperf, so that we
  650. don't try to build it if C++ is disabled.
  651. 2001-09-23 Zack Weinberg <zack@codesourcery.com>
  652. * Make-lang.in (CXX_OBJS): Take out cp/errfn.o.
  653. (cp/errfn.o): Delete rule.
  654. (cp/error.o): Depend on flags.h.
  655. * errfn.c: Delete file.
  656. * cp-tree.h: Declare warn_deprecated. Remove definitions of
  657. TFF_NAMESPACE_SCOPE, TFF_CLASS_SCOPE, TFF_CHASE_NAMESPACE_ALIAS,
  658. and TFF_TEMPLATE_DEFAULT_ARGUMENTS. #define cp_error, cp_warning,
  659. cp_pedwarn, and cp_compiler_error to error, warning, pedwarn, and
  660. internal_error respectively. Make cp_deprecated into a macro.
  661. Don't define cp_printer typedef or declare cp_printers.
  662. * error.c: Include flags.h.
  663. Delete: struct tree_formatting_info, print_function_argument_list,
  664. print_declaration, print_expression, print_function_declaration,
  665. print_function_parameter, print_type_id, print_cv_qualifier_seq,
  666. print_type_specifier_seq, print_simple_type_specifier,
  667. print_elaborated_type_specifier, print_rest_of_abstract_declarator,
  668. print_parameter_declaration_clause, print_exception_specification,
  669. print_nested_name_specifier, and definition of cp_printers.
  670. (locate_error): New function.
  671. (cp_error_at, cp_warning_at, cp_pedwarn_at): Moved here and
  672. rewritten in terms of locate_error and diagnostic.c.
  673. (cp_tree_printer): Rename cp_printer; wire up to *_to_string
  674. instead of deleted print_* routines. Handle %C, %L, %O, %Q also.
  675. (init_error): Adjust to match.
  676. 2001-09-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
  677. * Make-lang.in (CXX_C_OBJS): Add attribs.o.
  678. 2001-09-21 Richard Henderson <rth@redhat.com>
  679. * class.c (set_vindex): Mind TARGET_VTABLE_USES_DESCRIPTORS.
  680. (build_vtbl_initializer): Likewise.
  681. (build_vfn_ref): New.
  682. * cp-tree.h: Declare it.
  683. * call.c (build_over_call): Use it.
  684. * decl2.c (mark_vtable_entries): Mark FDESC_EXPR.
  685. * typeck.c (get_member_function_from_ptrfunc): Mind descriptors.
  686. 2001-09-21 J"orn Rennecke <amylaar@redhat.com>
  687. * decl.c (grokdeclarator): Use C syntax for attr_flags declaration.
  688. 2001-09-21 Joseph S. Myers <jsm28@cam.ac.uk>
  689. Table-driven attributes.
  690. * decl.c: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
  691. * decl2.c (cplus_decl_attributes): Only take one attributes
  692. parameter.
  693. * cp-tree.c (cplus_decl_attributes): Update prototype.
  694. * class.c (finish_struct), decl.c (start_decl, start_function),
  695. decl2.c (grokfield), friend.c (do_friend), parse.y
  696. (parse_bitfield): Update calls to cplus_decl_attributes.
  697. * decl.c (grokdeclarator): Take a pointer to a single ordinary
  698. attribute list.
  699. * decl.h (grokdeclarator): Update prototype.
  700. * decl2.c (grokfield): Take a single ordinary attribute list.
  701. * friend.c (do_friend): Likewise.
  702. * decl.c (shadow_tag, groktypename, start_decl,
  703. start_handler_parms, grokdeclarator, grokparms, start_function,
  704. start_method), decl2.c (grokfield, grokbitfield, grokoptypename),
  705. parse.y (parse_field, parse_bitfield, component_decl_1), pt.c
  706. (process_template_parm, do_decl_instantiation): Pass single
  707. ordinary attribute lists around.
  708. * decl.c (grokdeclarator): Correct handling of nested attributes.
  709. Revert the patch
  710. 1998-10-18 Jason Merrill <jason@yorick.cygnus.com>
  711. * decl.c (grokdeclarator): Embedded attrs bind to the right,
  712. not the left.
  713. .
  714. * cp-tree.h (cp_valid_lang_attribute): Remove declaration
  715. (cp_attribute_table): Declare.
  716. * decl.c (valid_lang_attribute): Don't define.
  717. (lang_attribute_table): Define.
  718. (init_decl_processing): Initialize lang_attribute_table instead of
  719. valid_lang_attribute.
  720. * tree.c (cp_valid_lang_attribute): Remove.
  721. (handle_java_interface_attribute, handle_com_interface_attribute,
  722. handle_init_priority_attribute): New functions.
  723. (cp_attribute_table): New array.
  724. * decl2.c (import_export_class): Don't use
  725. targetm.valid_type_attribute.
  726. 2001-09-15 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
  727. * Make-lang.in (cp/error.o): Depend on real.h
  728. * error.c: #include "real.h"
  729. 2001-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
  730. * mangle.c (mangle_conv_op_name_for_type): Use concat in lieu of
  731. xmalloc/strcpy/strcat.
  732. 2001-09-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
  733. * decl.c (warn_extern_redeclared_static, cp_make_fname_decl):
  734. Const-ification.
  735. * pt.c (tsubst_decl): Likewise.
  736. 2001-09-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
  737. * decl2.c (lang_f_options): Const-ification.
  738. * lex.c (cplus_tree_code_name): Likewise.
  739. * spew.c (yyerror): Likewise.
  740. 2001-09-06 Nathan Sidwell <nathan@codesourcery.com>
  741. PR c++/3986
  742. * class.c (force_canonical_binfo_r): Check & move an indirect
  743. primary base first.
  744. (force_canonical_binfo): Check that it's not already
  745. canonical.
  746. (mark_primary_virtual_base): Remove BINFO parameter.
  747. (mark_primary_bases): Adjust, set BINFO_LOST_PRIMARY_P here.
  748. 2001-09-06 Nathan Sidwell <nathan@codesourcery.com>
  749. Remove TYPE_NONCOPIED_PARTS.
  750. * cp-tree.h (CLASSTYPE_INLINE_FRIENDS): Map onto
  751. CLASSTYPE_PURE_VIRTUALS.
  752. (TYPE_RAISES_EXCEPTIONS): Map onto TYPE_BINFO.
  753. * class.c (duplicate_tag_error): Remove TYPE_NONCOPIED_PARTS.
  754. (layout_class_type): Don't call fixup_inline_methods here ...
  755. (finish_struct_1): ... call it here.
  756. 2001-09-04 Mark Mitchell <mark@codesourcery.com>
  757. * decl.c (duplicate_decls): Remove code deadling with
  758. DECL_SAVED_INSNS.
  759. * decl2.c (finish_file): Likewise.
  760. * pt.c (instantiate_decl): Likewise.
  761. * semantics.c (expand_body): Don't defer local functions if
  762. they wouldn't be deferred for some other reason. Don't
  763. generate RTL for functions that will not be emitted.
  764. (genrtl_start_function): Remove code deadling with
  765. DECL_SAVED_INSNS.
  766. (genrtl_finish_function): Likewise.
  767. 2001-09-04 Nathan Sidwell <nathan@codesourcery.com>
  768. PR c++/4203
  769. * call.c (build_over_call): Do not optimize any empty base
  770. construction.
  771. 2001-08-31 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
  772. * error.c (dump_template_decl): Output template parameters
  773. together with their specifiers.
  774. Output `class' prefix for template template parameter.
  775. (dump_decl): Fix formatting.
  776. 2001-08-30 Kurt Garloff <garloff@suse.de>
  777. * optimize.c (inlinable_function_p): Allow only smaller single
  778. functions. Halve inline limit after reaching recursive limit.
  779. 2001-08-30 Joern Rennecke <amylaar@redhat.com>
  780. Jason Merrill <jason_merrill@redhat.com>
  781. * class.c (build_vtable_entry_ref): Subtract in char*, not
  782. ptrdiff_t.
  783. 2001-08-23 Jason Merrill <jason_merrill@redhat.com>
  784. * tree.c (cp_build_qualified_type_real): Use get_qualified_type.
  785. (build_cplus_array_type): Use cp_build_qualified_type, not
  786. TYPE_MAIN_VARIANT, to get an unqualified version.
  787. * decl2.c (grok_alignof): Lose.
  788. (build_expr_from_tree): Use expr_sizeof and c_alignof_expr.
  789. * typeck.c (c_alignof): Lose.
  790. * semantics.c (finish_sizeof, finish_alignof): New.
  791. * parse.y: Use them.
  792. * cp-tree.h: Declare them.
  793. 2001-08-22 Jason Merrill <jason_merrill@redhat.com>
  794. * pt.c (tsubst_expr): Hand off to the TREE_CHAIN of a statement.
  795. Don't loop in COMPOUND_STMT, FOR_STMT or TRY_BLOCK.
  796. * tree.c (cp_statement_code_p): A TAG_DEFN is a statement.
  797. 2001-08-19 Jakub Jelinek <jakub@redhat.com>
  798. * typeck2.c (add_exception_specifier): Only require complete type if
  799. not in processing template declaration.
  800. 2001-08-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
  801. * decl.c: Cast argument to size_t, not HOST_WIDE_INT, in calls to
  802. GNU_xref_start_scope and GNU_xref_end_scope.
  803. * tree.c (TYPE_HASH): Moved to ../tree.h.
  804. 2001-08-16 Mark Mitchell <mark@codesourcery.com>
  805. * cvt.c (convert_to_void): Preserve TREE_SIDE_EFFECTS
  806. on COMPOUND_EXPRs.
  807. 2001-08-14 Richard Henderson <rth@redhat.com>
  808. * class.c, cp-tree.h (build_vfn_ref): Remove.
  809. * call.c, rtti.c: Replace all refernces with build_vtbl_ref.
  810. 2001-08-13 Mark Mitchell <mark@codesourcery.com>
  811. * call.c (build_over_call): Mark COMPOUND_EXPRs generated for
  812. empty class assignment as having side-effects to avoid
  813. spurious warnings.
  814. 2001-08-13 Zack Weinberg <zackw@panix.com>
  815. * Make-lang.in (cp/except.o): Add libfuncs.h to dependencies.
  816. * except.c: Include libfuncs.h.
  817. 2001-08-11 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
  818. * decl.c (grokdeclarator): Clarify diagnostic message.
  819. 2001-08-13 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
  820. * decl2.c (do_nonmember_using_decl): Replace using directive
  821. with using declaration in the error message.
  822. 2001-08-11 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
  823. * pt.c (maybe_fold_nontype_arg): Use TREE_TYPE of ARG as the
  824. criterion to avoid rebuilding expression tree instead of
  825. processing_template_decl.
  826. 2001-08-07 Jason Merrill <jason_merrill@redhat.com>
  827. Support named return value optimization for inlines, too.
  828. * decl.c (finish_function): Nullify returns here.
  829. * semantics.c (genrtl_start_function): Not here.
  830. (cp_expand_stmt): Don't mess with CLEANUP_STMTs.
  831. (nullify_returns_r): No longer static. Just clear RETURN_EXPR.
  832. Also nullify the CLEANUP_STMT for the nrv.
  833. * cp-tree.h: Declare it.
  834. * optimize.c (declare_return_variable): Replace the nrv with the
  835. return variable.
  836. * typeck.c (check_return_expr): Be more flexible on alignment check.
  837. Ignore cv-quals when checking for a matching type.
  838. 2001-08-09 Richard Henderson <rth@redhat.com>
  839. * decl2.c (finish_objects): Use target hooks instead of
  840. assemble_constructor and assemble_destructor.
  841. 2001-08-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
  842. * g++spec.c (lang_specific_driver): Quote argument after `-Xlinker'.
  843. 2001-08-07 Nathan Sidwell <nathan@codesourcery.com>
  844. PR c++/3820
  845. Stop using TYPE_NONCOPIED_PARTS.
  846. * call.c (build_over_call): Be careful when copy constructing
  847. or assigning to an empty class.
  848. * class.c (check_bases_and_members): It has a
  849. COMPLEX_ASSIGN_REF if it has a vptr.
  850. (layout_class_type): Don't add empty class padding to
  851. TYPE_NONCOPIED_PARTS.
  852. (finish_struct_1): Don't add the VFIELD either.
  853. * cp-tree.h (TYPE_HAS_TRIVIAL_INIT_REF): Mention _copy_
  854. initialization.
  855. 2001-08-07 Jason Merrill <jason_merrill@redhat.com>
  856. * tree.c (walk_tree): Walk siblings even if !walk_subtrees.
  857. 2001-08-06 Richard Henderson <rth@redhat.com>
  858. * decl2.c (finish_objects): Pass a symbol_ref and priority to
  859. assemble_{constructor,destructor}. Remove priority handling.
  860. 2001-08-05 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
  861. Don't allow template-id in using-declaration.
  862. * decl2.c (validate_nonmember_using_decl): Handle template-ids.
  863. (do_class_using_decl): Likewise.
  864. 2001-08-04 Neil Booth <neil@cat.daikokuya.demon.co.uk>
  865. * cp/spew.c (read_token): No need to pop buffers.
  866. 2001-08-02 Stan Shebs <shebs@apple.com>
  867. * cp-tree.h (FNADDR_FROM_VTABLE_ENTRY): Remove, no longer used.
  868. (fnaddr_from_vtable_entry): Remove decl.
  869. * method.c (use_thunk): Update comment.
  870. 2001-08-01 Andrew Cagney <ac131313@redhat.com>
  871. * repo.c (get_base_filename): Change return value to const char
  872. pointer.
  873. 2001-08-02 Nathan Sidwell <nathan@codesourcery.com>
  874. Kill -fhonor-std.
  875. * NEWS: Document.
  876. * cp-tree.h (flag_honor_std): Remove.
  877. (CPTI_FAKE_STD): Remove.
  878. (std_node): Remove comment about it being NULL.
  879. (fake_std_node): Remove.
  880. * decl.c (in_fake_std): Remove.
  881. (walk_namespaces_r): Remove fake_std_node check.
  882. (push_namespace): Remove in_fake_std code.
  883. (pop_namespace): Likewise.
  884. (lookup_name_real): Remove fake_std_node check.
  885. (init_decl_processing): Always create std_node. Always add
  886. std:: things there.
  887. (builtin_function): Always put non '_' fns in std.
  888. * decl2.c (flag_honor_std): Remove.
  889. (lang_f_options): Remove honor-std.
  890. (unsupported_options): Add honor-std.
  891. (set_decl_namespace): Remove fake_std_node check.
  892. (validate_nonmember_using_decl): Likewise.
  893. (do_using_directive): Likewise.
  894. (handle_class_head): Likewise.
  895. * dump.c (cp_dump_tree): Likewise.
  896. * except.c (init_exception_processing): Adjust.
  897. * init.c (build_member_call): Remove fake_std_node check.
  898. (build_offset_ref): Likewise.
  899. * lang-options.h: Remove -fhonor-std, -fno-honor-std.
  900. * rtti.c (init_rtti_processing): Adjust.
  901. 2001-07-31 Alexandre Petit-Bianco <apbianco@redhat.com>
  902. * tree.c (cp_tree_equal): WITH_CLEANUP_EXPR node to use its second
  903. operand while calling cp_tree_equal.
  904. 2001-07-31 Nathan Sidwell <nathan@codesourcery.com>
  905. The 3.0 ABI no longer has vbase pointer fields.
  906. * cp-tree.h (VBASE_NAME, VBASE_NAME_FORMAT, VBASE_NAME_P,
  907. FORMAT_VBASE_NAME): Remove.
  908. * method.c (do_build_copy_constructor): Adjust.
  909. (do_build_assign_ref): Adjust.
  910. * search.c (lookup_field_r): Adjust.
  911. * typeck.c (build_component_ref): Adjust.
  912. The 3.0 ABI always has a vtable pointer at the start of every
  913. polymorphic class.
  914. * rtti.c (build_headof_sub): Remove.
  915. (build_headof): Adjust.
  916. (get_tinfo_decl_dynamic): No need to check flag_rtti
  917. here. Adjust.
  918. (create_real_tinfo_var): Explain why we need a hidden name.
  919. 2001-07-31 Nathan Sidwell <nathan@codesourcery.com>
  920. PR c++/3631
  921. * class.c (update_vtable_entry_for_fn): The fixed adjustment
  922. of a virtual thunk should be from declaring base.
  923. 2001-07-31 Nathan Sidwell <nathan@codesourcery.com>
  924. * class.c (dfs_ctor_vtable_bases_queue_p): Always walk into
  925. the shared virtual base, so preserving inheritance graph order.
  926. 2001-07-30 Andreas Jaeger <aj@suse.de>
  927. * decl2.c: Remove unused var global_temp_name_counter.
  928. 2001-07-28 Richard Henderson <rth@redhat.com>
  929. * method.c (pending_inlines): Remove.
  930. 2001-07-27 Nathan Sidwell <nathan@codesourcery.com>
  931. * class.c (mark_primary_virtual_base): Don't adjust base
  932. offsets here.
  933. (dfs_unshared_virtual_bases): Adjust them here.
  934. (mark_primary_bases): Explain why we adjust at the end.
  935. 2001-07-27 Nathan Sidwell <nathan@codesourcery.com>
  936. * class.c (finish_struct_1): When copying the primary base's
  937. VFIELD, make sure we find it is at offset zero.
  938. 2001-07-26 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
  939. * pt.c (tsubst_template_parms): Call maybe_fold_nontype_arg and
  940. tsubst_expr for default template arguments.
  941. 2001-07-26 Nathan Sidwell <nathan@codesourcery.com>
  942. PR c++/3621
  943. * spew.c (yylex): Only copy the token's lineno, if it is
  944. nonzero.
  945. 2001-07-26 Nathan Sidwell <nathan@codesourcery.com>
  946. PR c++/3624
  947. * call.c (resolve_args): Simplify, call
  948. convert_from_reference.
  949. (build_new_op): Resolve and convert from reference ARG1
  950. earlier. Adjust ARG2 & ARG3 resolve and conversion.
  951. 2001-07-26 Nathan Sidwell <nathan@codesourcery.com>
  952. * decl.c (last_function_parm_tags): Remove.
  953. (current_function_parm_tags): Remove.
  954. (init_decl_processing): Adjust.
  955. (start_function): Adjust.
  956. (store_parm_decls): Adjust.
  957. PR c++/3152
  958. * decl.c (grokdeclarator): Detect when a function typedef is
  959. declaring a function, and create last_function_parms correctly.
  960. 2001-07-25 Jason Merrill <jason_merrill@redhat.com>
  961. * call.c (joust): Only prefer a non-builtin candidate to a builtin
  962. one if they have the same signature.
  963. * cvt.c (build_up_reference): Take DECL parm. Check TREE_STATIC on
  964. it rather than toplevel_bindings_p. Give it a mangled name if static.
  965. (convert_to_reference): Adjust.
  966. * decl2.c (get_temp_name): Lose.
  967. * mangle.c (mangle_ref_init_variable): New fn.
  968. (mangle_guard_variable): Strip the ref-init header.
  969. * cp-tree.h: Adjust.
  970. * decl.c (cp_finish_decl): Add the DECL_STMT after processing the
  971. initializer.
  972. (grok_reference_init): Always use DECL_INITIAL.
  973. 2001-07-25 Nathan Sidwell <nathan@codesourcery.com>
  974. PR c++/3416
  975. * call.c (build_conditional_expr): Recheck args after
  976. conversions.
  977. * cp-tree.h (build_conditional_expr): Move to correct file.
  978. * typeck.c (decay_conversion): Diagnose any unknown types
  979. reaching here.
  980. (build_binary_op): Don't do initial decay or default
  981. conversions on overloaded functions.
  982. (build_static_cast): Don't do a decay conversion here.
  983. 2001-07-25 Nathan Sidwell <nathan@codesourcery.com>
  984. PR c++/3543
  985. * typeck.c (condition_conversion): Resolve an OFFSET_REF.
  986. * expr.c (cplus_expand_expr): An OFFSET_REF should never get here.
  987. 2001-07-25 Nathan Sidwell <nathan@codesourcery.com>
  988. * class.c (build_vtbl_or_vbase_field): Remove, move into ...
  989. (create_vtbl_ptr): ... here.
  990. 2001-07-25 Nathan Sidwell <nathan@codesourcery.com>
  991. * class.c (build_vbase_offset_vbtl_entries): Look for
  992. non-primary base of which we are a sub vtable.
  993. 2001-07-24 Phil Edwards <pme@sources.redhat.com>
  994. * semantics.c (finish_this_expr): Remove unused code.
  995. 2001-07-24 Nathan Sidwell <nathan@codesourcery.com>
  996. Simplify rtti, now we've only one ABI.
  997. * cp-tree.h (cp_tree_index): Remove CPTI_TINFO_DECL_ID,
  998. CPTI_TINFO_VAR_ID.
  999. (tinfo_decl_id, tinfo_var_id): Remove.
  1000. (get_typeid_1): Remove.
  1001. * rtti.c
  1002. (init_rtti_processing): Remove tinfo_decl_id & tinfo_var_id.
  1003. (typeid_ok_p): New function.
  1004. (build_type_id): Call typeid_ok_p. Don't call tinfo_from_decl.
  1005. (get_tinfo_decl): Remove old abi documentation.
  1006. (tinfo_from_decl): Remove.
  1007. (get_type_id): Call typeid_ok_p. Absorb get_typeid_1.
  1008. (get_typeid_1): Remove.
  1009. (get_base_offset): Remove.
  1010. (synthesize_tinfo_var): Absorb get_base_offset.
  1011. (create_real_tinfo_var): Don't use tinfo_decl_id.
  1012. 2001-07-23 Graham Stott <grahams@redhat.com>
  1013. * cp/class.c (type_requires_array_cookie): Fix use of uninitialized
  1014. variable has_two_argument_delete_p.
  1015. 2001-07-21 Nathan Sidwell <nathan@codesourcery.com>
  1016. Remove flag_vtable_thunk. It is always on for the 3.0 ABI.
  1017. * cp-tree.h (CPTI_DELTA2_IDENTIFIER): Remove.
  1018. (CPTI_INDEX_IDENTIFIER): Remove.
  1019. (CPT_PFN_OR_DELTA2_IDENTIFIER): Remove.
  1020. (delta2_identifier): Remove.
  1021. (index_identifier): Remove.
  1022. (pfn_or_delta2_identifier): Remove.
  1023. (flag_vtable_thunks): Remove.
  1024. (VTABLE_DELTA2_NAME): Remove.
  1025. (VTABLE_INDEX_NAME): Remove.
  1026. (FNADDR_FROM_VTABLE_ENTRY): Adjust.
  1027. (vfunc_ptr_type_node): Adjust.
  1028. (VTABLE_NAME_PREFIX): Adjust.
  1029. (build_vfn_ref): Lose first parameter.
  1030. (fixup_all_virtual_upcast_offsets): Remove.
  1031. * decl.c (initialize_predefined_identifiers): Remove
  1032. delta2_identifier, index_identifier, pfn_or_delta2_identifier.
  1033. (init_decl_processing): Remove no-vtable-thunk code.
  1034. * decl2.c (flag_vtable_thunks): Remove.
  1035. (mark_vtable_entries): Remove no-vtable-thunk code.
  1036. * error.c (dump_decl): Remove no-vtable-thunk code.
  1037. (dump_expr): Adjust ptr to member function code.
  1038. * init.c (initialize_vtable_ptrs): Remove no-vtable-thunk
  1039. code.
  1040. * rtti.c (build_headof): Remove no-vtable-thunk code.
  1041. (get_tinfo_decl_dynamic): Adjust build_vfn_ref call.
  1042. * search.c (get_base_distance): Remove expand_upcast_fixups case.
  1043. (virtual_context) Remove.
  1044. (expand_upcast_fixups): Remove.
  1045. (fixup_virtual_upcast_offsets): Remove.
  1046. (fixup_all_virtual_upcast_offsets): Remove.
  1047. * typeck.c (get_member_function_from_ptrfunc): Remove
  1048. no-vtable-thunk code.
  1049. * call.c (build_over_call): Adjust call to build_vfn_ref.
  1050. * class.c (build_vfn_ref): Lose first parameter. Remove
  1051. no-vtable-thunk code.
  1052. (build_rtti_vtbl_entries): Remove no-vtable-thunk code.
  1053. (build_vtable_entry): Remove no-vtable-thunk code.
  1054. 2001-07-20 Nathan Sidwell <nathan@codesourcery.com>
  1055. Remove old-abi remnants. Remove comments about old abi
  1056. behavior. Remove references to 'new-abi' in comments.
  1057. * cp-tree.h: Adjust comments.
  1058. (vbase_offsets_in_vtable_p): Delete.
  1059. (vcall_offsets_in_vtable_p): Delete.
  1060. (vptrs_present_everywhere_p): Delete.
  1061. (all_overridden_vfuns_in_vtables_p): Delete.
  1062. (merge_primary_and_secondary_vtables_p): Delete.
  1063. (TYPE_CONTAINS_VPTR_P): Adjust.
  1064. (VTT_NAME_PREFIX): Remove.
  1065. (CTOR_VTBL_NAME_PREFIX): Remove.
  1066. (init_vbase_pointers): Remove.
  1067. * class.c: Adjust coments.
  1068. (build_vbase_pointer_fields): Delete.
  1069. (build_vbase_pointer): Remove old-abi code.
  1070. (build_secondary_vtable): Likewise.
  1071. (modify_all_vtables): Likewise.
  1072. (create_vtable_ptr): Likewise.
  1073. (layout_class_type): Likewise.
  1074. (finish_struct_1): Likewise.
  1075. (finish_vtbls): Likewise.
  1076. (dfs_finish_vtbls): Delete.
  1077. (build_vbase_offset_vtbl_entries): Remove old-abi code.
  1078. * cvt.c: Adjust comments.
  1079. * decl.c: Adjust comments.
  1080. * decl2.c: Adjust comments.
  1081. * init.c: Adjust comments.
  1082. (construct_virtual_bases): Remove old-abi code.
  1083. * lang-specs.h: Remove -fno-new-abi.
  1084. * mangle.c: Adjust comments.
  1085. * rtti.c: Adjust comments.
  1086. (get_base_offset): Remove old-abi-code.
  1087. * search.c: Adjust comments.
  1088. (dfs_init_vbase_pointers): Remove.
  1089. (dfs_vtable_path_unmark): Remove.
  1090. (init_vbase_pointers): Remove.
  1091. * semantics.c: Adjust comments.
  1092. (emit_associated_thunks): Remove old-abi code.
  1093. * typeck.c: Adjust comments.
  1094. 2001-07-20 Daniel Berlin <dan@cgsoftware.com>
  1095. * Make-lang.in (cp/optimize.o): Depend on $(PARAMS_H), not
  1096. params.h.
  1097. 2001-07-19 Mark Mitchell <mark@codesourcery.com>
  1098. * class.c (finish_struct_anon): Forbid nested classes.
  1099. 2001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
  1100. * decl2.c: Don't include dwarfout.h and dwarf2out.h.
  1101. * optimize.c: Include debug.h.
  1102. (maybe_clone_body): Use debug hook.
  1103. * semantics.c: Include debug.h.
  1104. (expand_body): Use debug hook.
  1105. 2001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
  1106. * spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
  1107. 2001-07-18 Mark Mitchell <mark@codesourcery.com>
  1108. * class.c (type_requires_array_cookie): New function.
  1109. (check_methods): Don't try to figure out whether the type needs a
  1110. cookie here.
  1111. (check_bases_and_members): Set TYPE_VEC_NEW_USES_COOKIE here.
  1112. * cp-tree.h (TYPE_VEC_DELETE_TAKES_SIZE): Remove.
  1113. (TYPE_VEC_NEW_USES_COOKIE): Reimplement.
  1114. * pt.c (instantiate_class_template): Don't set
  1115. TYPE_VEC_DELETE_TAKES_SIZE.
  1116. * NEWS: Document ABI changes from GCC 3.0.
  1117. 2001-07-18 Xavier Delacour <xavier@fmaudio.net>,
  1118. Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
  1119. * NEWS (Changes in GCC 3.0): Fix typo.
  1120. 2001-07-13 Joseph S. Myers <jsm28@cam.ac.uk>
  1121. * decl2.c (cplus_decl_attributes): Take a pointer to the node to
  1122. which attributes are to be attached, and a flags argument. Update
  1123. call to decl_attributes.
  1124. (grokfield): Update call to decl_attributes.
  1125. * class.c (finish_struct): Update call to cplus_decl_attributes.
  1126. * cp-tree.h (cplus_decl_attributes): Update prototype.
  1127. * decl.c (start_decl, grokdeclarator, start_function): Update
  1128. calls to decl_attributes and cplus_decl_attributes.
  1129. * friend.c (do_friend): Update call to cplus_decl_attributes.
  1130. * parse.y (parse_bitfield): Update call to cplus_decl_attributes.
  1131. 2001-07-12 Mark Mitchell <mark@codesourcery.com>
  1132. * decl.c (make_rtl_for_nonlocal_decl): Set DECL_C_HARD_REGISTER
  1133. for `register' variables with an asm-specification.
  1134. 2001-07-11 Mark Mitchell <mark@codesourcery.com>
  1135. * semantics.c (finish_asm_stmt): Mark the output operands
  1136. to an asm addressable, if necessary.
  1137. 2001-07-11 Ben Elliston <bje@redhat.com>
  1138. * Revert this change -- there is a subtle bug.
  1139. PR c++/80
  1140. * decl.c (finish_enum): New "attributes" argument; pass it to
  1141. cplus_decl_attributes. Use a narrower type if the enum is packed.
  1142. * cp-tree.h (finish_enum): Adjust prototype.
  1143. * parse.y (enum_head): New non-terminal.
  1144. (structsp): Use it. Enums now may be preceded or followed by
  1145. optional attributes -- pass their chained tree to finish_enum().
  1146. * pt.c (tsubst_enum): Pass NULL_TREE for the new argument.
  1147. 2001-07-10 Mark Mitchell <mark@codesourcery.com>
  1148. * pt.c (tsubst_decl): Set DECL_CONTEXT for namespace-scope
  1149. variables.
  1150. 2001-07-10 Jason Merrill <jason_merrill@redhat.com>
  1151. * semantics.c (cp_expand_stmt): Fix for null
  1152. current_function_return_value.
  1153. 2001-07-10 Jan van Male <jan.vanmale@fenk.wau.nl>
  1154. * call.c (build_op_delete_call): Initialize fn.
  1155. (convert_like_real): Delete conditional.
  1156. (joust): Initialize *w and *l.
  1157. * class.c: Add prototype for binfo_ctor_vtable.
  1158. (get_primary_binfo): Initialize result.
  1159. * init.c (build_java_class_ref): Initialize name.
  1160. 2001-07-09 Erik Rozendaal <dlr@acm.org>
  1161. * typeck.c (unary_complex_lvalue): Do not duplicate the
  1162. argument to modify, pre-, or post-increment when used as an
  1163. lvalue and when the argument has side-effects.
  1164. 2001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
  1165. * decl.c (start_decl): Don't call SET_DEFAULT_DECL_ATTRIBUTES.
  1166. (start_function): Don't call SET_DEFAULT_DECL_ATTRIBUTES. Call
  1167. cplus_decl_attributes even if attrs is NULL.
  1168. * friend.c (do_friend): Don't call SET_DEFAULT_DECL_ATTRIBUTES.
  1169. 2001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
  1170. * decl.c (grokdeclarator), decl2.c (cplus_decl_attributes): Update
  1171. calls to decl_attributes.
  1172. 2001-07-06 Ira Ruben <ira@apple.com>
  1173. * cp-tree.def (TEMPLATE_DECL): Update comment. DECL_RESULT should
  1174. be DECL_TEMPLATE_RESULT.
  1175. 2001-07-05 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
  1176. * cp-tree.h (copy_template_template_parm): Rename to ...
  1177. (bind_template_template_parm): ... here.
  1178. * tree.c (copy_template_template_parm): Rename to ...
  1179. (bind_template_template_parm): ... here. Remove the case when
  1180. NEWARGS is NULL_TREE.
  1181. (copy_tree_r): Don't copy TEMPLATE_TEMPLATE_PARM and
  1182. BOUND_TEMPLATE_TEMPLATE_PARM.
  1183. * pt.c (lookup_template_class): Adjust.
  1184. 2001-07-05 Jason Merrill <jason_merrill@redhat.com>
  1185. * cvt.c (convert_lvalue): New fn.
  1186. * cp-tree.h: Declare it.
  1187. * method.c (do_build_assign_ref): Use it.
  1188. (do_build_copy_constructor): Convert parm to base types
  1189. before calling base constructors.
  1190. * typeck.c (check_return_expr): Check DECL_ALIGN instead of
  1191. DECL_USER_ALIGN. Check flag_elide_constructors instead of
  1192. optimize.
  1193. * semantics.c (cp_expand_stmt): Don't destroy the named return value.
  1194. 2001-07-02 Nathan Sidwell <nathan@codesourcery.com>
  1195. * optimize.c (optimize_inline_calls): New function, broken out
  1196. of ...
  1197. (optimize_function): ... here. Call it. Don't inline if it is
  1198. a thunk.
  1199. (dump_function): Print name of dump flag causing this dump.
  1200. * semantics.c (expand_body): Move thunk inline check to
  1201. optimize_function.
  1202. 2001-06-29 Joseph S. Myers <jsm28@cam.ac.uk>
  1203. * typeck.c (COMP_TYPE_ATTRIBUTES): Don't define.
  1204. (comptypes): Use target.comp_type_attributes.
  1205. 2001-06-29 Nathan Sidwell <nathan@codesourcery.com>
  1206. * cp-tree.h (flag_dump_class_layout): Remove unneeded declaration.
  1207. 2001-06-28 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
  1208. * error.c (lang_print_error_function): Add a `diagnostic_context *'
  1209. parameter. Tweak.
  1210. 2001-06-27 Neil Booth <neil@cat.daikokuya.demon.co.uk>
  1211. * decl2.c (import_export_class): Update.
  1212. 2001-06-26 Gabriel Dos Reis <gdr@codesourcery.com>
  1213. * error.c (init_error): Adjust settings.
  1214. 2001-06-26 Gabriel Dos Reis <gdr@codesourcery.com>
  1215. * error.c (init_error): Adjust settings.
  1216. 2001-06-19 Richard Sandiford <rsandifo@redhat.com>
  1217. * except.c (initialize_handler_parm): Expect __cxa_begin_catch to
  1218. return pointers to data members by reference rather than by value.
  1219. 2001-06-18 Jason Merrill <jason_merrill@redhat.com>
  1220. Implement the Named Return Value optimization.
  1221. * cp-tree.h (struct cp_language_function): Add x_return_value.
  1222. (current_function_return_value): Now a macro.
  1223. * decl.c: Don't define it.
  1224. (define_label, finish_case_label): Don't clear it.
  1225. (init_decl_processing): Don't register it with GC.
  1226. * semantics.c (genrtl_finish_function): Don't check it for
  1227. no_return_label. Copy the RTL from the return value to
  1228. current_function_return_value and walk, calling...
  1229. (nullify_returns_r): ...this new fn.
  1230. * typeck.c (check_return_expr): Set current_function_return_value.
  1231. 2001-06-15 Jason Merrill <jason_merrill@redhat.com>
  1232. * class.c (dfs_accumulate_vtbl_inits): Just point to the base we're
  1233. sharing a ctor vtable with. Merge code for cases 1 and 2.
  1234. (binfo_ctor_vtable): New fn.
  1235. (build_vtt_inits, dfs_build_secondary_vptr_vtt_inits): Use it.
  1236. 2001-06-14 Jason Merrill <jason_merrill@redhat.com>
  1237. * class.c (dfs_find_final_overrider): Fix logic.
  1238. * class.c (update_vtable_entry_for_fn): Uncomment optimization to use
  1239. virtual thunk instead of non-virtual.
  1240. (get_matching_virtual): Uncomment.
  1241. * pt.c (unify): Don't recurse between the POINTER_TYPE and the
  1242. OFFSET_TYPE. If we're adding cv-quals, the extra ones would be on
  1243. PARM, not ARG.
  1244. 2001-06-14 Nathan Sidwell <nathan@codesourcery.com>
  1245. * class.c (dfs_accumulate_vtbl_inits): For case 2 & 3, make sure
  1246. we've not emerged from the hierarchy of RTTI_BINFO on reaching
  1247. a non-virtual base.
  1248. 2001-06-13 Mark Mitchell <mark@codesourcery.com>
  1249. * NEWS: Update release number.
  1250. 2001-06-12 Nathan Sidwell <nathan@codesourcery.com>
  1251. PR c++/3130, c++/3131, c++/3132
  1252. * cp-tree.h (BINFO_UNSHARED_MARKED): New #define.
  1253. * class.c (force_canonical_binfo_r): Move
  1254. BINFO_UNSHARED_MARKED, BINFO_LOST_PRIMARY_P. Don't move
  1255. virtual bases unless they're primary and what they're primary
  1256. too has been moved.
  1257. (dfs_unshared_virtual_bases): Use BINFO_UNSHARED_MARKED. Cope
  1258. with morally virtual bases. Duplicate BINFO_LOST_PRIMARY_P and
  1259. BINFO_PRIMARY_BASE_OF. Clear BINFO_VTABLE for all but the most
  1260. derived binfo.
  1261. (mark_primary_bases): Use BINFO_UNSHARED_MARKED.
  1262. (layout_nonempty_base_or_field): Add most derived type
  1263. parameter. Adjust.
  1264. (layout_empty_base): Likewise.
  1265. (build_base_field): Likewise.
  1266. (build_base_fields): Likewise.
  1267. (propagate_binfo_offsets): Add most derived type
  1268. parameter. Skip non canonical virtual bases too.
  1269. (dfs_set_offset_for_unshared_vbases): Don't skip primary
  1270. bases. Do skip canonical bases.
  1271. (layout_virtual_bases): Adjust.
  1272. (layout_class_type): Adjust.
  1273. (dfs_get_primary_binfo): Build list of virtual primary base
  1274. candidates.
  1275. (get_primary_binfo): Check that the shared virtual primary
  1276. base candidate was found first.
  1277. (accumulate_vtbl_inits): Don't do anything for non-vptr
  1278. containing binfos. For case 1 primary virtual bases, keep
  1279. checking that we've not emerged from the hierarchy of RTTI_BINFO.
  1280. 2001-06-12 Nathan Sidwell <nathan@codesourcery.com>
  1281. PR c++/3089
  1282. * class.c (dfs_accumulate_vtbl_inits): Always walk down the
  1283. hierarchy looking for primary bases for a ctor
  1284. vtable. Recursively call oneself, if we meet our primary via
  1285. this route and haven't met it yet via inheritance graph order.
  1286. 2001-06-11 Mark Mitchell <mark@codesourcery.com>
  1287. * lang-options.h: Emit documentation for -fno-honor-std, not
  1288. -fhonor-std.
  1289. 2001-06-10 Alexandre Oliva <aoliva@redhat.com>
  1290. * typeck.c (get_member_function_from_ptrfunc) [vbit_in_delta]:
  1291. Don't clobber delta.
  1292. (expand_ptrmemfunc_cst) [ptrmemfunc_vbit_in_delta]: Adjust pfn.
  1293. 2001-06-10 Mark Mitchell <mark@codesourcery.com>
  1294. Gabriel Dos Reis <gdr@codesourcery.com>
  1295. * Make-lang.in (cp/call.o): Depend on diagnostic.h
  1296. (cp/typeck.o): Depend on diagnostic.h
  1297. (cp/typeck2.o): Depend on diagnostic.h
  1298. (cp/repo.o): Depend on dignostic.h
  1299. * typeck.c: #include diagnostic.h
  1300. (convert_for_initialization): Remove extern declaration for
  1301. warningcount and errorcount.
  1302. * call.c: #include diagnostic.h
  1303. (convert_like_real): Remove extern declaration for warnincount and
  1304. errorcount.
  1305. * repo.c: #include diagnostic.h
  1306. * typeck2.c: #include diagnostic.h
  1307. 2001-06-08 Nathan Sidwell <nathan@codesourcery.com>
  1308. * decl.c (duplicate_decls): Fix DECL_TEMPLATE_RESULT thinko
  1309. in previous change.
  1310. 2001-06-08 Nathan Sidwell <nathan@codesourcery.com>
  1311. PR c++/2929
  1312. * friend.c (do_friend): Use push_decl_namespace for classes at
  1313. namespace scope.
  1314. 2001-06-08 Nathan Sidwell <nathan@codesourcery.com>
  1315. Jason Merrill <jason_merrill@redhat.com>
  1316. PR c++/3061
  1317. * class.c (build_secondary_vtable): Use assert, rather than an error
  1318. message.
  1319. (dfs_fixup_binfo_vtbls): BINFO_VTABLE might be NULL.
  1320. (dfs_accumulate_vtbl_inits): A lost primary virtual base may
  1321. be between ORIG_BINFO and RTTI_BINFO, but neither of them.
  1322. Don't set BINFO_VTABLE for a primary virtual base.
  1323. 2001-06-07 Mark Mitchell <mark@codesourcery.com>
  1324. * decl.c (duplicate_decls): Update source position information
  1325. when a template function is defined.
  1326. 2001-06-07 Phil Edwards <pme@sources.redhat.com>
  1327. * lang-specs.h: Move -D_GNU_SOURCE to config/linux.h.
  1328. 2001-06-07 Nathan Sidwell <nathan@codesourcery.com>
  1329. PR c++/2914
  1330. * decl.c (pushtag): Don't push into a complete type's scope.
  1331. 2001-06-06 Jason Merrill <jason_merrill@redhat.com>
  1332. * cp-tree.h (THUNK_GENERATE_WITH_VTABLE_P): Lose.
  1333. (struct lang_decl_flags): Lose generate_with_vtable_p.
  1334. (BV_GENERATE_THUNK_WITH_VTABLE_P): Lose.
  1335. * class.c (copy_virtuals): Adjust.
  1336. * decl2.c (mark_vtable_entries): Adjust.
  1337. * method.c (make_thunk, build_vtable_entry): Adjust.
  1338. * class.c (update_vtable_entry_for_fn): Only look as far as the
  1339. first defining class.
  1340. (build_vtbl_initializer): Put nothing in the slot for a function only
  1341. defined in a lost primary virtual base.
  1342. (add_vcall_offset_vtbl_entries_1): Use the same code for
  1343. the lost primary case and the normal case.
  1344. (dfs_unshared_virtual_bases): Don't lose a non-virtual primary base.
  1345. (get_vfield_offset, get_derived_offset): Lose.
  1346. (dfs_find_final_overrider): Use look_for_overrides_here.
  1347. (get_matching_virtual): New fn.
  1348. * semantics.c (emit_associated_thunks): Check BV_USE_VCALL_INDEX_P,
  1349. not BV_VCALL_INDEX.
  1350. * search.c (look_for_overrides_here): Split out from...
  1351. (look_for_overrides_r): Here.
  1352. * class.c (find_final_overrider): Return error_mark_node on error.
  1353. * decl2.c (key_method): #if 0 accidental change.
  1354. 2001-06-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
  1355. * call.c (convert_default_arg): Use INTEGRAL_TYPE_P.
  1356. (build_over_call): Likewise.
  1357. * decl.c (grokparms): Likewise.
  1358. * pt.c (tsubst_decl): Likewise.
  1359. * typeck.c (convert_arguments): Likewise.
  1360. 2001-06-05 Mark Mitchell <mark@codesourcery.com>
  1361. * semantics.c (begin_class_definition): Robustify.
  1362. * pt.c (instantiate_decl): Tell the repository code about the
  1363. clones, not the cloned functions.
  1364. * repo.c (repo_template_used): Explicitly instantiate the cloned
  1365. function, not the clones.
  1366. 2001-06-05 Nathan Sidwell <nathan@codesourcery.com>
  1367. * call.c (build_user_type_conversion_1): Set ICS_USER_FLAG and
  1368. ICS_BAD_FLAG on created conversion.
  1369. (compare_ics): Break out rank.
  1370. 2001-06-05 Nathan Sidwell <nathan@codesourcery.com>
  1371. * decl.c (xref_tag): Remove extraneous %s on dependent name
  1372. lookup warning.
  1373. 2001-06-05 Nathan Sidwell <nathan@codesourcery.com>
  1374. * class.c (layout_vtable_decl): Fix off by one error on
  1375. build_index_type.
  1376. (build_vtt): Likewise.
  1377. (build_ctor_vtbl_group): Likewise.
  1378. 2001-06-05 Nathan Sidwell <nathan@codesourcery.com>
  1379. * class.c (maybe_indent_hierarchy): New function.
  1380. (dump_class_hierarchy_r): Add flags. Dump extra binfo
  1381. information, if enabled. Use maybe_indent_hierarchy. Adjust
  1382. output format.
  1383. (dump_class_hierarchy): Adjust prototype. Adjust output format.
  1384. (dump_array, dump_vtable, dump_vtt): New functions.
  1385. (finish_struct_1): Adjust hierarchy dumping.
  1386. (initialize_vtable): Call dump_vtable.
  1387. (build_vtt): Call dump_vtt.
  1388. (build_ctor_vtbl_group): Call dump_vtable.
  1389. * decl2.c (flag_dump_class_layout): Remove.
  1390. (cxx_decode_option): Remove dump translation unit
  1391. and dump class hierarchy check. Call dump_switch_p.
  1392. (finish_file): Adjust dumping.
  1393. (dump.c): Only dump base classes if not TDF_SLIM.
  1394. Only dump namespace members if not TDF_SLIM.
  1395. * optimize.c (dump_function): New function.
  1396. (optimize_function): Call dump_function.
  1397. * semantics.c (expand_body): Use dump_enabled_p.
  1398. 2001-06-01 Nathan Sidwell <nathan@codesourcery.com>
  1399. PR g++/2936
  1400. Part missed from first commit
  1401. * decl2.c (finish_anon_union): Copy context.
  1402. 2001-05-30 Nathan Sidwell <nathan@codesourcery.com>
  1403. PR g++/2936
  1404. * optimize.c (remap_decl): Remap anonymous aggregate members too.
  1405. 2001-05-26 Nathan Sidwell <nathan@codesourcery.com>
  1406. PR g++/2823
  1407. * semantics.c (expand_body): Don't optimize thunks.
  1408. 2001-05-25 Sam TH <sam@uchicago.edu>
  1409. * cp-tree.h lex.h: Fix header include guards.
  1410. 2001-05-25 Mark Mitchell <mark@codesourcery.com>
  1411. * decl.c (init_decl_processing): Tweak.
  1412. 2001-05-24 Mark Mitchell <mark@codesourcery.com>
  1413. * decl.c (duplicate_decls): Tidy.
  1414. (init_decl_processing): Always set flag_no_builtin.
  1415. 2001-05-24 Nathan Sidwell <nathan@codesourcery.com>
  1416. PR c++/2184
  1417. * decl2.c (do_local_using_decl): Push the decls, even in a
  1418. template.
  1419. 2001-05-22 Mark Mitchell <mark@codesourcery.com>
  1420. * optimize.c (initialize_inlined_parameters): Don't set
  1421. TREE_READONLY for a VAR_DECL taking the place of an inlined
  1422. PARM_DECL.
  1423. 2001-05-22 Jason Merrill <jason_merrill@redhat.com>
  1424. * class.c, cp-tree.h, rtti.c: Remove com_interface attribute support.
  1425. * tree.c (cp_valid_lang_attribute): Warn about use of com_interface
  1426. attribute.
  1427. 2001-05-22 Joseph S. Myers <jsm28@cam.ac.uk>
  1428. * parse.y: Refer to compound literals as such, not as
  1429. constructor-expressions.
  1430. 2001-05-21 Mark Mitchell <mark@codesourcery.com>
  1431. * call.c (build_op_delete_call): Ignore exception-specifications
  1432. when looking for matching delete operators.
  1433. * init.c (build_new_1): Compute whether or not the allocation
  1434. function used is a placement allocation function or not, and
  1435. communicate this information to build_op_delete_call.
  1436. 2001-05-21 Jason Merrill <jason_merrill@redhat.com>
  1437. * class.c (build_vtable_entry_ref): Lose vtbl parm. Fix for new abi.
  1438. (build_vtbl_ref): Adjust.
  1439. (dfs_accumulate_vtbl_inits): Set TREE_CONSTANT on the vtable address.
  1440. * decl2.c (lang_f_options): Remove huge-objects, vtable-thunks.
  1441. Re-add vtable-gc.
  1442. (unsupported_options): Correspondingly.
  1443. * decl2.c (maybe_make_one_only): Check flag_weak, not
  1444. supports_one_only().
  1445. * cp-tree.def (START_CATCH_STMT): Lose.
  1446. * dump.c (cp_dump_tree): Don't dump it. Do dump HANDLER_PARMS.
  1447. * tree.c (cp_statement_code_p): Don't case it.
  1448. * semantics.c (cp_expand_stmt): Likewise.
  1449. * cp-tree.h (START_CATCH_TYPE): Lose.
  1450. (HANDLER_TYPE): New.
  1451. * except.c (expand_start_catch_block): Don't start any blocks.
  1452. Return the type.
  1453. (expand_end_catch_block): Don't end any blocks.
  1454. * parse.y (handler): Don't pass anything from finish_handler_parms
  1455. to finish_handler.
  1456. * pt.c (tsubst_expr): Likewise.
  1457. * semantics.c (begin_handler): Call note_level_for_catch here.
  1458. (finish_handler_parms): Don't return anything.
  1459. (genrtl_catch_block, begin_catch_block): Lose.
  1460. (genrtl_handler): Call expand_start_catch here.
  1461. 2001-05-18 Jason Merrill <jason_merrill@redhat.com>
  1462. * class.c (build_vtable): Set DECL_ASSEMBLER_NAME for vtables here.
  1463. (get_vtable_decl, build_vtt): Not here.
  1464. 2001-05-20 Nathan Sidwell <nathan@codesourcery.com>
  1465. PR c++/2781
  1466. * optimize.c (update_cloned_parm): Copy addressability and other
  1467. flags.
  1468. 2001-05-20 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
  1469. * pt.c (determine_specialization): Ignore artificial functions.
  1470. 2001-05-20 Neil Booth <neil@daikokuya.demon.co.uk>
  1471. * cp-tree.h (struct lang_identifier, C_RID_YYCODE): Update.
  1472. (C_RID_CODE): Remove.
  1473. * lex.c (cxx_init_options): Call set_identifier_size. Update.
  1474. (init_parse): Don't do it here.
  1475. 2001-05-18 Diego Novillo <dnovillo@redhat.com>
  1476. * decl2.c (finish_objects): Use the original SYMBOL_REF from the
  1477. function declaration to avoid stripping the symbol's attributes.
  1478. 2001-05-18 Nathan Sidwell <nathan@codesourcery.com>
  1479. * decl.c (pushdecl): Adjust error string.
  1480. (xref_tag): Adjust friend class injection warning. Remove the
  1481. inherited name from the class shadowed scope.
  1482. 2001-05-17 Mark Mitchell <mark@codesourcery.com>
  1483. * except.c (cp_protect_cleanup_actions): New function.
  1484. (init_exception_processing): Don't set protect_cleanup_actions
  1485. here. Do set lang_protect_cleanup_actions.
  1486. 2001-05-16 Nathan Sidwell <nathan@codesourcery.com>
  1487. * spew.c (read_token): Call yyerror on all unexpected tokens.
  1488. 2001-05-16 Nathan Sidwell <nathan@codesourcery.com>
  1489. * init.c (member_init_ok_or_else): Take a tree rather than
  1490. string for name.
  1491. (expand_member_init): Adjust.
  1492. 2001-05-14 Nick Clifton <nickc@cambridge.redhat.com>
  1493. * decl.c (duplicate_decls): Suppress warning about duplicate
  1494. decls if the first decl is a friend.
  1495. 2001-05-12 Zack Weinberg <zackw@stanford.edu>
  1496. * except.c (choose_personality_routine): Export. Add
  1497. explanatory comment. Take an enum languages, not a boolean.
  1498. (initialize_handler_parm): Adjust to match.
  1499. * cp-tree.h: Prototype choose_personality_routine.
  1500. * lex.c (handle_pragma_java_exceptions): New function.
  1501. (init_cp_pragma): Register #pragma GCC java_exceptions.
  1502. 2001-05-12 Neil Booth <neil@cat.daikokuya.demon.co.uk>
  1503. * method.c (build_mangled_C99_name): Remove unused prototype.
  1504. 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
  1505. * cp-tree.h (ptrmemfunc_vbit_where_t): Declare type.
  1506. * typeck.c (get_member_function_from_ptrfunc,
  1507. build_ptrmemfunc, expand_ptrmemfunc_cst): Take
  1508. TARGET_PTRMEMFUNC_VBIT_LOCATION into account.
  1509. Reverted Geoff Keating's 2001-05-03's patch.
  1510. 2001-05-11 Ira Ruben <ira@apple.com>
  1511. * cp/cp-tree.h (C_EXP_ORIGINAL_CODE): Delete; declared in c-common.h.
  1512. 2001-05-11 Neil Booth <neil@daikokuya.demon.co.uk>
  1513. * cp-tree.h (finish_label_expr, lookup_label): Delete.
  1514. * parse.y: Update for '&&'; don't issue warning here.
  1515. * semantics.c (finish_label_expr): Delete.
  1516. 2001-05-07 Mark Mitchell <mark@codesourcery.com>
  1517. * splay-tree.h (splay_tree_max): New function.
  1518. (splay_tree_min): Likewise.
  1519. 2001-05-03 Geoffrey Keating <geoffk@redhat.com>
  1520. * cp-tree.h (enum cp_tree_index): Add CPTI_PFN_VFLAG_IDENTIFIER.
  1521. (pfn_vflag_identifier): Define.
  1522. Update comment about layout of pointer functions.
  1523. (build_ptrmemfunc1): Update prototype.
  1524. (expand_ptrmemfunc_cst): Update prototype.
  1525. * decl.c (initialize_predefined_identifiers): Initialize
  1526. pfn_vflag_identifier.
  1527. (build_ptrmemfunc_type): When FUNCTION_BOUNDARY < 16, add
  1528. an extra field to the type.
  1529. * expr.c (cplus_expand_constant): Pass 'flag' between
  1530. expand_ptrmemfunc_cst and build_ptrmemfunc1.
  1531. * typeck.c (get_member_function_from_ptrfunc): When
  1532. FUNCTION_BOUNDARY < 16, look at additional field to determine
  1533. if a pointer-to-member is a real pointer or a vtable offset.
  1534. (build_ptrmemfunc1): Add new parameter to contain extra field.
  1535. (build_ptrmemfunc): Pass the extra field around.
  1536. (expand_ptrmemfunc_cst): Add new parameter to return extra field.
  1537. (pfn_from_ptrmemfunc): Ignore the extra field.
  1538. 2001-05-03 Mark Mitchell <mark@codesourcery.com>
  1539. * cp-tree.h (flag_inline_trees): Update documentation.
  1540. * decl.c (init_decl_processing): Adjust handling of
  1541. flag_inline_functions and flag_inline_trees to support -O3.
  1542. (grokfndecl): Set DECL_INLINE on all functions if that's what
  1543. the user requested.
  1544. (save_function_data): Clear DECL_INLINE in
  1545. current_function_cannot_inline is non-NULL.
  1546. * decl2.c (flag_inline_trees): Update documentation.
  1547. 2001-05-03 Nathan Sidwell <nathan@codesourcery.com>
  1548. * dump.c (cp_dump_tree, USING_STMT case): New case.
  1549. * tree.c (cp_statement_code_p): Add USING_STMT.
  1550. * decl2.c (do_using_directive): Add the using directive statement.
  1551. * tree.c (walk_tree): Reformat an if block.
  1552. 2001-05-02 Mark Mitchell <mark@codesourcery.com>
  1553. * decl.c (compute_array_index_type): Don't try to do anything with
  1554. the indices when processing a template.
  1555. 2001-05-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
  1556. * call.c: NULL_PTR -> NULL.
  1557. * class.c: Likewise.
  1558. * cvt.c: Likewise.
  1559. * decl.c: Likewise.
  1560. * decl2.c: Likewise.
  1561. * except.c: Likewise.
  1562. * init.c: Likewise.
  1563. * rtti.c: Likewise.
  1564. * search.c: Likewise.
  1565. * tree.c: Likewise.
  1566. * typeck.c: Likewise.
  1567. * typeck2.c: Likewise.
  1568. 2001-05-02 Mark Mitchell <mark@codesourcery.com>
  1569. * decl2.c (do_using_directive): Revert previous patch.
  1570. 2001-05-01 Nathan Sidwell <nathan@codesourcery.com>
  1571. * cp-tree.def (USING_STMT): New statement node.
  1572. * cp-tree.h (USING_STMT_NAMESPACE): New macro.
  1573. * decl2.c (do_using_directive): Add USING_STMT to statement
  1574. tree. Don't emit errors when processing template decl.
  1575. * pt.c (tsubst_expr, USING_STMT case): New case.
  1576. * semantics.c (cp_expand_stmt, USING_STMT case): New case.
  1577. 2001-05-01 Nathan Sidwell <nathan@codesourcery.com>
  1578. * call.c (build_new_op): Convert args from reference here.
  1579. (build_conditional_expr): Don't convert here.
  1580. 2001-05-01 Nathan Sidwell <nathan@codesourcery.com>
  1581. * spew.c (last_token_id): New static variable.
  1582. (read_token): Set it here.
  1583. (yyerror): Use it here.
  1584. 2001-04-30 Richard Henderson <rth@redhat.com>
  1585. * cvt.c: Downcase C_PROMOTING_INTEGER_TYPE_P invocations.
  1586. * decl.c: Likewise.
  1587. 2001-04-30 Mark Mitchell <mark@codesourcery.com>
  1588. * gxxint.texi: Remove.
  1589. * Make-lang.in: Remove all traces of gxxint.texi.
  1590. 2001-04-30 Mark P Mitchell <mark@codesourcery.com>
  1591. * decl2.c (start_static_initialization_or_destruction): Correct
  1592. logic to handle the -fno-use-cxa-atexit case.
  1593. 2001-04-30 Mark Mitchell <mark@codesourcery.com>
  1594. * optimize.c (update_cloned_parm): New function.
  1595. (maybe_clone_body): Use it. Update the `this' parameter too.
  1596. 2001-04-29 Joseph S. Myers <jsm28@cam.ac.uk>
  1597. * decl2.c (unsupported_options): Add new-abi.
  1598. * lang-options.h: Remove no longer supported options.
  1599. 2001-04-27 Nathan Sidwell <nathan@codesourcery.com>
  1600. * except.c (can_convert_eh): Don't check template parms,
  1601. typename types etc.
  1602. 2001-04-27 Nathan Sidwell <nathan@codesourcery.com>
  1603. * optimize.c (maybe_clone_body): Copy parameter names and locations.
  1604. 2001-04-27 Nathan Sidwell <nathan@codesourcery.com>
  1605. * cp-tree.h (adjust_clone_args): Prototype new function.
  1606. * class.c (adjust_clone_args): New function.
  1607. * decl.c (start_function): Call it for in charge ctors.
  1608. 2001-04-26 Mark Mitchell <mark@codesourcery.com>
  1609. * method.c (use_thunk): Make sure that thunks really are emitted
  1610. when requested.
  1611. 2001-04-26 Nathan Sidwell <nathan@codesourcery.com>
  1612. * mangle.c (write_chars): New macro.
  1613. (hwint_to_ascii): New function
  1614. (write_number): Use it.
  1615. (write_integer_cst): Deal with really big numbers.
  1616. 2001-04-25 Mark Mitchell <mark@codesourcery.com>
  1617. * optimize.c (maybe_clone_body): Copy TREE_PUBLIC before emitting
  1618. the clone.
  1619. 2001-04-25 Nathan Sidwell <nathan@codesourcery.com>
  1620. * decl.c (grokdeclarator): Set context of namespace scope
  1621. TYPE_DECLS.
  1622. 2001-04-24 Zack Weinberg <zackw@stanford.edu>
  1623. * cp/optimize.c: Include hashtab.h.
  1624. (struct inline_data): Add tree_pruner.
  1625. (expand_call_inline, expand_calls_inline): Use it when calling
  1626. walk_tree.
  1627. (optimize_function): Initialize and free tree_pruner.
  1628. 2001-04-24 Nathan Sidwell <nathan@codesourcery.com>
  1629. Lazy __FUNCTION__ generation.
  1630. * cp-tree.def (FUNCTION_NAME): Remove.
  1631. * cp-tree.h (function_name_declared_p): Remove.
  1632. (cp_fname_init): Prototype.
  1633. * decl.c (init_decl_processing): Don't generate __FUNCTION__ et al ids,
  1634. don't call declare_function_name. Call start_fname_decls.
  1635. (cp_make_fname_decl): Adjust parameters. Generate the name. Don't
  1636. clobber the line number.
  1637. (cp_fname_init): New function.
  1638. (start_function): Call start_fname_decls.
  1639. (finish_function): Call finish_fname_decls.
  1640. * lex.c (reswords): Add slots for __FUNCTION__ et al.
  1641. (rid_to_yy): Add mappings for __FUNCTION__ et al.
  1642. * optimize.c (maybe_clone_body): Remove function_name_declared_p.
  1643. * parse.y (VAR_FUNC_NAME): New token.
  1644. (primary): Add VAR_FUNC_NAME.
  1645. * pt.c (tsubst_decl): Adjust a DECL_PRETTY_FUNCTION_P's
  1646. generation.
  1647. (tsubst, FUNCTION_NAME case): Remove.
  1648. (tsubst_copy, FUNCTION_NAME case): Remove.
  1649. (tsubst_expr, DECL_STMT case): Be careful with a
  1650. DECL_PRETTY_FUNCTION_P.
  1651. (instantiate_decl): Remove function_name_declared_p.
  1652. * semantics.c (begin_compound_statement): Don't call
  1653. declare_function_name here.
  1654. (setup_vtbl_ptr). Don't save & restore function_name_declared_p.
  1655. (finish_translation_unit): Call finish_fname_decls.
  1656. (expand_body): Remove function_name_declared_p.
  1657. * typeck2.c (digest_init): Allow any ERROR_MARK.
  1658. 2001-04-24 Nathan Sidwell <nathan@codesourcery.com>
  1659. * pt.c (tsubst_decl): Use VOID_TYPE_P.
  1660. * semantics.c: Fix some typos.
  1661. 2001-04-23 Phil Edwards <pme@sources.redhat.com>
  1662. * cp/decl2.c (flag_honor_std): Always initialize to 1.
  1663. 2001-04-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
  1664. * xref.c (GNU_xref_file): Use concat in lieu of xmalloc/sprintf.
  1665. 2001-04-23 Jason Merrill <jason_merrill@redhat.com>
  1666. * except.c (build_throw): Wrap the initialization of the exception
  1667. object in a MUST_NOT_THROW_EXPR.
  1668. (do_free_exception): #if 0.
  1669. 2001-04-20 Mark Mitchell <mark@codesourcery.com>
  1670. * cp-tree.h (finish_enum): Change prototype.
  1671. * decl.c (finish_enum): Reorganize.
  1672. * parse.y (structsp): Adjust calls to finish_enum.
  1673. 2001-04-20 Nathan Sidwell <nathan@codesourcery.com>
  1674. * tree.c (cp_tree_equal): Adjust final switch formatting. Add
  1675. 't' case.
  1676. 2001-04-20 Nathan Sidwell <nathan@codesourcery.com>
  1677. * class.c (dfs_unshared_virtual_bases): Add ATTRIBUTE_UNUSED.
  1678. (layout_empty_base): Return at end flag.
  1679. (build_base_field): Likewise.
  1680. (build_base_fields): Likewise.
  1681. (layout_virtual_bases): Don't add 1 to eoc value.
  1682. (end_of_class): Use full size for empty bases.
  1683. (layout_class_type): Clear CLASSNEARLY_EMPTY_P if we appended
  1684. empty bases. Don't add 1 to eoc value. Only add trailing padding
  1685. if we're an empty class with no empty bases.
  1686. (dump_class_hierarchy): Dump size and alignment.
  1687. 2001-04-20 Jakub Jelinek <jakub@redhat.com>
  1688. * call.c (maybe_handle_ref_bind): Copy ICS_USER_FLAG and
  1689. ICS_BAD_FLAG.
  1690. 2001-04-20 Jakub Jelinek <jakub@redhat.com>
  1691. * search.c (lookup_field_r): If looking for type and non-TYPE_DECL
  1692. is found, look first if name does not match the structure name.
  1693. 2001-04-19 Mark Mitchell <mark@codesourcery.com>
  1694. * cp-tree.h (DECL_LANGUAGE): Don't assume DECL_LANG_SPECIFIC is
  1695. set.
  1696. (SET_DECL_LANGUAGE): New macro.
  1697. * decl.c (duplicate_decls): Use SET_DECL_LANGUAGE.
  1698. (pushdecl): Likewise.
  1699. (build_library_fn_1): Likewise.
  1700. (build_cp_library_fn): Likewise.
  1701. (grokfndecl): Likewise.
  1702. (grokvardecl): Mark `extern "C"' variables as having C linkage.
  1703. * decl2.c (grokclassfn): Use SET_DECL_LANGUAGE.
  1704. * lex.c (retrofit_lang_decl): Likewise.
  1705. * mangle.c (mangle_decl_string): Don't mangle the names of
  1706. variables declared with C language linkage.
  1707. * semantics.c (finish_member_declaration): Use SET_DECL_LANGUAGE.
  1708. 2001-04-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
  1709. * semantics.c (simplify_aggr_init_exprs_r): Don't restore
  1710. flag_access_control from uninitialized storage.
  1711. 2001-04-15 Mark Mitchell <mark@codesourcery.com>
  1712. * cp-tree.h (TYPE_PTRMEM_CLASS_TYPE): Improve documentation.
  1713. * mangle.c (write_pointer_to_member_type): Fix mangling of
  1714. pointers to cv-qualified member function types.
  1715. * init.c (build_delete): Create a SAVE_EXPR for the address if
  1716. we're going to use it more than once.
  1717. 2001-04-13 Mark Mitchell <mark@codesourcery.com>
  1718. * cp-tree.h (DELTA2_FROM_PTRMEMFUNC): Remove.
  1719. (expand_ptremfunc_cst): Change prototype.
  1720. (delta2_from_ptrmemfunc): Remove.
  1721. * expr.c (cplus_expand_constant): Adjust call to
  1722. expand_ptrmemfunc_cst.
  1723. * typeck.c (build_ptrmemfunc1): Simplify.
  1724. (build_ptrmemfunc): Make sure that casting a PTRMEM_CST still
  1725. results in a constant.
  1726. (expand_ptrmemfunc_cst): Remove idx and delta2 parameters.
  1727. (delta2_from_ptrmemfunc): Remove.
  1728. (pfn_from_ptrmemfunc): Adjust call to expand_ptrmemfunc_cst.
  1729. 2001-04-12 Jason Merrill <jason_merrill@redhat.com>
  1730. * cp-tree.h (decl_namespace_list): New macro.
  1731. (struct saved_scope): Add decl_ns_list.
  1732. * decl.c (mark_saved_scope): Mark it.
  1733. * decl2.c: Lose static decl_namespace_list.
  1734. (init_decl2): Don't save it.
  1735. 2001-04-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
  1736. * cp-tree.h (warn_return_type, yylex): Delete redundant
  1737. declarations.
  1738. * decl.c (current_class_depth, global_namespace): Likewise.
  1739. * decl2.c (current_class_depth, flag_gnu_xref): Likewise
  1740. * repo.c (flag_use_repository): Likewise.
  1741. 2001-04-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
  1742. * cp-tree.h (pedantic, convert, global_bindings_p, insert_block,
  1743. set_block, pushdecl, getdecls, gettags, init_decl_processing,
  1744. maybe_build_cleanup, copy_lang_decl, prep_stmt, lvalue_p,
  1745. lvalue_or_else, print_lang_statistics, comp_target_types,
  1746. unsigned_type, signed_type, signed_or_unsigned_type,
  1747. build_function_call, mark_addressable, incomplete_type_error):
  1748. Delete redundant declarations.
  1749. 2001-04-11 Jason Merrill <jason_merrill@redhat.com>
  1750. * cp-tree.h (TYPE_LINKAGE_IDENTIFIER): New macro.
  1751. (TYPE_ANONYMOUS_P): New macro.
  1752. (TAGGED_TYPE_P): New macro.
  1753. * decl.c (check_tag_decl): Use TYPE_ANONYMOUS_P.
  1754. (grokfndecl, grokvardecl, grokdeclarator): Likewise.
  1755. * tree.c (no_linkage_helper): Likewise.
  1756. * semantics.c (begin_class_definition): Likewise.
  1757. * pt.c (convert_template_argument): Likewise.
  1758. * lex.c (check_for_missing_semicolon): Likewise.
  1759. 2001-04-12 Nathan Sidwell <nathan@codesourcery.com>
  1760. * class.c (dfs_unshared_virtual_bases): New function.
  1761. (mark_primary_bases): Call it.
  1762. (check_bases): Ignore virtual bases when determining
  1763. nearly-emptiness.
  1764. 2001-04-12 Nathan Sidwell <nathan@codesourcery.com>
  1765. * method.c (make_thunk): Clear DECL_CLONED_FUNCTION.
  1766. 2001-04-11 Mark Mitchell <mark@codesourcery.com>
  1767. * optimize.c (maybe_clone_body): Copy DECL_NUM_STMTS from the
  1768. cloned function to the clone.
  1769. 2001-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
  1770. * Make-lang.in (cp/semantics.o): Depend on $(EXPR_H).
  1771. * semantics.c: Include expr.h.
  1772. 2001-04-11 Nathan Sidwell <nathan@codesourcery.com>
  1773. * method.c (implicitly_declare_fn): Commonize code for copy ctor
  1774. and assignment op. Set TREE_USED for parameter.
  1775. 2001-04-10 Mark Mitchell <mark@codesourcery.com>
  1776. * class.c (find_final_overrider_data): Add `candidates'.
  1777. (dfs_find_final_overrider): Don't issue error messages
  1778. prematurely.
  1779. (find_final_overrider): Issue error messages here.
  1780. (build_base_field): Don't warn about amgibuous direct bases here.
  1781. (warn_about_ambiguous_direct_bases): New function.
  1782. (layout_class_type): Use it.
  1783. 2001-04-10 Richard Henderson <rth@redhat.com>
  1784. * typeck.c (build_array_ref): Push the array reference inside
  1785. COMPOUND_EXPR and COND_EXPR.
  1786. 2001-04-05 Mark Mitchell <mark@codesourcery.com>
  1787. * cp-tree.h (DECL_THIS_INLINE): Rename to DECL_DECLARED_INLINE_P.
  1788. * decl.c (duplicate_decls): Adjust accordingly.
  1789. (maybe_commonize_var): Likewise.
  1790. (grokfndecl): Likewise.
  1791. (start_function): Likewise.
  1792. (start_method): Likewise.
  1793. * decl2.c (key_method): Likewise.
  1794. (import_export_decl): Likewise.
  1795. * method.c (implicitly_declare_fn): Likewise.
  1796. * optimize.c (maybe_clone_body): Likewise.
  1797. 2001-04-05 Benjamin Kosnik <bkoz@redhat.com>
  1798. * lang-specs.h: Add __DEPRECATED.
  1799. 2001-04-05 J"orn Rennecke <amylaar@redhat.com>
  1800. * search.c (get_dynamic_cast_base_type): When building a new
  1801. constant, set its type to ssizetype.
  1802. 2001-04-04 Jakub Jelinek <jakub@redhat.com>
  1803. * optimize.c (expand_call_inline): Only add newly inlined statements
  1804. into inlined_stmts.
  1805. 2001-04-03 Mark Mitchell <mark@codesourcery.com>
  1806. * cp-tree.h (OPERATOR_ASSIGN_FORMAT): Remove.
  1807. (OPERATOR_FORMAT): Likewise.
  1808. (OPERATOR_TYPENAME_FORMAT): Likewise.
  1809. * operators.def: Remove old name-mangling information.
  1810. * decl.c (grok_op_properties): Adjust accordingly.
  1811. * lex.c (init_operators): Likewise.
  1812. * rtti.c (get_tinfo_decl): Issue error messages about types that
  1813. have variable size.
  1814. 2001-04-03 Mark Mitchell <mark@codesourcery.com>
  1815. * decl2.c (import_export_decl): Don't call import_export_class
  1816. when processing an inline member function.
  1817. * semantics.c (expand_body): Call import_export_decl before
  1818. emitting inline functions.
  1819. 2001-03-28 Richard Henderson <rth@redhat.com>
  1820. IA-64 ABI Exception Handling:
  1821. * cp-tree.def (EH_SPEC_BLOCK): New.
  1822. (MUST_NOT_THROW_EXPR): New.
  1823. * cp-tree.h: Update changed function declarations.
  1824. (CPTI_PUSH_EXCEPTION_IDENTIFIER): Remove.
  1825. (CPTI_CALL_UNEXPECTED): New.
  1826. (struct cp_language_function): Rename x_eh_spec_try_block
  1827. to x_eh_spec_block.
  1828. (EH_SPEC_STMTS, EH_SPEC_RAISES): New.
  1829. * decl.c (current_binding_level): If no current function
  1830. bindings, revert to scope_chain.
  1831. (initialize_predefined_identifiers): Remove __cp_push_exception.
  1832. (store_parm_decls): Use begin_eh_spec_block.
  1833. (finish_function): Use finish_eh_spec_block.
  1834. (mark_lang_function): Update for name changes.
  1835. * decl2.c (finish_file): No mark_all_runtime_matches.
  1836. * dump.c (cp_dump_tree): Handle new tree codes.
  1837. * error.c (dump_expr) [BIND_EXPR]: Fix typo.
  1838. * except.c (catch_language_init, catch_language): Remove.
  1839. (init_exception_processing): Don't set language code.
  1840. Initialize call_unexpected_node, protect_cleanup_actions,
  1841. eh_personality_libfunc, lang_eh_runtime_type.
  1842. (call_eh_info, push_eh_info, get_eh_info, get_eh_value): Remove.
  1843. (get_eh_type, get_eh_caught, get_eh_handlers): Remove.
  1844. (prepare_eh_type): Split out type canonicalizations ...
  1845. (build_eh_type_type): ... from here.
  1846. (build_eh_type_type_ref): Remove.
  1847. (mark_all_runtime_matches): Remove.
  1848. (build_exc_ptr): New.
  1849. (do_begin_catch, do_end_catch): New.
  1850. (do_pop_exception): Remove.
  1851. (build_terminate_handler): Remove.
  1852. (choose_personality_routine): Split out language choice from ...
  1853. (initialize_handler_parm): ... here.
  1854. Use MUST_NOT_THROW_EXPR.
  1855. (expand_start_catch_block): Use do_begin_catch. Simplify Java
  1856. exception object handling.
  1857. (expand_start_eh_spec, expand_end_eh_spec): Remove.
  1858. (expand_exception_blocks, alloc_eh_object): Remove.
  1859. (begin_eh_spec_block, finish_eh_spec_block): New.
  1860. (do_allocate_exception, do_free_exception): New.
  1861. (expand_throw): Merge into ...
  1862. (build_throw): ... here. Update for abi.
  1863. * expr.c (cplus_expand_expr): No expand_internal_throw.
  1864. Handle MUST_NOT_THROW_EXPR.
  1865. * pt.c (tsubst_expr): Handle EH_SPEC_BLOCK.
  1866. * semantics.c (*) Update for except.h name changes.
  1867. (genrtl_try_block): No protect_with_terminate.
  1868. (genrtl_eh_spec_block): New.
  1869. (genrtl_handler): Don't emit the goto here.
  1870. (cp_expand_stmt): Handle EH_SPEC_BLOCK.
  1871. (genrtl_finish_function): Don't expand_exception_blocks.
  1872. * tree.c (cp_statement_code_p): Handle EH_SPEC_BLOCK.
  1873. 2001-03-28 Richard Henderson <rth@redhat.com>
  1874. * decl.c (struct named_label_list): Rename eh_region to
  1875. in_try_scope, add in_catch_scope.
  1876. (struct binding_level): Rename eh_region to is_try_scope,
  1877. add is_catch_scope.
  1878. (note_level_for_try): Rename from note_level_for_eh.
  1879. (note_level_for_catch): New.
  1880. (poplevel): Copy both is_try_scope and is_catch_scope to
  1881. the named_label_list struct.
  1882. (check_previous_goto_1): Don't check for catch block via
  1883. DECL_ARTIFICIAL; use in_try_scope instead.
  1884. (check_goto): Likewise.
  1885. * cp-tree.h (note_level_for_try, note_level_for_catch): Declare.
  1886. * except.c (expand_start_catch_block): Call note_level_for_catch.
  1887. * semantics.c (begin_compound_stmt): Update for note_level_for_try.
  1888. 2001-03-27 Richard Henderson <rth@redhat.com>
  1889. * except.c: Use USING_SJLJ_EXCEPTIONS instead of
  1890. exceptions_via_longjmp.
  1891. 2001-03-27 Phil Edwards <pme@sources.redhat.com>
  1892. * pt.c (check_default_tmpl_args): Make error messages clearer.
  1893. 2001-03-26 Phil Edwards <pme@sources.redhat.com>
  1894. * error.c: Also undefine 'A' macro used for cp_printers definition.
  1895. 2001-03-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
  1896. * Make-lang.in: Depend on $(SYSTEM_H), not system.h.
  1897. 2001-03-26 Mike Yang <yang@research.att.com>
  1898. Mark Mitchell <mark@codesourcery.com>
  1899. * dump.c (dump_access): New function.
  1900. (cp_dump_tree): Use it. Dump basetype information for class
  1901. types.
  1902. 2001-03-26 Mark Mitchell <mark@codesourcery.com>
  1903. * Makefile.in (optimize.o): Depend on params.h.
  1904. (duplicate_decls): Copy DECL_NUM_STMTS, not DECL_FRAME_SIZE.
  1905. (init_decl_processing): Set flag_no_inline when doing
  1906. inlining-on-trees.
  1907. * optimize.c: Include params.h.
  1908. (struct inline_data): Improve documentation of FNS. Add
  1909. FIRST_INLINED_FN, INLINED_STMTS, and CLONING_P.
  1910. (INSNS_PER_STMT): New macro.
  1911. (remap_block): Use CLONING_P.
  1912. (inlinable_function_p): Don't inline big functions.
  1913. (expand_call_inline): Keep track of how much inlining we've done.
  1914. (optimize_function): Set FIRST_INLINED_FN.
  1915. (maybe_clone_body): Set CLONING_P.
  1916. * semantics.c (simplify_aggr_init_exprs_r): Fix typing problems in
  1917. tree nodes.
  1918. (genrtl_finish_function): Clear DECL_DEFER_OUTPUT before calling
  1919. rest_of_compilation. Clear DECL_RTL for local variables
  1920. afterwards.
  1921. (clear_decl_rtl): New function.
  1922. 2001-03-26 Nathan Sidwell <nathan@codesourcery.com>
  1923. Implement DR 209
  1924. * cp-tree.h (skip_type_access_control,
  1925. reset_type_access_control): Prototype.
  1926. * decl.c (grokdeclarator): Access of friends is not checked.
  1927. * parse.y (component_decl_list): Reset type access control.
  1928. * semantics.c (decl_type_access_control): Clear
  1929. current_type_lookups.
  1930. (save_type_access_control): Don't save if not deferring.
  1931. (skip_type_access_control, reset_type_access_control): New
  1932. functions.
  1933. (begin_class_definition): Do type access control for basetypes.
  1934. Start deferred access control.
  1935. (finish_class_definition): Resume immediate access control if
  1936. this is a local class.
  1937. 2001-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
  1938. * class.c (add_method): Use memcpy/memmove, not bcopy.
  1939. * decl.c (duplicate_decls): Likewise.
  1940. 2001-03-23 Jakub Jelinek <jakub@redhat.com>
  1941. * mangle.c (write_discriminator): Use `_0' for discriminator 1,
  1942. not `_'.
  1943. 2001-03-23 Jakub Jelinek <jakub@redhat.com>
  1944. * decl.c (local_names): Define.
  1945. (push_local_name): New.
  1946. (grok_reference_init): Return init if initializing static reference
  1947. variable with non-constant instead of emitting it.
  1948. Move expand_static_init call to cp_finish_decl.
  1949. (layout_var_decl): Call push_local_name.
  1950. (maybe_commonize_var): Allow inlining functions even if they have
  1951. static local variables, use comdat_linkage for them if flag_weak.
  1952. (check_initializer): Call obscure_complex_init if
  1953. grok_reference_init returned nonzero.
  1954. (save_function_data): Clear x_local_names.
  1955. (pop_cp_function_context): Free x_local_names.
  1956. (mark_inlined_fns): Remove.
  1957. (mark_lang_function): Mark x_local_names.
  1958. (lang_mark_tree): Don't mark DECL_ACCESS for DECL_DISCRIMINATOR_P.
  1959. Mark inlined_fns as tree, remove call to mark_inlined_fns.
  1960. * class.c (alter_access): Ensure DECL_ACCESS is never set if
  1961. DECL_DISCRIMINATOR_P.
  1962. * cp-tree.h (cp_language_function): Add x_local_names.
  1963. (lang_decl_flags): Add discriminator into u2.
  1964. (lang_decl_inlined_fns): Remove.
  1965. (lang_decl): inlined_fns is now a TREE_VEC.
  1966. (DECL_DISCRIMINATOR_P, DECL_DISCRIMINATOR): Define.
  1967. * optimize.c (inlinable_function_p): DECL_INLINED_FNS is now a
  1968. TREE_VEC, not a custom structure.
  1969. (optimize_function): Likewise.
  1970. * mangle.c (discriminator_for_local_entity): Discriminate among
  1971. VAR_DECL local entities.
  1972. * search.c (dfs_access_in_type): If DECL_DISCRIMINATOR_P, DECL_ACCESS
  1973. is not valid.
  1974. 2001-03-22 Bryce McKinlay <bryce@albatross.co.nz>
  1975. Add support for Java interface method calls.
  1976. * cp-tree.h (struct lang_type): Add java_interface flag.
  1977. (TYPE_JAVA_INTERFACE): New macro.
  1978. * tree.c (cp_valid_lang_attribute): Handle "java_interface" attribute
  1979. by setting TYPE_JAVA_INTERFACE.
  1980. * call.c (java_iface_lookup_fn): New static.
  1981. (build_over_call): If calling a method declared in a
  1982. TYPE_JAVA_INTERFACE, call build_java_interface_fn_ref to generate the
  1983. expression which resolves the function address.
  1984. (build_java_interface_fn_ref): New function.
  1985. 2001-03-22 Richard Henderson <rth@redhat.com>
  1986. * Make-lang.in (cp/except.o): Don't depend on insn-flags.h.
  1987. * except.c: Don't include it.
  1988. 2001-03-22 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
  1989. based on an idea from Joe Buck <jbuck@synopsys.com>
  1990. * parse.y (bad_decl, template_arg_list_ignore, arg_list_ignore):
  1991. New nonterminals.
  1992. (data_def, component_decl): Add reductions to bad_decl.
  1993. 2001-03-22 Jakub Jelinek <jakub@redhat.com>
  1994. * method.c (do_build_assign_ref): Don't use build_modify_expr for
  1995. anonymous aggregates, since they don't have assignment operator
  1996. method.
  1997. * decl.c (fixup_anonymous_aggr): Disallow ctors, dtors and copy
  1998. assignment operators for anonymous structure fields.
  1999. 2001-03-21 Jason Merrill <jason@redhat.com>
  2000. * pt.c (instantiate_decl): Abort if we see a member constant
  2001. instantiation that doesn't already have its initializer.
  2002. Downgrade explicit instantiation without definition to pedwarn.
  2003. * cp-tree.h (DECL_TINFO_FN_P, SET_DECL_TINFO_FN_P): Remove.
  2004. * class.c (build_vtable_entry): Don't check DECL_TINFO_FN_P.
  2005. (import_export_decl): Check tinfo_decl_p, not DECL_TINFO_FN_P.
  2006. * cp-tree.h (CLASSTYPE_VTABLE_NEEDS_WRITING): Remove.
  2007. (pending_vtables): Remove.
  2008. * decl2.c (pending_vtables): Remove.
  2009. (import_export_vtable): Use CLASSTYPE_INTERFACE_ONLY, not
  2010. CLASSTYPE_VTABLE_NEEDS_WRITING.
  2011. (import_export_class): Likewise.
  2012. (init_decl2): Don't mark pending_vtables.
  2013. * lex.c (handle_pragma_vtable): Just sorry.
  2014. * pt.c (instantiate_class_template): Don't mess with
  2015. CLASSTYPE_VTABLE_NEEDS_WRITING.
  2016. (mark_class_instantiated): Likewise.
  2017. * ptree.c (print_lang_type): Don't print it.
  2018. * semantics.c (begin_class_definition): Don't set it.
  2019. * pt.c (template_tail): Replace with last_pending_template.
  2020. (maybe_templates, maybe_template_tail): Remove.
  2021. (add_pending_template): Adjust.
  2022. (instantiate_pending_templates): Adjust.
  2023. * cp-tree.h (struct saved_scope): Remove lang_stack field.
  2024. (current_lang_stack): Remove.
  2025. * decl.c (maybe_push_to_top_level): Don't initialize it.
  2026. (duplicate_decls): Use current_lang_depth.
  2027. (xref_basetypes): Likewise.
  2028. * class.c (current_lang_depth): New fn.
  2029. (push_lang_context): Use more varray functionality.
  2030. (pop_lang_context): Likewise.
  2031. * error.c (GLOBAL_THING): Always use '__'.
  2032. 2001-03-21 Mark Mitchell <mark@codesourcery.com>
  2033. * class.c (build_clone): Clear DECL_ASSEMBLER_NAME.
  2034. * mangle.c (mangle_decl_string): Mangle the names of overloaded
  2035. operators, even when they have `extern "C"' linkage.
  2036. 2001-03-19 Mark Mitchell <mark@codesourcery.com>
  2037. * class.c (get_vtable_decl): Use SET_DECL_ASSEMBLER_NAME,
  2038. COPY_DECL_ASSEMBLER_NAME, etc. Don't set DECL_ASSEMBLER_NAME
  2039. where it's not necessary.
  2040. (add_method): Remove optimization involving comparison of
  2041. DECL_ASSEMBLER_NAME.
  2042. (build_vtbl_or_vbase_field): Use SET_DECL_ASSEMBLER_NAME,
  2043. COPY_DECL_ASSEMBLER_NAME, etc. Don't set DECL_ASSEMBLER_NAME
  2044. where it's not necessary.
  2045. (check_methods): Likewise.
  2046. (build_clone): Likewise.
  2047. (built_vtt): Likewise.
  2048. * cp-tree.h (DECL_NEEDED_P): Likewise.
  2049. * decl.c (pushtag): Likewise.
  2050. (duplicate_decls): Likewise.
  2051. (pushdecl): Likewise.
  2052. (builtin_function): Likewise.
  2053. (build_library_fn_1): Set DECL_LANGUAGE for library functions.
  2054. (build_cp_library_fn): Likewise.
  2055. (maybe_commonize_var): Use SET_DECL_ASSEMBLER_NAME,
  2056. COPY_DECL_ASSEMBLER_NAME, etc. Don't set DECL_ASSEMBLER_NAME
  2057. where it's not necessary.
  2058. (make_rtl_for_nonlocal_decl): Likewise.
  2059. (cp_finish_decl): Likewise.
  2060. (grokfndecl): Likewise.
  2061. (grokvardecl): Likewise.
  2062. (grokdeclarator): Likewise.
  2063. (start_function): Likewise.
  2064. (cp_missing_return_ok_p): Likewise.
  2065. * decl2.c (grokclassfn): Likewise.
  2066. (check_classfn): Likewise.
  2067. (finish_static_data_member_decl): Likewise.
  2068. (grokfield): Likewise.
  2069. * error.c (GLOBAL_IORD_P): Remove.
  2070. (dump_global_iord): Improve output.
  2071. (dump_decl): Avoid using DECL_ASSEMBLER_NAME.
  2072. * except.c (nothrow_libfn_p): Summarily reject any function not in
  2073. namespace-scope.
  2074. * init.c (build_java_class_ref): Don't explicitly set
  2075. DECL_ASSEMBLER_NAME after calling mangle_decl.
  2076. * mangle.c (mangle_decl_string): Handle extern "C" functions.
  2077. (mangle_decl): Set the DECL_ASSEMBLER_NAME for the decl.
  2078. * method.c (set_mangled_name_for_decl): Don't explicitly set
  2079. DECL_ASSEMBLER_NAME after calling mangle_decl.
  2080. (make_thunk): Explicitly set the DECL_ASSEMBLER_NAME and
  2081. IDENTIFIER_GLOBAL_VALUE for the thunk.
  2082. * pt.c (set_mangled_name_for_template_decl): Remove.
  2083. (check_explicit_specialization): Don't use it.
  2084. (looup_template_class): Don't set DECL_ASSEMBLER_NAME.
  2085. (tsubst_friend_function): Likewise.
  2086. (tsubst_decl): Likewise.
  2087. (regenerate_decl_from_template): Use COPY_DECL_ASSEMBLER_NAME.
  2088. * rtti.c (get_tinfo_decl): Use SET_DECL_ASSEMBLER_NAME,
  2089. COPY_DECL_ASSEMBLER_NAME, etc. Don't set DECL_ASSEMBLER_NAME
  2090. where it's not necessary.
  2091. (tinfo_base_init): Likewise.
  2092. (create_real_tinfo_var): Likewise.
  2093. * search.c (looup_field_1): Likewise.
  2094. * semantics.c (finish_named_return_value): Likewise.
  2095. * tree.c (init_tree): Set lang_set_decl_assembler_name.
  2096. 2001-03-15 Gabriel Dos Reis <gdr@codesourcery.com>
  2097. Correct semantics restrictions checking in throw-expression.
  2098. * except.c (is_admissible_throw_operand): New function.
  2099. (build_throw): Use it.
  2100. 2001-03-14 Mark Mitchell <mark@codesourcery.com>
  2101. * decl.c (cp_make_fnname_decl): Set DECL_IGNORED_P on __FUNCTION__
  2102. and its ilk.
  2103. 2001-03-14 Mark Mitchell <mark@codesourcery.com>
  2104. * class.c (build_clone): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
  2105. * cp-tree.h (DECL_IN_MEMORY_P): Likewise.
  2106. * decl.c (duplicate_decls): Likewise.
  2107. (builtin_function): Likewise.
  2108. (build_library_fn): Likewise.
  2109. (build_cp_library_fn): Likewise.
  2110. (check_initializer): Likewise.
  2111. (cp_finish_decl): Likewise.
  2112. * decl2.c (grokfield): Likewise.
  2113. (grok_function_init): Remove #if 0'd code.
  2114. (finish_anon_union): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
  2115. * friend.c (do_friend): Likewise.
  2116. * init.c (get_temp_regvar): Likewise.
  2117. * method.c (make_thunk): Likewise.
  2118. * pt.c (tsubst_friend_function): Likewise.
  2119. (tsubst_decl): Likewise.
  2120. (regenerate_decl_from_template): Likewise.
  2121. * semantics.c (genrtl_named_return_value): Likewise.
  2122. (expand_body): Likewise.
  2123. (genrtl_finish_function): Likewise.
  2124. * tree.c (cp_tree_equal): Likewise.
  2125. 2001-03-12 Nathan Sidwell <nathan@codesourcery.com>
  2126. * call.c (convert_like_real): Add extra semantics to INNER
  2127. parameter. Don't convert to temporary if a user conversion
  2128. gives us an lvalue that we're about to bind to a reference.
  2129. Set INNER to indicate pending reference binding on recursive
  2130. calls.
  2131. 2001-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
  2132. * cp/lex.c: Delete duplicate pending_lang_change.
  2133. 2001-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
  2134. * cp/lex.c (handle_pragma_interface, handle_pragma_implementation):
  2135. Similarly.
  2136. * cp/repo.c (get_base_filename, open_repo_file): Similarly.
  2137. * cp/cp-tree.h: Remove file_name_nondirectory prototype.
  2138. 2001-03-09 Zack Weinberg <zackw@stanford.edu>
  2139. * Make-lang.in: Add dependencies on $(TM_P_H) as appropriate.
  2140. 2001-03-08 Stan Shebs <shebs@apple.com>
  2141. * cp-tree.h (set_identifier_local_value): Remove unused decl.
  2142. 2001-03-06 Zack Weinberg <zackw@stanford.edu>
  2143. * spew.c: Remove references to CPP_OSTRING.
  2144. 2001-03-06 Andrew Haley <aph@redhat.com>
  2145. * typeck.c (convert_arguments): Check that we have an fndecl.
  2146. 2001-03-05 Andrew Haley <aph@redhat.com>
  2147. * typeck.c (convert_arguments): Don't do ellipsis conversion for
  2148. __built_in_constant_p.
  2149. 2001-03-02 Nathan Sidwell <nathan@codesourcery.com>
  2150. * typeck.c (build_static_cast): Allow enum to enum conversions
  2151. as per DR 128.
  2152. 2001-03-02 Nathan Sidwell <nathan@codesourcery.com>
  2153. * class.c (check_field_decls): Pointers to member do not a
  2154. non-pod struct make, as per DR 148.
  2155. 2001-03-02 Nathan Sidwell <nathan@codesourcery.com>
  2156. * call.c (joust): cp_pedwarn when using gnu extension concerning
  2157. worst conversion sequences.
  2158. 2001-03-01 Zack Weinberg <zackw@stanford.edu>
  2159. * decl.c: Replace all uses of 'boolean' with 'bool'.
  2160. 2001-03-01 Zack Weinberg <zackw@stanford.edu>
  2161. * lang-specs.h: Add zero initializer for cpp_spec field to
  2162. all array elements that need one. Don't put an #ifdef inside
  2163. the initializer list; set a default for CPLUSPLUS_CPP_SPEC and
  2164. use it.
  2165. 2001-03-01 Nathan Sidwell <nathan@codesourcery.com>
  2166. Implement using decls inside template functions.
  2167. * decl2.c (validate_nonmember_using_decl): Don't special case
  2168. fake_std_node in the global namespace. Don't reject early when
  2169. processing a template.
  2170. (do_local_using_decl): Add to statement tree. Don't do further
  2171. processing when building a template.
  2172. * pt.c (tsubst_expr, DECL_STMT case): Deal with USING_DECLs.
  2173. 2001-03-01 Nathan Sidwell <nathan@codesourcery.com>
  2174. * decl2.c (do_nonmember_using_decl): Don't complain if we find
  2175. same function. Do complain about ambiguating extern "C"
  2176. declarations.
  2177. 2001-02-28 Nathan Sidwell <nathan@codesourcery.com>
  2178. Remove floating point and complex type template constant parms.
  2179. * pt.c (convert_nontype_argument): Remove REAL_TYPE and
  2180. COMPLEX_TYPE extensions.
  2181. (invalid_nontype_parm_type_p): Likewise.
  2182. 2001-02-27 Jeffrey Oldham <oldham@codesourcery.com>
  2183. * except.c (call_eh_info): Revert "match_function"'s type.
  2184. 2001-02-27 Nathan Sidwell <nathan@codesourcery.com>
  2185. Fix ctor vtable vcall offsets.
  2186. * class.c (struct vtbl_init_data_s): Add rtti_binfo member.
  2187. (build_rtt_vtbl_entries): Lose RTTI_BINFO parameter.
  2188. (get_matching_base): Remove.
  2189. (get_original_base): New function.
  2190. (build_vtbl_initializer): Initialize vid.rtti_binfo.
  2191. Use a virtual thunk for a ctor vtable with an index
  2192. (add_vcall_offset_vtbl_entries_1): Check if binfo has lost a
  2193. primary base within a constructor vtable. Only set
  2194. BV_VCALL_INDEX when not a constructor vtable. Adjust vcall offset
  2195. when primary base has been lost.
  2196. * cp-tree.h (BINFO_VIRTUALS): Remove ambiguity from comment.
  2197. 2001-02-26 Jeffrey Oldham <oldham@codesourcery.com>
  2198. * call.c (joust): Ensure more_specialized()'s argument length
  2199. parameter has correct value for constructors.
  2200. 2001-02-26 Nathan Sidwell <nathan@codesourcery.com>
  2201. * except.c (call_eh_info): Cleanup generation of cp_eh_info struct.
  2202. * decl.c (mark_inlined_fns): Prototype.
  2203. 2001-02-22 Mark Mitchell <mark@codesourcery.com>
  2204. * spew.c (yylex): Correct handling of friends.
  2205. 2001-02-22 Mark Mitchell <mark@codesourcery.com>
  2206. * mangle.c (write_encoding): Pass write_function_type the
  2207. FUNCTION_DECL for the function being encoded.
  2208. (write_function_type): Pass it along to write_bare_function_type.
  2209. (write_bare_function_type): Pass it along to write_method_parms.
  2210. (write_method_parms): Don't mangle the compiler-generated
  2211. parameters to a constructor or destructor.
  2212. 2001-02-22 Andreas Jaeger <aj@suse.de>
  2213. * optimize.c: Include toplev.h for
  2214. note_deferral_of_defined_inline_function prototype.
  2215. 2001-02-22 Jakub Jelinek <jakub@redhat.com>
  2216. * cp-tree.h (struct lang_decl_inlined_fns): New.
  2217. (struct lang_decls): Add inlined_fns.
  2218. (DECL_INLINED_FNS): New macro.
  2219. * optimize.c (struct inline_data): Add inlined_fns.
  2220. (declare_return_variable): Use VARRAY_ACTIVE_SIZE macro.
  2221. (inlinable_function_p): Likewise, fix typo in comment,
  2222. function is not inlinable if it already inlined function currently
  2223. being optimized.
  2224. (expand_call_inline): Add fn to inlined_fns if necessary.
  2225. (optimize_function): Initialize inlined_fns.
  2226. Save inlined_fns into DECL_INLINED_FNS after expanding inlines.
  2227. * decl.c (mark_inlined_fns): New function.
  2228. (lang_mark_tree): Call it.
  2229. 2001-02-21 Jason Merrill <jason@redhat.com>
  2230. * cp-tree.h (struct lang_decl_flags): Remove uninlinable flag.
  2231. (DECL_UNINLINABLE): Move to middle-end.
  2232. * class.c (clone_function_decl): Set DECL_ABSTRACT on original fn.
  2233. * decl.c (duplicate_decls): Preserve DECL_ABSTRACT.
  2234. * class.c (build_clone): Set DECL_ABSTRACT_ORIGIN for the clone.
  2235. * optimize.c (maybe_clone_body): Set DECL_ABSTRACT_ORIGIN for the
  2236. parms and outer BLOCK. note_deferral_of_defined_inline_function.
  2237. * method.c (implicitly_declare_fn): Don't set DECL_ARTIFICIAL on
  2238. second parm of op=.
  2239. 2001-02-19 Mark Mitchell <mark@codesourcery.com>
  2240. * decl2.c (set_decl_namespace): Allow explicit instantiations in
  2241. any namespace.
  2242. 2001-02-18 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
  2243. * optimize.c (expand_call_inline): Don't walk subtrees of type
  2244. nodes.
  2245. 2001-02-18 Mark Mitchell <mark@codesourcery.com>
  2246. * class.c (add_vcall_offset_vtbl_entries_1): Only add one entry
  2247. for a destructor.
  2248. 2001-02-18 Jason Merrill <jason@redhat.com>
  2249. Do put the VTT parameter in DECL_ARGUMENTS.
  2250. * cp-tree.h (struct cp_language_function): Add x_vtt_parm.
  2251. (current_vtt_parm): New macro.
  2252. (struct lang_decl_flags): Add has_vtt_parm_p, remove vtt_parm.
  2253. (DECL_HAS_VTT_PARM_P): New macro.
  2254. (DECL_VTT_PARM): Remove.
  2255. (FUNCTION_FIRST_USER_PARMTYPE, FUNCTION_FIRST_USER_PARM): New macros.
  2256. * decl.c (duplicate_decls): Only copy the operator code if
  2257. appropriate.
  2258. (start_function): Set current_vtt_parm.
  2259. (lang_mark_tree): Don't mark vtt_parm.
  2260. * decl2.c (maybe_retrofit_in_chrg): Do add the VTT parm to
  2261. DECL_ARGUMENTS. Set DECL_HAS_VTT_PARM_P.
  2262. * class.c (build_clone): Maybe remove the VTT parm.
  2263. * optimize.c (maybe_clone_body): Set up the VTT parm.
  2264. * pt.c (copy_default_args_to_explicit_spec): Preserve the VTT parm.
  2265. * call.c (build_over_call): Just allow the VTT arg.
  2266. * method.c (make_thunk): Don't set DECL_VTT_PARM.
  2267. (do_build_copy_constructor): Use FUNCTION_FIRST_USER_PARM.
  2268. (synthesize_method): Use FUNCTION_FIRST_USER_PARMTYPE.
  2269. * decl.c (grokdeclarator, copy_args_p, grok_ctor_properties): Likewise.
  2270. * error.c (dump_function_decl): Likewise.
  2271. * call.c (build_user_type_conversion_1, convert_like_real): Abort
  2272. if we try to call a constructor with in-charge or VTT parms.
  2273. * method.c (skip_artificial_parms_for): New fn.
  2274. * call.c (add_function_candidate, build_over_call): Call it.
  2275. * call.c (build_new_method_call): Use current_vtt_parm.
  2276. * init.c (expand_virtual_init): Likewise.
  2277. * class.c (same_signature_p): No longer static.
  2278. * cp-tree.h: Declare it.
  2279. * search.c (look_for_overrides_r): Use it.
  2280. 2001-02-17 Mark Mitchell <mark@codesourcery.com>
  2281. * cp-tree.h (new_abi_rtti_p): Remove.
  2282. (name_mangling_version): Likewise.
  2283. (flag_do_squangling): Likewise.
  2284. * class.c (build_rtti_vtbl_entries): Remove old ABI support.
  2285. * decl.c (grokfndecl): Likewise.
  2286. * decl2.c (name_mangling_version): Remove.
  2287. (flag_do_squangling): Likewise.
  2288. (lang_f_options): Remove `squangle'.
  2289. (unsupported_options): Add `squangle'.
  2290. (cxx_decode_option): Issue a warning about uses of
  2291. -fname-mangling-version.
  2292. (finish_file): Remove old ABI support.
  2293. * pt.c (check_explicit_specialization): Likewise.
  2294. (tsubst_decl): Likewise.
  2295. * rtti.c (init_rtti_processing): Likewise.
  2296. (build_headof): Likewise.
  2297. (get_tinfo_decl_dynamic): Likewise.
  2298. (tinfo_from_decl): Likewise.
  2299. (build_dynamic_cast_1): Likewise.
  2300. (synthesize_tinfo_var): Likewise.
  2301. * init.c (build_new): Allow enumeration types for the array-bounds
  2302. in a direct-new-declarator.
  2303. * semantics.c (finish_typeof): Resolve OFFSET_REFs.
  2304. * pt.c (check_explicit_specialization): Copy TREE_PRIVATE and
  2305. TREE_PROTECTED from the template being specialized.
  2306. 2001-02-17 Jason Merrill <jason@redhat.com>
  2307. * decl2.c (build_artificial_parm): Set TREE_READONLY.
  2308. * decl.c (bad_specifiers): Allow throw specs on things with
  2309. pointer-to-function or -member-function type.
  2310. * init.c (build_default_init): Don't use a CONSTRUCTOR to initialize
  2311. a pmf.
  2312. 2001-02-17 Mark Mitchell <mark@codesourcery.com>
  2313. * call.c (check_dtor_name): Handle template names correctly.
  2314. 2001-02-16 Jason Merrill <jason@redhat.com>
  2315. * cp-tree.h (DECL_USE_VTT_PARM): Remove.
  2316. * decl2.c (maybe_retrofit_in_chrg): Don't create it.
  2317. * optimize.c (maybe_clone_body): Don't substitute it.
  2318. * call.c (build_new_method_call): Check in_chrg instead.
  2319. * init.c (expand_virtual_init): Likewise.
  2320. 2001-02-16 Gabriel Dos Reis <gdr@codesourcery.com>
  2321. * decl.c (check_tag_decl): Make sure a typedef for an anonymous
  2322. class-type introduces at least a type-name.
  2323. 2001-02-16 Jakub Jelinek <jakub@redhat.com>
  2324. * call.c (convert_like_real): Create a temporary for non-lvalue.
  2325. 2001-02-16 Jeffrey Oldham <oldham@codesourcery.com>
  2326. * cp-tree.h: Fix typos in comments.
  2327. 2001-02-16 Jason Merrill <jason@redhat.com>
  2328. * optimize.c (remap_block): If we're compiling a clone, pass the
  2329. new block to insert_block.
  2330. 2001-02-16 Mark Mitchell <mark@codesourcery.com>
  2331. * semantics.c (finish_asm_stmt): Robustify.
  2332. 2001-02-15 Mark Mitchell <mark@codesourcery.com>
  2333. * pt.c (push_template_decl_real): Don't remangle the name of a
  2334. class template.
  2335. 2001-02-15 Jim Meyering <meyering@lucent.com>
  2336. * Make-lang.in (c++.install-common): Depend on installdirs.
  2337. (c++.install-info): Likewise.
  2338. (c++.install-man): Likewise.
  2339. 2001-02-15 Mark Mitchell <mark@codesourcery.com>
  2340. * typeck2.c (build_m_component_ref): Robustify.
  2341. 2001-02-15 Alexandre Oliva <aoliva@redhat.com>
  2342. * friend.c (do_friend): Don't take the nested [template] class
  2343. into account when deciding whether to warn about the friend
  2344. function not referring to a template function.
  2345. 2001-02-14 Jakub Jelinek <jakub@redhat.com>
  2346. * typeck.c (build_unary_op): Clarify error message.
  2347. 2001-02-08 Aldy Hernandez <aldyh@redhat.com>
  2348. * parse.y (component_constructor_declarator): allow optional
  2349. parentheses around constructor class name.
  2350. 2001-02-14 Nathan Sidwell <nathan@codesourcery.com>
  2351. * cp-tree.h (setup_vtbl_ptr): Move prototype to semantics.c
  2352. section.
  2353. * init.c (emit_base_init): Remove incorrect comment about
  2354. virtual bases.
  2355. * method.c (make_thunk): Fix comment alignment.
  2356. 2001-02-14 Nathan Sidwell <nathan@codesourcery.com>
  2357. Kill remnants of this is variable.
  2358. * cp-tree.h (flag_this_is_variable): Remove.
  2359. * decl2.c (flag_this_is_variable): Remove.
  2360. * class.c (fixed_type_or_null): Add cdtor parm. Adjust.
  2361. (build_vbase_path): The path is non-static, even in a cdtor.
  2362. (resolves_to_fixed_type_p): Add additional return value.
  2363. * search.c (init_vbase_pointers): Adjust.
  2364. * tree.c (lvalue_p_1): Adjust.
  2365. * typeck.c (mark_addressable): Adjust.
  2366. 2001-02-14 Nathan Sidwell <nathan@codesourcery.com>
  2367. * pt.c (unify): Don't check cv quals of array types.
  2368. 2001-02-14 Nathan Sidwell <nathan@codesourcery.com>
  2369. * tree.c (cp_build_qualified_type_real): Use CP_TYPE_QUALS to
  2370. check whether we already have the type.
  2371. 2001-02-13 Mark Mitchell <mark@codesourcery.com>
  2372. * cp-tree.h (CLASSTYPE_DESTRUCTORS): Fix typo in comment.
  2373. * call.c (build_op_delete_call): Simplify to remove duplicate
  2374. code.
  2375. * class.c (clone_function_decl): Don't build the deleting variant
  2376. of a non-virtual destructor.
  2377. * decl.c (finish_destructor_body): Don't call delete if this is a
  2378. non-virtual destructor.
  2379. * init.c (build_delete): Explicitly call `operator delete' when
  2380. deleting an object with a non-virtual destructor.
  2381. 2001-02-13 Jason Merrill <jason@redhat.com>
  2382. * lang-specs.h: Add more __EXCEPTIONS.
  2383. 2001-02-12 Nathan Sidwell <nathan@codesourcery.com>
  2384. * typeck2.c (process_init_constructor): Check
  2385. TREE_HAS_CONSTRUCTOR before issuing missing init warning.
  2386. 2001-02-12 Nathan Sidwell <nathan@codesourcery.com>
  2387. * pt.c (maybe_adjust_types_for_deduction, DEDUCE_ORDER case):
  2388. Remove spurious information in comment. Allow further
  2389. adjustments of REFERENCE_TYPE args.
  2390. 2001-02-12 Nathan Sidwell <nathan@codesourcery.com>
  2391. * errfn.c (cp_deprecated): Tweak diagnostic text.
  2392. * parse.y (new_initializer): Deprecate initializer lists
  2393. extension.
  2394. 2001-02-12 Mark Mitchell <mark@codesourcery.com>
  2395. Remove old ABI support.
  2396. 2001-02-11 Mark Mitchell <mark@codesourcery.com>
  2397. * decl2.c (flag_vtable_thunks): Always set it to 1.
  2398. (flag_new_abi): Likewise.
  2399. * lang-specs.h: Remove conditional on ENABLE_NEW_GXX_ABI.
  2400. * Makefile.in (g++spec.o): Fix typo.
  2401. 2001-02-09 Jason Merrill <jason@redhat.com>
  2402. * lang-specs.h: Restore definition of __EXCEPTIONS.
  2403. 2001-02-08 Jason Merrill <jason@redhat.com>
  2404. * search.c (shared_member_p): New function.
  2405. (lookup_field_r): Use it.
  2406. * cp-tree.h (SHARED_MEMBER_P): Remove.
  2407. * method.c (process_overload_item): Handle template-dependent array
  2408. bounds.
  2409. * pt.c (type_unification_real): If we end up with undeduced nontype
  2410. parms, try again.
  2411. * decl.c (lookup_name_real): Tweak warning to refer to decls, not
  2412. types.
  2413. * typeck2.c (friendly_abort): Don't say anything if we have
  2414. earlier errors or sorries.
  2415. * decl.c (check_tag_decl): Notice attempts to redefine bool and
  2416. wchar_t. Ignore if in_system_header.
  2417. * decl.c (maybe_push_cleanup_level): New fn...
  2418. (start_decl_1): ...split out from here.
  2419. * cvt.c (build_up_reference): Use it.
  2420. * cp-tree.h: Declare it.
  2421. 2001-02-07 Mark Mitchell <mark@codesourcery.com>
  2422. * lang-specs.h: Use CPLUSPLUS_CPP_SPEC for the preprocessor
  2423. spec.
  2424. 2001-02-06 Nathan Sidwell <nathan@codesourcery.com>
  2425. * pt.c (lookup_template_class): Make sure it's a primary
  2426. template or template_template_parm when called from the parser.
  2427. (instantiate_template_class): Add assertion.
  2428. 2001-02-05 Alexandre Oliva <aoliva@redhat.com>
  2429. * method.c (build_mangled_name) [old abi]: Protect flush_repeats()
  2430. from error_mark_node.
  2431. 2001-02-05 Nathan Sidwell <nathan@codesourcery.com>
  2432. Fix specification and implementation bugs in V3 ABI
  2433. construction vtables.
  2434. * cp-tree.h (flag_dump_class_layout): New flag.
  2435. (BINFO_OVERRIDE_ALONG_VIRTUAL_PATH_P): Remove.
  2436. (BINFO_LOST_PRIMARY_P): New flag.
  2437. (SET_BINFO_NEW_VTABLE_MARKED): Adjust asserts.
  2438. (BINFO_PRIMARY_MARKED_P): Rename to ...
  2439. (BINFO_PRIMARY_P): ... here.
  2440. (binfo_via_virtual): New prototype.
  2441. * decl2.c (flag_dump_class_layout): New flag.
  2442. (cxx_decode_option): Set it. Adjust -fdump-translation-unit to
  2443. use `=' as a file name separator.
  2444. * init.c (dfs_initialize_vtbl_ptrs): Walk into virtual primary
  2445. bases.
  2446. (build_vtbl_address): If this is a virtual primary base, then
  2447. get the vtbl of what it is ultimately primary for.
  2448. * search.c (dfs_skip_nonprimary_vbases_unmarkedp): Adjust
  2449. for BINFO_PRIMARY_P.
  2450. (dfs_skip_nonprimary_vbases_markedp): Likewise.
  2451. (get_shared_vbase_if_not_primary): Likewise.
  2452. (dfs_get_pure_virtuals): Likewise.
  2453. (expand_upcast_fixups): Likewise.
  2454. (fixup_virtual_upcast_offsets): Likewise.
  2455. (dfs_find_vbase_instance): Likewise.
  2456. (find_vbase_instance): Likewise.
  2457. (binfo_from_vbase): Adjust comment to reflect reality.
  2458. (binfo_via_virtual): New function.
  2459. * class.c (VTT_TOP_LEVEL_P, VTT_MARKED_BINFO_P): New macros
  2460. for binfo walking during VTT construction.
  2461. (dfs_mark_primary_bases): Remove.
  2462. (force_canonical_binfo_r): New function.
  2463. (force_canonical_binfo): New function.
  2464. (mark_primary_virtual_base): New function.
  2465. (mark_primary_bases): Walk in inheritance graph order, use
  2466. mark_primary_virtual_base.
  2467. (determine_primary_base): Use some more intermediate variables.
  2468. (dfs_find_final_overrider): Don't check for overriding along a
  2469. virtual path.
  2470. (dfs_modify_vtables): Walk into primary virtual bases too.
  2471. (walk_subobject_offsets): Adjust for BINFO_PRIMARY_P.
  2472. (build_base_fields): Likewise.
  2473. (dfs_set_offset_for_unshared_vbases): Likewise.
  2474. (layout_virtual_bases): Likewise.
  2475. (end_of_class): Likewise.
  2476. (finish_struct_1): Call dump_class_hierarchy, if requested.
  2477. (dfs_get_primary_binfo): Use BINFO_TYPE for binfos.
  2478. (dump_class_hierarchy_r): Add stream parameter. Emit more information.
  2479. (dump_class_hierarchy): Add file parameter. Append to file, if
  2480. required.
  2481. (finish_vtbls): Adjust accumulate_vtbl_inits call.
  2482. Use canonical base for virtual bases.
  2483. (build_vtt): Add more comments. Adjust build_vtt_inits call.
  2484. (build_vtt_inits): Remove VIRTUAL_VTTS_P parm.
  2485. Only set BINFO_VPTR_INDEX on top level. Use VTT_TOP_LEVEL_P,
  2486. VTT_MARKED_BINFO_P for binfo walking. Use canonical vbase for
  2487. virtual VTTs.
  2488. (dfs_build_secondary_vptr_vtt_inits): Extract VTT_TOP_LEVEL_P
  2489. from DATA. We want virtual primary bases and all bases via virtual.
  2490. Only set BINFO_VPTR_INDEX for top level. Look up from a primary
  2491. virtual base when not a construction vtable.
  2492. (dfs_ctor_vtable_bases_queue_p): New DFS predicate.
  2493. (build_ctor_vtbl_group): Adjust accumulate_vtbl_inits call.
  2494. Use canonical bases when processing virtual bases.
  2495. (accumulate_vtbl_inits): We're interested in any base via a
  2496. virtual path.
  2497. (dfs_accumulate_vtbl_inits): If this is a primary virtual base
  2498. within a construction vtable, determine what is being overridden.
  2499. (build_vtbl_initializer): Add more comments
  2500. (add_vcall_offset_vtbl_entries_1): Adjust comment.
  2501. (build_rtti_vtbl_entries): Check if the base has lost its
  2502. primary.
  2503. 2001-02-05 Mark Mitchell <mark@codesourcery.com>
  2504. * Makefile.in (g++spec.o): Adjust use of DRIVER_DEFINES.
  2505. 2001-02-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
  2506. * decl.c (pushdecl): Call abort instead of fatal.
  2507. * except.c (decl_is_java_type): Call fatal_error instead of fatal.
  2508. * init.c (build_new_1): Likewise.
  2509. (build_java_class_ref): Call internal_error and fatal_error, not fatal.
  2510. * decl.c (build_typename_type): hash_table_init now returns void.
  2511. decl.c (init_decl_processing): Make an error non-fatal.
  2512. 2001-02-04 Mark Mitchell <mark@codesourcery.com>
  2513. * cp-tree.h (CLASSTYPE_INTERFACE_UNKNOWN): Fix formatting.
  2514. Document.
  2515. (CLASSTYPE_INTERFACE_KNOWN): Likewise.
  2516. (SET_CLASSTYPE_INTERFACE_UNKNOWN_X): Likewise.
  2517. (SET_CLASSTYPE_INTERFACE_UNKNOWN): Likewise.
  2518. (SET_CLASSTYPE_INTERFACE_KNOWN): Likewise.
  2519. * decl.c (maybe_commonize_var): Use the new name-mangling where
  2520. appropriate.
  2521. * decl2.c (comdat_linkage): Enhance comments. Make all
  2522. compiler-generated things static, if COMDAT is not available.
  2523. (get_tinfo_decl): Do not make typeinfo objects that belong in the
  2524. library COMDAT.
  2525. (tinfo_base_init): Use the correct mangled name for typeinfo
  2526. strings, and push them into the global scope.
  2527. (typeinfo_in_lib_p): New function.
  2528. (synthesize_tinfo_var): Use it.
  2529. (create_real_tinfo_var): Likewise.
  2530. 2001-02-03 Jakub Jelinek <jakub@redhat.com>
  2531. * decl.c (push_class_binding): Use context_for_name_lookup instead
  2532. of CP_DECL_CONTEXT.
  2533. * search.c (context_for_name_lookup): Remove static. Check for NULL
  2534. context in the loop.
  2535. * cp-tree.h (context_for_name_lookup): Add prototype.
  2536. 2001-02-02 Jakub Jelinek <jakub@redhat.com>
  2537. * cp-tree.h (build_expr_ptr_wrapper, can_free): Remove.
  2538. * tree.c (build_expr_ptr_wrapper, can_free, permanent_obstack):
  2539. Remove.
  2540. * call.c (convert_class_to_reference, build_user_type_conversion_1,
  2541. add_warning): Change build_expr_ptr_wrapper to build_ptr_wrapper.
  2542. 2001-02-02 Mark Mitchell <mark@codesourcery.com>
  2543. * Make-lang.in (g++spec.o): Add DRIVER_DEFINES to the list
  2544. of macros used when compiling g++spec.c.
  2545. * g++spec.c (lang_specific_driver): Link with the shared
  2546. libgcc by default.
  2547. 2001-01-29 Joseph S. Myers <jsm28@cam.ac.uk>
  2548. * decl2.c (build_expr_from_tree), lex.c (make_pointer_declarator,
  2549. make_reference_declarator, make_call_declarator), method.c
  2550. (implicitly_declare_fn), parse.y (namespace_using_decl,
  2551. notype_unqualified_id, expr_or_declarator, new_type_id,
  2552. after_type_declarator, direct_after_type_declarator,
  2553. notype_declarator, complex_notype_declarator,
  2554. complex_direct_notype_declarator, qualified_id,
  2555. notype_qualified_id, overqualified_id, direct_new_declarator,
  2556. absdcl, direct_abstract_declarator, conversion_declarator), pt.c
  2557. (tsubst), semantics.c (begin_constructor_declarator): Use build_nt
  2558. instead of build_parse_node.
  2559. 2001-01-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
  2560. * cp-tree.h (cp_tree_index): Delete CPTI_MINUS_ONE.
  2561. (minus_one_node): Moved to top level gcc directory. Renamed
  2562. to integer_minus_one_node.
  2563. * init.c (init_init_processing): Don't set minus_one_node.
  2564. (build_vec_init): Use integer_minus_one_node.
  2565. * rtti.c (get_tinfo_decl_dynamic): Likewise.
  2566. 2001-01-28 Jakub Jelinek <jakub@redhat.com>
  2567. * optimize.c (copy_body_r): If MODIFY_EXPR has both arguments
  2568. identical and they would be replaced with constant, remove
  2569. MODIFY_EXPR from the tree.
  2570. 2001-01-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
  2571. * Make-lang.in: Remove all dependencies on defaults.h.
  2572. * call.c: Don't include defaults.h.
  2573. * decl.c: Likewise.
  2574. * decl2.c: Likewise.
  2575. * except.c: Likewise.
  2576. * pt.c: Likewise.
  2577. * rtti.c: Likewise.
  2578. * tree.c: Likewise.
  2579. * typeck.c: Likewise.
  2580. 2001-01-25 Jakub Jelinek <jakub@redhat.com>
  2581. * mangle.c (write_mangled_name, write_encoding): Mangle overloaded
  2582. operators even in "C" linkage.
  2583. * method.c (set_mangled_name_for_decl): Likewise.
  2584. * decl.c (grokfndecl): Call set_mangled_name_for_decl even for
  2585. overloaded operators in "C" linkage.
  2586. 2001-01-24 Nathan Sidwell <nathan@codesourcery.com>
  2587. * pt.c (tsubst_decl): Remove IN_DECL parameter.
  2588. (tsubst_arg_types): Check parameter is not void.
  2589. (tsubst): Adjust tsubst_decl call.
  2590. 2001-01-24 Nathan Sidwell <nathan@codesourcery.com>
  2591. * call.c (add_builtin_candidate): Quote std properly, from
  2592. previous change.
  2593. 2001-01-23 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
  2594. * pt.c (check_explicit_specialization): Clone constructors and
  2595. destructors.
  2596. 2001-01-23 Nathan Sidwell <nathan@codesourcery.com>
  2597. * decl.c (grokdeclarator): Don't presume DECL_LANG_SPECIFIC
  2598. indicates anything special about template depth. Make sure we
  2599. only count the user visible template classes.
  2600. 2001-01-23 Nathan Sidwell <nathan@codesourcery.com>
  2601. * call.c (build_conv): Typo in comment.
  2602. (add_builtin_candidate): Add more explanation.
  2603. Remove extra test for ENUMERAL_TYPE in {PRE,POST}INCREMENT_EXPR.
  2604. Allow ENUMERAL_TYPEs for relops and eqops. Add both candidates
  2605. when we have enumeral types.
  2606. (add_builtin_candidates): Add more explanation. Add ENUMERAL_TYPE
  2607. candidates for relops and eqops.
  2608. (joust): Simplify control flow. Allow a non-template user
  2609. function to hide a builtin.
  2610. 2001-01-22 Nathan Sidwell <nathan@codesourcery.com>
  2611. * cp-tree.h (unification_kind_t): Add DEDUCE_ORDER.
  2612. (more_specialized): Add deduction parameter.
  2613. * call.c (joust): Adjust more_specialized call.
  2614. * pt.c (UNIFY_ALLOW_OUTER_MORE_CV_QUAL,
  2615. UNIFY_ALLOW_OUTER_LESS_CV_QUAL): New unify flags.
  2616. (get_bindings_order): Remove.
  2617. (get_bindings_real): Add DEDUCE parameter.
  2618. (maybe_adjust_types_for_deduction): Return extra unify flags. Do
  2619. REFERENCE_TYPE jig for DEDUCE_ORDER.
  2620. (type_unification_real): Deal with DEDUCE_ORDER. Use result of
  2621. maybe_adjust_types_for_deduction.
  2622. (more_specialized): Add DEDUCE parameter. Call get_bindings_real
  2623. directly.
  2624. (try_one_overload): Use result of maybe_adjust_types_for_deduction.
  2625. (check_cv_quals_for_unify): Use new unify qualifier flags.
  2626. (unify): Clear new unify qualifier flags.
  2627. (get_bindings_real): Add DEDUCE parameter.
  2628. (get_bindings): Adjust call to get_bindings_real.
  2629. (get_bindings_overload): Likewise.
  2630. (most_specialized_instantiation): Adjust call to
  2631. more_specialized.
  2632. 2001-01-19 Jason Merrill <jason@redhat.com>
  2633. * decl2.c (flag_vtable_thunks): Also depend on ENABLE_NEW_GXX_ABI.
  2634. * decl.c (init_decl_processing): Just force -fvtable-thunks on if
  2635. -fnew-abi.
  2636. 2001-01-19 Ute Pelkmann <scope.muc@t-online.de>
  2637. * decl2.c (arg_assoc_class): Fix double iteration logic.
  2638. 2001-01-19 Jason Merrill <jason@redhat.com>
  2639. * init.c (build_delete): Always call convert_force to strip cv-quals.
  2640. * decl2.c (flag_new_abi): Depend on ENABLE_NEW_GXX_ABI.
  2641. * lang-specs.h: Default ABI depends on ENABLE_NEW_GXX_ABI.
  2642. * g++spec.c: Don't look at ENABLE_NEW_GXX_ABI.
  2643. 2001-01-19 Nathan Sidwell <nathan@codesourcery.com>
  2644. * search.c (get_vbase_1): Count only virtual bases.
  2645. 2001-01-19 Nathan Sidwell <nathan@codesourcery.com>
  2646. * class.c (duplicate_tag_error): Robustify flag clearing.
  2647. 2001-01-19 Nathan Sidwell <nathan@codesourcery.com>
  2648. * cp-tree.h (lookup_template_class): Add complain parm.
  2649. * decl.c (lookup_namespace_name): Adjust call to
  2650. lookup_template_class.
  2651. (make_typename_type): Likewise.
  2652. * semantics.c (finish_template_type): Likewise.
  2653. * pt.c (lookup_template_class): Add complain parm. Adjust.
  2654. (tsubst_aggr_type): Pass COMPLAIN down to lookup_template_class.
  2655. (tsubst): Likewise.
  2656. 2001-01-19 Nathan Sidwell <nathan@codesourcery.com>
  2657. * pt.c (copy_default_args_to_explicit_spec): Preserve
  2658. object's CV quals. Reorganize.
  2659. 2001-01-18 Nathan Sidwell <nathan@codesourcery.com>
  2660. * typeck.c (build_modify_expr): Say `initialization' for
  2661. INIT_EXPRs.
  2662. * init.c (build_default_init): Convert to enumeral type, if
  2663. needed.
  2664. 2001-01-18 Jakub Jelinek <jakub@redhat.com>
  2665. * parse.y (nomods_initdcl0): Properly set things up for
  2666. initdcl0_innards.
  2667. 2001-01-18 Nathan Sidwell <nathan@codesourcery.com>
  2668. * pt.c (UNIFY_ALLOW_OUTER_LEVEL): New unify flag.
  2669. (type_unification_real): Set it.
  2670. (unify): Use it.
  2671. 2001-01-18 Nathan Sidwell <nathan@codesourcery.com>
  2672. * decl.c (finish_destructor_body): Convert to vbase pointer here.
  2673. 2001-01-18 Nathan Sidwell <nathan@codesourcery.com>
  2674. * semantics.c (begin_class_definition): Check we're not inside a
  2675. template parm list.
  2676. 2001-01-18 Nathan Sidwell <nathan@codesourcery.com>
  2677. * tree.c (walk_tree, TREE_LIST): Don't walk the TREE_PURPOSE of
  2678. BASELINK_P.
  2679. 2001-01-16 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
  2680. * typeck.c (build_function_call_real): Call fold on the CALL_EXPR.
  2681. * call.c (build_over_call): Add comment.
  2682. 2001-01-16 Daniel Berlin <dberlin@redhat.com>
  2683. * cvt.c (ocp_convert): Handle vector type conversion
  2684. * typeck2.c (digest_init): Handle vector type initializations
  2685. 2001-01-16 Phil Edwards <pme@sources.redhat.com>
  2686. * g++spec.c: Don't add libraries needlessly if -fsyntax-only
  2687. was given.
  2688. 2001-01-15 Nathan Sidwell <nathan@codesourcery.com>
  2689. * pt.c (check_nontype_parm): Rename to ...
  2690. (invalid_nontype_parm_type_p): ... here.
  2691. (process_template_parm): Adjust.
  2692. (convert_template_argument): Adjust.
  2693. 2001-01-15 Nathan Sidwell <nathan@codesourcery.com>
  2694. * pt.c (check_nontype_parm): New function.
  2695. (process_template_parm): Use it.
  2696. (convert_template_argument): Use it.
  2697. (convert_nontype_argument, RECORD_TYPE): Assert it's a ptr to
  2698. member.
  2699. 2001-01-14 Jeffrey Oldham <oldham@codesourcery.com>
  2700. * tree.c: Add defaults.h
  2701. (cp_valid_lang_attribute): Incorporate SUPPORTS_INIT_PRIORITY.
  2702. * Make-lang.in (cp/tree.o): Add defaults.h.
  2703. 2001-01-13 Joseph S. Myers <jsm28@cam.ac.uk>
  2704. * Make-lang.in (CXX_C_OBJS): Add c-format.o.
  2705. 2001-01-13 Joseph S. Myers <jsm28@cam.ac.uk>
  2706. * g++.1: Change to be ".so man1/gcc.1".
  2707. 2001-01-13 Joseph S. Myers <jsm28@cam.ac.uk>
  2708. * Make-lang.in (c++.info, c++.install-info): Build and install g++
  2709. internals info.
  2710. (c++.uninstall, c++.maintainer-clean): Remove g++ internals info.
  2711. ($(srcdir)/cp/g++int.info): New target.
  2712. * gxxint.texi: Add info directory entry. Use @@ in email address.
  2713. * .cvsignore: Update.
  2714. 2001-01-12 Nathan Sidwell <nathan@codesourcery.com>
  2715. * typeck.c (build_c_cast): Do template processing earlier.
  2716. Always pedwarn on array casts.
  2717. 2001-01-12 Nathan Sidwell <nathan@codesourcery.com>
  2718. * friend.c (make_friend_class): Make sure a templated class is
  2719. actually a template.
  2720. 2001-01-11 Nathan Sidwell <nathan@codesourcery.com>
  2721. * decl2.c (get_guard): Set linkage from guarded decl.
  2722. 2001-01-11 Nathan Sidwell <nathan@codesourcery.com>
  2723. * call.c (convert_default_arg): Check for unprocessed
  2724. DEFAULT_ARG.
  2725. * cp-tree.h (replace_defarg): Move to spew.c.
  2726. (maybe_snarf_defarg, add_defarg_fn, do_pending_defargs): Move to
  2727. spew.c, which is where they really are.
  2728. (done_pending_defargs): Declare.
  2729. (unprocessed_defarg_fn): Declare.
  2730. * decl.c (replace_defarg): Move to spew.c
  2731. * parse.y (structsp): Call done_pending_defargs.
  2732. * spew.c (defarg_fns): Rearrange list structure.
  2733. (defarg_fnsdone): New static variable.
  2734. (defarg_depfns): New static variable.
  2735. (init_spew): Adjust.
  2736. (add_defarg_fn): Store the type in TREE_TYPE.
  2737. (do_pending_defargs): Detect and deal with ordering constraints
  2738. and circularity.
  2739. (done_pending_defargs): New function.
  2740. (unprocessed_defarg_fn): New function.
  2741. (replace_defarg): Moved from decl.c. Robustify. Don't save
  2742. if circularity detected.
  2743. 2001-01-11 Nathan Sidwell <nathan@codesourcery.com>
  2744. * pt.c (unify): Check array has a domain, before checking
  2745. whether it is variable sized.
  2746. 2001-01-11 Nathan Sidwell <nathan@codesourcery.com>
  2747. * decl.c (grokparms): Unobfuscate and get correct diagnostic for
  2748. parameters with pointers to arrays of unknown bound.
  2749. 2001-01-11 Nathan Sidwell <nathan@codesourcery.com>
  2750. * parse.y (template_parm_header, template_spec_header): New
  2751. reductions. Split out from ...
  2752. (template_header): ... here. Use them.
  2753. (template_template_parm): Use template_parm_header.
  2754. * semantics.c (finish_template_template_parm): Add assert.
  2755. 2001-01-10 Mark Mitchell <mark@codesourcery.com>
  2756. * mangle.c (write_builtin_type): Fix thinko.
  2757. * pt.c (copy_default_args_to_explicit_spec_1): New function.
  2758. (copy_default_args_to_explicit_spec): Likewise.
  2759. (check_explicit_specialization): Use it.
  2760. * class.c (finish_struct_1): Remove last argument in call to
  2761. make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
  2762. * decl.c (builtin_function): Likewise.
  2763. (build_cp_library_fn): Likewise.
  2764. (check_initializer): Likewise.
  2765. (make_rtl_for_nonlocal_decl): Likewise.
  2766. (cp_finish_decl): Likewise.
  2767. (start_function): Likewise.
  2768. * decl2.c (finish_anon_union): Likewise.
  2769. * friend.c (do_friend): Likewise.
  2770. * init.c (build_java_class_ref): Likewise.
  2771. * method.c (make_thunk): Likewise.
  2772. * pt.c (tsubst_friend_function): Likewise.
  2773. * semantics.c (expand_body): Likewise.
  2774. 2001-01-10 Mark Mitchell <mark@codesourcery.com>
  2775. * cp-tree.h (DECL_CLONED_FUNCTION_P): Avoid wild reads by not
  2776. looking at DECL_CLONED_FUNCTION for non-functions.
  2777. 2001-01-10 Nathan Sidwell <nathan@codesourcery.com>
  2778. * error.c (dump_template_parameter): Use parm to determine how
  2779. to print default value.
  2780. 2001-01-10 Nathan Sidwell <nathan@codesourcery.com>
  2781. * class.c (duplicate_tag_error): Clear more flags.
  2782. 2001-01-10 Nathan Sidwell <nathan@codesourcery.com>
  2783. * call.c (build_new_method_call): Use binfo_for_vbase.
  2784. 2001-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
  2785. * cp-tree.h (flag_cond_mismatch): Don't declare.
  2786. * decl2.c (flag_cond_mismatch): Don't define.
  2787. (lang_f_options): Remove cond-mismatch.
  2788. (unsupported_options): Add cond-mismatch.
  2789. 2001-01-09 Nathan Sidwell <nathan@codesourcery.com>
  2790. * class.c (handle_using_decl): Reject using of constructor name
  2791. of sourcing class. Allow injecting of a method with same name as
  2792. nested class. Fixup error messages.
  2793. 2001-01-09 Joseph S. Myers <jsm28@cam.ac.uk>
  2794. * decl2.c (lang_decode_option): Handle -Wformat=2.
  2795. 2001-01-08 Nathan Sidwell <nathan@codesourcery.com>
  2796. * cp-tree.h (lang_decl_flags): Rename defined_in_class to
  2797. initialized_in_class.
  2798. (DECL_DEFINED_IN_CLASS_P): Rename to ...
  2799. (DECL_INITIALIZED_IN_CLASS_P): ... here, to reflect true meaning.
  2800. * decl.c (duplicate_decls): Preseve DECL_INITIALIZED_IN_CLASS_P.
  2801. (cp_finish_decl): Adjust for DECL_INITIALIZED_IN_CLASS_P.
  2802. * pt.c (check_default_tmpl_args): Adjust for
  2803. DECL_INITIALIZED_IN_CLASS_P.
  2804. (instantiate_class_template): Likewise.
  2805. (instantiate_decl): Check DECL_INITIALIZED_IN_CLASS_P.
  2806. * class.c (finish_struct): Constify saved_filename.
  2807. 2001-01-08 Nathan Sidwell <nathan@codesourcery.com>
  2808. * class.c (duplicate_tag_error): Adjust diagnostic.
  2809. (finish_struct): Locally set location to start of struct.
  2810. * decl.c (fixup_anonymous_aggr): Use cp_error_at.
  2811. 2001-01-08 Nathan Sidwell <nathan@codesourcery.com>
  2812. * decl.c (struct binding_level): Adjust class_shadowed comments
  2813. to reflect reality.
  2814. (push_class_level_binding): Adjust comments to reflect reality.
  2815. Set IDENTIFIER_CLASS_VALUE when replacing an existing binding.
  2816. Don't set TREE_VALUE on the class_shadowed list.
  2817. 2001-01-07 Alexandre Petit-Bianco <apbianco@cygnus.com>
  2818. * decl2.c (acceptable_java_type): Allow references too.
  2819. * init.c (build_java_class_ref): When using the new ABI, search
  2820. `class$' and have it mangled with `mangle_decl.'
  2821. * mangle.c (write_java_integer_type_codes): New function.
  2822. (write_builtin_type): Detect and mangle Java integer and real
  2823. types.
  2824. 2001-01-07 Mark Mitchell <mark@codesourcery.com>
  2825. * decl2.c (grokfield): Don't accept `asm' specifiers for
  2826. non-static data members.
  2827. 2001-01-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
  2828. * expr.c (cplus_expand_expr): Don't reset `target'.
  2829. 2001-01-07 Neil Booth <neil@daikokuya.demon.co.uk>
  2830. * cp/decl2.c (cxx_post_options): Call cpp_post_options.
  2831. 2001-01-05 Nathan Sidwell <nathan@codesourcery.com>
  2832. * parse.y (template_datadef): Check for error_mark_node.
  2833. 2001-01-05 Nathan Sidwell <nathan@codesourcery.com>
  2834. * cp-tree.def (DEFAULT_ARG): Make `x' class.
  2835. 2001-01-04 Joseph S. Myers <jsm28@cam.ac.uk>
  2836. * decl.c (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Don't define.
  2837. (record_builtin_type): Make non-static.
  2838. (flag_short_double): Don't declare.
  2839. (init_decl_processing): Remove the creation of many tree nodes now
  2840. in c_common_nodes_and_builtins.
  2841. (build_void_list_node): New function.
  2842. * decl2.c (flag_short_double, flag_short_wchar): Don't define.
  2843. * cp-tree.h (flag_short_wchar): Don't declare.
  2844. 2001-01-04 Mark Mitchell <mark@codesourcery.com>
  2845. * call.c (build_conv): Don't use build1 for USER_CONV.
  2846. * pt.c (tsubst_copy): Or for PREINCREMENT_EXPR and similar nodes.
  2847. 2001-01-03 Joseph S. Myers <jsm28@cam.ac.uk>
  2848. * lex.c (lang_init): Call c_common_lang_init.
  2849. 2001-01-03 Nathan Sidwell <nathan@codesourcery.com>
  2850. * search.c (lookup_fnfields_here): Remove.
  2851. (look_for_overrides_r): Use lookup_fnfields_1.
  2852. Ignore functions from using declarations.
  2853. 2001-01-03 Nathan Sidwell <nathan@codesourcery.com>
  2854. Implement exceptions specifiers for implicit member functions.
  2855. * cp-tree.h (merge_exceptions_specifiers): Declare new function.
  2856. * method.c (synthesize_exception_spec): New function.
  2857. (locate_dtor, locate_ctor, locate_copy): New functions.
  2858. (implicitly_declare_fn): Generate the exception spec too.
  2859. * search.c (check_final_overrider): Check artificial functions
  2860. too.
  2861. * typeck2.c (merge_exception_specifiers): New function.
  2862. 2001-01-03 Jason Merrill <jason@redhat.com>
  2863. * init.c (build_default_init): New fn.
  2864. (perform_member_init): Split out from here.
  2865. (build_new_1): Use it. Simplify initialization logic.
  2866. (build_vec_init): Take an array, rather than a pointer and maxindex.
  2867. Speed up simple initializations. Don't clean up if we're assigning.
  2868. * cp-tree.h: Adjust.
  2869. * decl2.c (do_static_initialization): Remove TREE_VEC case.
  2870. * parse.y (new_initializer): Return void_zero_node for ().
  2871. * typeck.c (build_modify_expr): Handle getting a CONSTRUCTOR.
  2872. * typeck2.c (digest_init): Only complain about user-written
  2873. CONSTRUCTORs.
  2874. 2000-12-22 Mike Stump <mrs@wrs.com>
  2875. * decl2.c: (max_tinst_depth): Increase to 50.
  2876. 2001-01-02 Mark Mitchell <mark@codesourcery.com>
  2877. * class.c (invalidate_class_lookup_cache): Zero the
  2878. previous_class_values.
  2879. * cp-tree.h (TMPL_PARMS_DEPTH): Use TREE_INT_CST_LOW, not
  2880. TREE_INT_CST_HIGH.
  2881. (CLASSTYPE_TEMPLATE_LEVEL): Likewise.
  2882. * decl.c (free_bindings): New variable.
  2883. (push_binding): Don't create a new binding if we have one on the
  2884. free list.
  2885. (pop_binding): Put old bindings on the free list.
  2886. (init_decl_processing): Use size_int, not build_int_2.
  2887. Register free_bindings as a GC root.
  2888. (cp_make_fname_decl): Use size_int, not build_int_2.
  2889. (push_inline_template_parms_recursive): Likewise.
  2890. (end_template_parm_list): Likewise.
  2891. (for_each_template_parm): Do not use walk_tree_without_duplicates.
  2892. (tsubst_template_parms): Use size_int, not build_int_2.
  2893. (tsubst): Likewise.
  2894. * rtti.c (get_vmi_pseudo_type_info): Likewise.
  2895. 2001-01-02 Richard Henderson <rth@redhat.com>
  2896. * parse.y (asm): Set ASM_INPUT_P.
  2897. 2001-01-02 Jason Merrill <jason@redhat.com>
  2898. * tree.c (cp_valid_lang_attribute): Don't set CLASSTYPE_COM_INTERFACE
  2899. for v3 ABI.
  2900. * typeck.c (cp_truthvalue_conversion): New fn.
  2901. * cvt.c (ocp_convert): Use it.
  2902. * cp-tree.h: Lose c-common.c decls.
  2903. * typeck.c (build_unary_op): Restore old &a.f diagnostic code.
  2904. * cvt.c (convert_to_void): Use type_unknown_p.
  2905. * typeck.c (strip_all_pointer_quals): Also strip quals from
  2906. pointer-to-member types.
  2907. * Make-lang.in (cp/TAGS): Use --no-globals. Ignore parse.c, and treat
  2908. parse.y as C.
  2909. * call.c (build_new_method_call): Do evaluate the object parameter
  2910. when accessing a static member.
  2911. * typeck.c (build_component_ref): Likewise.
  2912. 2001-01-02 Andreas Jaeger <aj@suse.de>
  2913. * decl.c (cp_missing_noreturn_ok_p): New.
  2914. (init_decl_processing): Set lang_missing_noreturn_ok_p.
  2915. Copyright (C) 2001 Free Software Foundation, Inc.
  2916. Copying and distribution of this file, with or without modification,
  2917. are permitted in any medium without royalty provided the copyright
  2918. notice and this notice are preserved.