From 5655267ca161de13e553dbfc0b7e58962fbb2443 Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Wed, 13 Apr 2016 16:11:20 -0400 Subject: Pass empty class parameters like C. * call.c (pass_as_empty_struct, empty_class_arg): New. (type_passed_as, build_x_va_arg): Use pass_as_empty_struct. (build_call_a): Use empty_class_arg. * cp-tree.h (CPTI_EMPTY_STRUCT, empty_struct_type): New. * decl.c (cxx_init_decl_processing): Create empty_struct_type. From-SVN: r234959 --- gcc/cp/cp-tree.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'gcc/cp/cp-tree.h') diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index a3cd834..faea452 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -1150,6 +1150,8 @@ enum cp_tree_index CPTI_NULLPTR, CPTI_NULLPTR_TYPE, + CPTI_EMPTY_STRUCT, + CPTI_MAX }; @@ -1185,6 +1187,7 @@ extern GTY(()) tree cp_global_trees[CPTI_MAX]; #define current_aggr cp_global_trees[CPTI_AGGR_TAG] #define nullptr_node cp_global_trees[CPTI_NULLPTR] #define nullptr_type_node cp_global_trees[CPTI_NULLPTR_TYPE] +#define empty_struct_type cp_global_trees[CPTI_EMPTY_STRUCT] /* We cache these tree nodes so as to call get_identifier less frequently. */ -- cgit v1.1