12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068 |
- 2012-12-28 Kai Tietz <ktietz@redhat.com>
- * rtti.c (LONGPTR_T): New helper-macro.
- (get_pseudo_ti_init): Initialize offset_type by LONGPTR_T
- type instead of 'long' type.
- (create_tinfo_types): Use for offset/flags field LONGPTR_T
- type instead of 'long' type.
- 2012-12-19 Jason Merrill <jason@redhat.com>
- PR c++/55724
- * pt.c (type_unification_real): Re-combine post-deduction loops.
- 2012-12-14 Jason Merrill <jason@redhat.com>
- PR c++/55685
- * pt.c (tsubst_copy_and_build): Don't use SIZEOF_EXPR_TYPE_P in
- templates.
- PR c++/42315
- * decl.c (maybe_deduce_size_from_array_init): Don't change the
- variable type.
- 2012-12-13 Jakub Jelinek <jakub@redhat.com>
- PR c++/55652
- * typeck2.c (merge_exception_specifiers): Don't call operand_equal_p
- if noex is NULL.
- 2012-12-11 Jason Merrill <jason@redhat.com>
- PR c++/54883
- * decl2.c (min_vis_r): Handle anon visibility for enums.
- 2012-12-11 Marc Glisse <marc.glisse@inria.fr>
- PR c++/53094
- * tree.c (cp_tree_equal): Handle VECTOR_CST.
- * semantics.c (cxx_eval_bare_aggregate): Protect a dereference.
- Handle VECTOR_CST.
- 2012-12-11 Jakub Jelinek <jakub@redhat.com>
- PR c++/55643
- * expr.c (mark_exp_read): Handle FLOAT_EXPR similarly to NOP_EXPR.
- 2012-12-11 Jason Merrill <jason@redhat.com>
- PR c++/54416
- * pt.c (maybe_process_partial_specialization): Don't accept
- definition of a specialization without the appropriate header.
- * pt.c (maybe_process_partial_specialization): Handle aliases first.
- 2012-12-11 Jakub Jelinek <jakub@redhat.com>
- PR c++/55619
- * semantics.c (finish_asm_stmt): Don't call decay_conversion
- on input operands that can be only in memory.
- 2012-12-10 Eric Botcazou <ebotcazou@adacore.com>
- * Make-lang.in (cp/typeck.o): Add dependency on $(PARAMS_H).
- (cp/name-lookup.o): Likewise.
- 2012-12-10 Steven Bosscher <steven@gcc.gnu.org>
- * decl2.c (cp_write_global_declarations): Return after writing a PCH.
- 2012-12-07 Jason Merrill <jason@redhat.com>
- PR c++/55127
- * search.c (accessible_in_template_p): New.
- * cp-tree.h: Declare it.
- * pt.c (instantiation_dependent_scope_ref_p): New.
- (value_dependent_expression_p): Use it.
- (instantiation_dependent_r): Likewise.
- * semantics.c (finish_decltype_type): Handle SCOPE_REF.
- PR c++/55419
- * tree.c (build_target_expr): Don't set TREE_CONSTANT.
- 2012-12-07 Aldy Hernandez <aldyh@redhat.com>
- PR c++/55513
- * semantics.c (cxx_eval_builtin_function_call): Set non_constant_p
- after folding.
- 2012-12-07 Paolo Carlini <paolo.carlini@oracle.com>
- * tree.c (build_aggr_init_expr): Remove tsubst_flags_t parameter.
- (build_cplus_new): Adjust.
- * cp-tree.h: Adjust declaration.
- * init.c (build_value_init): Adjust.
- 2012-12-07 Dodji Seketeli <dodji@redhat.com>
- PR c++/54401
- * parser.c (cp_parser_alias_declaration): Commit to tentative
- parse when see the '=' token. Get out if the type-id is invalid.
- Update function comment.
- (cp_parser_member_declaration): Don't try to parse a using
- declaration if we know that we expected an alias declaration; that
- is, if we see the '=' token after the identifier.
- 2012-12-06 Jason Merrill <jason@redhat.com>
- PR c++/54325
- * tree.c (build_aggr_init_expr): Don't check for abstract class.
- (build_cplus_new): Check here instead.
- PR c++/55058
- * pt.c (tsubst): Keep the quals when looking through a typedef.
- PR c++/55249
- * tree.c (build_vec_init_elt): Use the type of the initializer.
- PR c++/54744
- * pt.c (resolve_typename_type): Check TYPENAME_IS_RESOLVING_P on scope.
- * init.c (expand_member_init): Check for being in a template first.
- * parser.c (cp_parser_mem_initializer_list): Only check class types
- for equivalence to the current class.
- PR c++/54913
- * semantics.c (finish_qualified_id_expr): convert_from_reference
- after building a SCOPE_REF.
- 2012-12-06 Jakub Jelinek <jakub@redhat.com>
- PR c++/54207
- * except.c (build_noexcept_spec): Avoid direct comparison
- with boolean_true_node or boolean_false_node, instead use
- operand_equal_p and/or INTEGER_CST check.
- * pt.c (tsubst_exception_specification): Likewise.
- * typeck2.c (merge_exception_specifiers): Likewise.
- 2012-12-06 Marc Glisse <marc.glisse@inria.fr>
- PR c++/55573
- * semantics.c (adjust_temp_type): Handle VECTOR_CST.
- 2012-12-06 Jason Merrill <jason@redhat.com>
- PR c++/54947
- * parser.c (cp_parser_initializer_list): Don't require an
- expression in [] to be constant until we know it's a C99
- designator.
- PR c++/55015
- PR c++/53821
- * semantics.c (maybe_add_lambda_conv_op): Revert earlier change.
- * decl.c (start_preparsed_function): Make local class methods comdat
- in templates, too.
- PR c++/54653
- * parser.c (cp_parser_class_head): A partial specialization scope
- counts as a template.
- * pt.c (tsubst_template_parms): Handle template template parm parms.
- (tsubst_decl) [TEMPLATE_DECL]: Handle getting a template template
- argument back.
- PR c++/55564
- * pt.c (unify) [ARRAY_TYPE]: Unify the element type before the bounds.
- 2012-12-03 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/54170
- * cvt.c (cp_convert_to_pointer): Don't discard side-effects from
- expressions of nullptr_t.
- * typeck.c (build_ptrmemfunc): Likewise.
- 2012-12-01 Jakub Jelinek <jakub@redhat.com>
- PR c++/55542
- * pt.c (make_ith_pack_parameter_name): Return NULL if
- name is NULL.
- (tsubst_decl): Call make_ith_pack_parameter_name even if
- DECL_NAME is NULL.
- 2012-11-29 Jason Merrill <jason@redhat.com>
- PR c++/53137
- * pt.c (tsubst_expr) [DECL_EXPR]: Set LAMBDA_EXPR_THIS_CAPTURE here.
- (tsubst_copy_and_build) [LAMBDA_EXPR]: And clear it here.
- (instantiate_class_template_1): Not here.
- 2012-11-29 Marc Glisse <marc.glisse@inria.fr>
- PR c++/53094
- * cvt.c (ocp_convert): Call convert_to_vector.
- 2012-11-29 Kai Tietz <ktietz@redhat.com>
- PR target/53912
- * class.c (dump_class_hierarchy_r): Cast from pointer via uintptr_t.
- (dump_vtable): Likewise.
- 2012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
- PR c++/52654
- * parser.c (cp_parser_string_literal): Add overflow_type arg.
- (cp_parser_userdef_numeric_literal): Warn on numeric overflow.
- 2012-11-28 Andrew Pinski <apinski@cavium.com>
- PR bootstrap/54279
- * Make-lang.in (g++$(exeext)): Rename to
- (xg++$(exeext)): This.
- (g++-cross$(exeext)): Use xg++$(exeext) instead of g++$(exeext).
- (c++.start.encap): Likewise.
- (c++.install-common): Likewise.
- 2012-11-24 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/55446
- * init.c (build_vec_init): Do not early return error_mark_mode
- when integer_all_onesp (maxindex).
- 2012-11-23 Jakub Jelinek <jakub@redhat.com>
- PR c++/54046
- * cp-objcp-common.h (LANG_HOOKS_BLOCK_MAY_FALLTHRU): Redefine.
- * cp-objcp-common.c (cxx_block_may_fallthru): New function.
- * cp-tree.h (cxx_block_may_fallthru): New prototype.
- 2012-11-23 Markus Trippelsdorf <markus@trippelsdorf.de>
- PR c++/55418
- * method.c (implicitly_declare_fn): Properly initialize trivial_p.
- 2012-11-22 Jason Merrill <jason@redhat.com>
- PR c++/55137
- * semantics.c (verify_constant): Track overflow separately.
- (reduced_constant_expression_p): Don't check it here.
- (cxx_eval_constant_expression): Check it on CSTs.
- (cxx_eval_outermost_constant_expr): Treat overflows as non-constant
- at this point, but still return the folded version.
- (potential_constant_expression_1): Don't check overflow.
- * call.c (extend_ref_init_temps_1): Recompute TREE_CONSTANT for
- the ADDR_EXPR.
- 2012-11-20 Diego Novillo <dnovillo@google.com>
- Jakub Jelinek <jakub@redhat.com>
- * name-lookup.c: Replace all vec<T, A>() initializers
- with vNULL.
- * semantics.c: Likewise.
- 2012-11-19 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/55368
- * parser.c (cp_parser_member_declaration): Emit an error in case
- of stray comma at end of member declaration.
- 2012-11-19 Jason Merrill <jason@redhat.com>
- * class.c (one_inheriting_sig): Don't inherit base copy ctors.
- PR c++/55262
- * method.c (implicitly_declare_fn): Set DECL_PARM_INDEX on
- the parms of an inheriting ctor.
- PR c++/55261
- * class.c (add_implicitly_declared_members): Use
- lookup_fnfields_slot to get the base constructors.
- 2012-11-19 Jakub Jelinek <jakub@redhat.com>
- PR middle-end/54630
- * class.c (fixed_type_or_null_ref_ht): New variable.
- (fixed_type_or_null): Use it instead of local static ht.
- 2012-11-17 Diego Novillo <dnovillo@google.com>
- Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
- * Make-lang.in: Remove dependencies on vecir.h and vecprim.h everywhere.
- * call.c: Use new vec API in vec.h.
- * class.c: Likewise.
- * cp-gimplify.c: Likewise.
- * cp-tree.h: Likewise.
- * cvt.c: Likewise.
- * decl.c: Likewise.
- * decl2.c: Likewise.
- * error.c: Likewise.
- * except.c: Likewise.
- * init.c: Likewise.
- * mangle.c: Likewise.
- * method.c: Likewise.
- * name-lookup.c: Likewise.
- * name-lookup.h: Likewise.
- * parser.c: Likewise.
- * parser.h: Likewise.
- * pt.c: Likewise.
- * repo.c: Likewise.
- * rtti.c: Likewise.
- * search.c: Likewise.
- * semantics.c: Likewise.
- * tree.c: Likewise.
- * typeck.c: Likewise.
- * typeck2.c: Likewise.
- 2012-11-17 Gabriel Dos Reis <gdr@integrable-solutions.net>
- * semantics.c (finish_id_expression): Tidy diagnostic message.
- 2012-11-16 Dodji Seketeli <dodji@redhat.com>
- PR c++/54875
- * pt.c (lookup_template_class_1): Look at the type of the
- potential member enum of class template to determine if we are
- actually substituting into a member enum of class template.
- 2012-11-16 Jakub Jelinek <jakub@redhat.com>
- PR c++/55337
- * tree.c (cp_tree_equal) <case ALIGNOF_EXPR>: Use SIZEOF_EXPR_TYPE_P
- only on SIZEOF_EXPR.
- 2012-11-14 Jason Merrill <jason@redhat.com>
- PR c++/54903
- * decl2.c (mark_used): Don't complain about auto in templates.
- PR c++/37276
- * decl.c (decls_match): Remove #ifdef around earlier fix.
- 2012-11-13 Jason Merrill <jason@redhat.com>
- * class.c (finish_struct_1): Check virtual functions
- for missing ABI tags.
- PR c++/55275
- * pt.c (maybe_process_partial_specialization): Update
- DECL_SOURCE_LOCATION for new specializations.
- 2012-11-14 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/55323
- * init.c (emit_mem_initializers): Skip arguments == error_mark_node.
- 2012-11-14 Fabien Chêne <fabien@gcc.gnu.org>
- PR c++/11750
- * call.c (build_new_method_call_1): Check that the instance type
- and the function context are the same before setting the flag
- LOOKUP_NONVIRTUAL.
- 2012-11-13 Sriraman Tallam <tmsriram@google.com>
- * class.c (mark_versions_used): Remove.
- (resolve_address_of_overloaded_function): Call target hook
- for versioned functions. Refactor to call
- get_function_versions_dispatcher.
- * decl.c (duplicate_decls): Add comments.
- * cp/call.c (get_function_version_dispatcher): Expose function.
- (mark_versions_used): Expose function.
- * cp/cp-tree.h (mark_versions_used): New declaration.
- (get_function_version_dispatcher): Ditto.
- 2012-11-13 Dodji Seketeli <dodji@redhat.com>
- PR c++/54466
- * pt.c (lookup_template_class_1): TYPE_STUB_DECL should be
- accessed on the main variant of the type.
- 2012-11-12 Ed Smith-Rowland <3dw4rd@verizon.net>
- * parser.c (cp_parser_objc_class_ivars):
- Index declspecs.locations by ds_typedef rather than ds_thread.
- 2012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
- PR c++/54413
- * decl.c (grokfndecl): Adjust calls to interpret_x_suffix.
- 2012-11-09 Jason Merrill <jason@redhat.com>
- PR c++/54859
- * pt.c (check_instantiated_arg): Don't complain about dependent args.
- * tree.c (cxx_attribute_table): Add abi_tag attribute.
- (check_abi_tag_redeclaration, handle_abi_tag_attribute): New.
- * class.c (find_abi_tags_r, check_abi_tags): New.
- (check_bases, check_field_decl): Call check_abi_tags.
- * decl.c (redeclaration_error_message): Call
- check_abi_tag_redeclaration.
- * mangle.c (tree_string_cmp, write_abi_tags): New.
- (write_unqualified_name): Call write_abi_tags.
- 2012-11-07 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/55226
- Revert:
- 2012-10-23 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/54922
- * semantics.c (cx_check_missing_mem_inits): Handle anonymous union
- members.
- 2012-11-07 Florian Weimer <fweimer@redhat.com>
- * init.c (build_new_1): Do not check for arithmetic overflow if
- inner array size is 1.
- 2012-11-05 Sriraman Tallam <tmsriram@google.com>
- * class.c (add_method): Change assembler names of function versions.
- (mark_versions_used): New static function.
- (resolve_address_of_overloaded_function): Create dispatcher decl and
- return address of dispatcher instead.
- * decl.c (decls_match): Make decls unmatched for versioned
- functions.
- (duplicate_decls): Remove ambiguity for versioned functions.
- Delete versioned function data for merged decls.
- * decl2.c (check_classfn): Check attributes of versioned functions
- for match.
- * call.c (get_function_version_dispatcher): New function.
- (mark_versions_used): New static function.
- (build_over_call): Make calls to multiversioned functions
- to call the dispatcher.
- (joust): For calls to multi-versioned functions, make the most
- specialized function version win.
- 2012-10-31 Lawrence Crowl <crowl@google.com>
- * decl2.c (var_finalized_p): Rename varpool_node to
- varpool_node_for_decl.
- (maybe_emit_vtables): Likewise.
- 2012-10-31 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/54583
- * tree.c (build_cplus_array_type): Set TREE_NO_WARNING on the
- TYPE_SIZE of VLAs.
- 2012-10-31 Dodji Seketeli <dodji@redhat.com>
- PR c++/54955
- * parser.c (cp_nth_tokens_can_be_std_attribute_p): Recognize the
- 'Alignas' keyword as the beginning of a c++11 attribute specifier.
- Update the comment of the function.
- (cp_next_tokens_can_be_gnu_attribute_p): Update the comment of the
- function.
- 2012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
- PR c++/54930
- * typeck.c (maybe_warn_about_returning_address_of_local): Use
- OPT_Wreturn_local_addr.
- 2012-10-26 Jakub Jelinek <jakub@redhat.com>
- PR c++/55081
- * typeck2.c (store_init_value): Call fold_non_dependent_expr
- and maybe_constant_init even for C++98.
- 2012-10-26 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/54984
- * init.c (build_new): Don't turn a null *init into a pointer to
- empty vector orig_init.
- 2012-10-25 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/53761
- * class.c (finish_struct_1): Reject aggregates decorated with
- __transparent_union__ which cannot be made transparent because
- the type of the first field has a different ABI from the class
- overall.
- 2012-10-25 Jason Merrill <jason@redhat.com>
- Core 1402
- * call.c (joust): An implicitly deleted move function is
- worse than any non-deleted function.
- * method.c (process_subob_fn): No special rules for move.
- (synthesized_method_walk, implicitly_declare_fn): Likewise.
- Warn about virtual base with non-trivial move assignment.
- * cp-tree.h (struct lang_decl_fn): Remove suppress_implicit_decl.
- (FNDECL_SUPPRESS_IMPLICIT_DECL): Remove.
- * semantics.c (finish_omp_threadprivate): Call complete_type.
- * class.c (one_inherited_ctor): Warn about variadic inherited ctor.
- 2012-10-25 Marc Glisse <marc.glisse@inria.fr>
- PR c++/54427
- * typeck.c (build_x_conditional_expr): Handle VEC_COND_EXPR.
- * call.c (build_conditional_expr_1): Likewise.
- 2012-10-25 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/34892
- * parser.c (cp_parser_template_parameter): When
- cp_parser_parameter_declaration parsed a default argument don't
- see if *is_parameter_pack needs setting.
- 2012-10-23 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/54922
- * semantics.c (cx_check_missing_mem_inits): Handle anonymous union
- members.
- 2012-10-23 Jakub Jelinek <jakub@redhat.com>
- PR c++/54844
- * pt.c (tsubst_copy, tsubst_copy_and_build) <case SIZEOF_EXPR>: Use
- tsubst instead of tsubst_copy* on types.
- PR c++/54988
- * decl2.c (cplus_decl_attributes): Don't return early
- if attributes is NULL.
- 2012-10-18 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/54501
- * decl.c (reshape_init_array_1): Avoid infinite loops.
- 2012-10-15 Alexandre Oliva <aoliva@redhat.com>
- Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/17805
- * call.c (build_new_op_1): Filter out operator functions that don't
- satisfy enum-conversion match requirements.
- 2012-10-15 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/50080 (again)
- * parser.c (cp_parser_optional_template_keyword): When -pedantic
- and C++98 mode restore pre-Core/468 behavior.
- 2012-10-15 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/50080
- * parser.c (cp_parser_optional_template_keyword): Implement
- Core/468, allow outside template.
- 2012-10-14 Jason Merrill <jason@redhat.com>
- Ville Voutilainen <ville.voutilainen@gmail.com>
- Implement C++11 inheriting constructors.
- * cp-tree.h (cpp0x_warn_str): Add CPP0X_INHERITING_CTORS.
- (DECL_INHERITED_CTOR_BASE, SET_DECL_INHERITED_CTOR_BASE): New.
- (special_function_kind): Add sfk_inheriting_constructor.
- * class.c (add_method): An inheriting ctor is hidden by a
- user-declared one.
- (one_inheriting_sig, one_inherited_ctor): New.
- (add_implicitly_declared_members): Handle inheriting ctors.
- * error.c (maybe_warn_cpp0x): Handle CPP0X_INHERITING_CTORS.
- * init.c (emit_mem_initializers): Don't set LOOKUP_DEFAULTED
- for an inheriting constructor.
- * method.c (type_has_trivial_fn): Handle sfk_inheriting_constructor.
- (type_set_nontrivial_flag): Likewise.
- (add_one_base_init): Split out from...
- (do_build_copy_constructor): ...here. Handle inheriting constructors.
- (locate_fn_flags): Handle a list of arg types.
- (synthesized_method_walk): Handle inheriting constructors.
- (maybe_explain_implicit_delete): Likewise.
- (deduce_inheriting_ctor): New.
- (implicitly_declare_fn): Handle inheriting constructors.
- * name-lookup.c (push_class_level_binding_1): An inheriting constructor
- does not declare the base's name.
- (do_class_using_decl): Allow inheriting constructors.
- * pt.c (template_parms_to_args): Split from current_template_args.
- (add_inherited_template_parms): New.
- (tsubst_decl): Handle inheriting constructors.
- * tree.c (special_function_p): Handle inheriting constructors.
- 2012-10-12 Jakub Jelinek <jakub@redhat.com>
- PR c/54381
- * semantics.c (finish_call_expr): Pass array of 3 sizeof_arg
- trees and locs (corresponding to first 3 arguments) to
- sizeof_pointer_memaccess_warning.
- 2012-10-12 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/24449
- * decl.c (grokfndecl): When checking for ::main declarations
- use PROCESSING_REAL_TEMPLATE_DECL_P().
- 2012-10-12 Marc Glisse <marc.glisse@inria.fr>
- PR c++/53055
- * call.c (build_new_op_1): Pass RO_ARROW_STAR to cp_build_indirect_ref.
- * typeck.c (cp_build_indirect_ref): Handle RO_ARROW_STAR.
- 2012-10-11 Jason Merrill <jason@redhat.com>
- * cp-tree.h (DECL_THUNKS): NULL_TREE for non-virtual functions.
- (SET_DECL_THUNKS): New.
- * decl.c (duplicate_decls): Adjust.
- * method.c (make_thunk): Adjust.
- * decl.c (grokdeclarator): Set DECL_GNU_TLS_P for static data
- members, too.
- 2012-10-09 Dodji Seketeli <dodji@redhat.com>
- PR c++/53540 - using fails to be equivalent to typedef
- * cp-tree.h (TYPE_TEMPLATE_INFO): For an alias that is not an
- instance of alias template, don't look for its TEMPLATE_INFO in
- its declaration.
- (alias_template_specialization_p): Take const_tree.
- * pt.c (alias_template_specialization_p): Take a const_tree.
- Don't call primary_template_instantiation_p.
- (primary_template_instantiation_p): Call
- alias_template_specialization_p.
- 2012-10-10 Dodji Seketeli <dodji@redhat.com>
- * parser (cp_parser_statement): Parse c++11 attributes
- tentatively.
- (cp_parser_std_attribute_spec_seq): Do not warn too early about
- using c++11 attributes in non c++11 mode.
- 2012-10-10 Dehao Chen <dehao@google.com>
- * cp-gimplify.c (cp_genericize_r): Set location for TRY expr.
- 2012-10-09 Lawrence Crowl <crowl@google.com>
- * Make-lang.in (class.o): Add dependence on hash-table.h.
- (tree.o): Likewise.
- (semantics.o): Likewise.
- * class.c (fixed_type_or_null): Change to new type-safe hash table.
- * tree.c (verify_stmt_tree): Likewise.
- (verify_stmt_tree_r): Likewise.
- * semantics.c (struct nrv_data): Likewise.
- 2012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/54194
- * typeck.c (build_x_binary_op): Update warn_about_parentheses call.
- * parser.c (cp_parser_binary_expression): Use SET_EXPR_LOCATION
- on current.lhs.
- 2012-10-09 Marc Glisse <marc.glisse@inria.fr>
- PR c++/54427
- * typeck.c (cp_build_binary_op): Handle mixed scalar-vector
- operations.
- [LSHIFT_EXPR, RSHIFT_EXPR]: Likewise.
- 2012-10-08 Jakub Jelinek <jakub@redhat.com>
- PR c++/54858
- * tree.c (cp_tree_equal): Handle FIELD_DECL.
- 2012-10-08 Jason Merrill <jason@redhat.com>
- Allow dynamic initialization of thread_locals.
- * decl.c: Define tls_aggregates.
- (expand_static_init): Remove sorry. Add to tls_aggregates.
- * cp-tree.h: Declare tls_aggregates.
- * call.c (set_up_extended_ref_temp): Add to tls_aggregates.
- * decl2.c (var_needs_tls_wrapper): New.
- (var_defined_without_dynamic_init): New.
- (get_tls_init_fn, get_tls_wrapper_fn): New.
- (generate_tls_wrapper, handle_tls_init): New.
- (cp_write_global_declarations): Call handle_tls_init and
- enerate_tls_wrapper.
- * mangle.c (write_guarded_var_name): Split out from..
- (mangle_guard_variable): ...here.
- (mangle_tls_init_fn, mangle_tls_wrapper_fn): Use it.
- (decl_tls_wrapper_p): New.
- * semantics.c (finish_id_expression): Replace use of thread_local
- variable with a call to its wrapper.
- * decl.c (get_thread_atexit_node): New.
- (register_dtor_fn): Use it for TLS.
- Partial implementation of C++11 thread_local.
- * decl.c (cp_finish_decl): Remove errors about non-trivial
- initialization and destruction of TLS variables.
- (register_dtor_fn): Add sorry about TLS variables.
- (expand_static_init): Add sorry about non-local TLS variables,
- or error with __thread.
- Don't emit thread-safety guards for local TLS variables.
- (grokdeclarator): thread_local in a function implies static.
- * decl.h: Adjust prototype.
- * decl2.c (get_guard): Copy DECL_TLS_MODEL.
- * parser.c (cp_parser_set_storage_class, cp_parser_set_decl_spec_type)
- (set_and_check_decl_spec_loc): Take the token rather than the location.
- Distinguish between __thread and thread_local.
- (cp_parser_set_storage_class): Don't complain about thread_local before
- extern/static.
- (token_is__thread): New.
- * call.c (make_temporary_var_for_ref_to_temp): Handle TLS.
- * cp-tree.h (DECL_GNU_TLS_P): New.
- (cp_decl_specifier_seq): Add gnu_thread_keyword_p.
- 2012-10-08 Dodji Seketeli <dodji@redhat.com>
- PR c++/53528 C++11 attribute support
- * cp-tree.h (enum cpp0x_warn_str::CPP0X_ATTRIBUTES): New member.
- (enum cp_decl_spec::ds_std_attribute): New enumerator.
- (struct cp_decl_specifier_seq::std_attributes): New field.
- (cxx_alignas_expr, warn_misplaced_attr_for_class_type): Declare
- new functions.
- (check_tag_decl): Take an extra parameter for explicit
- instantiations.
- * decl.c (warn_misplaced_attr_for_class_type): Extract from ...
- (check_tag_decl): ... here. Add check for c++11 attributes being
- applied to an explicit instantiation. Take an extra parameter for
- explicit instantiations.
- (grokdeclarator): Make sure a c++11 attribute after an array
- declarator appertains to the array, an attribute after a function
- declarator appertains to the function type, an attribute after a
- declarator-id appertains to the entity being declared, and an
- attribute after a pointer declarator appertain to the pointer.
- * decl2.c (is_late_template_attribute): Use get_attribute_name.
- * error.c (maybe_warn_cpp0x): Support
- CPP0X_GENERALIZED_ATTRIBUTES.
- * parser.c (cp_next_tokens_can_be_attribute_p)
- (cp_next_tokens_can_be_gnu_attribute_p)
- (cp_next_tokens_can_be_std_attribute_p)
- (cp_nth_tokens_can_be_attribute_p)
- (cp_nth_tokens_can_be_gnu_attribute_p)
- (cp_nth_tokens_can_be_std_attribute_p)
- (cp_parser_gnu_attribute_list, cp_parser_std_attribute)
- (cp_parser_std_attribute_spec, cp_parser_std_attribute_spec_seq)
- (cp_parser_attributes_opt, cp_parser_std_attribute_list): New
- static functions.
- (cp_parser_gnu_attributes_opt): Replace cp_parser_attributes_opt.
- (cp_parser_gnu_attribute_list): Replace cp_parser_attribute_list.
- (cp_parser_postfix_expression): Disallow "[[" tokens here.
- (cp_parser_label_for_labeled_statement): Use take an extra
- parameter for attributes.
- (cp_parser_block_declaration): Use
- cp_nth_tokens_can_be_std_attribute_p here.
- (cp_parser_decl_specifier_seq): Likewise. Store C++11 attributes
- that appears in in decl specifiers in cp_decl_specifier_seq::std_attributes.
- declaration. Emit proper warning about misplaced c++11 attributes
- for class type.
- (cp_parser_explicit_instantiation): Adjust call to check_tag_decl.
- (cp_parser_init_declarator): Parsing attributes here is no more a
- GNU extension in c++-11.
- (cp_parser_type_specifier_seq): Use
- cp_next_tokens_can_be_attribute_p.
- (cp_parser_direct_declarator): Likewise. Hang c++11 attributes
- following the declarator to its syntactic construct. It'll later
- be applied to the proper appertaining entity by grokdeclarator.
- (cp_parser_ptr_operator): Likewise.
- (make_declarator): Initialize cp_declarator::std_attribute.
- (make_pointer_declarator, make_reference_declarator)
- (make_ptrmem_declarator, cp_parser_make_indirect_declarator): Take
- attributes that appertain to the pointer/reference in argument.
- (cp_parser_ptr_operator): Take an out parameter for c++11
- attributes. Update comments.
- (cp_parser_new_declarator_opt)
- (cp_parser_conversion_declarator_opt): Adjust.
- (cp_parser_declarator): Likewise. Handle C++11 attributes.
- Rename attributes to gnu_attribute for better legibility.
- (cp_parser_simple_declaration): Update comment.
- (cp_parser_class_specifier_1): Parse GNU attributes specifically
- (cp_parser_enum_specifier): Accept only gnu attributes after the
- specifier.
- (cp_parser_member_declaration): Don't clear attributes -- intended
- for the entity being declared -- too early because check_tag_decl
- needs them.
- (cp_parser_statement): Update comment. Parse optional c++11
- attributes at the beginning of the relevant kind of statements and
- ignore them, for now, unless when calling
- cp_parser_label_for_labeled_statement.
- (cp_parser_label_for_labeled_statement): Take c++11 attributes
- in parameter.
- * semantics.c (potential_constant_expression_1): Likewise.
- * typeck.c (fundamental_alignment_p, cxx_alignas_expr): New public
- functions.
- 2012-10-07 Paolo Carlini <paolo.carlini@oracle.com>
- * pt.c (fold_non_dependent_expr_sfinae): Remove static specifier.
- (tsubst_copy_and_build): Use get_target_expr_sfinae.
- * call.c (build_conditional_expr_1, convert_like_real): Likewise.
- * cvt.c (build_up_reference): Likewise.
- (ocp_convert): Use abstract_virtuals_error_sfinae.
- (build_up_reference): Propagate complain to cp_build_addr_expr.
- * decl.c (compute_array_index_type): Use fold_non_dependent_expr_sfinae.
- * cp-tree.h: Update declarations.
- * cvt.c (build_expr_type_conversion): Tidy.
- * tree.c (stabilize_aggr_init): Change to static.
- 2012-10-07 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/51422
- * semantics.c (is_normal_capture_proxy): Return true for
- error_mark_node as DECL_VALUE_EXPR.
- 2012-10-05 Jakub Jelinek <jakub@redhat.com>
- * cp-tree.h (SIZEOF_EXPR_TYPE_P): Define.
- * tree.c (cp_tree_equal): Handle SIZEOF_EXPR with
- SIZEOF_EXPR_TYPE_P.
- * mangle.c (write_expression): Likewise.
- * cxx-pretty-print.c (pp_cxx_unary_expression): Likewise.
- * error.c (dump_expr): Likewise.
- * parser.c (cp_parser_unary_expression): For sizeof call
- cxx_sizeof_or_alignof_{type,expr} just for diagnostics and
- return SIZEOF_EXPR with the operand.
- * pt.c (tsubst_copy, tsubst_copy_and_build): For SIZEOF_EXPR,
- call cxx_sizeof_or_alignof_{type,expr} for diagnostics, but
- return SIZEOF_EXPR with tsubsted operand.
- (value_dependent_expression_p): Handle SIZEOF_EXPR with
- SIZEOF_EXPR_TYPE_P.
- (instantiation_dependent_r): Likewise.
- * call.c (null_ptr_cst_p): Call maybe_constant_value for C++98.
- * semantics.c (finish_call_expr): Call
- sizeof_pointer_memaccess_warning if needed.
- (cxx_eval_constant_expression): Handle SIZEOF_EXPR.
- (potential_constant_expression_1): Remove early exit for
- C++98. Handle PROPERTY_REF.
- * decl.c (duplicate_decls): When redeclaring a builtin function,
- keep the merged decl builtin also if newdecl is a gnu_inline
- inline definition.
- (fold_sizeof_expr_r): New function.
- (compute_array_index_type): Fold SIZEOF_EXPRs in itype.
- * cp-gimplify.c (cp_genericize_r): Fold SIZEOF_EXPR.
- * typeck.c (cp_build_binary_op): For warn_for_sign_compare
- try harder using maybe_constant_value to get INTEGER_CSTs.
- * decl.c (stabilize_vla_size): Call pointer_set_destroy
- at the end.
- 2012-10-04 Arnaud Charlet <charlet@adacore.com>
-
- * decl2.c (cp_write_global_declarations): Fix handling of
- -fdump-ada-spec*.
- 2012-10-03 Jakub Jelinek <jakub@redhat.com>
- PR c++/54777
- * semantics.c (cxx_eval_constant_expression) <case COMPOUND_EXPR>: If
- not ignoring the second operand, pass the original second operand
- and not one with stripped nops to cxx_eval_constant_expression.
- 2012-10-01 Jason Merrill <jason@redhat.com>
- * decl.c (check_initializer): Set DECL_NONTRIVIALLY_INITIALIZED_P
- for a constructor call.
- (decl_jump_unsafe): So don't bother checking
- type_has_nontrivial_default_init.
- * call.c (set_up_extended_ref_temp): Set
- DECL_NONTRIVIALLY_INITIALIZED_P.
- * cp-tree.h (TYPE_FUNCTION_OR_TEMPLATE_DECL_CHECK): New.
- (DECL_FRIEND_P, DECL_ANTICIPATED): Use it.
- (TYPE_FUNCTION_OR_TEMPLATE_DECL_P): New.
- * name-lookup.c (hidden_name_p): Use it.
- * cp-tree.h (DECL_PRETTY_FUNCTION_P): Just look at the name.
- * decl.c (cp_make_fname_decl): Adjust.
- 2012-09-30 Sharad Singhai <singhai@google.com>
- * decl2.c (cp_write_global_declarations): Use a different method
- to determine if the dump has ben initialized.
- 2012-09-29 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/54738
- * decl2.c (build_offset_ref_call_from_tree): Add tsubst_flags_t
- parameter.
- * pt.c (tsubst_copy_and_build): Adjust.
- * parser.c (cp_parser_postfix_expression): Likewise.
- * cp-tree.h: Adjust declaration.
- 2012-09-28 Dodji Seketeli <dodji@redhat.com>
- PR c++/54372 - unused attribute inactive on dependant entities
- * decl2.c (is_late_template_attribute): "unused" attribute is to
- be applied at compile time.
- 2012-09-25 Dodji Seketeli <dodji@redhat.com>
- PR c++/29028 - Missed unused warning on using declaration
- * decl.c (poplevel<warn_unused*>): Do not forget that some local
- bindings are represented by a TREE_LIST.
- 2012-09-25 Dodji Seketeli <dodji@redhat.com>
- PR c++/53551 - -Wunused-local-typedefs misses uses
- * decl.c (make_typename_type): Record the use of typedefs.
- 2012-09-27 Jakub Jelinek <jakub@redhat.com>
- * init.c (build_new_1): Don't test TREE_CONSTANT
- of INTEGER_CST.
- 2012-09-25 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/54526
- * parser.c (cp_parser_template_id): In C++11 mode simply accept
- X<::A>.
- 2012-09-25 Zhenqiang Chen <zhenqiang.chen@linaro.org>
- PR c++/50970
- * typeck.c (cp_build_binary_op): Check side effects before generating
- pfn and delta related expressions.
- 2012-09-24 Lawrence Crowl <crowl@google.com>
- * init.c (build_new_1): Change to new double_int API.
- * decl.c (build_enumerator): Likewise.
- * typeck2.c (process_init_constructor_array): Likewise.
- * mangle.c (write_array_type): Likewise.
- 2012-09-24 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/50828
- * error.c (dump_function_decl): Strip TFF_TEMPLATE_NAME from flags
- at the outset.
- 2012-09-24 Jason Merrill <jason@redhat.com>
- * decl.c (get_atexit_node): Remove dead code.
- * Make-lang.in (cp/parser.o): Depend on decl.h.
- 2012-09-20 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/52432
- * pt.c (tsubst_copy_and_build): If tf_error is not set in the complain
- argument don't call unqualified_name_lookup_error.
- 2012-09-19 Marc Glisse <marc.glisse@inria.fr>
- PR c++/54581
- * semantics.c (finish_decltype_type): Make vectors not opaque.
- 2012-09-17 Jason Merrill <jason@redhat.com>
- PR c++/54575
- * pt.c (instantiate_alias_template): New.
- (tsubst): Use it.
- (push_access_scope): Allow TYPE_DECL.
- 2012-09-14 Jason Merrill <jason@redhat.com>
- PR c++/53661
- * typeck2.c (check_narrowing): Avoid false positives on conversion
- from enumeral type.
- 2012-09-14 Marc Glisse <marc.glisse@inria.fr>
- PR c++/54427
- * typeck.c (cp_build_binary_op) [LSHIFT_EXPR, RSHIFT_EXPR, EQ_EXPR,
- NE_EXPR, LE_EXPR, GE_EXPR, LT_EXPR, GT_EXPR]: Handle VECTOR_TYPE.
- 2012-09-14 Paolo Carlini <paolo.carlini@oracle.com>
- * decl.c (make_typename_type): Only error out if tf_error is set
- in complain.
- 2012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
- Manuel López-Ibáñez <manu@gcc.gnu.org>
- PR c++/53210
- * init.c (perform_member_init): Use OPT_Winit_self instead of
- OPT_Wuninitialized.
- 2012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
- * typeck.c (build_indirect_ref, build_function_call,
- build_function_call_vec, build_binary_op, build_unary_op,
- build_compound_expr, build_c_cast, build_modify_expr): Remove
- uses of ATTRIBUTE_UNUSED on the parameters.
- * class.c (set_linkage_according_to_type, resort_type_method_vec,
- dfs_find_final_overrider_post, empty_base_at_nonzero_offset_p):
- Likewise.
- * decl.c (local_variable_p_walkfn): Likewise.
- * except.c (wrap_cleanups_r, check_noexcept_r): Likewise.
- * error.c (find_typenames_r): Likewise.
- * tree.c (verify_stmt_tree_r, bot_replace,
- handle_java_interface_attribute, handle_com_interface_attribute,
- handle_init_priority_attribute, c_register_addr_space): Likewise.
- * cp-gimplify.c (cxx_omp_clause_default_ctor): Likewise.
- * cp-lang.c (objcp_tsubst_copy_and_build): Likewise.
- * pt.c (unify_success, unify_invalid, instantiation_dependent_r):
- Likewise.
- * semantics.c (dfs_calculate_bases_pre): Likewise.
- * decl2.c (fix_temporary_vars_context_r, clear_decl_external):
- Likewise.
- * parser.c (cp_lexer_token_at, cp_parser_omp_clause_mergeable,
- cp_parser_omp_clause_nowait, cp_parser_omp_clause_ordered,
- cp_parser_omp_clause_untied): Likewise.
- * mangle.c (write_unnamed_type_name,
- discriminator_for_string_literal): Likewise.
- * search.c (dfs_accessible_post, dfs_debug_mark): Likewise.
- * lex.c (handle_pragma_vtable, handle_pragma_unit,
- handle_pragma_interface, handle_pragma_implementation,
- handle_pragma_java_exceptions): Likewise.
- 2012-09-13 Jason Merrill <jason@redhat.com>
- PR c++/53839
- * semantics.c (cxx_eval_indirect_ref): If we aren't looking for an
- address, make sure the value is constant.
- PR c++/54511
- * pt.c (tsubst_decl) [VAR_DECL]: Handle DECL_ANON_UNION_VAR_P.
- PR c++/53836
- * pt.c (value_dependent_expression_p): A TREE_LIST initializer must
- be dependent.
- 2012-09-10 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/54541
- PR c++/54542
- * call.c (build_cxx_call): Add tsubst_flags_t parameter, use
- require_complete_type_sfinae.
- (build_op_delete_call, build_over_call): Adjust.
- * typeck.c (build_x_compound_expr_from_vec): Add tsubst_flags_t
- parameter.
- (cp_build_function_call_vec): Adjust.
- * init.c (build_new_1): Likewise.
- * rtti.c (throw_bad_cast, throw_bad_typeid, build_dynamic_cast_1):
- Likewise.
- * optimize.c (build_delete_destructor_body): Likewise.
- * cp-tree.h: Adjust declarations.
- * call.c (convert_arg_to_ellipsis): Use require_complete_type_sfinae.
- 2012-09-10 Jason Merrill <jason@redhat.com>
- PR c++/54538
- PR c++/53783
- * pt.c (tsubst_copy_and_build) [LAMBDA_EXPR]: Go back to using RECUR
- for LAMBDA_EXPR_EXTRA_SCOPE except for function scope.
- PR c++/54506
- * decl.c (move_signature_fn_p): Split out from move_fn_p.
- * method.c (process_subob_fn): Use it.
- * cp-tree.h: Declare it.
- 2012-09-07 Jason Merrill <jason@redhat.com>
- * semantics.c (sort_constexpr_mem_initializers): Tweak.
- 2012-09-09 Mark Kettenis <kettenis@openbsd.org>
- * decl.c (reshape_init_class): Avoid dereferencing a
- past-the-end pointer.
- 2012-09-07 Paolo Carlini <paolo.carlini@oracle.com>
- * pt.c (num_template_headers_for_class): Rework per the code
- inline in cp_parser_check_declarator_template_parameters.
- * parser.c (cp_parser_check_declarator_template_parameters):
- Use num_template_headers_for_class.
- 2012-09-06 Jason Merrill <jason@redhat.com>
- PR c++/54341
- PR c++/54253
- * semantics.c (sort_constexpr_mem_initializers): New.
- (build_constexpr_constructor_member_initializers): Use it.
- (cx_check_missing_mem_inits): Skip artificial fields.
- * init.c (expand_aggr_init_1): Don't zero out a class
- with no data.
- 2012-09-05 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/54191
- * search.c (lookup_base): Add tsubst_flags_t parameter.
- (adjust_result_of_qualified_name_lookup, check_final_overrider):
- Adjust.
- * name-lookup.c (do_class_using_decl): Adjust.
- * typeck2.c (binfo_or_else, build_scoped_ref, build_m_component_ref):
- Likewise.
- * cvt.c (cp_convert_to_pointer, convert_to_pointer_force,
- build_up_reference): Likewise.
- * rtti.c (build_dynamic_cast_1): Likewise.
- * tree.c (maybe_dummy_object): Likewise.
- * call.c (build_conditional_expr_1, build_over_call): Likewise.
- * cp-tree.h (UNIQUELY_DERIVED_FROM_P, PUBLICLY_UNIQUELY_DERIVED_P):
- Remove.
- (enum base_access_flags, ba_quiet): Remove.
- (uniquely_derived_from_p, publicly_uniquely_derived_p): Declare.
- * except.c (can_convert_eh): Adjust.
- * decl.c (grokdeclarator): Likewise.
- * typeck.c (comp_except_types, build_class_member_access_expr,
- finish_class_member_access_expr, get_member_function_from_ptrfunc,
- build_static_cast_1, get_delta_difference_1): Likewise.
- * class.c (build_base_path, convert_to_base, build_vtbl_ref_1,
- warn_about_ambiguous_bases): Likewise.
- (uniquely_derived_from_p, publicly_uniquely_derived_p): Define.
- 2012-09-04 Jason Merrill <jason@redhat.com>
- PR c++/54441
- * decl.c (reshape_init_class): Handle invalid initializer for
- 0-length array member.
- * error.c (dump_type_suffix): Correct handling of 0-length arrays.
- PR c++/54420
- * cp-tree.h (LAMBDANAME_P): Remove.
- (LAMBDA_TYPE_P): Check CLASSTYPE_LAMBDA_EXPR instead.
- * cp-lang.c (cxx_dwarf_name): Likewise.
- * error.c (dump_aggr_type): Likewise.
- * semantics.c (begin_lambda_type): Set CLASSTYPE_LAMBDA_EXPR sooner.
- PR c++/54198
- * decl.c (check_default_argument): Set cp_unevaluated_operand
- around call to perform_implicit_conversion_flags.
- PR c++/54437
- PR c++/51213
- * pt.c (fn_type_unification): Call coerce_template_parms before
- entering substitution context.
- 2012-08-31 Paolo Carlini <paolo.carlini@oracle.com>
- Jason Merrill <jason@redhat.com>
- PR c++/18747
- * pt.c (check_template_variable): New.
- (num_template_headers_for_class): Split out...
- * decl.c (grokdeclarator): ...from here.
- (start_decl): Remove redundant diagnostic.
- * cp-tree.h: Declare them
- * parser.c (cp_parser_single_declaration): Call check_template_variable.
- 2012-08-31 Ollie Wild <aaw@google.com>
- PR c++/54197
- * call.c (extend_ref_init_temps_1): Handle COMPOUND_EXPR trees.
- 2012-08-30 Jason Merrill <jason@redhat.com>
- PR c++/50545
- PR c++/51222
- * pt.c (instantiation_dependent_r): New.
- (instantiation_dependent_expression_p): New.
- (value_dependent_expression_p): Use it. SCOPE_REF is always dependent.
- * semantics.c (finish_decltype_type): Use it.
- * cp-tree.h: Declare it.
- * semantics.c (finish_qualified_id_expr): Handle building up a
- non-dependent SCOPE_REF here.
- (finish_id_expression): Not here.
- * error.c (dump_decl) [SCOPE_REF]: Only pass TFF_UNQUALIFIED_NAME.
- * friend.c (make_friend_class): Handle template template parameters.
- * parser.c (cp_parser_template_declaration_after_export): Likewise.
- * pt.c (tsubst_friend_class): Likewise.
- (instantiate_class_template_1): Likewise
- * decl.c (check_elaborated_type_specifier): Likewise.
- (lookup_and_check_tag): Likewise.
- * pt.c (get_class_bindings): Call coerce_template_parms. Add
- main_tmpl parameter.
- (more_specialized_class): Add main_tmpl parameter.
- (most_specialized_class): Adjust calls.
- * decl.c (cp_finish_decl): Check for invalid multiple initializers
- even if the initializer is dependent.
- * pt.c (instantiate_template_1): Keep processing_template_decl set
- if there are dependent args.
- 2012-08-25 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/51421
- * decl2.c (mark_used): Consistently return false after errors
- about uses before deduction of auto.
- * semantics.c (finish_id_expression): Check mark_used return
- value and return error_mark_node in case of failure.
- 2012-08-24 Jason Merrill <jason@redhat.com>
- PR c++/51213 (again)
- * pt.c (deduction_tsubst_fntype): Remove.
- (fn_type_unification): Check deduction depth and call
- instantiate_template here. Handle default argument access checks.
- (determine_specialization): Suppress access control.
- (tsubst_decl): Check for excessive deduction depth.
- (recheck_decl_substitution): Make sure access control is on.
- (type_unification_real): Don't mess with access deferring here.
- (get_bindings): Adjust for fn_type_unification return type.
- * call.c (enum rejection_reason_code): Drop rr_template_instantiation.
- (template_instantiation_rejection): Remove.
- (struct rejection_reason): Change targs to num_targs.
- (template_unification_rejection, print_z_candidate): Adjust.
- (add_template_candidate_real): Adjust for fn_type_unification change.
- * class.c (resolve_address_of_overloaded_function): Likewise.
- * cp-tree.h: Adjust declaration.
- * pt.c (tsubst_default_argument): Indicate where the default
- argument is being instantiated for.
- (tsubst_expr): Restore previous location.
- (tsubst_copy_and_build): Set and restore location.
- * call.c (build_new_method_call_1): Remember location of call.
- * semantics.c (finish_call_expr): Here too.
- * parser.c (cp_parser_omp_for_loop): Remember the location of the
- increment expression.
- * pt.c (resolve_overloaded_unification): Use coerce_template_parms
- instead of get_bindings.
- (resolve_nondeduced_context): Likewise.
- * pt.c (register_specialization): Correct argument to
- check_specialization_namespace.
- (determine_specialization): Don't consider members of
- unspecialized types.
- 2012-08-23 Jason Merrill <jason@redhat.com>
- * decl.c (compute_array_index_type): Use type_dependent_expression_p.
- 2012-08-23 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/20420
- * name-lookup.c (supplement_binding_1): Handle specially enums
- only in class templates.
- (validate_nonmember_using_decl): Enforce 7.3.3/10 about duplicate
- using declarations at function scope.
- 2012-08-21 Richard Guenther <rguenther@suse.de>
- * cp-tree.h (TREE_INDIRECT_USING): Use TREE_LANG_FLAG_0 accessor.
- (ATTR_IS_DEPENDENT): Likewise.
- (ARGUMENT_PACK_INCOMPLETE_P): Use TREE_ADDRESSABLE instead of
- TREE_LANG_FLAG_0 on TREE_VECs.
- 2012-08-20 Florian Weimer <fweimer@redhat.com>
- PR c++/19351
- * call.c (build_operator_new_call): Add size_check argument and
- evaluate it.
- * cp-tree.h (build_operator_new_call): Adjust declaration.
- * init.c (build_new_1): Compute array size check and apply it.
- 2012-08-20 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/10416
- * decl.c (poplevel): Check TYPE_HAS_NONTRIVIAL_DESTRUCTOR for
- Wunused_variable too.
- 2012-08-20 Diego Novillo <dnovillo@google.com>
- * decl.c (poplevel): Start TV_NAME_LOOKUP conditionally.
- 2012-08-20 Richard Guenther <rguenther@suse.de>
- * name-lookup.c (store_binding_p): New predicate, split out from ...
- (store_binding): ... here. Always store binding and require
- target vector with enough space.
- (store_bindings): Collect to store bindings and reserve space
- for them, then store them.
- (store_class_bindings): Likewise.
- 2012-08-19 Mikael Morin <mikael@gcc.gnu.org>
- * Make-lang.in: Fix typo.
- 2012-08-17 Jakub Jelinek <jakub@redhat.com>
- * cp-tree.def (SIZEOF_EXPR): Move to c-common.def.
- 2012-08-14 Diego Novillo <dnovillo@google.com>
- Merge from cxx-conversion branch. Re-write VEC in C++.
- * call.c (add_function_candidate): Remove const qualifier
- from call to VEC_index.
- 2012-08-10 Richard Guenther <rguenther@suse.de>
- * error.c (dump_expr): Handle anonymous SSA names.
- 2012-08-07 Steven Bosscher <steven@gcc.gnu.org>
- * error.c (print_instantiation_context): Pretty-print a newline before
- diagnostic_flush_buffer.
- * cxx-pretty-print.c (pp_cxx_function_definition): Use
- pp_newline_and_flush instead of separate pp_newline and pp_flush.
- 2012-08-06 Dodji Seketeli <dodji@redhat.com>
- Avoid crashing on erroneous static_assert usage
- * semantics.c (finish_static_assert): Don't crash on erroneous
- message or condition.
- 2012-08-06 Marc Glisse <marc.glisse@inria.fr>
- Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/54165
- * typeck.c (build_static_cast_1): Move the conversion to void case
- before the perform_direct_initialization_if_possible call.
- 2012-08-03 Marc Glisse <marc.glisse@inria.fr>
- * pt.c (tsubst_copy_and_build): Handle VECTOR_TYPE like scalars.
- * cp-tree.h (scalarish_type_p): Declare.
- * tree.c (scalarish_type_p): Make non-static.
- 2012-08-02 Jason Merrill <jason@redhat.com>
- Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/51213 (again)
- * pt.c (type_unification_real): Call push_deferring_access_checks /
- pop_deferring_access_checks around the substitution of default
- template args.
- (instantiate_template_1): When the specialization returned by
- retrieve_specialization has FNDECL_HAS_ACCESS_ERRORS set and we
- are in a SFINAE context, simply return error_mark_node.
- * cp-tree.h (FNDECL_RECHECK_ACCESS_P): Rename FNDECL_HAS_ACCESS_ERRORS.
- 2012-07-31 Paolo Carlini <paolo.carlini@oracle.com>
- * pt.c (check_default_tmpl_args): Change is_primary and is_partial
- parameters to bool type, adjust.
- (push_template_decl_real): Tidy.
- * parser.c (cp_parser_init_declarator): Adjust.
- * decl.c (redeclaration_error_message): Likewise.
- * cp-tree.h (check_default_tmpl_args): Update prototype.
- 2012-07-31 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/53624
- * pt.c (check_default_tmpl_args): Don't check local types.
- 2012-07-25 Sandra Loosemore <sandra@codesourcery.com>
- Paul Brook <paul@codesourcery.com>
- PR target/53633
- * decl.c (finish_function): Check targetm.warn_func_return.
- 2012-07-25 Jason Merrill <jason@redhat.com>
- PR c++/54086
- * decl.c (grokdeclarator): Allow const and constexpr together.
- PR c++/54020
- * semantics.c (potential_constant_expression_1) [COND_EXPR]: Call
- maybe_constant_value.
- * cp-tree.h (tsubst_flags): Remove tf_no_access_control.
- * call.c (standard_conversion): Don't set it.
- * class.c (resolve_address_of_overloaded_function): Don't check it.
- * decl.c (check_default_argument): Call
- perform_implicit_conversion_flags.
- * pt.c (print_candidates_1): Use inform instead of error.
- 2012-07-24 Paolo Carlini <paolo.carlini@oracle.com>
- * pt.c (convert_template_argument, tsubst): Simplify fourth argument
- to make_typename_type (complain & tf_error -> complain).
- 2012-07-24 Steven Bosscher <steven@gcc.gnu.org>
- * class.c (n_vtables, n_vtable_entries, n_vtable_searches,
- n_vtable_elems, n_convert_harshness, n_compute_conversion_costs,
- n_inner_fields_searched): Always define.
- (build_primary_vtable): Convert #ifdef GATHER_STATISTICS to if-code.
- (print_class_statistics): Convert #ifdef GATHER_STATISTICS to if-code.
- * tree.c (depth_reached): Always define global.
- (cxx_print_statistics): Convert #ifdef GATHER_STATISTICS to if-code.
- * pt.c (depth_reached): Always define.
- (push_tinst_level): Convert #ifdef GATHER_STATISTICS to if-code.
- * search.c (n_fields_searched, n_calls_lookup_field,
- n_calls_lookup_field_1, n_calls_lookup_fnfields,
- n_calls_lookup_fnfields_1, n_calls_get_base_type,
- n_outer_fields_searched, n_contexts_saved): Always define.
- (lookup_field_1): Convert #ifdef GATHER_STATISTICS to if-code.
- (lookup_member): Likewise.
- (lookup_fnfields_idx_nolazy): Likewise.
- (print_search_statistics): Likewise.
- (reinit_search_statistics): Unconditionally re-set counters.
- * lex.c (retrofit_lang_decl): Convert #ifdef GATHER_STATISTICS
- to if-code.
- (cxx_dup_lang_specific_decl): Likewise.
- (copy_lang_type): Likewise.
- (cxx_make_type): Likewise.
- 2012-07-20 Jason Merrill <jason@redhat.com>
- PR c++/54038
- * tree.c (build_cplus_array_type): Use build_cplus_array_type to build
- canonical array type rather than mess with its TYPE_*_VARIANT.
- 2012-07-19 Jason Merrill <jason@redhat.com>
- PR c++/54026
- * typeck.c (cp_apply_type_quals_to_decl): Check COMPLETE_TYPE_P.
- PR c++/54021
- * call.c (build_cxx_call): Set optimize when folding
- __builtin_constant_p in a constexpr function.
- 2012-07-18 Jason Merrill <jason@redhat.com>
- * pt.c (instantiate_decl): Don't recheck substitutions.
- 2012-07-18 Paolo Carlini <paolo.carlini@oracle.com>
- Jason Merrill <jason@redhat.com>
- DR 1170
- PR c++/51213
- * semantics.c (perform_access_checks): Add complain parm, return bool.
- (perform_deferred_access_checks): Likewise.
- (perform_or_defer_access_check): Likewise.
- (speculative_access_check): Remove.
- * call.c (enforce_access): Add complain parm, return bool.
- * decl.c, friend.c, class.c, init.c, parser.c: Adjust callers.
- * search.c: Adjust callers.
- * cp-tree.h (TINFO_RECHECK_ACCESS_P): New macro.
- (FNDECL_RECHECK_ACCESS_P): New macro.
- * method.c (synthesized_method_walk): Stop deferring access checks.
- * pt.c (recheck_decl_substitution): New.
- (instantiate_template_1): Set and check FNDECL_RECHECK_ACCESS_P.
- 2012-07-18 Jason Merrill <jason@redhat.com>
- * method.c (process_subob_fn): Make sure no_implicit_p is non-null
- before trying to store through it.
- 2012-07-17 Jason Merrill <jason@redhat.com>
- PR c++/53995
- * decl.c (finish_enum_value_list): Only call
- insert_late_enum_def_into_classtype_sorted_fields in class scope.
- PR c++/53989
- * tree.c (build_cplus_array_type): Also add TYPE_CANONICAL
- to the list of variants.
- * decl.c (xref_basetypes): Complain about incomplete template base.
- * class.c (finish_struct): Adjust variants in templates, too.
- PR c++/53549
- * parser.c (cp_parser_class_head): Call xref_basetypes here.
- (cp_parser_class_specifier_1): Not here.
- * pt.c (tsubst_decl) [USING_DECL]: Check uses_template_parms
- as well as DECL_DEPENDENT_P.
- 2012-07-16 Jason Merrill <jason@redhat.com>
- * cp-tree.h (struct deferred_access_check): Add location.
- * semantics.c (perform_access_checks): Use it.
- (perform_or_defer_access_check): Store it.
- 2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
- * dump.c (dump_stmt): Moved here from c-dump.c.
- * optimize.c: Include dumpfile.h instead of tree-dump.h.
- * class.c: Likewise.
- * decl2.c: Likewise.
- * Make-lang.in: Fix dependencies.
- 2012-07-13 Jason Merrill <jason@redhat.com>
- PR c++/53953
- * method.c (synthesized_method_walk): Initialize no_implicit_p sooner.
- 2012-07-12 Jason Merrill <jason@redhat.com>
- * pt.c (instantiate_decl): Check typedefs access here.
- (instantiate_template_1): Not here.
- * pt.c (deduction_tsubst_fntype): Just suppress access checking.
- (instantiate_template_1): Set DECL_TI_TEMPLATE before access checking.
- (push_deduction_access_scope, pop_deduction_access_scope): Remove.
- 2012-07-11 Jason Merrill <jason@redhat.com>
- DR 1402
- * method.c (synthesized_method_walk): Replace uses of msg with diag.
- Correct handling of virtual bases with move operations.
- (process_subob_fn, walk_field_subobs): Replace uses of msg with diag.
- 2012-07-11 Steven Bosscher <steven@gcc.gnu.org>
- * method.c: Do not include tree-pass.h.
- 2012-07-10 Jason Merrill <jason@redhat.com>
- DR 1402
- PR c++/53733
- * cp-tree.h (FNDECL_SUPPRESS_IMPLICIT_DECL): New.
- (struct lang_decl_fn): Add suppress_implicit_decl field.
- * method.c (implicitly_declare_fn): Check it.
- (process_subob_fn): Add no_implicit_p parm.
- (walk_field_subobs, synthesized_method_walk): Likewise.
- (maybe_explain_implicit_delete): Adjust.
- (explain_implicit_non_constexpr): Adjust.
- * method.c (synthesized_method_walk): Avoid changing
- EH spec based on cleanups in other places, too.
- 2012-07-09 Sterling Augustine <saugustine@google.com>
- * error.c (lang_decl_name): Use TFF_UNQUALIFIED_NAME flag.
- 2012-07-08 Steven Bosscher <steven@gcc.gnu.org>
- * decl.c (cp_finish_decl): Add FIXME at add_local_decl call site.
- 2012-07-06 Jason Merrill <jason@redhat.com>
- PR c++/53862
- * pt.c (tsubst_arg_types): Add "end" parameter.
- (check_undeduced_parms): Use it.
- * cp-tree.h (DECL_DECLARES_TYPE_P): Check DECL_TYPE_TEMPLATE_P.
- PR c++/53858
- * name-lookup.c (ambiguous_decl): Use DECL_TYPE_TEMPLATE_P.
- 2012-07-05 Jason Merrill <jason@redhat.com>
- PR c++/53039
- * pt.c (arg_from_parm_pack_p): Go back to using same_type_p or
- cp_tree_equal.
- * cp-tree.h (TEMPLATE_PARM_NUM_SIBLINGS): Remove.
- (struct template_parm_index_s): Remove num_siblings.
- * pt.c (fixup_template_parms, fixup_template_parm_index): Remove.
- (fixup_template_type_parm_type): Remove.
- (build_template_parm_index): Remove num_siblings parm.
- (process_template_parm): Likewise.
- * parser.c (cp_parser_template_parameter_list): Adjust.
- * tree.c (cp_tree_equal): Don't compare num_siblings.
- * typeck.c (comp_template_parms_position): Likewise.
- PR c++/50852
- PR c++/53039
- * tree.c (strip_typedefs_expr): New.
- * cp-tree.h: Declare it.
- * pt.c (convert_template_argument, unify): Use it.
- * parser.c (cp_parser_template_declaration_after_export): Don't call
- fixup_template_parms.
- 2012-07-04 Jason Merrill <jason@redhat.com>
- PR c++/53848
- PR c++/53524
- * decl.c (build_enumerator): Don't use build_lang_decl_loc.
- 2012-07-03 Jakub Jelinek <jakub@redhat.com>
- PR c++/53812
- * semantics.c (finish_goto_stmt): Surround computed goto argument
- with CLEANUP_POINT_EXPR if needed.
- 2012-07-02 Jason Merrill <jason@redhat.com>
- PR c++/53619
- * pt.c (in_template_function): New.
- * cp-tree.h: Declare it.
- * class.c (build_base_path, resolves_to_fixed_type_p): Use it.
- PR c++/53783
- * pt.c (tsubst_copy_and_build) [LAMBDA_EXPR]: Use tsubst
- for LAMBDA_EXPR_EXTRA_SCOPE.
- PR c++/53788
- * pt.c (build_non_dependent_expr): Don't wrap a dummy object.
- PR c++/53816
- * class.c (resolves_to_fixed_type_p): Check uses_template_parms
- (current_function_decl) instead of processing_template_decl.
- PR c++/53821
- * semantics.c (maybe_add_lambda_conv_op): Don't set
- DECL_INTERFACE_KNOWN.
- PR c++/53524
- * call.c (build_conditional_expr_1): Don't warn about comparison of
- two enumerators before their enumeration is complete.
- (build_new_op_1): Call decay_conversion before warn_logical_operator.
- * decl.c (build_enumerator): Set DECL_CONTEXT of an enumerator to
- its enumeration.
- * decl2.c (mark_used): Call used_types_insert for enums.
- * semantics.c (finish_id_expression): Don't decay CONST_DECL.
- (finish_member_declaration): Don't change DECL_CONTEXT of enumerators.
- * class.c (check_field_decls): Don't change DECL_CONTEXT of enums.
- * typeck.c (convert_for_assignment): Don't decay CONST_DECL.
- (build_class_member_access_expr): Look through unscoped enums.
- * search.c (context_for_name_lookup): Look through unscoped enums.
- * pt.c (tsubst_copy_and_build): Don't decay CONST_DECL.
- (tsubst_copy): Use DECL_CONTEXT to find the enumeration.
- * tree.c (decl_linkage): Likewise.
- * cvt.c (ocp_convert): Check decayed expr for enum range warning.
- 2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
- * Make-lang.in: Remove tree-mudflap.o from CXX_AND_OBJCXX_OBJS.
- 2012-06-27 Jason Merrill <jason@redhat.com>
- * parser.c (cp_parser_check_for_invalid_template_id): tag_type parm.
- (cp_parser_simple_type_specifier, cp_parser_class_head): Adjust.
- (cp_parser_elaborated_type_specifier): Adjust.
- * decl.c (duplicate_decls): Return error_mark_node on template
- mismatch.
- PR c++/53563
- * parser.c (cp_parser_template_id): Add tag_type parm.
- (cp_parser_template_name): Likewise.
- (cp_parser_id_expression, cp_parser_unqualified_id): Adjust.
- (cp_parser_pseudo_destructor_name, cp_parser_type_name): Adjust.
- (cp_parser_simple_type_specifier, cp_parser_class_name): Adjust.
- (cp_parser_elaborated_type_specifier, cp_parser_class_head): Adjust.
- 2012-06-27 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
- PR C++/51033
- * semantics.c (constexpr_call): Fix typo in comment.
- (cxx_eval_vec_perm_expr): New.
- (cxx_eval_constant_expression): Fold VEC_PERM_EXPRs.
- 2012-06-26 Richard Guenther <rguenther@suse.de>
- PR c++/53752
- * mangle.c (write_array_type): Truncate the number-of-elements
- result.
- 2012-06-25 Jason Merrill <jason@redhat.com>
- PR c++/53498
- PR c++/53305
- * pt.c (tsubst_decl) [PARM_DECL]: Don't recurse into DECL_CHAIN
- if cp_unevaluated_operand is set.
- (tsubst_copy) [PARM_DECL]: Don't copy before tsubsting.
- PR c++/52988
- * typeck.c (decay_conversion): Don't discard side-effects from
- expressions of nullptr_t.
- 2012-06-25 Florian Weimer <fweimer@redhat.com>
- * init.c (build_new_1): Warn about (T[N]) for variable N, and
- reject T[M][N].
- * parser.c (cp_parser_direct_new_declarator): Accept non-constant
- expressions. Handled now in build_new_1.
- 2012-06-25 Jason Merrill <jason@redhat.com>
- PR c++/53202
- * semantics.c (build_data_member_initialization): Always keep
- initializer for empty base.
- (cxx_eval_bare_aggregate): Discard it here.
- PR c++/53565
- * pt.c (tsubst_omp_for_iterator): Simplify DECL_EXPR handling.
- (tsubst_expr) [OMP_FOR]: Here, too.
- 2012-06-25 Jakub Jelinek <jakub@redhat.com>
- PR c++/53594
- * class.c (check_bases_and_members): Avoid -Wuninitialized
- diagnostics for non-static const members or references if they
- use NSDMI.
- 2012-06-16 Ville Voutilainen <ville.voutilainen@gmail.com>
- * parser.c (cp_parser_direct_declarator): Move virt-specifier
- parsing after late-specified return type parsing.
- 2012-06-14 Jason Merrill <jason@redhat.com>
- PR c++/53651
- * name-lookup.c (constructor_name_p): Don't try to look at the
- name of a DECLTYPE_TYPE.
- 2012-06-18 Lawrence Crowl <crowl@google.com>
- * decl2.c (cp_write_global_declarations): Rename use of TV_PHASE_CGRAPH
- to TV_PHASE_OPT_GEN.
- 2012-06-18 Steven Bosscher <steven@gcc.gnu.org>
- * decl.c (finish_function): Remove code conditional on VMS_TARGET.
- 2012-06-15 Marc Glisse <marc.glisse@inria.fr>
- PR c++/51033
- * semantics.c (literal_type_p): Handle VECTOR_TYPE.
- (potential_constant_expression_1): Handle VEC_PERM_EXPR.
- * parser.c (cp_parser_postfix_expression): Handle RID_BUILTIN_SHUFFLE.
- 2012-06-09 Jason Merrill <jason@redhat.com>
- * pt.c (tsubst_expr) [TAG_DEFN]: Instantiate local class.
- * class.c (finish_struct): Don't add a TAG_DEFN for a lambda.
- * decl2.c (finish_static_data_member_decl): Avoid redundant error.
- PR c++/53599
- * name-lookup.c (pushtag_1): Add a DECL_EXPR for a local class.
- * semantics.c (finish_cond): Build a COMPOUND_EXPR.
- * pt.c (tsubst_expr) [COMPOUND_EXPR]: Handle.
- [DECL_EXPR]: Don't call cp_finish_decl for an implicit typedef.
- Don't return the decl.
- 2012-06-11 Richard Guenther <rguenther@suse.de>
- PR c++/53605
- * mangle.c (write_array_type): Use double-ints for array domain
- arithmetic.
- 2012-06-07 Fabien Chêne <fabien@gcc.gnu.org>
- PR c++/51214
- * cp-tree.h (insert_late_enum_def_into_classtype_sorted_fields):
- Declare.
- * class.c (insert_into_classtype_sorted_fields): New.
- (add_enum_fields_to_record_type): New.
- (count_fields): Adjust the comment.
- (add_fields_to_record_type): Likewise.
- (finish_struct_1): Move the code that inserts the fields for the
- sorted case, into insert_into_classtype_sorted_fields, and call
- it.
- (insert_late_enum_def_into_classtype_sorted_fields): Define.
- * decl.c (finish_enum_value_list): Call
- insert_late_enum_def_into_classtype_sorted_fields if a late enum
- definition is encountered.
- 2012-06-06 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/53567
- * typeck.c (cp_perform_integral_promotions): New, like
- perform_integral_promotions but also takes a tsubst_flags_t parameter.
- (pointer_diff): Add tsubst_flags_t parameter.
- (decay_conversion, cp_default_conversion, cp_build_array_ref,
- cp_build_binary_op, cp_build_unary_op, build_static_cast_1,
- build_reinterpret_cast_1, cp_build_modify_expr,
- convert_for_assignment): Adjust.
- * optimize.c (build_delete_destructor_body): Adjust.
- * init.c (expand_virtual_init, expand_default_init, build_new_1,
- build_new, build_vec_delete_1, build_vec_init, build_delete): Adjust.
- (construct_virtual_base): Adjust LOOKUP_COMPLAIN -> 0.
- * class.c (build_base_path): Adjust.
- * decl.c (compute_array_index_type, finish_destructor_body): Likewise.
- * method.c (synthesized_method_walk): Adjust flag and complain.
- * rtti.c (ifnonnull): Add tsubst_flags_t parameter.
- (build_typeid, build_dynamic_cast_1): Adjust.
- * except.c (initialize_handler_parm): Likewise.
- * typeck2.c (process_init_constructor_record): Likewise.
- * pt.c (tsubst_friend_class): Don't change flags.
- * semantics.c (finish_goto_stmt, handle_omp_for_class_iterator,
- finish_static_assert): Likewise.
- * parser.c (cp_parser_lookup_name): Just pass 0 as flags to
- lookup_name_real.
- * call.c (build_op_delete_call): Add tsubst_flags_t parameter.
- (convert_like_real, convert_arg_to_ellipsis, convert_for_arg_passing):
- Adjust.
- (standard_conversion): Adjust LOOKUP_COMPLAIN -> 0.
- (implicit_conversion): Mask out tf_error with a FIXME.
- (build_user_type_conversion_1, build_new_op_1, build_over_call): Use
- complain & tf_error instead of flags & LOOKUP_COMPLAIN.
- * cvt.c (cp_convert_to_pointer, convert_to_pointer_force,
- build_up_reference, convert_to_reference, cp_convert,
- cp_convert_and_check, ocp_convert, convert_force): Add tsubst_flags_t
- parameter.
- (convert_to_reference, ocp_convert): Use complain & tf_error instead
- of flags & LOOKUP_COMPLAIN.
- (convert_force): Adjust LOOKUP_COMPLAIN -> 0.
- * name-lookup.c (identifier_type_value_1, lookup_qualified_name,
- lookup_name_real, lookup_function_nonclass, lookup_name,
- lookup_name_prefer_type): Adjust LOOKUP_COMPLAIN -> 0.
- * cp-tree.h: Adjust prototypes; remove LOOKUP_COMPLAIN.
- 2012-06-06 Steven Bosscher <steven@gcc.gnu.org>
- * decl.c: Do not include output.h.
- (start_decl): Remove code for flag_conserve_space.
- 2012-06-06 Fabien Chêne <fabien@gcc.gnu.org>
- PR c++/52841
- * parser.c (cp_parser_alias_declaration): Return earlier
- if an error occured.
- 2012-06-04 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/53524
- * call.c (build_conditional_expr_1): Use OPT_Wenum_compare
- to control enumeral mismatch in conditional expression too.
- 2012-06-04 Sterling Augustine <saugustine@google.com>
- * cp-tree.h: Declare decl_as_dwarf_string, lang_decl_dwarf_name.
- * cp-lang.c (cxx_dwarf_name): Call them.
- 2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
- * semantics.c: Do not include output.h.
- * decl2.c: Likewise.
- * friend.c: Likewise.
- * typeck.c: Likewise.
- * typeck2.c: Likewise.
- * Make-lang.in: Fix dependencies.
- 2012-06-01 Jason Merrill <jason@redhat.com>
- PR c++/52973
- * parser.c (cp_parser_class_head): Apply attributes here.
- * semantics.c (begin_class_definition): Not here.
- * cp-tree.h: Adjust.
- PR c++/52725
- * parser.c (cp_parser_binary_expression): Bail early if we're parsing
- tentatively and the LHS has a parse error.
- PR c++/53137
- * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
- (instantiate_decl): Don't push_to_top_level for local class methods.
- (instantiate_class_template_1): Or for local classes.
- PR c++/53484
- * pt.c (do_auto_deduction): Don't try to deduce from a
- type-dependent initializer.
- 2012-06-01 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/26155
- * name-lookup.c (push_namespace): When error recovery is
- impossible just error out in duplicate_decls.
- 2012-05-31 Steven Bosscher <steven@gcc.gnu.org>
- * call.c: Do not include output.h.
- * class.c: Likewise.
- * except.c: Likewise.
- * friend.c: Likewise.
- * init.c: Likewise.
- * lex.c: Likewise.
- * method.c: Likewise.
- * parser.c: Likewise.
- * pt.c: Likewise.
- * rtti.c: Likewise.
- * search.c: Likewise.
- 2012-05-30 Jason Merrill <jason@redhat.com>
- PR c++/53356
- * tree.c (stabilize_init): Handle stabilizing a TARGET_EXPR
- representing a bitwise copy of a glvalue.
- * tree.c (stabilize_expr): Tweak logic.
- PR c++/53356
- * tree.c (stabilize_init): Side effects make the init unstable.
- 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/53503
- * semantics.c (potential_constant_expression_1): Handle LTGT_EXPR.
- 2012-05-26 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/53491
- * tree.c (stabilize_expr): Handle exp of void type.
- 2012-05-26 Jason Merrill <jason@redhat.com>
- PR c++/53220
- * call.c (convert_like_real) [ck_list]: Take array address directly.
- * typeck.c (decay_conversion): Reject decay of an array compound
- literal.
- 2012-05-25 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/32054
- * parser.c (cp_parser_member_declaration): A storage class is not
- allowed in a declaration of an anonymous aggregate in a class scope.
- 2012-05-24 Uros Bizjak <ubizjak@gmail.com>
- PR obj-c++/53441
- * decl.c (grokdeclarator): Check that current_class_type is non-NULL
- before calling constructor_name_p.
- 2012-05-24 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/32080
- * parser.c (cp_parser_ctor_initializer_opt_and_function_body,
- cp_parser_function_body): Add a bool parameter, true when parsing
- a function-try-block.
- (cp_parser_function_try_block): Pass true to the above.
- (cp_parser_function_definition_after_declarator,
- cp_parser_function_transaction): Adjust.
- 2012-05-23 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/29185
- * decl2.c (delete_sanity): Extend 'deleting array' warning to
- any array type.
- 2012-05-21 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/51184
- * decl.c (grokdeclarator): Diagnose functions returning abstract
- class types as TYPENAME.
- * cp-tree.h (ABSTRACT_CLASS_TYPE_P): Add.
- * except.c (is_admissible_throw_operand_or_catch_parameter): Use it.
- * pt.c (tsubst): Likewise.
- * semantics.c (trait_expr_value): Likewise.
- 2012-05-21 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/40821
- * parser.c (cp_parser_attributes_opt): Enforce error checking of
- unbalanced parentheses in the presence of tentative parsing.
- 2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/39681
- * parser.c (cp_parser_new_type_id): Early return error_mark_node
- if the cp_parser_type_specifier_seq call has type_specifier_seq.type
- error_mark_node; tidy.
- (cp_parser_new_expression): Always initialize nelts to NULL_TREE to
- avoid uninitialized warnings.
- (cp_parser_init_declarator, cp_parser_late_parse_one_default_arg):
- Call cp_parser_skip_to_end_of_statement if cp_parser_initializer
- returns error_mark_node.
- 2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/53371
- * except.c (is_admissible_throw_operand): Rename to
- is_admissible_throw_operand_or_catch_parameter and handle
- catch parameter too.
- (expand_start_catch_block): Use it.
- (build_throw): Adjust.
- 2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/44516
- * typeck.c (build_x_array_ref, build_x_conditional_expr,
- build_x_compound_expr, build_x_modify_expr): Add location_t parameter.
- (finish_class_member_access_expr, build_x_indirect_ref,
- build_x_binary_op, build_x_compound_expr_from_list,
- build_x_compound_expr_from_vec): Adjust callers.
- * tree.c (build_min_nt_loc): New.
- (build_min_nt): Remove.
- * typeck2.c (build_x_arrow): Adjust callers.
- * pt.c (tsubst_qualified_id, tsubst_omp_for_iterator,
- tsubst_copy_and_build): Likewise.
- * semantics.c (finish_mem_initializers, handle_omp_for_class_iterator,
- finish_omp_atomic): Likewise.
- * decl2.c (grok_array_decl, build_anon_union_vars): Adjust.
- * parser.c (cp_parser_question_colon_clause,
- cp_parser_assignment_expression, cp_parser_expression,
- cp_parser_template_id, cp_parser_omp_for_loop): Likewise.
- * cp-tree.h: Update.
- 2012-05-16 Dodji Seketeli <dodji@redhat.com>
- PR preprocessor/7263
- * cp-tree.h (enum cp_decl_spec): Add new enumerators to cover all
- the possible declarator specifiers so far.
- (struct cp_decl_specifier_seq::locations): Declare new member.
- (cp_decl_specifier_seq::{specs, type_location}): Remove.
- (decl_spec_seq_has_spec_p): Declare new function.
- * parser.c (cp_parser_check_decl_spec): Remove.
- (set_and_check_decl_spec_loc): Define new static function.
- (decl_spec_seq_has_spec_p): Define new public function.
- (cp_parser_decl_specifier_seq, cp_parser_function_specifier_opt)
- (cp_parser_type_specifier, cp_parser_simple_type_specifier)
- (cp_parser_set_storage_class, cp_parser_set_decl_spec_type)
- (cp_parser_alias_declaration): Set the locations for each
- declspec, using set_and_check_decl_spec_loc.
- (cp_parser_explicit_instantiation, cp_parser_init_declarator)
- (cp_parser_member_declaration, cp_parser_init_declarator): Use the
- new declspec location for specifiers. Use the new
- decl_spec_seq_has_spec_p.
- (cp_parser_type_specifier_seq): Use the new
- set_and_check_decl_spec_loc. Stop using
- cp_parser_check_decl_spec. Use the new decl_spec_seq_has_spec_p.
- (, cp_parser_init_declarator): Use the new
- set_and_check_decl_spec_loc.
- (cp_parser_single_declaration, cp_parser_friend_p)
- (cp_parser_objc_class_ivars, cp_parser_objc_struct_declaration):
- Use the new decl_spec_seq_has_spec_p.
- * decl.c (check_tag_decl): Use new decl_spec_seq_has_spec_p. Use
- the more precise ds_redefined_builtin_type_spec location for
- diagnostics about re-declaring C++ built-in types.
- (start_decl, grokvardecl, grokdeclarator): Use the new
- decl_spec_seq_has_spec_p.
- 2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/11856
- * pt.c (tsubst_copy_and_build): Increase / decrease
- c_inhibit_evaluation_warnings around build_x_binary_op call.
- 2012-05-12 Paolo Carlini <paolo.carlini@oracle.com>
- * cp-tree.h (TYPE_PTRMEM_P): Rename to TYPE_PTRDATAMEM_P.
- (TYPE_PTR_TO_MEMBER_P): Rename to TYPE_PTRMEM_P.
- (TYPE_PTR_OR_PTRMEM_P): Add.
- * typeck.c (composite_pointer_type_r, composite_pointer_type,
- common_pointer_type, cp_build_indirect_ref, cp_build_binary_op,
- cp_truthvalue_conversion, convert_ptrmem, build_static_cast_1,
- build_reinterpret_cast_1, build_const_cast_1, comp_ptr_ttypes_real,
- casts_away_constness_r, casts_away_constness): Adjust.
- * init.c (build_zero_init_1): Adjust.
- * class.c (check_field_decls): Likewise.
- * decl.c (check_default_argument): Likewise.
- * rtti.c (target_incomplete_p): Likewise.
- * tree.c (zero_init_p): Likewise.
- * cxx-pretty-print.c (pp_cxx_ptr_operator,
- pp_cxx_abstract_declarator): Likewise.
- * typeck2.c (build_m_component_ref): Likewise.
- * pt.c (convert_nontype_argument, invalid_nontype_parm_type_p,
- dependent_type_p_r): Likewise.
- * call.c (null_member_pointer_value_p, standard_conversion,
- add_builtin_candidate, build_conditional_expr_1, compare_ics):
- Likewise.
- * cp-objcp-common.c (cp_var_mod_type_p): Likewise.
- * cvt.c (cp_convert_to_pointer, ocp_convert,
- perform_qualification_conversions): Likewise.
- * mangle.c (write_type): Likewise.
- * name-lookup.c (arg_assoc_type): Likewise.
- 2012-05-12 Paolo Carlini <paolo.carlini@oracle.com>
- * parser.c (struct cp_parser_expression_stack_entry): Add location_t
- field.
- (cp_parser_binary_expression): Rework to always update at the same
- time tree_type and loc.
- * call.c (print_z_candidate): Add location_t parameter.
- (print_z_candidates, convert_like_real, joust): Adjust.
- 2012-05-11 Alexandre Oliva <aoliva@redhat.com>
- PR c++/53209
- * pt.c (tsubst_decl): Bail out if argvec is error_mark_node.
- 2012-05-11 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/53305
- * pt.c (tsubst_copy: case PARM_DECL): Return error_mark_node if
- tsubst_decl returns NULL_TREE.
- * cxx-pretty-print.c (pp_cxx_simple_type_specifier): Handle
- BOUND_TEMPLATE_TEMPLATE_PARM.
- 2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/53158
- * cvt.c (ocp_convert): Error out early for void -> bool conversions.
- * typeck.c (decay_conversion): Use error_at.
- * call.c (build_integral_nontype_arg_conv, convert_like_real,
- convert_arg_to_ellipsis, perform_implicit_conversion_flags,
- initialize_reference): Likewise.
- * cvt.c (warn_ref_binding): Add location_t parameter.
- (cp_convert_to_pointer, convert_to_reference, ocp_convert,
- convert_to_void, ): Use error_at and warning_at.
- 2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/53301
- * decl.c (check_default_argument): Fix typo (POINTER_TYPE_P
- instead of TYPE_PTR_P) in zero-as-null-pointer-constant warning.
- 2012-05-06 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/53152
- * call.c (op_error, build_new_op_1, build_new_op): Add location_t
- parameter.
- (build_conditional_expr_1): Adjust.
- * typeck.c (build_x_indirect_ref, build_x_binary_op,
- build_x_unary_op): Add location_t parameter.
- (rationalize_conditional_expr, build_x_array_ref,
- build_x_compound_expr, cp_build_modify_expr, build_x_modify_expr):
- Adjust.
- * typeck2.c (build_x_arrow): Add location_t parameter.
- * semantics.c (finish_unary_op_expr): Likewise.
- (finish_increment_expr, handle_omp_for_class_iterator): Adjust.
- * decl2.c (grok_array_decl): Add location_t parameter.
- * parser.c (cp_parser_postfix_open_square_expression,
- cp_parser_postfix_dot_deref_expression, cp_parser_unary_expression,
- cp_parser_binary_expression, cp_parser_builtin_offsetof,
- do_range_for_auto_deduction, cp_convert_range_for,
- cp_parser_template_argument, cp_parser_omp_for_cond): Pass the
- location, adjust.
- * pt.c (tsubst_copy_and_build): Adjust.
- * tree.c (maybe_dummy_object): Likewise.
- * cp-tree.h: Update declarations.
- 2012-05-04 Paolo Carlini <paolo.carlini@oracle.com>
- * semantics.c (cxx_eval_constant_expression, case CONVERT_EXPR): Tidy.
- 2012-05-04 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/53166
- * pt.c (instantiate_class_template_1): Increase / decrease
- c_inhibit_evaluation_warnings around the tsubst_expr call
- for STATIC_ASSERT_CONDITION.
- (tsubst_expr, case STATIC_ASSERT): Likewise.
- * typeck.c (cp_build_binary_op, case EQ_EXPR/NE_EXPR): Check
- c_inhibit_evaluation_warnings in the OPT_Waddress warnings.
- 2012-05-03 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/53186
- * call.c (build_over_call): Handle final member functions
- and class types.
- (build_new_method_call_1): Do not handle here.
- 2012-05-02 Richard Guenther <rguenther@suse.de>
- * decl.c (grokdeclarator): Properly check for sizes that
- cover more than half of the address-space.
- 2012-04-30 Marc Glisse <marc.glisse@inria.fr>
- PR c++/51033
- * typeck.c (cp_build_array_ref): Handle VECTOR_TYPE.
- * decl2.c (grok_array_decl): Likewise.
- PR c++/51314
- * parser.c (cp_parser_sizeof_operand): Require parentheses for
- sizeof...
- 2012-04-30 Dodji Seketeli <dodji@redhat.com>
- Fix location for static class members
- * decl.c (grokdeclarator): Use the location carried by the
- declarator for the DECL of the static class member.
- Fix va_arg type location
- * cp-tree.h (build_x_va_arg): Take an additional location
- parameter.
- * call.c (build_x_va_arg): Take a loc parameter for the location
- of the type of the va_arg expression.
- * parser.c (cp_parser_primary_expression): Pass the type of the
- type in the va_arg expression to build_x_va_arg.
- * pt.c (tsubst_copy): Adjust calls to build_x_va_arg.
- Make conversion warnings work on NULL with -ftrack-macro-expansion
- * call.c (conversion_null_warnings): Use the new
- expansion_point_location_if_in_system_header.
- * cvt.c (build_expr_type_conversion): Likewise.
- * typeck.c (cp_build_binary_op): Likewise.
- 2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
- * typeck.c (convert_for_assignment): Replace
- Wmissing-format-attribute with Wsuggest-attribute=format.
- * call.c (convert_for_arg_passing): Likewise.
- 2012-04-26 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/53096
- * class.c (check_bases_and_members): Implement core/1333, do not
- disallow defaulted in the class body non-const ref special members.
- 2012-04-24 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/52363
- * call.c (tourney, perform_overload_resolution,
- build_operator_new_call, build_user_type_conversion_1,
- build_user_type_conversion, perform_overload_resolution,
- add_template_candidate, add_template_candidate_real,
- add_template_conv_candidate, add_builtin_candidates,
- add_builtin_candidate, build_builtin_candidate,
- add_conv_candidate, add_function_candidate, implicit_conversion,
- reference_binding, build_list_conv, conditional_conversion,
- add_candidates, can_convert_array, build_aggr_conv,
- build_array_conv, build_complex_conv, conditional_conversion):
- Add tsubst_flags_t parameter.
- (joust): Likewise, use it to handle SFINAE as if pedantic.
- (add_list_candidates, build_integral_nontype_arg_conv,
- perform_overload_resolution, build_new_function_call,
- build_operator_new_call, build_op_call_1,
- build_conditional_expr_1, build_new_op_1, convert_like_real,
- convert_arg_to_ellipsis, convert_default_arg,
- convert_for_arg_passing, build_over_call,
- build_new_method_call_1, can_convert_arg, can_convert_arg_bad,
- perform_implicit_conversion_flags,
- perform_direct_initialization_if_possible,
- initialize_reference): Adjust.
- * typeck.c (casts_away_constness, casts_away_constness_r):
- Add tsubst_flags_t parameter.
- (convert_arguments, check_for_casting_away_constness,
- build_static_cast_1, build_ptrmemfunc, convert_for_assignment):
- Adjust.
- * decl.c (reshape_init_r, check_default_argument): Likewise.
- * cp-gimplify.c (cxx_omp_clause_apply_fn): Likewise.
- * pt.c (convert_nontype_argument, check_non_deducible_conversion):
- Likewise.
- * init.c (build_new_1): Likewise.
- * cvt.c (convert_to_reference, ocp_convert, build_type_conversion,
- build_expr_type_conversion, ): Likewise.
- * search.c (check_final_overrider): Likewise.
- * cp-tree.h (build_user_type_conversion,
- build_operator_new_call, can_convert, can_convert_arg,
- can_convert_arg_bad, convert_default_arg,
- convert_arg_to_ellipsis, convert_for_arg_passing):
- Adjust declaration.
- 2012-04-22 Jan Hubicka <jh@suse.cz>
- * decl2.c (maybe_make_one_only): Mark keyed COMDATs as USED so they
- gets finalized.
- 2012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
- PR c/44774
- * typeck.c (composite_pointer_type): Likewise.
- (cxx_sizeof_or_alignof_type): Likewise.
- (cp_build_array_ref): Likewise.
- (cp_build_function_call_vec): Likewise.
- (cp_build_addr_expr_1): Likewise.
- (convert_member_func_to_ptr): Likewise.
- * decl.c (check_tag_decl): Likewise.
- (check_static_variable_definition): Likewise.
- (compute_array_index_type): Likewise.
- (create_array_type_for_decl): Likewise.
- (grokdeclarator): Likewise.
- (grok_op_properties): Likewise.
- * error.c (maybe_warn_cpp0x): Likewise.
- * pt.c (maybe_process_partial_specialization): Likewise.
- (convert_template_argument): Likewise.
- (do_decl_instantiation): Likewise.
- (do_type_instantiation): Likewise.
- * parser.c (cp_parser_primary_expression): Likewise.
- (cp_parser_postfix_expression): Likewise.
- (cp_parser_unary_expression): Likewise.
- (cp_parser_question_colon_clause): Likewise.
- (cp_parser_lambda_introducer): Likewise.
- (cp_parser_lambda_declarator_opt): Likewise.
- (cp_parser_compound_statement): Likewise.
- (cp_parser_jump_statement): Likewise.
- (cp_parser_declaration_seq_opt): Likewise.
- (cp_parser_enum_specifier): Likewise.
- (cp_parser_enumerator_list): Likewise.
- (cp_parser_initializer_list): Likewise.
- (cp_parser_member_declaration): Likewise.
- * call.c (build_conditional_expr_1): Likewise.
- * friend.c (make_friend_class): Likewise.
- * name-lookup.c (pushdecl_maybe_friend_1): Likewise.
- 2012-04-21 Jan Hubicka <jh@suse.cz>
- * method.c (make_alias_for): Do not set TREE_SYMBOL_REFERENCED.
- * decl2.c (mark_needed): Likewise.
- (decl_needed_p): Do not test TREE_SYMBOL_REFERENCED.
- * decl2.c (cxx_callgraph_analyze_expr): Remove.
- * cp-objcp-common.h (LANG_HOOKS_CALLGRAPH_ANALYZE_EXPR): Remove.
- * cp-tree.h (cxx_callgraph_analyze_expr): Remove.
- 2012-04-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
- PR 35441
- * typeck.c (cp_build_function_call_vec): Do not pretty-print
- expressions when caret is enabled.
- 2012-04-20 Jan Hubicka <jh@suse.cz>
- PR target/53042
- * decl2.c (maybe_emit_vtables): Do not initialize same_comdat_group
- list when target has no support for it.
- 2012-04-20 Michael Matz <matz@suse.de>
- * error.c (pedwarn_cxx98): Move va_end call after user
- of the va_list.
- 2012-04-18 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/52422
- * cp-tree.h (build_addr_func, decay_conversion,
- get_member_function_from_ptrfunc,
- build_m_component_ref, convert_member_func_to_ptr):
- Add tsubst_flags_t parameter.
- * typeck.c (cp_default_conversion): Add.
- (decay_conversion, default_conversion,
- get_member_function_from_ptrfunc, convert_member_func_to_ptr):
- Add tsubst_flags_t parameter and use it throughout.
- (cp_build_indirect_ref, cp_build_array_ref,
- cp_build_function_call_vec, convert_arguments, build_x_binary_op,
- cp_build_binary_op, cp_build_unary_op, build_reinterpret_cast_1,
- build_const_cast_1, expand_ptrmemfunc_cst,
- convert_for_initialization): Adjust.
- * init.c (build_vec_init): Adjust.
- * decl.c (grok_reference_init, get_atexit_node): Likewise.
- * rtti.c (build_dynamic_cast_1, tinfo_base_init): Likewise.
- * except.c (build_throw): Likewise.
- * typeck2.c (build_x_arrow): Likewise.
- (build_m_component_ref): Add tsubst_flags_t parameter and
- use it throughout.
- * pt.c (convert_nontype_argument): Adjust.
- * semantics.c (finish_asm_stmt, maybe_add_lambda_conv_op): Likewise.
- * decl2.c (build_offset_ref_call_from_tree): Likewise.
- * call.c (build_addr_func): Add tsubst_flags_t parameter and
- use it throughout.
- (build_call_a, build_conditional_expr_1, build_new_op_1,
- convert_like_real, convert_arg_to_ellipsis, build_over_call,
- build_special_member_call): Adjust.
- * cvt.c (cp_convert_to_pointer, force_rvalue,
- build_expr_type_conversion): Likewise.
- 2012-04-17 Tom de Vries <tom@codesourcery.com>
- * cp-gimplify.c (begin_bc_block): Add location parameter and use as
- location argument to create_artificial_label.
- (finish_bc_block): Change return type to void. Remove body_seq
- parameter, and add block parameter. Append label to STMT_LIST and
- return in block.
- (gimplify_cp_loop, gimplify_for_stmt, gimplify_while_stmt)
- (gimplify_do_stmt, gimplify_switch_stmt): Remove function.
- (genericize_cp_loop, genericize_for_stmt, genericize_while_stmt)
- (genericize_do_stmt, genericize_switch_stmt, genericize_continue_stmt)
- (genericize_break_stmt, genericize_omp_for_stmt): New function.
- (cp_gimplify_omp_for): Remove bc_continue processing.
- (cp_gimplify_expr): Genericize VEC_INIT_EXPR.
- (cp_gimplify_expr): Mark FOR_STMT, WHILE_STMT, DO_STMT, SWITCH_STMT,
- CONTINUE_STMT, and BREAK_STMT as unreachable.
- (cp_genericize_r): Genericize FOR_STMT, WHILE_STMT, DO_STMT,
- SWITCH_STMT, CONTINUE_STMT, BREAK_STMT and OMP_FOR.
- (cp_genericize_tree): New function, factored out of ...
- (cp_genericize): ... this function.
- 2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/52599
- * semantics.c (build_constexpr_constructor_member_initializers):
- Check for function-try-block as function-body.
- 2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/53003
- * parser.c (cp_parser_member_declaration): Check that
- initializer_token_start is non null before dereferencing it.
- 2012-04-16 Jason Merrill <jason@redhat.com>
- PR c++/38543
- * pt.c (determine_specialization): Instead of comparing the number
- of parms, check that tsubst gives the right answer.
- PR c++/52008
- * pt.c (process_partial_specialization): Complain about a partial
- specialization with fewer args than primary template parms.
- PR c++/50830
- * pt.c (convert_template_argument): Handle template template
- argument packs.
- PR c++/50303
- * pt.c (tsubst_pack_expansion): Use tsubst_expr for template
- template parameters.
- 2012-04-16 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/49152
- * call.c (op_error): Print types; when flag_diagnostics_show_caret
- is false print expressions too.
- (op_error_string): Add.
- 2012-04-16 Jason Merrill <jason@redhat.com>
- PR c++/51148
- * friend.c (make_friend_class): Call check_for_bare_parameter_packs.
- 2012-04-16 Jan Hubicka <jh@suse.cz>
- * decl2.c (collect_candidates_for_java_method_alias): Use FOR_EACH
- walkers to walk cgraph and varpool.
- 2012-04-15 Jason Merrill <jason@redhat.com>
- PR c++/47220
- * pt.c (coerce_template_parameter_pack): Check for error_mark_node.
- PR c++/52292
- PR c++/52380
- * pt.c (coerce_template_parms): Even if we aren't converting we
- want to expand argument packs.
- PR c++/52706
- * mangle.c (write_type): nullptr_t is a builtin type.
- 2012-04-14 Jan Hubicka <jh@suse.cz>
- * tree.c: Update field referenced for new cgraph/varpool layout.
- * decl2.c: Likewise.
- 2012-04-13 Jason Merrill <jason@redhat.com>
- PR c++/52824
- * pt.c (any_pack_expanson_args_p): New.
- (coerce_template_parms): Use it.
- PR c++/52905
- * call.c (joust): Handle comparing list and non-list ctors.
- PR c++/52915
- * decl2.c (finish_anon_union): Use cp_finish_decl.
- * error.c (dump_function_name): Avoid showing anonymous "name".
- 2012-04-11 Fabien Chêne <fabien@gcc.gnu.org>
- PR c++/52465
- * parser.c (cp_parser_class_name): Call strip_using_decl and
- return the target decl.
- * name-lookup.c (strip_using_decl): Returns NULL_TREE if the decl
- to be stripped is NULL_TREE.
- (qualify_lookup): Call strip_using_decl and perform some checks on
- the target decl.
- 2012-04-11 Jason Merrill <jason@redhat.com>
- PR debug/45088
- * decl.c (grokdeclarator): Strip the injected-class-name typedef
- if we are building a declaration or compound type.
- PR c++/52906
- * decl.c (check_tag_decl): Don't complain about attributes if we
- don't even have a type.
- 2012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
- * cvt.c (convert_to_void): Update comment.
- 2012-04-05 Jason Merrill <jason@redhat.com>
- PR c++/52596
- * semantics.c (finish_non_static_data_member): In templates, pass
- the decl to build_qualified_name.
- * tree.c (lvalue_kind) [SCOPE_REF]: Handle FIELD_DECL.
- 2012-04-04 Jason Merrill <jason@redhat.com>
- PR c++/52845
- * decl.c (finish_function): Update fntype after deducing return type.
- 2012-04-03 Jason Merrill <jason@redhat.com>
- PR c++/52796
- * pt.c (tsubst_initializer_list): A pack expansion with no elements
- means value-initialization.
- 2012-04-01 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/50043
- * class.c (deduce_noexcept_on_destructor,
- deduce_noexcept_on_destructors): New.
- (check_bases_and_members): Call the latter.
- * decl.c (grokfndecl): Call the former.
- * method.c (implicitly_declare_fn): Not static.
- * cp-tree.h (deduce_noexcept_on_destructor, implicitly_declare_fn):
- Declare
- 2012-03-29 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/52718
- * decl.c (check_default_argument): With -Wzero-as-null-pointer-constant
- warn for a zero as null pointer constant default argument.
- 2012-03-29 Jason Merrill <jason@redhat.com>
- PR c++/52685
- * tree.c (copy_binfo): Handle BINFO_DEPENDENT_BASE_P.
- 2012-03-29 Jakub Jelinek <jakub@redhat.com>
- PR c++/52759
- * decl.c (start_decl): Don't call maybe_apply_pragma_weak
- if processing_template_decl.
- 2012-03-29 Jason Merrill <jason@redhat.com>
- PR c++/52743
- * call.c (compare_ics): Handle ck_aggr like ck_list.
- 2012-03-28 Jason Merrill <jason@redhat.com>
- PR c++/52746
- * typeck.c (lookup_destructor): Clear BASELINK_QUALIFIED_P if
- we didn't get an explicit scope.
- * pt.c (tsubst_baselink): Likewise.
- 2012-03-28 Richard Guenther <rguenther@suse.de>
- * typeck2.c (process_init_constructor_array): Use the proper
- type for computing the array length.
- 2012-03-27 Meador Inge <meadori@codesourcery.com>
- PR c++/52672
- * semantics.c (cxx_fold_indirect_ref): Don't attempt to fold
- stripped child trees that are not pointer types.
- 2012-03-21 Jason Merrill <jason@redhat.com>
- Implement return type deduction for normal functions with -std=c++1y.
- * cp-tree.h (FNDECL_USED_AUTO): New macro.
- (LAMBDA_EXPR_DEDUCE_RETURN_TYPE_P): Remove.
- (dependent_lambda_return_type_node): Remove.
- (CPTI_DEPENDENT_LAMBDA_RETURN_TYPE): Remove.
- (struct language_function): Add x_auto_return_pattern field.
- (current_function_auto_return_pattern): New.
- (enum tsubst_flags): Add tf_partial.
- * decl.c (decls_match): Handle auto return comparison.
- (duplicate_decls): Adjust error message for auto return.
- (cxx_init_decl_processing): Remove dependent_lambda_return_type_node.
- (cp_finish_decl): Don't do auto deduction for functions.
- (grokdeclarator): Allow auto return without trailing return type in
- C++1y mode.
- (check_function_type): Defer checking of deduced return type.
- (start_preparsed_function): Set current_function_auto_return_pattern.
- (finish_function): Set deduced return type to void if not previously
- deduced.
- * decl2.c (change_return_type): Handle error_mark_node.
- (mark_used): Always instantiate functions with deduced return type.
- Complain about use if deduction isn't done.
- * parser.c (cp_parser_lambda_declarator_opt): Use 'auto' for
- initial return type.
- (cp_parser_lambda_body): Don't deduce return type in a template.
- (cp_parser_conversion_type_id): Allow auto in C++1y.
- * pt.c (instantiate_class_template_1): Don't mess with
- LAMBDA_EXPR_DEDUCE_RETURN_TYPE_P.
- (tsubst_copy_and_build): Likewise.
- (fn_type_unification, tsubst): Don't reduce the template parm level
- of 'auto' during deduction.
- (unify): Compare 'auto' specially.
- (get_bindings): Change test.
- (always_instantiate_p): Always instantiate functions with deduced
- return type.
- (do_auto_deduction): Handle error_mark_node and lambda context.
- Don't check for use in initializer.
- (contains_auto_r): Remove.
- * search.c (lookup_conversions_r): Handle auto conversion function.
- * semantics.c (lambda_return_type): Handle null return. Don't mess
- with dependent_lambda_return_type_node.
- (apply_deduced_return_type): Rename from apply_lambda_return_type.
- * typeck.c (merge_types): Handle auto.
- (check_return_expr): Do auto deduction.
- * typeck2.c (add_exception_specifier): Fix complain check.
- 2012-03-22 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/52487
- * class.c (check_field_decls): Call literal_type_p only
- on complete types.
- 2012-03-22 Jakub Jelinek <jakub@redhat.com>
- PR c++/52671
- * decl.c (check_tag_decl): Only use CLASSTYPE_TEMPLATE_INSTANTIATION
- on CLASS_TYPE_P types.
- 2012-03-20 Jason Merrill <jason@redhat.com>
- * lex.c (init_reswords): Use >= for cxx_dialect test.
- * parser.c (cp_parser_exception_specification_opt): Likewise.
- * mangle.c (write_type): Handle 'auto'.
- * init.c (build_new): Don't do auto deduction where it might
- affect template mangling.
- PR c++/52510
- * decl.c (reshape_init_class): Handle repeated reshaping.
- * search.c (lookup_field_1): Add sanity check.
- 2012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/14710
- * cp-tree.h (xvalue_p, maybe_warn_about_useless_cast): Declare.
- * tree.c (xvalue_p): Define.
- * typeck.c (maybe_warn_about_useless_cast): Define.
- (build_reinterpret_cast, build_const_cast,
- build_static_cast, cp_build_c_cast): Use maybe_warn_about_useless_cast.
- * rtti.c (build_dynamic_cast): Likewise.
- * pt.c (tsubst_copy_and_build, case CAST_EXPR): Increment/decrement
- c_inhibit_evaluation_warnings before/after the build_* calls.
- 2012-03-15 Jason Merrill <jason@redhat.com>
- PR c++/52582
- * method.c (implicitly_declare_fn): Set DECL_EXTERNAL.
- 2012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
- PR c++/44783
- * error.c (print_instantiation_partial_context): Use
- template_backtrace_limit.
- 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
- * Make-lang.in (doc/g++.1): Remove IRIX 6.5 reference.
- 2012-03-14 Jakub Jelinek <jakub@redhat.com>
- PR c++/52521
- * parser.c (lookup_literal_operator): Return fn only if
- processed all arguments from args vector and argtypes is
- void_list_node.
- 2012-01-30 Dodji Seketeli <dodji@redhat.com>
- PR c++/51641
- * cp-tree.h (template_type_parameter_p): Declare new function.
- (parameter_of_template_p): Remove.
- * pt.c (template_type_parameter_p): Define new function.
- (parameter_of_template_p): Remove.
- * name-lookup.c (binding_to_template_parms_of_scope_p): Don't rely
- on parameter_of_template_p anymore. Compare the level of the
- template parameter to the depth of the template.
- 2011-12-15 Dodji Seketeli <dodji@redhat.com>
- * call.c (standard_conversion, build_integral_nontype_arg_conv)
- (build_new_op_1, convert_like_real, is_subseq)
- (maybe_handle_implicit_object, maybe_handle_ref_bind, compare_ics)
- (joust): Use next_conversion instead of accessing fields of struct
- conversion directly.
- 2012-03-12 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/52299
- * pt.c (tsubst_copy_and_build, case COND_EXPR): Avoid bogus
- division by zero warnings.
- 2012-03-08 Paolo Carlini <paolo.carlini@oracle.com>
- * typeck.c (build_array_ref, cp_build_addr_expr_1, convert_ptrmem,
- build_ptrmemfunc): Consistently forward the tsubst_flags_t
- parameter.
- * call.c (resolve_args): Likewise.
- 2012-03-07 Jason Merrill <jason@redhat.com>
- PR c++/52521
- * mangle.c (write_literal_operator_name): The length comes after the
- operator prefix.
- 2012-03-05 Jakub Jelinek <jakub@redhat.com>
- * pt.c (local_specializations): Change from htab_t into
- struct pointer_map_t *.
- (retrieve_local_specializations, register_local_specialization,
- tsubst_pack_expansion, instantiate_decl): Adjust users.
- (eq_local_specializations, hash_local_specialization): Remove.
- 2012-03-05 Jason Merrill <jason@redhat.com>
- PR c++/51930
- * decl2.c (determine_visibility): Correct calculation of class
- args depth.
- * decl.c (check_tag_decl): Adjust warning.
- * method.c (synthesized_method_walk): Cleanups don't affect the EH
- spec either.
- 2012-03-03 Jason Merrill <jason@redhat.com>
- * init.c (perform_member_init): Cope with uninstantiated NSDMI.
- Core 1270
- * call.c (build_aggr_conv): Call reshape_init.
- (convert_like_real): Likewise.
- * typeck2.c (process_init_constructor): Clear TREE_CONSTANT if
- not all constant.
- * mangle.c (write_nested_name): Use decl_mangling_context.
- (write_prefix, write_template_prefix): Likewise.
- PR c++/36797
- * mangle.c (write_expression): Improve diagnostic for TRAIT_EXPR.
- * class.c (add_method): Always build an OVERLOAD for using-decls.
- * search.c (lookup_member): Handle getting an OVERLOAD for a
- single function.
- 2012-03-02 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/51989
- * typeck2.c (build_x_arrow): Take a tsubst_flags_t argument and
- propagate it.
- * cp-tree.h (build_x_arrow): Adjust prototype.
- * pt.c (tsubst_copy_and_build): Adjust call.
- * parser.c (cp_parser_postfix_dot_deref_expression): Likewise.
- 2012-03-02 Paolo Carlini <paolo.carlini@oracle.com>
- * name-lookup.c (binding_to_template_parms_of_scope_p): Clean up.
- 2012-02-29 Jason Merrill <jason@redhat.com>
- PR c++/51930
- * decl.c (check_tag_decl): Move warning for misplaced attributes here.
- (shadow_tag): From here.
- * parser.c (cp_parser_explicit_instantiation): Don't warn here.
- 2012-02-21 Jakub Jelinek <jakub@redhat.com>
- PR c++/52312
- * typeck.c (check_literal_operator_args): Initialize *long_double_p
- and *long_long_unsigned_p even if processing_template_decl.
- 2012-02-16 Jason Merrill <jason@redhat.com>
- PR c++/52248
- * decl.c (define_label): Use timevar_cond_start/stop.
- 2012-02-16 Fabien Chêne <fabien@gcc.gnu.org>
- PR c++/52126
- * decl.c (xref_basetypes): Call dependent_scope_p instead of
- dependent_type_p.
- 2012-02-16 Jason Merrill <jason@redhat.com>
- PR c++/51415
- * error.c (dump_expr): Handle lambda closures specifically.
- 2012-02-14 Jason Merrill <jason@redhat.com>
- * parser.c (cp_parser_explicit_instantiation): Give a warning
- for ignored attributes on explicit class instantiation.
- 2012-02-14 Jakub Jelinek <jakub@redhat.com>
- PR c++/52247
- * pt.c (tsubst_copy_asm_operands): For LABEL_DECL values call
- lookup_label on label's name and set TREE_USED.
- 2012-02-14 Jason Merrill <jason@redhat.com>
- PR c++/39055
- * decl.c (local_variable_p_walkfn): Don't check DECL_ARTIFICIAL.
- 2012-02-14 Jakub Jelinek <jakub@redhat.com>
- PR c/52181
- * decl.c (duplicate_decls): If olddecl has bigger DECL_ALIGN than
- newdecl, copy DECL_ALIGN to newdecl and or DECL_USER_ALIGN bits.
- 2012-02-07 Jason Merrill <jason@redhat.com>
- PR c++/51675
- * semantics.c (cx_check_missing_mem_inits): Handle unions.
- Fix constexpr default constructor logic.
- PR c++/52035
- * pt.c (tsubst): Strip uninstantiated typedef.
- 2012-02-06 Jason Merrill <jason@redhat.com>
- PR c++/52088
- * cvt.c (build_expr_type_conversion): Check for template conversion.
- 2012-01-31 Jason Merrill <jason@redhat.com>
- PR c++/52043
- * cp-tree.h (PACK_EXPANSION_LOCAL_P): New.
- * pt.c (make_pack_expansion, tsubst_initializer_list): Set it.
- (tsubst_pack_expansion): Check it.
- 2012-01-29 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/51327
- * class.c (explain_non_literal_class): Correctly handle implicitly
- deleted constructors.
- 2012-01-27 Jakub Jelinek <jakub@redhat.com>
- PR c++/51852
- * pt.c (tsubst_pack_expansion): Delete and restore
- local_specialization whenever need_local_specialization, not just
- when saved_local_specializations is non-NULL.
- 2012-01-26 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/51370
- * error.c (dump_decl, [TEMPLATE_ID_EXPR]): Handle error_mark_node
- as TREE_OPERAND (t, 1).
- 2012-01-24 Jason Merrill <jason@redhat.com>
- PR c++/51917
- * decl.c (xref_basetypes): Check VEC_length instead of VEC_space.
- PR c++/51973
- * tree.c (called_fns_equal): Check template args.
- (cp_tree_equal): Call it.
- 2012-01-24 Aldy Hernandez <aldyh@redhat.com>
- Patrick Marlier <patrick.marlier@gmail.com>
- PR c++/51928
- * class.c (set_method_tm_attributes): Use TARGET_THUNK instead of
- thunk for set_one_vmethod_tm_attributes.
- 2012-01-24 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/51223
- * call.c (build_over_call): Check for error_mark_node as
- TREE_VALUE when default arguments are processed.
- 2012-01-23 Jason Merrill <jason@redhat.com>
- PR c++/51930
- * decl2.c (determine_visibility): Check for visibility attribute
- on template specialization.
- 2012-01-23 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/51398
- * pt.c (parameter_of_template_p): Skip error_mark_node parameters.
- 2012-01-23 Jason Merrill <jason@redhat.com>
- PR c++/51925
- * class.c (add_method): Set OVL_USED for using-decls.
- * tree.c (ovl_scope): New.
- * cp-tree.h: Declare it.
- * parser.c (cp_parser_template_name): Use it.
- * semantics.c (baselink_for_fns): Likewise.
- * name-lookup.c (set_inherited_value_binding_p): Likewise.
- 2012-01-20 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/51402
- * pt.c (lookup_template_class_1): Check context returned by
- tsubst for error_mark_node.
- 2012-01-19 Kai Tietz <ktietz@redhat.com>
- PR c++/51344
- * decl2.c (save_template_attributes): Use merge_attributes
- instead of chaining up via TREE_CHAIN.
- 2012-01-19 Jason Merrill <jason@redhat.com>
- PR c++/51889
- * class.c (finish_struct): Call add_method here for function usings.
- * semantics.c (finish_member_declaration): Not here.
- 2012-01-18 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/51225
- * typeck2.c (store_init_value): Within a template guard
- cxx_constant_value with require_potential_constant_expression.
- * pt.c (convert_nontype_argument): Likewise.
- 2012-01-16 Jakub Jelinek <jakub@redhat.com>
- PR c++/51854
- * mangle.c (write_template_arg_literal): Handle complex.
- 2012-01-16 Jason Merrill <jason@redhat.com>
- PR c++/51827
- * mangle.c (mangle_decl): Don't mangle uninstantiated templates.
- PR c++/51868
- * typeck.c (build_static_cast_1): Handle bit-fields properly.
- 2012-01-13 Ian Lance Taylor <iant@google.com>
- PR c++/50012
- * typeck.c (enum_cast_to_int): New static function.
- (cp_build_binary_op): When handling warn_sign_compare, don't test
- for TREE_NO_WARNING. Do call enum_cast_to_int.
- * call.c (avoid_sign_compare_warnings): Remove static function.
- (build_new_op_1): Don't call avoid_sign_compare_warnings.
- 2012-01-13 Steven Bosscher <steven@gcc.gnu.org>
- * decl2.c: Do not include tree-mudflap.h
- * semantics.c: Likewise.
- 2012-01-13 Jason Merrill <jason@redhat.com>
- PR c++/20681
- * semantics.c (finish_break_stmt): Avoid adding an unreachable
- BREAK_STMT.
- PR c++/51813
- * decl2.c (constrain_visibility): Clear DECL_VISIBILITY_SPECIFIED
- when reducing the visibility.
- PR c++/51620
- * class.c (build_vtbl_initializer): Use __cxa_deleted_virtual.
- 2012-01-12 Jason Merrill <jason@redhat.com>
- PR c++/51714
- * pt.c (value_dependent_expression_p): Treat STMT_EXPR as
- value-dependent.
- 2012-01-13 Dodji Seketeli <dodji@redhat.com>
- PR c++/51633
- * semantics.c (cp_parser_ctor_initializer_opt_and_function_body):
- Set the pointer to the last block of the constructor to the
- current statement.
- (build_constexpr_constructor_member_initializers): Get
- build_data_member_initialization a chance to deal with more
- statements before we choke.
- 2012-01-12 Jason Merrill <jason@redhat.com>
- PR c++/48051
- * mangle.c (write_expression): Mangle BASELINK scope if
- BASELINK_QUALIFIED_P.
- * search.c (adjust_result_of_qualified_name_lookup): Set
- BASELINK_QUALIFIED_P.
- * tree.c (cp_tree_equal) [BASELINK]: Compare BASELINK_QUALIFIED_P.
- * parser.c (cp_parser_postfix_dot_deref_expression): Don't call
- adjust_result_of_qualified_name_lookup for non-qualified names.
- PR c++/51403
- * pt.c (unify): Handle error_mark_node.
- 2012-01-11 Jason Merrill <jason@redhat.com>
- PR c++/51565
- * call.c (standard_conversion): For ptrmemfuncs, compare the
- static_fn_types.
- PR c++/51818
- * mangle.c (find_substitution): A type is only a substitution
- match if we're looking for a type.
- (write_nested_name): Use decl_mangling_context.
- * decl.c (decls_match): Assert that the arguments are decls.
- PR c++/51613
- * pt.c (resolve_overloaded_unification): Compare types with
- same_type_p, not decls_match.
- 2012-01-10 Jason Merrill <jason@redhat.com>
- PR c++/51614
- * class.c (build_base_path): Diagnose ambiguous base.
- PR c++/51433
- * semantics.c (cxx_eval_call_expression): Always retry previously
- non-constant expressions.
- 2012-01-06 Jason Merrill <jason@redhat.com>
- DR 686
- PR c++/47450
- * parser.c (cp_parser_new_expression): Set
- type_definition_forbidden_message.
- PR c++/6057
- PR c++/48051
- PR c++/50855
- PR c++/51322
- * mangle.c (write_expression): Support NEW_EXPR, DELETE_EXPR,
- THROW_EXPR, CONSTRUCTOR, OVERLOAD. Fix PREINCREMENT_EXPR and
- PREDECREMENT_EXPR.
- (write_template_arg): Fix mangling of class-scope functions and
- argument packs.
- (mangle_decl): Update suggested -fabi-version argument.
- * operators.def: Add DOTSTAR_EXPR, REINTERPRET_CAST_EXPR,
- DYNAMIC_CAST_EXPR; correct CONST_CAST_EXPR, STATIC_CAST_EXPR.
- * tree.c (dependent_name): No longer static.
- * cp-tree.h: Declare it.
- * pt.c (unify): Defer handling of unconverted functions.
- * mangle.c (mangle_decl): Don't generate mangling aliases
- for maybe-in-charge [cd]tors.
- * error.c (dump_expr): Print type of CONSTRUCTOR.
- 2012-01-05 Dodji Seketeli <dodji@redhat.com>
- PR c++/51541
- * parser.c (cp_parser_alias_declaration): Get out early upon
- errors in the identifier or the attributes.
- 2012-01-04 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/51064
- * pt.c (tsubst_copy_and_build): Maybe set TREE_NO_WARNING on
- the tree returned by build_x_binary_op.
- 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/51738
- * parser.c (cp_parser_postfix_open_square_expression): Handle
- postfix-expression [ braced-init-list ].
- 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/29273
- * rtti.c (build_dynamic_cast_1): In case of T a pointer type,
- call decay_conversion on v.
- 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/15867
- * decl.c (duplicate_decls): With -Wredundant-decls don't warn for
- declaration followed by specialization.
- 2012-01-03 Jakub Jelinek <jakub@redhat.com>
- PR c++/51669
- * semantics.c (finish_omp_clauses): Call fold_build_cleanup_point_expr
- on OMP_CLAUSE_{IF,FINAL,NUM_THREADS,SCHEDULE_CHUNK}_EXPR.
- 2012-01-02 Jason Merrill <jason@redhat.com>
- DR 1359
- PR c++/51675
- * method.c (walk_field_subobs): Don't check for uninitialized
- fields in a union.
- (synthesized_method_walk): Check here.
- DR 325
- PR c++/51666
- * parser.c (cp_parser_cache_defarg): Split out...
- (cp_parser_parameter_declaration): ...from here.
- (cp_parser_save_nsdmi): Use it.
- (cp_parser_cache_group): Remove CPP_COMMA support.
- 2012-01-02 Dodji Seketeli <dodji@redhat.com>
- PR c++/51462
- * semantics.c (cx_check_missing_mem_inits): Don't assert in case
- of error.
- 2012-01-02 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/20140
- * typeck2.c (digest_init_r): Use copy_init when initializing
- an array of chars.
- 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/16603
- * decl.c (build_enumerator): Don't call perform_integral_promotions
- on the value.
- 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/51379
- * typeck.c (build_reinterpret_cast_1): Implement resolution of
- DR 799.
- 2012-01-01 Fabien Chêne <fabien@gcc.gnu.org>
- * parser.c (cp_parser_using_declaration): Add a warning about
- deprecated access declarations when no errors were encountered
- while parsing the access declaration. Save the first token in
- order to emit the warning at the right place.
- Copyright (C) 2012 Free Software Foundation, Inc.
- Copying and distribution of this file, with or without modification,
- are permitted in any medium without royalty provided the copyright
- notice and this notice are preserved.
|