6bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89 |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update Clang for 3.5 rebase (r209713). Change-Id: I8c9133b0f8f776dc915f270b60f94962e771bc83
/external/clang/test/Parser/DelayedTemplateParsing.cpp
|
651f13cea278ec967336033dd032faef0e9fc2ec |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Updated to Clang 3.5a. Change-Id: I8127eb568f674c2e72635b639a3295381fe8af82
/external/clang/test/Parser/DelayedTemplateParsing.cpp
|
645526c3e42170e356f792b1bc0ac2acb65c26c4 |
|
23-Oct-2013 |
David Majnemer <david.majnemer@gmail.com> |
Parse: Disable delayed template parsing for constexpr functions Commit r191484 treated constexpr function templates as normal function templates with respect to delaying their parsing. However, this is unnecessarily restrictive because there is no compatibility concern with constexpr, MSVC doesn't support it. Instead, simply disable delayed template parsing for constexpr function templates. This largely reverts the changes made in r191484 but keeps it's unit test. This fixes PR17661. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@193274 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/DelayedTemplateParsing.cpp
|
54679205de1a348f410d03ce4b331b56b21dce49 |
|
27-Sep-2013 |
David Majnemer <david.majnemer@gmail.com> |
Sema: Respect -fdelayed-template-parsing when parsing constexpr functions Functions declared as constexpr must have their parsing delayed in -fdelayed-template-parsing mode so as not to upset later template instantiation. N.B. My reading of the standard makes it seem like delayed template parsing is at odds with constexpr. We may want to make refinements in other places in clang to make constexpr play nicer with this feature. This fixes PR17334. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191484 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/DelayedTemplateParsing.cpp
|
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/Parser/DelayedTemplateParsing.cpp
|
0963017dcbc32176c79a251c3ab23bc35ac784e5 |
|
28-Jun-2012 |
Douglas Gregor <dgregor@apple.com> |
Support the use of "=delete" and "=default" with delayed template parsing. Fixes <rdar://problem/11700604>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159380 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/DelayedTemplateParsing.cpp
|
d77177a752a08abf3f5cf46d7a3fe6143325815d |
|
22-Feb-2012 |
Francois Pichet <pichet2000@gmail.com> |
In -fdelayed-template-parsing mode, reenter every scope when late parsing a templated function; (Not just the template parameter scope as previously). Also enter the scope stack in the correct order. Otherwise this breaks some invariant during name lookup especially when dealing with shadowed declaration Fix PR11931. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151140 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/DelayedTemplateParsing.cpp
|
9d38dbc9a16017fff3e34b7876a6590413a7d56b |
|
19-Nov-2011 |
Francois Pichet <pichet2000@gmail.com> |
Enable delayed template parsing for friend functions declared at template class scope. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144980 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/DelayedTemplateParsing.cpp
|
fdde47061d8ff0b481414ccf69ebdc47c2216274 |
|
23-Sep-2011 |
Francois Pichet <pichet2000@gmail.com> |
[microsoft] Fix a bug in -fdelayed-template-parsing mode where we were not reentering the delayed function context correctly. The problem was that all template params were reintroduced inside the same scope. So if we had a situation where we had 2 template params with the same name at different scope then clang would generate an error about ambiguous name. The solution is to create a new ParseScope(Scope::TemplateParamScope) for each template scope that we want to reenter. (from the outmost to the innermost scope) This fixes some errors when parsing MFC code with clang. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140344 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/DelayedTemplateParsing.cpp
|
62395c9666b84bcb0cb322d5f5183472712685f6 |
|
25-Apr-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Remove hard coded dos line endings, let subversion translate them on update. Despite the diff, nothing but line endings changed here. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130121 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/DelayedTemplateParsing.cpp
|
d4a0caf78e7c18e7aca65fbfd799a6c024ff51fb |
|
23-Apr-2011 |
Francois Pichet <pichet2000@gmail.com> |
Correctly emit a diagnostic for multiple templated function definitions in -flate-template-parsing mode. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130030 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/DelayedTemplateParsing.cpp
|
8387e2a41eef6fa17fb140a18c29b6eee9dd2b8a |
|
23-Apr-2011 |
Francois Pichet <pichet2000@gmail.com> |
Add -fdelayed-template-parsing option. Using this option all templated function definitions are parsed at the end of the translation unit only if it is required by an actual instantiation. As such all the symbols of the TU are available during name lookup. Using this flag is necessary for compatibility with Microsoft template code. This also provides some parsing speed improvement. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130022 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/DelayedTemplateParsing.cpp
|