mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-23 21:45:46 -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
33 lines
769 B
C++
33 lines
769 B
C++
//===-- ns.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"
|
|
|
|
int foo()
|
|
{
|
|
std::printf("global foo()\n");
|
|
return 42;
|
|
}
|
|
int func()
|
|
{
|
|
std::printf("global func()\n");
|
|
return 1;
|
|
}
|
|
int func(int a)
|
|
{
|
|
std::printf("global func(int)\n");
|
|
return a + 1;
|
|
}
|
|
void test_lookup_at_global_scope()
|
|
{
|
|
// BP_global_scope
|
|
std::printf("at global scope: foo() = %d\n", foo()); // eval foo(), exp: 42
|
|
std::printf("at global scope: func() = %d\n", func()); // eval func(), exp: 1
|
|
}
|