PR c++/80135 PR c++/81922 * typeck2.c (digest_init_r): Change nested argument type from bool to int. Use code instead of TREE_CODE (type) where possible. If nested == 2, diagnose initialization of flexible array member with STRING_CST. Pass nested to process_init_constructor. Formatting fix. (digest_init, digest_init_flags): Adjust digest_init_r caller. (massage_init_elt): Add nested argument. Pass 2 instead of 1 to digest_init_r's nested argument if nested is non-zero. (process_init_constructor_array): Add nested argument. If nested == 2, diagnose initialization of flexible array member with non-empty braced enclosed list. Pass nested to massage_init_elt. (process_init_constructor_record, process_init_constructor_union): Add nested argument, pass it to massage_init_elt. (process_init_constructor): Add nested argument, pass it to process_init_constructor_{array,record,union}. * init.c (find_field_init): Renamed to ... (find_flexarray_init): ... this. Return NULL_TREE if init is error_mark_node. Don't look through nested CONSTRUCTORs. (warn_placement_new_too_small): Adjust caller. * g++.dg/warn/Wplacement-new-size-1.C (fBx1): Initialize nested flexible array member only with {}. Add dg-warning. (fBx2, fBx3): Remove. * g++.dg/warn/Wplacement-new-size-2.C (fBx1): Initialize nested flexible array member only with {}. Add dg-warning. (fBx2, fBx3): Remove. * g++.dg/warn/Wplacement-new-size-6.C: New test. * g++.dg/ext/flexary13.C (main): Remove test for initialization of nested flexible array member with non-empty initializer. * g++.dg/ext/flexary25.C: New test. * g++.dg/ext/flexary26.C: New test. * g++.dg/ext/flexary27.C: New test. * g++.dg/parse/pr43765.C: Expect diagnostics about initialization of nested flexible array member with non-empty initializer. Expect C++2A diagnostics about mixing of designated and non-designated initializers. From-SVN: r255703
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
ChangeLog | Loading commit data... | |
ChangeLog-1993 | Loading commit data... | |
ChangeLog-1994 | Loading commit data... | |
ChangeLog-1995 | Loading commit data... | |
ChangeLog-1996 | Loading commit data... | |
ChangeLog-1997 | Loading commit data... | |
ChangeLog-1998 | Loading commit data... | |
ChangeLog-1999 | Loading commit data... | |
ChangeLog-2000 | Loading commit data... | |
ChangeLog-2001 | Loading commit data... | |
ChangeLog-2002 | Loading commit data... | |
ChangeLog-2003 | Loading commit data... | |
ChangeLog-2004 | Loading commit data... | |
ChangeLog-2005 | Loading commit data... | |
ChangeLog-2006 | Loading commit data... | |
ChangeLog-2007 | Loading commit data... | |
ChangeLog-2008 | Loading commit data... | |
ChangeLog-2009 | Loading commit data... | |
ChangeLog-2010 | Loading commit data... | |
ChangeLog-2011 | Loading commit data... | |
ChangeLog-2012 | Loading commit data... | |
ChangeLog-2013 | Loading commit data... | |
ChangeLog-2014 | Loading commit data... | |
ChangeLog-2015 | Loading commit data... | |
ChangeLog-2016 | Loading commit data... | |
ChangeLog.ptr | Loading commit data... | |
ChangeLog.tree-ssa | Loading commit data... | |
Make-lang.in | Loading commit data... | |
NEWS | Loading commit data... | |
call.c | Loading commit data... | |
cfns.gperf | Loading commit data... | |
cfns.h | Loading commit data... | |
class.c | Loading commit data... | |
config-lang.in | Loading commit data... | |
constexpr.c | Loading commit data... | |
constraint.cc | Loading commit data... | |
cp-gimplify.c | Loading commit data... | |
cp-lang.c | Loading commit data... | |
cp-objcp-common.c | Loading commit data... | |
cp-objcp-common.h | Loading commit data... | |
cp-tree.def | Loading commit data... | |
cp-tree.h | Loading commit data... | |
cp-ubsan.c | Loading commit data... | |
cvt.c | Loading commit data... | |
cxx-pretty-print.c | Loading commit data... | |
cxx-pretty-print.h | Loading commit data... | |
decl.c | Loading commit data... | |
decl.h | Loading commit data... | |
decl2.c | Loading commit data... | |
dump.c | Loading commit data... | |
error.c | Loading commit data... | |
except.c | Loading commit data... | |
expr.c | Loading commit data... | |
friend.c | Loading commit data... | |
g++spec.c | Loading commit data... | |
init.c | Loading commit data... | |
lambda.c | Loading commit data... | |
lang-specs.h | Loading commit data... | |
lex.c | Loading commit data... | |
logic.cc | Loading commit data... | |
mangle.c | Loading commit data... | |
method.c | Loading commit data... | |
name-lookup.c | Loading commit data... | |
name-lookup.h | Loading commit data... | |
operators.def | Loading commit data... | |
optimize.c | Loading commit data... | |
parser.c | Loading commit data... | |
parser.h | Loading commit data... | |
pt.c | Loading commit data... | |
ptree.c | Loading commit data... | |
repo.c | Loading commit data... | |
rtti.c | Loading commit data... | |
search.c | Loading commit data... | |
semantics.c | Loading commit data... | |
tree.c | Loading commit data... | |
type-utils.h | Loading commit data... | |
typeck.c | Loading commit data... | |
typeck2.c | Loading commit data... | |
vtable-class-hierarchy.c | Loading commit data... |