Xcode 4.0's linker now defaults on...

     -warn_compact_unwind
                 When producing a final linked image, the linker processes the 
__eh_frame section and produces an
                 __unwind_info section. Most FDE entries in the __eh_frame can 
be represented by a 32-bit value in
                 the __unwind_info section.  The option issues a warning for 
any function whose FDE cannot be
                 expressed in the compact unwind format.

regardless of whether -no_compact_unwind is passed to the linker. This results 
in many bogus excess error failures
in the testsuite due to these bogus warnings of the form...

ld: warning: could not create compact unwind for I<int>::operator+(int =const&) 
const: dwarf uses DW_CFA_GNU_args_size

The attached patch adds a regsub statement to prune.exp to suppress this 
testsuite noise on darwin when linking
with Xcode 4.0. Tested on x86_64-apple-darwin10.
               Jack

2011-03-12  Jack Howarth  <howa...@bromo.med.uc.edu>

libstdc++-v3/
        * testsuite/lib/prune.exp: Prune "could not create compact unwind for" 
warnings.

gcc/
        * testsuite/lib/prune.exp: Ditto.

Index: libstdc++-v3/testsuite/lib/prune.exp
===================================================================
--- libstdc++-v3/testsuite/lib/prune.exp        (revision 170906)
+++ libstdc++-v3/testsuite/lib/prune.exp        (working copy)
@@ -55,6 +55,9 @@ proc libstdc++-dg-prune { system text } 
     regsub -all "(^|\n)\[^\n\]*warning: 
DWARFDebugInfoEntry::AppendDependants\[^\n\]*AT_\[^\n\]*_bound\[^\n\]*FORM_ref4\[^\n\]*"
 $text "" text
     regsub -all "(^|\n)\[^\n\]*warning:\[^\n\]*TAG_variable:  
AT_location\[^\n\]*didn't have valid function low pc\[^\n\]*" $text "" text
 
+    # Ignore harmless warnings from Xcode 4.0.
+    regsub -all "(^|\n)\[^\n\]*ld: warning: could not create compact unwind 
for\[^\n\]*" $text "" text
+
     foreach p $additional_prunes {
        if { [string length $p] > 0 } {
            # Following regexp matches a complete line containing $p.
Index: gcc/testsuite/lib/prune.exp
===================================================================
--- gcc/testsuite/lib/prune.exp (revision 170906)
+++ gcc/testsuite/lib/prune.exp (working copy)
@@ -56,6 +56,9 @@ proc prune_gcc_output { text } {
     regsub -all "(^|\n)\[^\n\]*ld: warning: can't add line info to anonymous 
symbol\[^\n\]*" $text "" text
     regsub -all "(^|\n)\[^\n\]*warning: 
DWARFDebugInfoEntry::AppendDependants\[^\n\]*AT_\[^\n\]*_bound\[^\n\]*FORM_ref4\[^\n\]*"
 $text "" text
     regsub -all "(^|\n)\[^\n\]*warning:\[^\n\]*TAG_variable:  
AT_location\[^\n\]*didn't have valid function low pc\[^\n\]*" $text "" text
+
+    # Ignore harmless warnings from Xcode 4.0.
+    regsub -all "(^|\n)\[^\n\]*ld: warning: could not create compact unwind 
for\[^\n\]*" $text "" text
     
     #send_user "After:$text\n"
 

Reply via email to