bcd0650c1e50a2e73b11717731e074a1ac2ac5ba |
|
08-Jul-2013 |
David Majnemer <david.majnemer@gmail.com> |
Sema: Do not merge new decls with invalid, old decls Sema::MergeFunctionDecl attempts merging two decls even if the old decl is invalid. This can lead to interesting circumstances where we successfully merge the decls but the result makes no sense. Take the following for example: template <typename T> int main(void); int main(void); Sema will not consider these to be overloads of the same name because main can't be overloaded, which means that this must be a redeclaration. In this case the templated decl is compatible with the non-templated decl allowing the Sema::CheckFunctionDeclaration machinery to move on and do bizarre things like setting the previous decl of a non-templated decl to a templated decl! The way I see it, we should just bail from MergeFunctionDecl if the old decl is invalid. This fixes PR16531. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@185779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/canonical-expr-type.cpp
|
a5728872c7702ddd09537c95bc3cbd20e1f2fb09 |
|
15-Dec-2009 |
Daniel Dunbar <daniel@zuster.org> |
Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. - This is designed to make it obvious that %clang_cc1 is a "test variable" which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it can be useful to redefine what gets run as 'clang -cc1' (for example, to set a default target). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/canonical-expr-type.cpp
|
6f2c46b58894d5a81ad7ed7654e3768c72aa0d74 |
|
31-Jul-2009 |
Douglas Gregor <dgregor@apple.com> |
Make canonicalization of overloaded function declarations match the Itanium C++ ABI's name mangling, since both are related to the notion of "equivalent" function templates. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/canonical-expr-type.cpp
|
4a3f780f4f74a80f9b4bc42e38ad60170d5ebd0c |
|
31-Jul-2009 |
Douglas Gregor <dgregor@apple.com> |
Canonicalize function parameters git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77676 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/canonical-expr-type.cpp
|
6ebd15e81a4d44ac51c24bffe2705586d5edffee |
|
31-Jul-2009 |
Douglas Gregor <dgregor@apple.com> |
Canonicalization and profiling for overloaded function declarations, for those extra-esoteric cases. Not that any two given C++ compilers agree on this test case, but this change gives us a strong definition of equivalent types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77664 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/canonical-expr-type.cpp
|
2ec09f1dc123e1942ed756e8ee4fef86451eac9e |
|
31-Jul-2009 |
Douglas Gregor <dgregor@apple.com> |
Canonicalize dependent extended vector types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77663 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/canonical-expr-type.cpp
|
04d4beee4b86af20a9e4457023d3925cab8f9908 |
|
31-Jul-2009 |
Douglas Gregor <dgregor@apple.com> |
Build canonical types for dependently-sized array types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77647 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/canonical-expr-type.cpp
|
b197572cf1cd70a817a1f546478cb2cb9112c48e |
|
31-Jul-2009 |
Douglas Gregor <dgregor@apple.com> |
Canonicalization for dependent typeof(expr) types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77639 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/canonical-expr-type.cpp
|