Commit 2d76680f by Paolo Carlini Committed by Paolo Carlini

semantics.c (is_instantiation_of_constexpr, [...]): Moved definitions...

2014-10-15  Paolo Carlini  <paolo.carlini@oracle.com>

	* semantics.c (is_instantiation_of_constexpr, literal_type_p,
	ensure_literal_type_for_constexpr_object,
	constexpr_fundef_hasher::equal, constexpr_fundef_hasher::hash,
	retrieve_constexpr_fundef, is_valid_constexpr_fn,
	build_anon_member_initialization, build_data_member_initialization,
	check_constexpr_bind_expr_vars, check_constexpr_ctor_body_1,
	check_constexpr_ctor_body, sort_constexpr_mem_initializers,
	build_constexpr_constructor_member_initializers, constexpr_fn_retval,
	massage_constexpr_body, cx_check_missing_mem_inits,
	register_constexpr_fundef, explain_invalid_constexpr_fn,
	constexpr_call_hasher::hash, constexpr_call_hasher::equal,
	maybe_initialize_constexpr_call_table, get_function_named_in_call,
	get_nth_callarg, lookup_parameter_binding,
	cxx_eval_builtin_function_call, adjust_temp_type,
	cxx_bind_parameters_in_call, push_cx_call_context,
	pop_cx_call_context, cx_error_context, cxx_eval_call_expression,
	reduced_constant_expression_p, verify_constant,
	cxx_eval_unary_expression, cxx_eval_binary_expression,
	cxx_eval_conditional_expression, cxx_eval_array_reference,
	cxx_eval_component_reference, cxx_eval_bit_field_ref,
	cxx_eval_logical_expression, base_field_constructor_elt, 
	cxx_eval_bare_aggregate, cxx_eval_vec_init_1, cxx_eval_vec_init,
	cxx_fold_indirect_ref, cxx_eval_indirect_ref, non_const_var_error,
	cxx_eval_trinary_expression, var_in_constexpr_fn,
	cxx_eval_constant_expression, cxx_eval_outermost_constant_expr,
	is_sub_constant_expr, cxx_constant_value, maybe_constant_value,
	maybe_constant_init, potential_constant_expression_1,
	potential_constant_expression, potential_rvalue_constant_expression,
	require_potential_constant_expression,
	require_potential_rvalue_constant_expression): Moved definitions...
	* constexpr.c: ... here, new file.
	* Make-lang.in: Update.
	* config-lang.in: Likewise.

From-SVN: r216263
parent 5f83e90b
2014-10-15 Paolo Carlini <paolo.carlini@oracle.com>
* semantics.c (is_instantiation_of_constexpr, literal_type_p,
ensure_literal_type_for_constexpr_object,
constexpr_fundef_hasher::equal, constexpr_fundef_hasher::hash,
retrieve_constexpr_fundef, is_valid_constexpr_fn,
build_anon_member_initialization, build_data_member_initialization,
check_constexpr_bind_expr_vars, check_constexpr_ctor_body_1,
check_constexpr_ctor_body, sort_constexpr_mem_initializers,
build_constexpr_constructor_member_initializers, constexpr_fn_retval,
massage_constexpr_body, cx_check_missing_mem_inits,
register_constexpr_fundef, explain_invalid_constexpr_fn,
constexpr_call_hasher::hash, constexpr_call_hasher::equal,
maybe_initialize_constexpr_call_table, get_function_named_in_call,
get_nth_callarg, lookup_parameter_binding,
cxx_eval_builtin_function_call, adjust_temp_type,
cxx_bind_parameters_in_call, push_cx_call_context,
pop_cx_call_context, cx_error_context, cxx_eval_call_expression,
reduced_constant_expression_p, verify_constant,
cxx_eval_unary_expression, cxx_eval_binary_expression,
cxx_eval_conditional_expression, cxx_eval_array_reference,
cxx_eval_component_reference, cxx_eval_bit_field_ref,
cxx_eval_logical_expression, base_field_constructor_elt,
cxx_eval_bare_aggregate, cxx_eval_vec_init_1, cxx_eval_vec_init,
cxx_fold_indirect_ref, cxx_eval_indirect_ref, non_const_var_error,
cxx_eval_trinary_expression, var_in_constexpr_fn,
cxx_eval_constant_expression, cxx_eval_outermost_constant_expr,
is_sub_constant_expr, cxx_constant_value, maybe_constant_value,
maybe_constant_init, potential_constant_expression_1,
potential_constant_expression, potential_rvalue_constant_expression,
require_potential_constant_expression,
require_potential_rvalue_constant_expression): Moved definitions...
* constexpr.c: ... here, new file.
* Make-lang.in: Update.
* config-lang.in: Likewise.
2014-10-14 Jason Merrill <jason@redhat.com>
PR c++/63455
......
......@@ -78,7 +78,7 @@ CXX_AND_OBJCXX_OBJS = cp/call.o cp/decl.o cp/expr.o cp/pt.o cp/typeck2.o \
cp/mangle.o cp/cp-objcp-common.o cp/name-lookup.o cp/cxx-pretty-print.o \
cp/cp-cilkplus.o \
cp/cp-gimplify.o cp/cp-array-notation.o cp/lambda.o \
cp/vtable-class-hierarchy.o $(CXX_C_OBJS)
cp/vtable-class-hierarchy.o cp/constexpr.o $(CXX_C_OBJS)
# Language-specific object files for C++.
CXX_OBJS = cp/cp-lang.o c-family/stub-objc.o $(CXX_AND_OBJCXX_OBJS)
......
......@@ -29,4 +29,4 @@ compilers="cc1plus\$(exeext)"
target_libs="target-libstdc++-v3"
gtfiles="\$(srcdir)/cp/rtti.c \$(srcdir)/cp/mangle.c \$(srcdir)/cp/name-lookup.h \$(srcdir)/cp/name-lookup.c \$(srcdir)/cp/cp-tree.h \$(srcdir)/cp/decl.h \$(srcdir)/cp/call.c \$(srcdir)/cp/decl.c \$(srcdir)/cp/decl2.c \$(srcdir)/cp/pt.c \$(srcdir)/cp/repo.c \$(srcdir)/cp/semantics.c \$(srcdir)/cp/tree.c \$(srcdir)/cp/parser.h \$(srcdir)/cp/parser.c \$(srcdir)/cp/method.c \$(srcdir)/cp/typeck2.c \$(srcdir)/c-family/c-common.c \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-objc.h \$(srcdir)/c-family/c-lex.c \$(srcdir)/c-family/c-pragma.h \$(srcdir)/c-family/c-pragma.c \$(srcdir)/cp/class.c \$(srcdir)/cp/cp-objcp-common.c \$(srcdir)/cp/cp-lang.c \$(srcdir)/cp/except.c \$(srcdir)/cp/vtable-class-hierarchy.c"
gtfiles="\$(srcdir)/cp/rtti.c \$(srcdir)/cp/mangle.c \$(srcdir)/cp/name-lookup.h \$(srcdir)/cp/name-lookup.c \$(srcdir)/cp/cp-tree.h \$(srcdir)/cp/decl.h \$(srcdir)/cp/call.c \$(srcdir)/cp/decl.c \$(srcdir)/cp/decl2.c \$(srcdir)/cp/pt.c \$(srcdir)/cp/repo.c \$(srcdir)/cp/semantics.c \$(srcdir)/cp/tree.c \$(srcdir)/cp/parser.h \$(srcdir)/cp/parser.c \$(srcdir)/cp/method.c \$(srcdir)/cp/typeck2.c \$(srcdir)/c-family/c-common.c \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-objc.h \$(srcdir)/c-family/c-lex.c \$(srcdir)/c-family/c-pragma.h \$(srcdir)/c-family/c-pragma.c \$(srcdir)/cp/class.c \$(srcdir)/cp/cp-objcp-common.c \$(srcdir)/cp/cp-lang.c \$(srcdir)/cp/except.c \$(srcdir)/cp/vtable-class-hierarchy.c \$(srcdir)/cp/constexpr.c"
......@@ -5834,23 +5834,7 @@ extern tree begin_handler (void);
extern void finish_handler_parms (tree, tree);
extern void finish_handler (tree);
extern void finish_cleanup (tree, tree);
extern bool literal_type_p (tree);
extern tree register_constexpr_fundef (tree, tree);
extern bool check_constexpr_ctor_body (tree, tree, bool);
extern tree ensure_literal_type_for_constexpr_object (tree);
extern bool potential_constant_expression (tree);
extern bool potential_rvalue_constant_expression (tree);
extern bool require_potential_constant_expression (tree);
extern bool require_potential_rvalue_constant_expression (tree);
extern tree cxx_constant_value (tree);
extern tree maybe_constant_value (tree);
extern tree maybe_constant_init (tree);
extern bool is_sub_constant_expr (tree);
extern bool reduced_constant_expression_p (tree);
extern bool var_in_constexpr_fn (tree);
extern void explain_invalid_constexpr_fn (tree);
extern vec<tree> cx_error_context (void);
extern bool is_this_parameter (tree);
extern bool is_this_parameter (tree);
enum {
BCS_NO_SCOPE = 1,
......@@ -6320,6 +6304,26 @@ extern bool cpp_validate_cilk_plus_loop (tree);
extern tree expand_array_notation_exprs (tree);
bool cilkplus_an_triplet_types_ok_p (location_t, tree, tree, tree,
tree);
/* In constexpr.c */
extern bool literal_type_p (tree);
extern tree register_constexpr_fundef (tree, tree);
extern bool check_constexpr_ctor_body (tree, tree, bool);
extern tree ensure_literal_type_for_constexpr_object (tree);
extern bool potential_constant_expression (tree);
extern bool potential_rvalue_constant_expression (tree);
extern bool require_potential_constant_expression (tree);
extern bool require_potential_rvalue_constant_expression (tree);
extern tree cxx_constant_value (tree);
extern tree maybe_constant_value (tree);
extern tree maybe_constant_init (tree);
extern bool is_sub_constant_expr (tree);
extern bool reduced_constant_expression_p (tree);
extern bool is_instantiation_of_constexpr (tree);
extern bool var_in_constexpr_fn (tree);
extern void explain_invalid_constexpr_fn (tree);
extern vec<tree> cx_error_context (void);
/* In c-family/cilk.c */
extern bool cilk_valid_spawn (tree);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment