summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenObjC/Inputs
diff options
context:
space:
mode:
authorAkira Hatanaka <ahatanaka@apple.com>2019-07-13 01:47:15 +0000
committerAkira Hatanaka <ahatanaka@apple.com>2019-07-13 01:47:15 +0000
commit81b03d4a08b16217669fcccb96e7cc436ab3d74a (patch)
tree6801c8eaacf2f10f19d882331e8a858eea1f5516 /clang/test/CodeGenObjC/Inputs
parentc7a1db329849b3a5763545a274ed9c91c592553b (diff)
downloadbcm5719-llvm-81b03d4a08b16217669fcccb96e7cc436ab3d74a.tar.gz
bcm5719-llvm-81b03d4a08b16217669fcccb96e7cc436ab3d74a.zip
[Sema] Diagnose default-initialization, destruction, and copying of
non-trivial C union types This patch diagnoses uses of non-trivial C unions and structs/unions containing non-trivial C unions in the following contexts, which require default-initialization, destruction, or copying of the union objects, instead of disallowing fields of non-trivial types in C unions, which is what we currently do: - function parameters. - function returns. - assignments. - compound literals. - block captures except capturing of `__block` variables by non-escaping blocks. - local and global variable definitions. - lvalue-to-rvalue conversions of volatile types. See the discussion in https://reviews.llvm.org/D62988 for more background. rdar://problem/50679094 Differential Revision: https://reviews.llvm.org/D63753 llvm-svn: 365985
Diffstat (limited to 'clang/test/CodeGenObjC/Inputs')
-rw-r--r--clang/test/CodeGenObjC/Inputs/strong_in_union.h10
1 files changed, 0 insertions, 10 deletions
diff --git a/clang/test/CodeGenObjC/Inputs/strong_in_union.h b/clang/test/CodeGenObjC/Inputs/strong_in_union.h
deleted file mode 100644
index abe4549055c..00000000000
--- a/clang/test/CodeGenObjC/Inputs/strong_in_union.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef STRONG_IN_UNION_H
-#define STRONG_IN_UNION_H
-#pragma clang system_header
-
-typedef union {
- id f0;
- int *f1;
-} U;
-
-#endif // STRONG_IN_UNION_H
OpenPOWER on IntegriCloud