156083Skris// 2003-02-26 Benjamin Kosnik <bkoz@redhat.com>
256083Skris
356083Skris// Copyright (C) 2003, 2005 Free Software Foundation, Inc.
456083Skris//
556083Skris// This file is part of the GNU ISO C++ Library.  This library is free
656083Skris// software; you can redistribute it and/or modify it under the
756083Skris// terms of the GNU General Public License as published by the
856083Skris// Free Software Foundation; either version 2, or (at your option)
956083Skris// any later version.
1056083Skris
1156083Skris// This library is distributed in the hope that it will be useful,
1256083Skris// but WITHOUT ANY WARRANTY; without even the implied warranty of
1356083Skris// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1456083Skris// GNU General Public License for more details.
1556083Skris
1656083Skris// You should have received a copy of the GNU General Public License along
1756083Skris// with this library; see the file COPYING.  If not, write to the Free
1856083Skris// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
1956083Skris// USA.
2056083Skris
2156083Skris// IA 64 C++ ABI - 5.1 External Names (a.k.a. Mangling)
2256083Skris
2356083Skris#include <testsuite_hooks.h>
2456083Skris
2556083Skris// Examples given in the IA64 C++ ABI
2656083Skris// http://www.codesourcery.com/cxx-abi/abi-examples.html#mangling
2756083Skrisint main()
2856083Skris{
2956083Skris  using namespace __gnu_test;
3056083Skris
3156083Skris  // extern "C" function
3256083Skris  // extern "C" float f(void) { };
3356083Skris  // T f
3456083Skris  // f is ambiguous between "C" external name and internal built-in type
3556083Skris  // name.  The ambiguity is resolved to the built-in type name.
3656083Skris  verify_demangle("f", "float");
3756083Skris
3856083Skris  return 0;
3956083Skris}
4056083Skris