packages: gcc/gcc-branch.diff - updated (bootstrap fix).

pluto pluto at pld-linux.org
Tue Aug 3 14:53:21 CEST 2010


Author: pluto                        Date: Tue Aug  3 12:53:21 2010 GMT
Module: packages                      Tag: HEAD
---- Log message:
- updated (bootstrap fix).

---- Files affected:
packages/gcc:
   gcc-branch.diff (1.35 -> 1.36) 

---- Diffs:

================================================================
Index: packages/gcc/gcc-branch.diff
diff -u packages/gcc/gcc-branch.diff:1.35 packages/gcc/gcc-branch.diff:1.36
--- packages/gcc/gcc-branch.diff:1.35	Sun Aug  1 20:18:47 2010
+++ packages/gcc/gcc-branch.diff	Tue Aug  3 14:53:15 2010
@@ -1,26 +1,48 @@
 Index: gcc/DATESTAMP
 ===================================================================
---- gcc/DATESTAMP	(.../tags/gcc_4_5_1_release)	(wersja 162803)
-+++ gcc/DATESTAMP	(.../branches/gcc-4_5-branch)	(wersja 162803)
+--- gcc/DATESTAMP	(.../tags/gcc_4_5_1_release)	(wersja 162840)
++++ gcc/DATESTAMP	(.../branches/gcc-4_5-branch)	(wersja 162840)
 @@ -1 +1 @@
 -20100731
-+20100801
++20100803
 Index: gcc/DEV-PHASE
 ===================================================================
---- gcc/DEV-PHASE	(.../tags/gcc_4_5_1_release)	(wersja 162803)
-+++ gcc/DEV-PHASE	(.../branches/gcc-4_5-branch)	(wersja 162803)
+--- gcc/DEV-PHASE	(.../tags/gcc_4_5_1_release)	(wersja 162840)
++++ gcc/DEV-PHASE	(.../branches/gcc-4_5-branch)	(wersja 162840)
 @@ -0,0 +1 @@
 +prerelease
 Index: gcc/ChangeLog
 ===================================================================
---- gcc/ChangeLog	(.../tags/gcc_4_5_1_release)	(wersja 162803)
-+++ gcc/ChangeLog	(.../branches/gcc-4_5-branch)	(wersja 162803)
-@@ -1,3 +1,18 @@
+--- gcc/ChangeLog	(.../tags/gcc_4_5_1_release)	(wersja 162840)
++++ gcc/ChangeLog	(.../branches/gcc-4_5-branch)	(wersja 162840)
+@@ -1,3 +1,40 @@
++2010-08-03  Martin Jambor  <mjambor at suse.cz>
++
++	PR tree-optimization/44914
++	* tree-sra.c (cfg_changed): New variable.
++	(sra_initialize): Initialize cgf_changed to false.
++	(scan_function): Set cfg_changed if cfg was changed.
++	(perform_intra_sra): Return also TODO_cleanup_cfg if cfg was changed.
++	(ipa_early_sra): Likewise.
++
++2010-08-02  DJ Delorie  <dj at redhat.com>
++
++	* config/rx/predicates.md (rx_constshift_operand): New.
++	* config/rx/rx.md (zs_cond): New.
++	(cbranchsi4): Remove mode.
++	(*cbranchsi4_<code>): Likewise.
++	(*tstbranchsi4_<code>): New.
++	(*tstbranchsi4r_<code>): New.
++	(*tstbranchsi4m_eq): New.
++	(*tstbranchsi4m_ne): New.
++	(cbranchsf4): Remove mode.
++	(*cbranchsf4_<code>): Likewise.
++
 +2010-07-31  Richard Guenther  <rguenther at suse.de>
 +
 +	PR tree-optimization/45052
 +	* ipa-pure-const.c (check_stmt): Check volatileness.
-+  
++
 +2010-07-31  Richard Guenther  <rguenther at suse.de>
 +
 +	* ipa-prop.c (ipa_modify_formal_parameters): Use
@@ -34,11 +56,32 @@
  2010-07-31  Release Manager
  
  	* GCC 4.5.1 released.
+@@ -286,7 +323,7 @@
+ 	if old_decl was DECL_ONE_ONLY.
+ 
+ 	2010-06-21  Jakub Jelinek  <jakub at redhat.com>
+- 
++
+ 	PR target/44575
+ 	* config/i386/i386.c (ix86_gimplify_va_arg): When copying
+ 	va_arg from a set of register save slots into a temporary,
 Index: gcc/testsuite/ChangeLog
 ===================================================================
---- gcc/testsuite/ChangeLog	(.../tags/gcc_4_5_1_release)	(wersja 162803)
-+++ gcc/testsuite/ChangeLog	(.../branches/gcc-4_5-branch)	(wersja 162803)
-@@ -1,3 +1,8 @@
+--- gcc/testsuite/ChangeLog	(.../tags/gcc_4_5_1_release)	(wersja 162840)
++++ gcc/testsuite/ChangeLog	(.../branches/gcc-4_5-branch)	(wersja 162840)
+@@ -1,3 +1,20 @@
++2010-08-03  Martin Jambor  <mjambor at suse.cz>
++
++	PR tree-optimization/44914
++	* g++.dg/tree-ssa/pr44914.C: New test.
++
++2010-08-02  Uros Bizjak  <ubizjak at gmail.com>
++
++        * lib/gcc-dg.exp (cleanup-coverage-files): Remove options from
++        test name.
++        (cleanup-repo-files): Ditto.
++        (cleanup-saved-temps): Ditto.
++
 +2010-07-31  Ulrich Weigand  <Ulrich.Weigand at de.ibm.com>
 +
 +	PR c++/45112
@@ -47,10 +90,44 @@
  2010-07-31  Release Manager
  
  	* GCC 4.5.1 released.
+@@ -636,7 +653,7 @@
+ 	PR testsuite/44518
+ 	* obj-c++.dg/encode-2.mm: XFAIL new test for all targets.
+ 	* obj-c++.dg/encode-3.mm: Restore XFAIL run for all targets.
+-	
++
+ 2010-06-12  Daniel Franke  <franke.daniel at gmail.com>
+ 
+ 	PR fortran/44347
+Index: gcc/testsuite/g++.dg/tree-ssa/pr44914.C
+===================================================================
+--- gcc/testsuite/g++.dg/tree-ssa/pr44914.C	(.../tags/gcc_4_5_1_release)	(wersja 0)
++++ gcc/testsuite/g++.dg/tree-ssa/pr44914.C	(.../branches/gcc-4_5-branch)	(wersja 162840)
+@@ -0,0 +1,20 @@
++/* { dg-do compile } */
++/* { dg-options "-O1 -fipa-sra -fnon-call-exceptions" } */
++
++struct A
++{
++  ~A () { }
++};
++
++struct B
++{
++  A a;
++  int i;
++  void f (int) { }
++  B ()
++  {
++    f (i);
++  }
++};
++
++B b;
 Index: gcc/testsuite/g++.dg/pr45112.C
 ===================================================================
 --- gcc/testsuite/g++.dg/pr45112.C	(.../tags/gcc_4_5_1_release)	(wersja 0)
-+++ gcc/testsuite/g++.dg/pr45112.C	(.../branches/gcc-4_5-branch)	(wersja 162803)
++++ gcc/testsuite/g++.dg/pr45112.C	(.../branches/gcc-4_5-branch)	(wersja 162840)
 @@ -0,0 +1,12 @@
 +/* { dg-do compile } */
 +
@@ -64,10 +141,41 @@
 +
 +int bug [__alignof__ (JSString::unitStringTable) >= 8 ? 1 : -1];
 +
+Index: gcc/testsuite/lib/gcc-dg.exp
+===================================================================
+--- gcc/testsuite/lib/gcc-dg.exp	(.../tags/gcc_4_5_1_release)	(wersja 162840)
++++ gcc/testsuite/lib/gcc-dg.exp	(.../branches/gcc-4_5-branch)	(wersja 162840)
+@@ -407,6 +407,8 @@
+     # that stores the filename of the testcase in a local variable "name".
+     # A cleaner solution would require a new DejaGnu release.
+     upvar 2 name testcase
++    # The name might include a list of options; extract the file name.
++    set testcase [lindex $testcase 0]]
+     remove-build-file "[file rootname [file tail $testcase]].gc??"
+ 
+     # Clean up coverage files for additional source files.
+@@ -423,6 +425,8 @@
+     # that stores the filename of the testcase in a local variable "name".
+     # A cleaner solution would require a new DejaGnu release.
+     upvar 2 name testcase
++    # The name might include a list of options; extract the file name.
++    set testcase [lindex $testcase 0]]
+     remove-build-file "[file rootname [file tail $testcase]].o"
+     remove-build-file "[file rootname [file tail $testcase]].rpo"
+ 
+@@ -498,6 +502,8 @@
+     # that stores the filename of the testcase in a local variable "name".
+     # A cleaner solution would require a new DejaGnu release.
+     upvar 2 name testcase
++    # The name might include a list of options; extract the file name.
++    set testcase [lindex $testcase 0]]
+     foreach suffix $suffixes {
+ 	remove-build-file "[file rootname [file tail $testcase]]$suffix"
+ 	# -fcompare-debug dumps
 Index: gcc/cp/decl.c
 ===================================================================
---- gcc/cp/decl.c	(.../tags/gcc_4_5_1_release)	(wersja 162803)
-+++ gcc/cp/decl.c	(.../branches/gcc-4_5-branch)	(wersja 162803)
+--- gcc/cp/decl.c	(.../tags/gcc_4_5_1_release)	(wersja 162840)
++++ gcc/cp/decl.c	(.../branches/gcc-4_5-branch)	(wersja 162840)
 @@ -2077,6 +2077,10 @@
        SET_DECL_INIT_PRIORITY (olddecl, DECL_INIT_PRIORITY (newdecl));
        DECL_HAS_INIT_PRIORITY_P (olddecl) = 1;
@@ -81,8 +189,8 @@
       with that from NEWDECL below.  */
 Index: gcc/cp/ChangeLog
 ===================================================================
---- gcc/cp/ChangeLog	(.../tags/gcc_4_5_1_release)	(wersja 162803)
-+++ gcc/cp/ChangeLog	(.../branches/gcc-4_5-branch)	(wersja 162803)
+--- gcc/cp/ChangeLog	(.../tags/gcc_4_5_1_release)	(wersja 162840)
++++ gcc/cp/ChangeLog	(.../branches/gcc-4_5-branch)	(wersja 162840)
 @@ -1,3 +1,8 @@
 +2010-07-31  Ulrich Weigand  <Ulrich.Weigand at de.ibm.com>
 +
@@ -94,8 +202,8 @@
  	* GCC 4.5.1 released.
 Index: gcc/ipa-pure-const.c
 ===================================================================
---- gcc/ipa-pure-const.c	(.../tags/gcc_4_5_1_release)	(wersja 162803)
-+++ gcc/ipa-pure-const.c	(.../branches/gcc-4_5-branch)	(wersja 162803)
+--- gcc/ipa-pure-const.c	(.../tags/gcc_4_5_1_release)	(wersja 162840)
++++ gcc/ipa-pure-const.c	(.../branches/gcc-4_5-branch)	(wersja 162840)
 @@ -416,6 +416,13 @@
        print_gimple_stmt (dump_file, stmt, 0, 0);
      }
@@ -112,15 +220,97 @@
  
 Index: gcc/BASE-VER
 ===================================================================
---- gcc/BASE-VER	(.../tags/gcc_4_5_1_release)	(wersja 162803)
-+++ gcc/BASE-VER	(.../branches/gcc-4_5-branch)	(wersja 162803)
+--- gcc/BASE-VER	(.../tags/gcc_4_5_1_release)	(wersja 162840)
++++ gcc/BASE-VER	(.../branches/gcc-4_5-branch)	(wersja 162840)
 @@ -1 +1 @@
 -4.5.1
 +4.5.2
+Index: gcc/tree-sra.c
+===================================================================
+--- gcc/tree-sra.c	(.../tags/gcc_4_5_1_release)	(wersja 162840)
++++ gcc/tree-sra.c	(.../branches/gcc-4_5-branch)	(wersja 162840)
+@@ -276,6 +276,9 @@
+    arguments than formal parameters..  */
+ static bool encountered_unchangable_recursive_call;
+ 
++/* Set by scan_function when it changes the control flow graph.  */
++static bool cfg_changed;
++
+ /* This is a table in which for each basic block and parameter there is a
+    distance (offset + size) in that parameter which is dereferenced and
+    accessed in that BB.  */
+@@ -570,6 +573,7 @@
+   memset (&sra_stats, 0, sizeof (sra_stats));
+   encountered_apply_args = false;
+   encountered_unchangable_recursive_call = false;
++  cfg_changed = false;
+ }
+ 
+ /* Hook fed to pointer_map_traverse, deallocate stored vectors.  */
+@@ -1114,8 +1118,6 @@
+ 
+   FOR_EACH_BB (bb)
+     {
+-      bool bb_changed = false;
+-
+       if (handle_ssa_defs)
+ 	for (gsi = gsi_start_phis (bb); !gsi_end_p (gsi); gsi_next (&gsi))
+ 	  ret |= handle_ssa_defs (gsi_stmt (gsi), data);
+@@ -1220,21 +1222,15 @@
+ 
+ 	      if (!analysis_stage)
+ 		{
+-		  bb_changed = true;
+ 		  update_stmt (stmt);
+-		  maybe_clean_eh_stmt (stmt);
++		  if (maybe_clean_eh_stmt (stmt)
++		      && gimple_purge_dead_eh_edges (bb))
++		    cfg_changed = true;
+ 		}
+ 	    }
+-	  if (deleted)
+-	    bb_changed = true;
+-	  else
+-	    {
+-	      gsi_next (&gsi);
+-	      ret = true;
+-	    }
++	  if (!deleted)
++	    gsi_next (&gsi);
+ 	}
+-      if (!analysis_stage && bb_changed && sra_mode == SRA_MODE_EARLY_IPA)
+-	gimple_purge_dead_eh_edges (bb);
+     }
+ 
+   return ret;
+@@ -2871,7 +2867,10 @@
+   statistics_counter_event (cfun, "Separate LHS and RHS handling",
+ 			    sra_stats.separate_lhs_rhs_handling);
+ 
+-  ret = TODO_update_ssa;
++  if (cfg_changed)
++    ret = TODO_update_ssa | TODO_cleanup_cfg;
++  else
++    ret = TODO_update_ssa;
+ 
+  out:
+   sra_deinitialize ();
+@@ -4236,7 +4235,10 @@
+ 
+   modify_function (node, adjustments);
+   VEC_free (ipa_parm_adjustment_t, heap, adjustments);
+-  ret = TODO_update_ssa;
++  if (cfg_changed)
++    ret = TODO_update_ssa | TODO_cleanup_cfg;
++  else
++    ret = TODO_update_ssa;
+ 
+   statistics_counter_event (cfun, "Unused parameters deleted",
+ 			    sra_stats.deleted_unused_parameters);
 Index: gcc/ipa-prop.c
 ===================================================================
---- gcc/ipa-prop.c	(.../tags/gcc_4_5_1_release)	(wersja 162803)
-+++ gcc/ipa-prop.c	(.../branches/gcc-4_5-branch)	(wersja 162803)
+--- gcc/ipa-prop.c	(.../tags/gcc_4_5_1_release)	(wersja 162840)
++++ gcc/ipa-prop.c	(.../branches/gcc-4_5-branch)	(wersja 162840)
 @@ -1597,7 +1597,7 @@
         || (VEC_index (ipa_parm_adjustment_t, adjustments, 0)->copy_param
  	 && VEC_index (ipa_parm_adjustment_t, adjustments, 0)->base_index == 0))
@@ -130,3 +320,357 @@
        TYPE_ARG_TYPES (new_type) = new_reversed;
      }
    else
+Index: gcc/config/rx/predicates.md
+===================================================================
+--- gcc/config/rx/predicates.md	(.../tags/gcc_4_5_1_release)	(wersja 162840)
++++ gcc/config/rx/predicates.md	(.../branches/gcc-4_5-branch)	(wersja 162840)
+@@ -45,6 +45,13 @@
+   }
+ )
+ 
++(define_predicate "rx_constshift_operand"
++  (match_code "const_int")
++  {
++    return IN_RANGE (INTVAL (op), 0, 31);
++  }
++)
++
+ ;; Check that the operand is suitable as the source operand
+ ;; for a logic or arithmeitc instruction.  Registers, integers
+ ;; and a restricted subset of memory addresses are allowed.
+Index: gcc/config/rx/rx.md
+===================================================================
+--- gcc/config/rx/rx.md	(.../tags/gcc_4_5_1_release)	(wersja 162840)
++++ gcc/config/rx/rx.md	(.../branches/gcc-4_5-branch)	(wersja 162840)
+@@ -24,6 +24,9 @@
+ (define_code_iterator most_cond [eq ne gt ge lt le gtu geu ltu leu
+ 				 unordered ordered ])
+ 
++;; Likewise, but only the ones that use Z or S.
++(define_code_iterator zs_cond [eq ne gtu geu ltu leu ])
++
+ ;; This code iterator is used for sign- and zero- extensions.
+ (define_mode_iterator small_int_modes [(HI "") (QI "")])
+ 
+@@ -157,9 +160,9 @@
+ 
+ (define_expand "cbranchsi4"
+   [(set (pc)
+-	(if_then_else (match_operator:SI 0 "comparison_operator"
+-					 [(match_operand:SI 1 "register_operand")
+-					  (match_operand:SI 2 "rx_source_operand")])
++	(if_then_else (match_operator 0 "comparison_operator"
++				      [(match_operand:SI 1 "register_operand")
++				       (match_operand:SI 2 "rx_source_operand")])
+ 		      (label_ref (match_operand 3 ""))
+ 		      (pc)))
+    ]
+@@ -169,7 +172,7 @@
+ 
+ (define_insn_and_split "*cbranchsi4_<code>"
+   [(set (pc)
+-	(if_then_else (most_cond:SI (match_operand:SI  0 "register_operand"  "r")
++	(if_then_else (most_cond (match_operand:SI  0 "register_operand"  "r")
+ 				    (match_operand:SI  1 "rx_source_operand" "riQ"))
+ 		      (label_ref (match_operand        2 "" ""))
+ 		      (pc)))
+@@ -189,11 +192,106 @@
+   "
+ )
+ 
++;; -----------------------------------------------------------------------------
++;; These two are the canonical TST/branch insns.  However, GCC
++;; generates a wide variety of tst-like patterns, we catch those
++;; below.
++(define_insn_and_split "*tstbranchsi4_<code>"
++  [(set (pc)
++	(if_then_else (zs_cond (and:SI (match_operand:SI  0 "register_operand"  "r")
++				       (match_operand:SI  1 "rx_source_operand" "riQ"))
++			       (const_int 0))
++		      (label_ref (match_operand 2 "" ""))
++		      (pc)))
++   ]
++  ""
++  "#"
++  "reload_completed"
++  [(const_int 0)]
++  "
++  emit_insn (gen_tstsi (operands[0], operands[1]));
++  
++  emit_jump_insn (gen_conditional_branch (operands[2],
++  		 gen_rtx_fmt_ee (<zs_cond:CODE>, CCmode,
++				 gen_rtx_REG (CCmode, CC_REG), const0_rtx)));
++  "
++)
++
++;; Inverse of above
++(define_insn_and_split "*tstbranchsi4_<code>"
++  [(set (pc)
++	(if_then_else (zs_cond (and:SI (match_operand:SI  0 "register_operand"  "r")
++				       (match_operand:SI  1 "rx_source_operand" "riQ"))
++			       (const_int 0))
++		      (pc)
++		      (label_ref (match_operand 2 "" ""))))
++   ]
++  ""
++  "#"
++  "reload_completed"
++  [(const_int 0)]
++  "
++  emit_insn (gen_tstsi (operands[0], operands[1]));
++  
++  emit_jump_insn (gen_conditional_branch (operands[2],
++  		 gen_rtx_fmt_ee (reverse_condition (<zs_cond:CODE>), CCmode,
++				 gen_rtx_REG (CCmode, CC_REG), const0_rtx)));
++  "
++)
++
++;; Various other ways that GCC codes "var & const"
++
++(define_insn_and_split "*tstbranchsi4m_eq"
++  [(set (pc)
++	(if_then_else (eq (zero_extract:SI (match_operand:SI  0 "register_operand"  "r")
++					   (match_operand  1 "rx_constshift_operand" "i")
++					   (match_operand  2 "rx_constshift_operand" "i"))
++			  (const_int 0))
++		      (label_ref (match_operand        3 "" ""))
++		      (pc)))
++   ]
++  ""
++  "#"
++  ""
++  [(set (pc)
++	(if_then_else (eq (and:SI (match_dup  0)
++				  (match_dup 4))
++			  (const_int 0))
++		      (label_ref (match_dup 3))
++		      (pc)))
++   ]
++  "operands[4] = GEN_INT (((1 << INTVAL (operands[1]))-1) << INTVAL (operands[2]));"
++)
++
++(define_insn_and_split "*tstbranchsi4m_ne"
++  [(set (pc)
++	(if_then_else (ne (zero_extract:SI (match_operand:SI  0 "register_operand"  "r")
++					   (match_operand  1 "rx_constshift_operand" "i")
++					   (match_operand  2 "rx_constshift_operand" "i"))
++			  (const_int 0))
++		      (label_ref (match_operand        3 "" ""))
++		      (pc)))
++   ]
++  ""
++  "#"
++  ""
++  [(set (pc)
++	(if_then_else (ne (and:SI (match_dup  0)
++				  (match_dup 4))
++			  (const_int 0))
++		      (label_ref (match_dup 3))
++		      (pc)))
++   ]
++  "operands[4] = GEN_INT (((1 << INTVAL (operands[1]))-1) << INTVAL (operands[2]));"
++)
++
++;; -----------------------------------------------------------------------------
++
+ (define_expand "cbranchsf4"
+   [(set (pc)
+-	(if_then_else (match_operator:SF 0 "comparison_operator"
+-					 [(match_operand:SF 1 "register_operand")
+-					  (match_operand:SF 2 "rx_source_operand")])
++	(if_then_else (match_operator 0 "comparison_operator"
++				      [(match_operand:SF 1 "register_operand")
++				       (match_operand:SF 2 "rx_source_operand")])
+ 		      (label_ref (match_operand 3 ""))
+ 		      (pc)))
+    ]
+@@ -203,8 +301,8 @@
+ 
+ (define_insn_and_split "*cbranchsf4_<code>"
+   [(set (pc)
+-	(if_then_else (most_cond:SF (match_operand:SF  0 "register_operand"  "r")
+-				    (match_operand:SF  1 "rx_source_operand" "rFiQ"))
++	(if_then_else (most_cond (match_operand:SF  0 "register_operand"  "r")
++				 (match_operand:SF  1 "rx_source_operand" "rFiQ"))
+ 		      (label_ref (match_operand        2 "" ""))
+ 		      (pc)))
+    ]
+Index: libjava/classpath/javax/print/attribute/standard/JobStateReasons.java
+===================================================================
+--- libjava/classpath/javax/print/attribute/standard/JobStateReasons.java	(.../tags/gcc_4_5_1_release)	(wersja 162840)
++++ libjava/classpath/javax/print/attribute/standard/JobStateReasons.java	(.../branches/gcc-4_5-branch)	(wersja 162840)
+@@ -129,7 +129,7 @@
+     if (o == null)
+       throw new NullPointerException("reason is null");  
+     
+-    return add(o);
++    return super.add(o);
+   }
+   
+   /**
+Index: libjava/classpath/ChangeLog
+===================================================================
+--- libjava/classpath/ChangeLog	(.../tags/gcc_4_5_1_release)	(wersja 162840)
++++ libjava/classpath/ChangeLog	(.../branches/gcc-4_5-branch)	(wersja 162840)
+@@ -1,3 +1,23 @@
++2010-04-27  Andrew Haley  <aph at redhat.com>
++
++	* java/util/concurrent/CopyOnWriteArrayList.java: Fix for empty
++	list.
++
++2010-04-27  Andrew Haley  <aph at redhat.com>
++
++	* gnu/javax/print/ipp/IppResponse.java (parseAttributes): Handle
++	IppValueTag.UNKNOWN.  
++	* gnu/javax/print/ipp/IppRequest.java (writeOperationAttributes):
++	Handle RequestedAttributes.
++	* gnu/javax/print/ipp/IppPrintService.java (processResponse): Add
++	DocFlavor.SERVICE_FORMATTED.PAGEABLE and
++	DocFlavor.SERVICE_FORMATTED.PRINTABLE.
++
++2010-07-30  Andrew Haley  <aph at redhat.com>
++
++	* javax/print/attribute/standard/JobStateReasons.java (add): Fix
++	infinite recursion with call to super.
++
+ 2010-07-31  Release Manager
+ 
+ 	* GCC 4.5.1 released.
+Index: libjava/classpath/gnu/javax/print/ipp/IppRequest.java
+===================================================================
+--- libjava/classpath/gnu/javax/print/ipp/IppRequest.java	(.../tags/gcc_4_5_1_release)	(wersja 162840)
++++ libjava/classpath/gnu/javax/print/ipp/IppRequest.java	(.../branches/gcc-4_5-branch)	(wersja 162840)
+@@ -434,6 +434,8 @@
+       PrinterURI printerUri = (PrinterURI) attributes.get(PrinterURI.class);
+       JobUri jobUri = (JobUri) attributes.get(JobUri.class);
+       JobId jobId = (JobId) attributes.get(JobId.class);
++      RequestedAttributes reqAttrs 
++	= (RequestedAttributes)attributes.get(RequestedAttributes.class);
+       if (printerUri != null && jobId == null && jobUri == null)
+         {
+           write(printerUri);
+@@ -467,6 +469,12 @@
+           logger.log(Component.IPP, "Attribute: Name: <" + jobUri.getCategory()
+             .getName() + "> Value: <" + jobUri.toString() + ">");
+         }
++      else if (reqAttrs != null)
++	{
++	  write(reqAttrs);
++	  attributes.remove(RequestedAttributes.class);
++	  logger.log(Component.IPP, "RequestedAttributes: <" + reqAttrs + ">");
++	}
+       else
+         {
+           throw new IppException("Unknown target operation attribute combination.");
+Index: libjava/classpath/gnu/javax/print/ipp/IppPrintService.java
+===================================================================
+--- libjava/classpath/gnu/javax/print/ipp/IppPrintService.java	(.../tags/gcc_4_5_1_release)	(wersja 162840)
++++ libjava/classpath/gnu/javax/print/ipp/IppPrintService.java	(.../branches/gcc-4_5-branch)	(wersja 162840)
+@@ -356,8 +356,17 @@
+                 // should not happen, all fields are public
+               }
+           }
++
++	if (this.getClass()
++	    .isAssignableFrom(gnu.javax.print.CupsPrintService.class))
++	  {
++// 	    CUPS always provides filters to convert from Postscript.
++//  	    This logic looks odd, but it's what OpenJDK does.
++	    flavors.add(DocFlavor.SERVICE_FORMATTED.PAGEABLE);
++	    flavors.add(DocFlavor.SERVICE_FORMATTED.PRINTABLE);
++	  }
+       }
+-    
++
+     // printer uris
+     Set uris = getPrinterAttributeSet(PrinterUriSupported.class);
+     printerUris = new ArrayList(uris.size());
+Index: libjava/classpath/gnu/javax/print/ipp/IppResponse.java
+===================================================================
+--- libjava/classpath/gnu/javax/print/ipp/IppResponse.java	(.../tags/gcc_4_5_1_release)	(wersja 162840)
++++ libjava/classpath/gnu/javax/print/ipp/IppResponse.java	(.../branches/gcc-4_5-branch)	(wersja 162840)
+@@ -302,11 +302,14 @@
+             // out-of-band values
+             case IppValueTag.UNSUPPORTED:
+             case IppValueTag.UNKNOWN:
++              // TODO implement out-of-band handling
++              // We currently throw an exception to see when it occurs - not yet :-)
++	      throw new IppException(
++                    "Unexpected name value for out-of-band value tag " + tag);
+             case IppValueTag.NO_VALUE:
+-              // TODO implement out-of-band handling
+-              // We currently throw an exception to see when it occurs - not yet :-)              
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/gcc/gcc-branch.diff?r1=1.35&r2=1.36&f=u



More information about the pld-cvs-commit mailing list