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.

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  <m...@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  <tsaund...@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

Reply via email to