mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-22 13:05:52 -04:00

In a modules build, android is very picky about which symbols are visible after including libc++ headers (e.g. <cstdio> defines only std::printf and not ::printf). This consolidates the tests where this was an issue to always include the <c???> version of the headers and prefixes the symbols with std:: as necessary. Apart from that, there is no functional change in the tests. llvm-svn: 335149
28 lines
1.0 KiB
C++
28 lines
1.0 KiB
C++
//===-- ns3.cpp ------------------------------------------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "ns.h"
|
|
extern int func();
|
|
|
|
// Note: the following function must be before the using.
|
|
void test_lookup_before_using_directive()
|
|
{
|
|
// BP_before_using_directive
|
|
std::printf("before using directive: func() = %d\n", func()); // eval func(), exp: 1
|
|
}
|
|
using namespace A;
|
|
void test_lookup_after_using_directive()
|
|
{
|
|
// BP_after_using_directive
|
|
//printf("func() = %d\n", func()); // eval func(), exp: error, amiguous
|
|
std::printf("after using directive: func2() = %d\n", func2()); // eval func2(), exp: 3
|
|
std::printf("after using directive: ::func() = %d\n", ::func()); // eval ::func(), exp: 1
|
|
std::printf("after using directive: B::func() = %d\n", B::func()); // eval B::func(), exp: 4
|
|
}
|