The first patch silences hundreds of harmless warnings from Xcode 3.2.x due to r205679 and of the kind
warning: DWARFDebugInfoEntry::AppendDependants() -- check on this item TAG_namelist_item: attr = AT_namelist_item form = FORM_ref4 The following three patches fix pr54083 for darwin 8 and 9. The last patch fixes pr54407 and comes from a year ago at http://gcc.gnu.org/ml/libstdc++/2012-10/msg00111.html OK for trunk? Dominique 2014-03-26 Dominique d'Humieres <domi...@lps.ens.fr> PR target/43751 * lib/prune.exp: Modify the regular express to prune the new warnings introduced by r205679 on darwin9. 2014-03-26 Dominique d'Humieres <domi...@lps.ens.fr> Iain Sandoe <i...@codesourcery.com> PR target/54083 * gcc.dg/attr-weakref-1.c: Allow the test on darwin with the additional options -Wl,-undefined,dynamic_lookup and -Wl,-flat_namespace * gcc.dg/torture/pr53922.c: Additional option -Wl,-flat_namespace for darwin[89]. * gcc.dg/torture/pr60092.c: Additional options -Wl,-undefined,dynamic_lookup and -Wl,-flat_namespace for darwin[89]. libstdc++-v3/testsuite/ 2012-10-16 Dominique d'Humieres <domi...@lps.ens.fr> Jack Howarth <howa...@bromo.med.uc.edu> PR target/54407 * 30_threads/condition_variable/54185.cc: Skip for darwin < 11. --- ../_gcc_clean/gcc/testsuite/lib/prune.exp 2014-01-08 12:57:20.000000000 +0100 +++ gcc/testsuite/lib/prune.exp 2014-01-18 22:53:07.000000000 +0100 @@ -59,7 +59,7 @@ proc prune_gcc_output { text } { # Ignore harmless warnings from Xcode 3.2.x. 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: DWARFDebugInfoEntry::AppendDependants\[^\n\]*AT_\[^\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. --- ../_clean/gcc/testsuite/gcc.dg/attr-weakref-1.c 2013-09-04 17:48:01.000000000 +0200 +++ gcc/testsuite/gcc.dg/attr-weakref-1.c 2013-10-07 20:41:33.000000000 +0200 @@ -4,12 +4,14 @@ // This test requires support for undefined weak symbols. This support // is not available on hppa*-*-hpux*. The test is skipped rather than // xfailed to suppress the warning that would otherwise arise. -// { dg-skip-if "" { "*-*-darwin*" "hppa*-*-hpux*" "*-*-aix*" } "*" { "" } } +// { dg-skip-if "" { "hppa*-*-hpux*" "*-*-aix*" } "*" { "" } } // For kernel modules and static RTPs, the loader treats undefined weak // symbols in the same way as undefined strong symbols. The test // therefore fails to load, so skip it. // { dg-skip-if "" { "*-*-vxworks*" && nonpic } "*" { "-non-static" } } // { dg-options "-O2" } +// { dg-additional-options "-Wl,-undefined,dynamic_lookup" { target *-*-darwin* } } +// { dg-additional-options "-Wl,-flat_namespace" { target *-*-darwin[89]* } } // { dg-additional-sources "attr-weakref-1a.c" } // Copyright 2005 Free Software Foundation, Inc. --- ../_clean/gcc/testsuite/gcc.dg/torture/pr53922.c 2013-09-04 17:48:01.000000000 +0200 +++ gcc/testsuite/gcc.dg/torture/pr53922.c 2013-10-07 20:43:45.000000000 +0200 @@ -4,6 +4,7 @@ /* { dg-skip-if "No undefined weak" { *-*-aix* } { "*" } { "" } } */ /* { dg-skip-if "No undefined weak" { hppa*-*-hpux* && { ! lp64 } } { "*" } { "" } } */ /* { dg-options "-Wl,-undefined,dynamic_lookup" { target *-*-darwin* } } */ +/* { dg-additional-options "-Wl,-flat_namespace" { target *-*-darwin[89]* } } */ int x(int a) { --- ../_clean/gcc/testsuite/gcc.dg/torture/pr60092.c 2014-03-24 08:05:33.000000000 +0100 +++ gcc/testsuite/gcc.dg/torture/pr60092.c 2014-03-26 22:57:17.000000000 +0100 @@ -1,6 +1,8 @@ /* { dg-do run } */ /* { dg-require-weak "" } */ /* { dg-skip-if "No undefined weak" { hppa*-*-hpux* && { ! lp64 } } { "*" } { "" } } */ +/* { dg-additional-options "-Wl,-undefined,dynamic_lookup" { target *-*-darwin* } } */ +/* { dg-additional-options "-Wl,-flat_namespace" { target *-*-darwin[89]* } } */ /* { dg-xfail-run-if "posix_memalign modifies first arg on error" { *-*-solaris2.11* } { "-O0" } } */ typedef __SIZE_TYPE__ size_t; --- ../_clean/libstdc++-v3/testsuite/30_threads/condition_variable/54185.cc 2013-06-10 11:06:33.000000000 +0200 +++ libstdc++-v3/testsuite/30_threads/condition_variable/54185.cc 2013-06-10 23:12:39.000000000 +0200 @@ -1,4 +1,4 @@ -// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-gnu* *-*-solaris* *-*-cygwin *-*-darwin* powerpc-ibm-aix* } } +// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-gnu* *-*-solaris* *-*-cygwin *-*-darwin1[1-9]* powerpc-ibm-aix* } } // { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-gnu* powerpc-ibm-aix* } } // { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } } // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }