OSDN Git Service

* lib/lto.exp (lto_prune_vis_warns): Renamed to lto_prune_warns.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / lib / lto.exp
index 3d40efc..e5aaf3a 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 Free Software Foundation, Inc.
+# Copyright (C) 2009, 2010 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 
 # Contributed by Diego Novillo <dnovillo@google.com>
 
-# Prune messages from gcc that aren't useful.
+# Prune messages that aren't useful.
 
-proc lto_prune_vis_warns { text } {
+proc lto_prune_warns { text } {
+
+    verbose "lto_prune_warns: entry: $text" 2
 
     # Many tests that use visibility will still pass on platforms that don't support it.
     regsub -all "(^|\n)\[^\n\]*: warning: visibility attribute not supported in this configuration; ignored\[^\n\]*" $text "" text
@@ -27,6 +29,14 @@ proc lto_prune_vis_warns { text } {
     regsub -all "(^|\n)\[^\n\]*: In function \[^\n\]*" $text "" text
     regsub -all "(^|\n)In file included from :\[^\n\]*" $text "" text
 
+    # Sun ld warns about common symbols with differing sizes.  Unlike GNU ld
+    # --warn-common (off by default), they cannot be disabled.
+    regsub -all "(^|\n)ld: warning: symbol `\[^\n\]*' has differing sizes:" $text "" text
+    regsub -all "(^|\n)\[ \t\]*\[\(\]file \[^\n\]* value=\[^\n\]*; file \[^\n\]* value=\[^\n\]*\[)\];" $text "" text
+    regsub -all "(^|\n)\[ \t\]*\[^\n\]* definition taken" $text "" text
+
+    verbose "lto_prune_warns: exit: $text" 2
+
     return $text
 }
 
@@ -162,7 +172,7 @@ proc lto-link-and-maybe-run { testname objlist dest optall optfile optstr } {
                     "$options"]
 
     # Prune unimportant visibility warnings before checking output.
-    set comp_output [lto_prune_vis_warns $comp_output]
+    set comp_output [lto_prune_warns $comp_output]
 
     if ![${tool}_check_compile "$testcase $testname link" "" \
         $dest $comp_output] then {