summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaOverload.h
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2008-10-29 14:50:44 +0000
committerDouglas Gregor <dgregor@apple.com>2008-10-29 14:50:44 +0000
commitef30a5ff98e19b9739a55a42a7a46ce55f8d2e41 (patch)
tree22bab508a23bd1c27b1b5d7b9cec918754c62c4c /clang/lib/Sema/SemaOverload.h
parent52c65fa169fa64bd14a76b265a66baf4e0f103ef (diff)
downloadbcm5719-llvm-ef30a5ff98e19b9739a55a42a7a46ce55f8d2e41.tar.gz
bcm5719-llvm-ef30a5ff98e19b9739a55a42a7a46ce55f8d2e41.zip
Implement overloading rules for reference binding
llvm-svn: 58381
Diffstat (limited to 'clang/lib/Sema/SemaOverload.h')
-rw-r--r--clang/lib/Sema/SemaOverload.h20
1 files changed, 9 insertions, 11 deletions
diff --git a/clang/lib/Sema/SemaOverload.h b/clang/lib/Sema/SemaOverload.h
index 558718c0d94..c3fa425be7b 100644
--- a/clang/lib/Sema/SemaOverload.h
+++ b/clang/lib/Sema/SemaOverload.h
@@ -97,6 +97,14 @@ namespace clang {
/// (C++ 4.2p2).
bool Deprecated : 1;
+ /// ReferenceBinding - True when this is a reference binding
+ /// (C++ [over.ics.ref]).
+ bool ReferenceBinding : 1;
+
+ /// DirectBinding - True when this is a reference binding that is a
+ /// direct binding (C++ [dcl.init.ref]).
+ bool DirectBinding : 1;
+
/// FromType - The type that this conversion is converting
/// from. This is an opaque pointer that can be translated into a
/// QualType.
@@ -155,17 +163,7 @@ namespace clang {
};
/// ConversionKind - The kind of implicit conversion sequence.
- /// As usual, we use "unsigned" here because VC++ makes enum bitfields
- /// signed.
- unsigned ConversionKind : 2;
-
- /// ReferenceBinding - True when this is a reference binding
- /// (C++ [over.ics.ref]).
- bool ReferenceBinding : 1;
-
- /// DirectBinding - True when this is a reference binding that is a
- /// direct binding (C++ [dcl.init.ref]).
- bool DirectBinding : 1;
+ Kind ConversionKind;
union {
/// When ConversionKind == StandardConversion, provides the
OpenPOWER on IntegriCloud