This is the mail archive of the libstdc++-cvs@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

r198745 - in /trunk: gcc/ChangeLog gcc/cp/Chang...


Author: jason
Date: Thu May  9 16:43:36 2013
New Revision: 198745

URL: http://gcc.gnu.org/viewcvs?rev=198745&root=gcc&view=rev
Log:
	N3639 C++1y VLA support

gcc/
	* gimplify.c (gimplify_vla_decl): Don't touch an existing
	DECL_VALUE_EXPR.
gcc/cp/
	* decl.c (compute_array_index_type): Allow VLAs in C++1y mode.
	(check_array_initializer): Allow VLA init.
	(reshape_init_array_1): Adjust.
	(cp_finish_decl): Check for invalid VLA length.
	* typeck2.c (process_init_constructor_array): Adjust.
	(store_init_value): Use build_vec_init for VLAs.
	* semantics.c (add_capture): Capture VLA as ptr+len.
	(vla_capture_type): New.
	(build_capture_proxy): Rebuild the VLA.
	* typeck.c (build_simple_component_ref): Split out from...
	(build_ptrmemfunc_access_expr): ...here.
	* tree.c (array_of_runtime_bound_p): New.
	* init.c (throw_bad_array_length): New.
	(build_vec_init): Use it.
	* parser.c (cp_convert_range_for): When iterating over a VLA,
	use it directly rather than bind a reference.
	* cp-tree.h: Declare new functions.
libstdc++-v3/
	* libsupc++/new: Add std::bad_array_length.
	* libsupc++/bad_array_length.cc: New.
	* libsupc++/eh_aux_runtime.cc: Add __cxa_bad_array_length.
	* libsupc++/Makefile.in: Build them.
	* config/abi/pre/gnu.ver: Add new symbols.
	* config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.

Added:
    trunk/libstdc++-v3/libsupc++/bad_array_length.cc
      - copied, changed from r198744, trunk/libstdc++-v3/libsupc++/eh_aux_runtime.cc
Modified:
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver
    trunk/libstdc++-v3/config/abi/pre/gnu.ver
    trunk/libstdc++-v3/libsupc++/Makefile.in
    trunk/libstdc++-v3/libsupc++/cxxabi.h
    trunk/libstdc++-v3/libsupc++/eh_aux_runtime.cc
    trunk/libstdc++-v3/libsupc++/new

Changes in other areas also in this revision:
Added:
    trunk/gcc/testsuite/g++.dg/cpp1y/vla2.C
    trunk/gcc/testsuite/g++.dg/cpp1y/vla3.C
    trunk/gcc/testsuite/g++.dg/cpp1y/vla4.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/cp-tree.h
    trunk/gcc/cp/decl.c
    trunk/gcc/cp/init.c
    trunk/gcc/cp/parser.c
    trunk/gcc/cp/semantics.c
    trunk/gcc/cp/tree.c
    trunk/gcc/cp/typeck.c
    trunk/gcc/cp/typeck2.c
    trunk/gcc/gimplify.c
    trunk/gcc/testsuite/g++.dg/init/array24.C


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]