John McCall
ae03cb5a84
Teach TryAnnotateTypeOrScopeToken to deal with already-annotated
...
scope specifiers. Fix a tentative parsing bug that came up in LLVM.
Incidentally fixes some random FIXMEs in an existing testcase.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91734 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-19 00:35:18 +00:00
Daniel Dunbar
a5728872c7
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
2009-12-15 20:14:24 +00:00
Sebastian Redl
9cc11e7003
Implement C++ semantics for C-style and functional-style casts. This regresses Clang extension conversions, like vectors, but allows conversions via constructors and conversion operators.
...
Add custom conversions to static_cast.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77076 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-25 15:41:38 +00:00
Argyrios Kyrtzidis
7c94c4bb7b
Use "()" instead of "(void)" when pretty-printing a parameter-less function type for C++.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72747 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-03 02:06:50 +00:00
Eli Friedman
b53f08ac87
PR4122: Tweak the ambiguity handling to handle (S())() correctly. I've
...
left out handling for stuff like (S())++ for the moment.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72394 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-25 19:41:42 +00:00
Argyrios Kyrtzidis
f303e8a0b1
Add a test case to make sure that an ambiguous paren expression is only parsed once.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72298 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-22 23:05:39 +00:00
Argyrios Kyrtzidis
f58f45e6d7
Handle correctly a very ugly part of the C++ syntax. We cannot disambiguate between a parenthesized type-id and
...
a paren expression without considering the context past the parentheses.
Behold:
(T())x; - type-id
(T())*x; - type-id
(T())/x; - expression
(T()); - expression
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72260 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-22 10:24:42 +00:00