2016-10-11 Jakub Jelinek <jakub@redhat.com> * dwarf2out.c (gen_member_die): Handle inline static data member definitions. c-family/ * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables. cp/ * cp-tree.h (struct lang_type): Shrink language field to 1 bit from 4. Add var_declared_inline_p field. Mention 2 spare bits. (DECL_VAR_DECLARED_INLINE_P): Define. (SET_DECL_VAR_DECLARED_INLINE_P): Define. (DECL_INLINE_VAR_P): Define. (diagnose_inline_vars_for_namespace): Declare. * decl.c (diagnose_inline_vars_for_namespace): New function. (duplicate_decls): For static data members copy DECL_DECLARED_CONSTEXPR_P. (redeclaration_error_message): Handle C++17 redundant redeclaration of constexpr static data member outside of class. (maybe_commonize_var): Handle inline variables. (check_initializer): Ignore inline variables for diagnostics. Adjust diagnostic wording for C++17. (make_rtl_for_nonlocal_decl): Allow in-class definition of inline static data members. (bad_specifiers): Don't diagnose inline on variables here. (grokvardecl): Add inlinep argument, non-static const inline variables are TREE_PUBLIC. (check_static_variable_definition): Return early also for inline variables. (grokdeclarator): Handle inline variables and inline static data members. * typeck2.c (store_init_value): Don't diagnose non-constant initializers for non-constexpr inline static data members. * decl2.c (vague_linkage_p): Return true for inline variables. (c_parse_final_cleanups): In-class declaration of inline static data members is a definition. Call diagnose_inline_vars_for_namespace through walk_namespaces. * pt.c (instantiate_decl): Set pattern_defined for in-class definitions of inline static data members. From-SVN: r241137
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| alias1.C | Loading commit data... | |
| alias2.C | Loading commit data... | |
| alias3.C | Loading commit data... | |
| alias4.C | Loading commit data... | |
| auto1.C | Loading commit data... | |
| auto3.C | Loading commit data... | |
| class-deduction1.C | Loading commit data... | |
| class.C | Loading commit data... | |
| class1.C | Loading commit data... | |
| class2.C | Loading commit data... | |
| class3.C | Loading commit data... | |
| class4.C | Loading commit data... | |
| class5.C | Loading commit data... | |
| class6.C | Loading commit data... | |
| constrained-parm.C | Loading commit data... | |
| decl-diagnose.C | Loading commit data... | |
| deduction-constraint1.C | Loading commit data... | |
| diagnostic1.C | Loading commit data... | |
| disjunction1.C | Loading commit data... | |
| dr1430.C | Loading commit data... | |
| equiv.C | Loading commit data... | |
| equiv2.C | Loading commit data... | |
| explicit-inst1.C | Loading commit data... | |
| explicit-inst2.C | Loading commit data... | |
| explicit-inst3.C | Loading commit data... | |
| explicit-inst4.C | Loading commit data... | |
| explicit-spec1.C | Loading commit data... | |
| explicit-spec2.C | Loading commit data... | |
| explicit-spec3.C | Loading commit data... | |
| explicit-spec4.C | Loading commit data... | |
| explicit-spec5.C | Loading commit data... | |
| explicit-spec6.C | Loading commit data... | |
| expression.C | Loading commit data... | |
| expression2.C | Loading commit data... | |
| expression3.C | Loading commit data... | |
| feature-macro.C | Loading commit data... | |
| fn-concept1.C | Loading commit data... | |
| fn-concept2.C | Loading commit data... | |
| fn1.C | Loading commit data... | |
| fn10.C | Loading commit data... | |
| fn2.C | Loading commit data... | |
| fn3.C | Loading commit data... | |
| fn4.C | Loading commit data... | |
| fn5.C | Loading commit data... | |
| fn6.C | Loading commit data... | |
| fn7.C | Loading commit data... | |
| fn8.C | Loading commit data... | |
| fn9.C | Loading commit data... | |
| friend1.C | Loading commit data... | |
| friend2.C | Loading commit data... | |
| generic-fn-err.C | Loading commit data... | |
| generic-fn.C | Loading commit data... | |
| iconv1.C | Loading commit data... | |
| inherit-ctor1.C | Loading commit data... | |
| inherit-ctor2.C | Loading commit data... | |
| inherit-ctor3.C | Loading commit data... | |
| inherit-ctor4.C | Loading commit data... | |
| intro1.C | Loading commit data... | |
| intro2.C | Loading commit data... | |
| intro3.C | Loading commit data... | |
| intro4.C | Loading commit data... | |
| intro5.C | Loading commit data... | |
| intro6.C | Loading commit data... | |
| intro7.C | Loading commit data... | |
| member-concept.C | Loading commit data... | |
| memfun-err.C | Loading commit data... | |
| memfun.C | Loading commit data... | |
| memfun2.C | Loading commit data... | |
| memtmpl1.C | Loading commit data... | |
| partial-concept-id1.C | Loading commit data... | |
| partial-concept-id2.C | Loading commit data... | |
| partial-spec.C | Loading commit data... | |
| partial-spec2.C | Loading commit data... | |
| partial-spec3.C | Loading commit data... | |
| partial-spec4.C | Loading commit data... | |
| partial-spec5.C | Loading commit data... | |
| partial-spec6.C | Loading commit data... | |
| placeholder1.C | Loading commit data... | |
| placeholder2.C | Loading commit data... | |
| placeholder3.C | Loading commit data... | |
| placeholder4.C | Loading commit data... | |
| placeholder5.C | Loading commit data... | |
| placeholder6.C | Loading commit data... | |
| pr65552.C | Loading commit data... | |
| pr65575.C | Loading commit data... | |
| pr65634.C | Loading commit data... | |
| pr65636.C | Loading commit data... | |
| pr65681.C | Loading commit data... | |
| pr65848.C | Loading commit data... | |
| pr65854.C | Loading commit data... | |
| pr66091.C | Loading commit data... | |
| pr67249.C | Loading commit data... | |
| pr68434.C | Loading commit data... | |
| pr68683.C | Loading commit data... | |
| req-neg1.C | Loading commit data... | |
| req1.C | Loading commit data... | |
| req10.C | Loading commit data... | |
| req11.C | Loading commit data... | |
| req12.C | Loading commit data... | |
| req13.C | Loading commit data... | |
| req14.C | Loading commit data... | |
| req15.C | Loading commit data... | |
| req16.C | Loading commit data... | |
| req17.C | Loading commit data... | |
| req18.C | Loading commit data... | |
| req19.C | Loading commit data... | |
| req2.C | Loading commit data... | |
| req20.C | Loading commit data... | |
| req3.C | Loading commit data... | |
| req4.C | Loading commit data... | |
| req5.C | Loading commit data... | |
| req6.C | Loading commit data... | |
| req7.C | Loading commit data... | |
| req8.C | Loading commit data... | |
| req9.C | Loading commit data... | |
| template-parm1.C | Loading commit data... | |
| template-parm10.C | Loading commit data... | |
| template-parm11.C | Loading commit data... | |
| template-parm12.C | Loading commit data... | |
| template-parm2.C | Loading commit data... | |
| template-parm3.C | Loading commit data... | |
| template-parm4.C | Loading commit data... | |
| template-parm5.C | Loading commit data... | |
| template-parm6.C | Loading commit data... | |
| template-parm7.C | Loading commit data... | |
| template-parm8.C | Loading commit data... | |
| template-parm9.C | Loading commit data... | |
| template-template-parm1.C | Loading commit data... | |
| traits1.C | Loading commit data... | |
| traits2.C | Loading commit data... | |
| var-concept1.C | Loading commit data... | |
| var-concept2.C | Loading commit data... | |
| var-concept3.C | Loading commit data... | |
| var-concept4.C | Loading commit data... | |
| var-concept5.C | Loading commit data... | |
| var-concept6.C | Loading commit data... | |
| var-templ1.C | Loading commit data... | |
| var-templ2.C | Loading commit data... | |
| variadic1.C | Loading commit data... | |
| variadic2.C | Loading commit data... | |
| variadic3.C | Loading commit data... | |
| variadic4.C | Loading commit data... |