// Return an expression for a zero value of the given type. This is
// used for cases such as local variable initialization and
// converting nil to other types.
- virtual tree zero_expression (tree) = 0;
+ tree zero_expression (tree);
// Create a reference to a variable.
- virtual tree var_expression (Bvariable *var, location_t) = 0;
+ tree var_expression (Bvariable *var, location_t);
// Return an expression for the multi-precision integer VAL in BTYPE.
- virtual tree integer_constant_expression (tree btype, mpz_t val) = 0;
+ tree integer_constant_expression (tree btype, mpz_t val);
// Return an expression for the floating point value VAL in BTYPE.
- virtual tree float_constant_expression (tree btype, mpfr_t val) = 0;
+ tree float_constant_expression (tree btype, mpfr_t val);
// Return an expression for the complex value VAL in BTYPE.
- virtual tree complex_constant_expression (tree btype, mpc_t val) = 0;
+ tree complex_constant_expression (tree btype, mpc_t val);
// Return an expression for the string value VAL.
- virtual tree string_constant_expression (const std::string &val) = 0;
+ tree string_constant_expression (const std::string &val);
// Get a char literal
- virtual tree char_constant_expression (char c) = 0;
+ tree char_constant_expression (char c);
// Get a char literal
- virtual tree wchar_constant_expression (wchar_t c) = 0;
+ tree wchar_constant_expression (wchar_t c);
// Return an expression for the boolean value VAL.
- virtual tree boolean_constant_expression (bool val) = 0;
+ tree boolean_constant_expression (bool val);
// Return an expression for the real part of BCOMPLEX.
virtual tree real_part_expression (tree bcomplex, location_t) = 0;
// Expressions.
- tree zero_expression (tree);
-
- tree var_expression (Bvariable *var, location_t);
-
- tree integer_constant_expression (tree type, mpz_t val);
-
- tree float_constant_expression (tree type, mpfr_t val);
-
- tree complex_constant_expression (tree type, mpc_t val);
-
- tree string_constant_expression (const std::string &val);
-
- tree wchar_constant_expression (wchar_t c);
-
- tree char_constant_expression (char c);
-
- tree boolean_constant_expression (bool val);
-
tree real_part_expression (tree bcomplex, location_t);
tree imag_part_expression (tree bcomplex, location_t);
// Return the zero value for a type.
tree
-Gcc_backend::zero_expression (tree t)
+Backend::zero_expression (tree t)
{
tree ret;
if (t == error_mark_node)
// An expression that references a variable.
tree
-Gcc_backend::var_expression (Bvariable *var, location_t location)
+Backend::var_expression (Bvariable *var, location_t location)
{
return var->get_tree (location);
}
// This function does not release the memory of @val
tree
-Gcc_backend::integer_constant_expression (tree t, mpz_t val)
+Backend::integer_constant_expression (tree t, mpz_t val)
{
if (t == error_mark_node)
return error_mark_node;
// Return a typed value as a constant floating-point number.
tree
-Gcc_backend::float_constant_expression (tree t, mpfr_t val)
+Backend::float_constant_expression (tree t, mpfr_t val)
{
tree ret;
if (t == error_mark_node)
// Return a typed real and imaginary value as a constant complex number.
tree
-Gcc_backend::complex_constant_expression (tree t, mpc_t val)
+Backend::complex_constant_expression (tree t, mpc_t val)
{
tree ret;
if (t == error_mark_node)
// Make a constant string expression.
tree
-Gcc_backend::string_constant_expression (const std::string &val)
+Backend::string_constant_expression (const std::string &val)
{
tree index_type = build_index_type (size_int (val.length ()));
tree const_char_type = build_qualified_type (char_type_node, TYPE_QUAL_CONST);
}
tree
-Gcc_backend::wchar_constant_expression (wchar_t c)
+Backend::wchar_constant_expression (wchar_t c)
{
return build_int_cst (wchar_type (), c);
}
tree
-Gcc_backend::char_constant_expression (char c)
+Backend::char_constant_expression (char c)
{
return build_int_cst (char_type_node, c);
}
// Make a constant boolean expression.
tree
-Gcc_backend::boolean_constant_expression (bool val)
+Backend::boolean_constant_expression (bool val)
{
return val ? boolean_true_node : boolean_false_node;
}