re PR libstdc++/53678 (namespace pollution on NetBSD)

2012-06-18  Jörg Sonnenberger <joerg@britannica.bec.de>
	    Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/53678
	* config/os/bsd/netbsd/ctype_base.h: Check for _CTYPE_U.
	* testsuite/22_locale/ctype_base/53678.cc: New.

Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>

From-SVN: r188755
This commit is contained in:
Jörg Sonnenberger 2012-06-18 21:43:58 +00:00 committed by Jonathan Wakely
parent f897891a10
commit 843f0d3c88
3 changed files with 37 additions and 4 deletions

View File

@ -1,3 +1,10 @@
2012-06-18 Jörg Sonnenberger <joerg@britannica.bec.de>
Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/53678
* config/os/bsd/netbsd/ctype_base.h: Check for _CTYPE_U.
* testsuite/22_locale/ctype_base/53678.cc: New.
2012-06-15 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/53578

View File

@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
// Copyright (C) 2000, 2009 Free Software Foundation, Inc.
// Copyright (C) 2000, 2009, 2011, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@ -31,8 +31,6 @@
// anoncvs@anoncvs.netbsd.org:/cvsroot/basesrc/include/ctype.h
// See www.netbsd.org for details of access.
#include <sys/param.h>
namespace std _GLIBCXX_VISIBILITY(default)
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION
@ -47,7 +45,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// on the mask type. Because of this, we don't use an enum.
typedef unsigned char mask;
#if __NetBSD_Version__ < 599004100
#ifndef _CTYPE_U
static const mask upper = _U;
static const mask lower = _L;
static const mask alpha = _U | _L;

View File

@ -0,0 +1,28 @@
// Copyright (C) 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 3, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
// { dg-do compile }
// 22.2.1 The ctype category
#include <locale>
// libstdc++/53678
void test01()
{
bool NetBSD __attribute__((unused)) = true;
}