| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
Currently, it's ignored if the number of set bits isn't divisible by 4.
llvm-svn: 165116
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* nullptr used to be mapped to ERROR, now mapped to nullptr
* integral was missing
* expressions now have their own error message, so they won't reach
this. Map them to ERROR.
Note that clang usually crashes before emitting this diagnostic anyway
(see PR13984), so this change alone doesn't have an observable effect.
It makes the code more correct though.
llvm-svn: 165095
|
|
|
|
|
|
|
|
|
|
| |
This matches what's done in ItaniumMangle and makes it a bit easier
to implement mangling for more expressions. Also use the slightly nicer
"not yet implemented" error message from there.
No functionality change (except for the different error message).
llvm-svn: 165093
|
|
|
|
| |
llvm-svn: 165091
|
|
|
|
|
|
| |
"-cxx-abi microsoft"
llvm-svn: 163110
|
|
|
|
| |
llvm-svn: 163032
|
|
|
|
|
|
| |
instead of aliasing to "struct" which had some incorrect behaviour. Patch by David Robins.
llvm-svn: 163013
|
|
|
|
| |
llvm-svn: 162683
|
|
|
|
|
|
| |
Patch by Timur Iskhodzhanov!
llvm-svn: 162638
|
|
|
|
|
|
| |
block mangling
llvm-svn: 160783
|
|
|
|
| |
llvm-svn: 160780
|
|
|
|
| |
llvm-svn: 160709
|
|
|
|
|
|
| |
microsoft)
llvm-svn: 160667
|
|
|
|
|
|
| |
PR12785
llvm-svn: 160121
|
|
|
|
| |
llvm-svn: 159234
|
|
|
|
|
|
| |
function pointers PR13176,PR13177
llvm-svn: 159059
|
|
|
|
|
|
| |
arguments in a class specialization.
llvm-svn: 159056
|
|
|
|
|
|
| |
appropriate. Patch by João Matos!
llvm-svn: 158895
|
|
|
|
|
|
| |
a multi-line comment, fixing builds with e.g. -Werror=comment enabled.
llvm-svn: 158406
|
|
|
|
|
|
|
|
|
|
| |
- Support mangling virtual function tables (base tables need work on the
ManglerContext interface).
- Correct mangling of local scopes (i.e. functions and C++ methods).
- Replace every llvm_unreachable() for actually-reachable code with a
diagnostic.
llvm-svn: 158376
|
|
|
|
|
|
| |
in the presence of type sugar.
llvm-svn: 158184
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The integral APSInt value is now stored in a decomposed form and the backing
store for large values is allocated via the ASTContext. This way its not
leaked as TemplateArguments are never destructed when they are allocated in
the ASTContext. Since the integral data is immutable it is now shared between
instances, making copying TemplateArguments a trivial operation.
Currently getting the integral data out of a TemplateArgument requires creating
a new APSInt object. This is cheap when the value is small but can be expensive
if it's not. If this turns out to be an issue a more efficient accessor could
be added.
llvm-svn: 158150
|
|
|
|
| |
llvm-svn: 157959
|
|
|
|
|
|
|
| |
is negligible, but it makes the code clearer. Based on a suggestion by
Jordy Rose.
llvm-svn: 157601
|
|
|
|
|
|
| |
for this. Reported by Timur Iskhodzhanov.
llvm-svn: 157583
|
|
|
|
| |
llvm-svn: 157561
|
|
|
|
|
|
|
|
| |
bitwidth and signedness. Also rename the variable to reflect its purpose.
No test case - discovered during random code exploration.
llvm-svn: 157547
|
|
|
|
|
|
|
| |
the Microsoft Visual C++ ABI. Currently limited to type and integral
non-type arguments. Based on a patch by Timur Iskhodzhanov!
llvm-svn: 157524
|
|
|
|
|
|
|
| |
type-source information for its parameters. Don't crash when
mangling them in the MS C++ ABI. Patch by Timur Iskhodzhanov!
llvm-svn: 155879
|
|
|
|
|
|
|
|
|
|
| |
(Lex to AST).
The member variable is always "LangOpts" and the member function is always "getLangOpts".
Reviewed by Chris Lattner
llvm-svn: 152536
|
|
|
|
| |
llvm-svn: 145581
|
|
|
|
| |
llvm-svn: 142420
|
|
|
|
|
|
|
|
| |
casts in ARC.
No semantic analysis yet.
llvm-svn: 142208
|
|
|
|
|
|
| |
Lack of half FP was a regression compared to llvm-gcc.
llvm-svn: 142016
|
|
|
|
|
|
|
|
| |
committed at the moment to help support C++0x <atomic>, but it should be a solid base for implementing the full specification of C1x _Atomic.
Thanks to Jeffrey Yasskin for the thorough review!
llvm-svn: 141330
|
|
|
|
| |
llvm-svn: 140478
|
|
|
|
| |
llvm-svn: 140407
|
|
|
|
| |
llvm-svn: 140367
|
|
|
|
|
|
|
|
| |
LLVM.h imports
them into the clang namespace.
llvm-svn: 135852
|
|
|
|
|
|
|
|
| |
type that turns one type into another. This is used as the basis to
implement __underlying_type properly - with TypeSourceInfo and proper
behavior in the face of templates.
llvm-svn: 132017
|
|
|
|
|
|
|
| |
actually have to implement them, since in modern versions of MSVC they're
aliases to the standard C types.
llvm-svn: 130509
|
|
|
|
|
|
|
|
|
|
|
| |
bound
member function, i.e. something of the form 'x.f' where 'f' is a non-static
member function. Diagnose this in the general case. Some of the new diagnostics
are probably worse than the old ones, but we now get this right much more
universally, and there's certainly room for improvement in the diagnostics.
llvm-svn: 130239
|
|
|
|
| |
llvm-svn: 129567
|
|
|
|
|
|
| |
Luis Felipe Strano Moraes!
llvm-svn: 129559
|
|
|
|
|
|
|
|
|
|
| |
convention selection (AAPCS or
AAPCS+VFP), similar to fastcall / stdcall / whatevercall seen on x86.
In particular, all library functions should always be AAPCS regardless of floating point ABI used.
llvm-svn: 129534
|
|
|
|
|
|
|
|
|
|
|
|
| |
The idea is that you can create a VarDecl with an unknown type, or a
FunctionDecl with an unknown return type, and it will still be valid to
access that object as long as you explicitly cast it at every use. I'm
still going back and forth about how I want to test this effectively, but
I wanted to go ahead and provide a skeletal implementation for the LLDB
folks' benefit and because it also improves some diagnostic goodness for
placeholder expressions.
llvm-svn: 129065
|
|
|
|
|
|
| |
This reverts commit 126863.
llvm-svn: 126886
|
|
|
|
| |
llvm-svn: 126863
|
|
|
|
|
|
| |
This fixes PR 8738, 9060 and 9132.
llvm-svn: 126069
|
|
|
|
| |
llvm-svn: 125360
|