John McCall
e2ade289be
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.
llvm-svn: 91734
2009-12-19 00:35:18 +00:00
Daniel Dunbar
8fbe78f6fc
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).
llvm-svn: 91446
2009-12-15 20:14:24 +00:00
Sebastian Redl
9f831dbbcd
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.
llvm-svn: 77076
2009-07-25 15:41:38 +00:00
Argyrios Kyrtzidis
b1d51aa18a
Use "()" instead of "(void)" when pretty-printing a parameter-less function type for C++.
...
llvm-svn: 72747
2009-06-03 02:06:50 +00:00
Eli Friedman
cf7530ff43
PR4122: Tweak the ambiguity handling to handle (S())() correctly. I've
...
left out handling for stuff like (S())++ for the moment.
llvm-svn: 72394
2009-05-25 19:41:42 +00:00
Argyrios Kyrtzidis
4a6dad68a3
Add a test case to make sure that an ambiguous paren expression is only parsed once.
...
llvm-svn: 72298
2009-05-22 23:05:39 +00:00
Argyrios Kyrtzidis
12179bc014
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
llvm-svn: 72260
2009-05-22 10:24:42 +00:00