diff mbox

[testsuite] Don't run cproj-fails-with-broken-glibc.c for broken glibc

Message ID 53E32EFC.2060102@mentor.com
State New
Headers show

Commit Message

Tom de Vries Aug. 7, 2014, 7:47 a.m. UTC
On 05-08-14 13:51, Rainer Orth wrote:
> Hi Mike,
>
>>> Or do we go with the removal suggestion of Mike?
>>
>> I’ll let others weigh in.  I’m fine either way.  Original author likely
>> prefers the xfail, so I’m fine with the above.
>
> the test now XPASSes on Solaris, adding testsuite noise in the other
> direction on completely innocent systems.

FWIW, I would be interested in understanding the details there.

>  Given that we're not actually
> testing gcc behaviour or a workaround for a glibc bug here, but just
> alerting users to changed cproj semantics on old and newer glibc systems
>
> 	https://gcc.gnu.org/ml/gcc-patches/2010-04/msg01285.html
>
> I'd strongly suggest just removing the test and the supporting
> effective-target keywords.
>

Done.  Committed as attached.

Thanks,
- Tom

Comments

Rainer Orth Aug. 7, 2014, 10:07 a.m. UTC | #1
Hi Tom,

>> the test now XPASSes on Solaris, adding testsuite noise in the other
>> direction on completely innocent systems.
>
> FWIW, I would be interested in understanding the details there.

easy once you get it ;-)  The check_effective_target_* procs are
supposed to return 1 in the success case, 0 for failure.  So on
non-glibc targets like Solaris,
check_effective_target_glibc_2_11_or_earlier returns true, suggesting
the test will XFAIL while in fact it PASSes, so the XPASS.

>>  Given that we're not actually
>> testing gcc behaviour or a workaround for a glibc bug here, but just
>> alerting users to changed cproj semantics on old and newer glibc systems
>>
>> 	https://gcc.gnu.org/ml/gcc-patches/2010-04/msg01285.html
>>
>> I'd strongly suggest just removing the test and the supporting
>> effective-target keywords.
>
> Done.  Committed as attached.

Thanks.
        Rainer
Mike Stump Aug. 8, 2014, 5:55 p.m. UTC | #2
On Aug 7, 2014, at 12:47 AM, Tom de Vries <Tom_deVries@mentor.com> wrote:
> Done.  Committed as attached.

Thanks.
diff mbox

Patch

2014-08-07  Tom de Vries  <tom@codesourcery.com>

	* gcc.dg/cproj-fails-with-broken-glibc.c: Remove test.
	* lib/target-supports.exp (check_effective_target_glibc)
	(check_effective_target_glibc_2_12_or_later)
	(check_effective_target_glibc_2_11_or_earlier): Remove proc.

	* doc/sourcebuild.texi (glibc, glibc_2_12_or_later)
	(glibc_2_11_or_earlier): Remove effective-target keywords.

diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi
index 0793f80..39152df 100644
--- a/gcc/doc/sourcebuild.texi
+++ b/gcc/doc/sourcebuild.texi
@@ -1804,15 +1804,6 @@  Target is a VxWorks RTP.
 
 @item wchar
 Target supports wide characters.
-
-@item glibc
-Target supports glibc
-
-@item glibc_2_12_or_later
-Target supports glibc 2.12 or later
-
-@item glibc_2_11_or_earlier
-Target supports glibc 2.11 or earlier
 @end table
 
 @subsubsection Other attributes
diff --git a/gcc/testsuite/gcc.dg/cproj-fails-with-broken-glibc.c b/gcc/testsuite/gcc.dg/cproj-fails-with-broken-glibc.c
deleted file mode 100644
index fc37fac..0000000
--- a/gcc/testsuite/gcc.dg/cproj-fails-with-broken-glibc.c
+++ /dev/null
@@ -1,25 +0,0 @@ 
-/* Copyright (C) 2010  Free Software Foundation.
-
-   Check the runtime behavior of the C library's cproj() function and
-   whether it follows the standard.  Versions of GLIBC through 2.11.1
-   had an incorrect implementation which will conflict with GCC's
-   builtin cproj().  GLIBC 2.12+ should be okay.
-
-   Origin: Kaveh R. Ghazi,  April 20, 2010.  */
-
-/* { dg-do run { xfail glibc_2_11_or_earlier } } */
-/* { dg-options "-fno-builtin-cproj" } */
-/* { dg-add-options c99_runtime } */
-/* { dg-require-effective-target c99_runtime } */
-
-extern void abort(void);
-extern void exit(int);
-double _Complex cproj(double _Complex);
-
-int main (void)
-{
-  if (cproj (2+3i) != 2+3i)
-    abort();
-
-  exit(0);
-}
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 7157d2a..fa5137e 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -5038,44 +5038,6 @@  proc check_effective_target_newlib {} {
     }]
 }
 
-# Return true if this is a glibc target.
-
-proc check_effective_target_glibc {} {
-    return [check_no_compiler_messages glibc object {
-	#include <features.h>
-	#if !(defined (__GLIBC__) && defined (__GLIBC_MINOR__))
-	#error FOO
-	#endif
-    }]
-}
-
-# Return true if this is a glibc 2.12 or later target.
-
-proc check_effective_target_glibc_2_12_or_later {} {
-    return [check_no_compiler_messages glibc_2_12_or_later object {
-	#include <features.h>
-	#if !(defined (__GLIBC__) && defined (__GLIBC_MINOR__) \
-              && __GLIBC_PREREQ(2,12))
-	#error FOO
-	#endif
-    }]
-}
-
-# Return true if this is a glibc 2.11 or earlier target.
-
-proc check_effective_target_glibc_2_11_or_earlier {} {
-
-    if { ![check_effective_target_glibc] } {
-	return 1
-    }
-    
-    if { [check_effective_target_glibc_2_12_or_later] } {
-	return 0
-    }
-
-    return 1
-}
-
 # Return true if this is NOT a Bionic target.
 
 proc check_effective_target_non_bionic {} {
-- 
1.9.1