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... |