mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-22 04:55:50 -04:00

This is the conclusion of an effort to get LLDB's Python code structured into a bona-fide Python package. This has a number of benefits, but most notably the ability to more easily share Python code between different but related pieces of LLDB's Python infrastructure (for example, `scripts` can now share code with `test`). llvm-svn: 251532
54 lines
1.0 KiB
C++
54 lines
1.0 KiB
C++
//===-- main.cpp ------------------------------------------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include <stdio.h>
|
|
|
|
template <class T> class A
|
|
{
|
|
public:
|
|
void accessMember(T a);
|
|
T accessMemberConst() const;
|
|
static int accessStaticMember();
|
|
|
|
void accessMemberInline(T a) __attribute__ ((always_inline))
|
|
{
|
|
m_a = a; // breakpoint 4
|
|
}
|
|
|
|
T m_a;
|
|
static int s_a;
|
|
};
|
|
|
|
template <class T> int A<T>::s_a = 5;
|
|
|
|
template <class T> void A<T>::accessMember(T a)
|
|
{
|
|
m_a = a; // breakpoint 1
|
|
}
|
|
|
|
template <class T> T A<T>::accessMemberConst() const
|
|
{
|
|
return m_a; // breakpoint 2
|
|
}
|
|
|
|
template <class T> int A<T>::accessStaticMember()
|
|
{
|
|
return s_a; // breakpoint 3
|
|
}
|
|
|
|
int main()
|
|
{
|
|
A<int> my_a;
|
|
|
|
my_a.accessMember(3);
|
|
my_a.accessMemberConst();
|
|
A<int>::accessStaticMember();
|
|
my_a.accessMemberInline(5);
|
|
}
|