projects
/
platform
/
upstream
/
gcc.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
b58219c
)
Don't crash if a constant has a declared but undefined type.
author
Ian Lance Taylor
<ian@gcc.gnu.org>
Thu, 3 Mar 2011 00:42:10 +0000
(
00:42
+0000)
committer
Ian Lance Taylor
<ian@gcc.gnu.org>
Thu, 3 Mar 2011 00:42:10 +0000
(
00:42
+0000)
From-SVN: r170632
gcc/go/gofrontend/gogo-tree.cc
patch
|
blob
|
history
diff --git
a/gcc/go/gofrontend/gogo-tree.cc
b/gcc/go/gofrontend/gogo-tree.cc
index 722a23a52d70dc8637d609364bbce2142eda9e2f..883b5b118469f7abf7ef28198f6781b19164f9aa 100644
(file)
--- a/
gcc/go/gofrontend/gogo-tree.cc
+++ b/
gcc/go/gofrontend/gogo-tree.cc
@@
-926,7
+926,16
@@
Named_object::get_tree(Gogo* gogo, Named_object* function)
{
Type* type = named_constant->type();
if (type != NULL && !type->is_abstract())
- expr_tree = fold_convert(type->get_tree(gogo), expr_tree);
+ {
+ if (!type->is_undefined())
+ expr_tree = fold_convert(type->get_tree(gogo), expr_tree);
+ else
+ {
+ // Make sure we report the error.
+ type->base();
+ expr_tree = error_mark_node;
+ }
+ }
if (expr_tree == error_mark_node)
decl = error_mark_node;
else if (INTEGRAL_TYPE_P(TREE_TYPE(expr_tree)))