[llvm-commits] [llvm-gcc-4.2] r61190 - in /llvm-gcc-4.2/trunk/gcc: c-parser.c cp/parser.c
Bill Wendling
isanbard at gmail.com
Wed Dec 17 18:36:54 PST 2008
Author: void
Date: Wed Dec 17 20:36:53 2008
New Revision: 61190
URL: http://llvm.org/viewvc/llvm-project?rev=61190&view=rev
Log:
- The type of the block_descriptor part of a block_literal was different from
its actual type. This corrects that.
- Also, block_helpers are constant.
Modified:
llvm-gcc-4.2/trunk/gcc/c-parser.c
llvm-gcc-4.2/trunk/gcc/cp/parser.c
Modified: llvm-gcc-4.2/trunk/gcc/c-parser.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/c-parser.c?rev=61190&r1=61189&r2=61190&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/c-parser.c (original)
+++ llvm-gcc-4.2/trunk/gcc/c-parser.c Wed Dec 17 20:36:53 2008
@@ -9662,8 +9662,11 @@
rest_of_decl_compilation (NSConcreteGlobalBlock_decl, 0, 0);
}
}
+ /* LLVM LOCAL begin radar 5865221 */
initlist = build_tree_list (fields,
- build_fold_addr_expr (NSConcreteGlobalBlock_decl));
+ convert (ptr_type_node,
+ build_fold_addr_expr (NSConcreteGlobalBlock_decl)));
+ /* LLVM LOCAL end radar 5865221 */
flags |= BLOCK_IS_GLOBAL;
}
else
@@ -9683,8 +9686,11 @@
rest_of_decl_compilation (NSConcreteStackBlock_decl, 0, 0);
}
}
+ /* LLVM LOCAL begin radar 5865221 */
initlist = build_tree_list (fields,
- build_fold_addr_expr (NSConcreteStackBlock_decl));
+ convert (ptr_type_node,
+ build_fold_addr_expr (NSConcreteStackBlock_decl)));
+ /* LLVM LOCAL end radar 5865221 */
}
fields = TREE_CHAIN (fields);
@@ -9707,9 +9713,11 @@
fields = TREE_CHAIN (fields);
/* __descriptor */
+ /* LLVM LOCAL begin radar 5865221 */
initlist = tree_cons (fields,
- convert (ptr_type_node, build_fold_addr_expr (descriptor_block_decl)),
+ build_fold_addr_expr (descriptor_block_decl),
initlist);
+ /* LLVM LOCAL end radar 5865221 */
for (chain = block_impl->block_original_ref_decl_list; chain;
chain = TREE_CHAIN (chain))
{
@@ -9833,6 +9841,8 @@
TREE_STATIC (block_holder_tmp_decl) = 1;
finish_decl (block_holder_tmp_decl, constructor, NULL_TREE);
}
+ /* LLVM LOCAL radar 5865221 */
+ TREE_CONSTANT (block_holder_tmp_decl) = 1;
return block_holder_tmp_decl;
}
/* APPLE LOCAL end radar 5847213 - radar 6329245 */
Modified: llvm-gcc-4.2/trunk/gcc/cp/parser.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/cp/parser.c?rev=61190&r1=61189&r2=61190&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/cp/parser.c (original)
+++ llvm-gcc-4.2/trunk/gcc/cp/parser.c Wed Dec 17 20:36:53 2008
@@ -20876,7 +20876,11 @@
rest_of_decl_compilation (NSConcreteGlobalBlock_decl, 0, 0);
}
}
- CONSTRUCTOR_APPEND_ELT(impl_v, NULL_TREE, build_fold_addr_expr (NSConcreteGlobalBlock_decl));
+ /* LLVM LOCAL begin radar 5865221 */
+ CONSTRUCTOR_APPEND_ELT(impl_v, NULL_TREE,
+ convert (ptr_type_node,
+ build_fold_addr_expr (NSConcreteGlobalBlock_decl)));
+ /* LLVM LOCAL end radar 5865221 */
flags |= BLOCK_IS_GLOBAL;
}
else
@@ -20896,7 +20900,11 @@
rest_of_decl_compilation (NSConcreteStackBlock_decl, 0, 0);
}
}
- CONSTRUCTOR_APPEND_ELT(impl_v, NULL_TREE, build_fold_addr_expr (NSConcreteStackBlock_decl));
+ /* LLVM LOCAL begin radar 5865221 */
+ CONSTRUCTOR_APPEND_ELT(impl_v, NULL_TREE,
+ convert (ptr_type_node,
+ build_fold_addr_expr (NSConcreteStackBlock_decl)));
+ /* LLVM LOCAL end radar 5865221 */
}
/* __flags */
@@ -21029,6 +21037,8 @@
TREE_PUBLIC (block_holder_tmp_decl) = 0;
TREE_STATIC (block_holder_tmp_decl) = 1;
}
+ /* LLVM LOCAL radar 5865221 */
+ TREE_CONSTANT (block_holder_tmp_decl) = 1;
cp_finish_decl (block_holder_tmp_decl, constructor, 0, 0, LOOKUP_ONLYCONVERTING);
return block_holder_tmp_decl;
}
More information about the llvm-commits
mailing list