summaryrefslogtreecommitdiff
path: root/include/clang/Basic/Visibility.h
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-05-25 17:16:20 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-05-25 17:16:20 +0000
commita99ecbcc4c431d52df0b01539035ab5281d54656 (patch)
treed227893f1beb714e47a05479539968da1dee1ee6 /include/clang/Basic/Visibility.h
parent872db39510372c4acd8851a3b956e1a135cfcd41 (diff)
downloadclang-a99ecbcc4c431d52df0b01539035ab5281d54656.tar.gz
clang-a99ecbcc4c431d52df0b01539035ab5281d54656.tar.bz2
clang-a99ecbcc4c431d52df0b01539035ab5281d54656.tar.xz
Fix linkage computation for derived types in inline functions.
John noticed that the fix for pr15930 (r181981) didn't handle indirect uses of local types. For example, a pointer to local struct, or a function that returns it. One way to implement this would be to recursively look for local types. This would look a lot like the linkage computation itself for types. To avoid code duplication and utilize the existing linkage cache, this patch just makes the computation of "type with no linkage but externally visible because it is from an inline function" part of the linkage computation itself. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182711 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Basic/Visibility.h')
-rw-r--r--include/clang/Basic/Visibility.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/clang/Basic/Visibility.h b/include/clang/Basic/Visibility.h
index b623b94a67..604f05b034 100644
--- a/include/clang/Basic/Visibility.h
+++ b/include/clang/Basic/Visibility.h
@@ -49,7 +49,7 @@ inline Visibility minVisibility(Visibility L, Visibility R) {
}
class LinkageInfo {
- uint8_t linkage_ : 2;
+ uint8_t linkage_ : 3;
uint8_t visibility_ : 2;
uint8_t explicit_ : 1;