Message ID | 1404850329-16974-1-git-send-email-mjw@redhat.com |
---|---|
State | New |
Headers | show |
On Tue, Jul 8, 2014 at 10:12 PM, Mark Wielaard <mjw@redhat.com> wrote: > The java frontend is one of the only places where build_type_variant is > still used. New code should use build_qualified_type. See gcc/tree.h. > > Build and tested on x86_64-unknown-linux-gnu. Ok. Can build_type_variant be removed now? Thanks, Richard. > gcc/java/ChangeLog > > * builtins.c (putVolatile_builtin): Use build_qualified_type > instead of build_type_variant. > (getVolatile_builtin): Likewise. > (build_classdollar_field): Likewise. > --- > gcc/java/ChangeLog | 7 +++++++ > gcc/java/builtins.c | 8 +++++--- > gcc/java/class.c | 8 ++++---- > 3 files changed, 16 insertions(+), 7 deletions(-) > > diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog > index ce90e28..d12b664 100644 > --- a/gcc/java/ChangeLog > +++ b/gcc/java/ChangeLog > @@ -1,3 +1,10 @@ > +2014-07-08 Mark Wielaard <mjw@redhat.com> > + > + * builtins.c (putVolatile_builtin): Use build_qualified_type > + instead of build_type_variant. > + (getVolatile_builtin): Likewise. > + (build_classdollar_field): Likewise. > + > 2014-06-24 Trevor Saunders <tsaunders@mozilla.com> > > * jcf-io.c: Adjust. > diff --git a/gcc/java/builtins.c b/gcc/java/builtins.c > index 1ce9ce5..12c427d 100644 > --- a/gcc/java/builtins.c > +++ b/gcc/java/builtins.c > @@ -394,7 +394,8 @@ putVolatile_builtin (tree method_return_type ATTRIBUTE_UNUSED, > > addr = build_addr_sum (value_type, obj_arg, offset_arg); > addr > - = fold_convert (build_pointer_type (build_type_variant (value_type, 0, 1)), > + = fold_convert (build_pointer_type (build_qualified_type > + (value_type, TYPE_QUAL_VOLATILE)), > addr); > > stmt = build_call_expr (builtin_decl_explicit (BUILT_IN_SYNC_SYNCHRONIZE), 0); > @@ -418,8 +419,9 @@ getVolatile_builtin (tree method_return_type ATTRIBUTE_UNUSED, > > addr = build_addr_sum (method_return_type, obj_arg, offset_arg); > addr > - = fold_convert (build_pointer_type (build_type_variant > - (method_return_type, 0, 1)), addr); > + = fold_convert (build_pointer_type (build_qualified_type > + (method_return_type, > + TYPE_QUAL_VOLATILE)), addr); > > stmt = build_call_expr (builtin_decl_explicit (BUILT_IN_SYNC_SYNCHRONIZE), 0); > tmp = build_decl (BUILTINS_LOCATION, VAR_DECL, NULL, method_return_type); > diff --git a/gcc/java/class.c b/gcc/java/class.c > index dae3218..0d51165 100644 > --- a/gcc/java/class.c > +++ b/gcc/java/class.c > @@ -1067,11 +1067,11 @@ build_classdollar_field (tree type) > decl > = build_decl (input_location, > VAR_DECL, decl_name, > - (build_type_variant > + (build_qualified_type > (build_pointer_type > - (build_type_variant (class_type_node, > - /* const */ 1, 0)), > - /* const */ 1, 0))); > + (build_qualified_type (class_type_node, > + TYPE_QUAL_CONST)), > + TYPE_QUAL_CONST))); > TREE_STATIC (decl) = 1; > TREE_CONSTANT (decl) = 1; > TREE_READONLY (decl) = 1; > -- > 1.7.1 >
On Wed, 2014-07-09 at 12:23 +0200, Richard Biener wrote: > On Tue, Jul 8, 2014 at 10:12 PM, Mark Wielaard <mjw@redhat.com> wrote: > > The java frontend is one of the only places where build_type_variant is > > still used. New code should use build_qualified_type. See gcc/tree.h. > > > > Build and tested on x86_64-unknown-linux-gnu. > > Ok. Thanks. Pushed. > Can build_type_variant be removed now? Not yet. There are still a few usages that are easy to change to build_qualified_type like the ones in the java frontend. But there are 3 cases that I haven't figured out yet. c-common, ada and lto all use it in their implementation of handle_noreturn_attribute and c-common and lto in handle_const_attribute. I think the c-common one is correct, but maybe there is a reason for them to be slightly different. Cheers, Mark
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index ce90e28..d12b664 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,10 @@ +2014-07-08 Mark Wielaard <mjw@redhat.com> + + * builtins.c (putVolatile_builtin): Use build_qualified_type + instead of build_type_variant. + (getVolatile_builtin): Likewise. + (build_classdollar_field): Likewise. + 2014-06-24 Trevor Saunders <tsaunders@mozilla.com> * jcf-io.c: Adjust. diff --git a/gcc/java/builtins.c b/gcc/java/builtins.c index 1ce9ce5..12c427d 100644 --- a/gcc/java/builtins.c +++ b/gcc/java/builtins.c @@ -394,7 +394,8 @@ putVolatile_builtin (tree method_return_type ATTRIBUTE_UNUSED, addr = build_addr_sum (value_type, obj_arg, offset_arg); addr - = fold_convert (build_pointer_type (build_type_variant (value_type, 0, 1)), + = fold_convert (build_pointer_type (build_qualified_type + (value_type, TYPE_QUAL_VOLATILE)), addr); stmt = build_call_expr (builtin_decl_explicit (BUILT_IN_SYNC_SYNCHRONIZE), 0); @@ -418,8 +419,9 @@ getVolatile_builtin (tree method_return_type ATTRIBUTE_UNUSED, addr = build_addr_sum (method_return_type, obj_arg, offset_arg); addr - = fold_convert (build_pointer_type (build_type_variant - (method_return_type, 0, 1)), addr); + = fold_convert (build_pointer_type (build_qualified_type + (method_return_type, + TYPE_QUAL_VOLATILE)), addr); stmt = build_call_expr (builtin_decl_explicit (BUILT_IN_SYNC_SYNCHRONIZE), 0); tmp = build_decl (BUILTINS_LOCATION, VAR_DECL, NULL, method_return_type); diff --git a/gcc/java/class.c b/gcc/java/class.c index dae3218..0d51165 100644 --- a/gcc/java/class.c +++ b/gcc/java/class.c @@ -1067,11 +1067,11 @@ build_classdollar_field (tree type) decl = build_decl (input_location, VAR_DECL, decl_name, - (build_type_variant + (build_qualified_type (build_pointer_type - (build_type_variant (class_type_node, - /* const */ 1, 0)), - /* const */ 1, 0))); + (build_qualified_type (class_type_node, + TYPE_QUAL_CONST)), + TYPE_QUAL_CONST))); TREE_STATIC (decl) = 1; TREE_CONSTANT (decl) = 1; TREE_READONLY (decl) = 1;