aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGenCXX/predefined-expr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/CodeGenCXX/predefined-expr.cpp')
-rw-r--r--test/CodeGenCXX/predefined-expr.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/CodeGenCXX/predefined-expr.cpp b/test/CodeGenCXX/predefined-expr.cpp
index e726adb163..f5e5ca9528 100644
--- a/test/CodeGenCXX/predefined-expr.cpp
+++ b/test/CodeGenCXX/predefined-expr.cpp
@@ -75,6 +75,9 @@
// CHECK: private constant [27 x i8] c"anonymousNamespaceFunction\00"
// CHECK: private constant [84 x i8] c"void <anonymous namespace>::ClassInAnonymousNamespace::anonymousNamespaceFunction()\00"
+// CHECK: private constant [19 x i8] c"localClassFunction\00"
+// CHECK: private constant [59 x i8] c"void NS::localClass(int)::LocalClass::localClassFunction()\00"
+
int printf(const char * _Format, ...);
class ClassInTopLevelNamespace {
@@ -270,6 +273,19 @@ public:
} anonymousUnion;
};
+void localClass(int) {
+ class LocalClass {
+ public:
+ void localClassFunction() {
+ printf("__func__ %s\n", __func__);
+ printf("__FUNCTION__ %s\n", __FUNCTION__);
+ printf("__PRETTY_FUNCTION__ %s\n\n", __PRETTY_FUNCTION__);
+ }
+ };
+ LocalClass lc;
+ lc.localClassFunction();
+}
+
extern void externFunction() {
printf("__func__ %s\n", __func__);
printf("__FUNCTION__ %s\n", __FUNCTION__);
@@ -325,6 +341,8 @@ int main() {
anonymous.anonymousStruct.anonymousStructFunction();
anonymous.anonymousUnion.anonymousUnionFunction();
+ NS::localClass(0);
+
NS::externFunction();
return 0;