aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/gcc/elna-diagnostic.cc2
-rw-r--r--gcc/gcc/elna-generic.cc7
-rw-r--r--gcc/gcc/elna-tree.cc4
3 files changed, 9 insertions, 4 deletions
diff --git a/gcc/gcc/elna-diagnostic.cc b/gcc/gcc/elna-diagnostic.cc
index 3bc274e..ea1f64c 100644
--- a/gcc/gcc/elna-diagnostic.cc
+++ b/gcc/gcc/elna-diagnostic.cc
@@ -63,7 +63,7 @@ namespace elna::gcc
return make_location(caret, start, end);
}
- void report_errors(const std::deque<std::unique_ptr<boot::error>>& errors)
+ void report_errors(const std::deque<std::unique_ptr<boot::diagnostic>>& errors)
{
for (const auto& error : errors)
{
diff --git a/gcc/gcc/elna-generic.cc b/gcc/gcc/elna-generic.cc
index aff5d9d..5230196 100644
--- a/gcc/gcc/elna-generic.cc
+++ b/gcc/gcc/elna-generic.cc
@@ -27,6 +27,7 @@ along with GCC; see the file COPYING3. If not see
#include "function.h"
#include "cgraph.h"
#include "gimplify.h"
+#include "dumpfile.h"
#include "stringpool.h"
#include "realmpfr.h"
#include "fold-const.h"
@@ -475,6 +476,8 @@ namespace elna::gcc
DECL_PRESERVE_P(fndecl) = 1;
+ dump_function(TDI_original, fndecl);
+
pop_cfun();
gimplify_function_tree(fndecl);
cgraph_node::finalize_function(fndecl, true);
@@ -482,7 +485,9 @@ namespace elna::gcc
void generic_visitor::visit(boot::literal<boot::integer_literal> *literal)
{
- this->current_expression = constant_to_tree(boot::constant_value{ literal->value }, this->symbols);
+ tree literal_type = get_inner_alias(literal->type_decoration, this->symbols);
+ this->current_expression = constant_to_tree(boot::constant_value{ literal->value },
+ this->symbols, literal_type);
}
void generic_visitor::visit(boot::literal<double> *literal)
diff --git a/gcc/gcc/elna-tree.cc b/gcc/gcc/elna-tree.cc
index 688fc4a..255cf60 100644
--- a/gcc/gcc/elna-tree.cc
+++ b/gcc/gcc/elna-tree.cc
@@ -259,7 +259,7 @@ namespace elna::gcc
{
if (auto converted = literal_value.try_to<std::ptrdiff_t>())
{
- return build_int_cst(elna_int_type_node, *converted);
+ return build_int_cst(type, *converted);
}
return NULL_TREE;
}
@@ -267,7 +267,7 @@ namespace elna::gcc
{
if (auto converted = literal_value.try_to<std::size_t>())
{
- return build_int_cstu(elna_word_type_node, *converted);
+ return build_int_cstu(type, *converted);
}
return NULL_TREE;
}