| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
not emitting a follow-on error about 'int', which the user
never wrote. PR5924.
llvm-svn: 92339
|
|
|
|
|
|
|
|
| |
attach the appropriate attributes to it. I don't think
this manifests as any real change though, we're still
not getting the right LLVM IR attributes out of codegen.
llvm-svn: 92316
|
|
|
|
|
|
| |
C++2.13.2p2: "A wide-character literal has type wchar_t"
llvm-svn: 92313
|
|
|
|
| |
llvm-svn: 92310
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
tring str2;
we produce the following diagnostic + fix-it:
typo.cpp:15:1: error: unknown type name 'tring'; did you mean 'string'?
tring str2;
^~~~~
string
To make this really useful, we'll need to introduce typo correction in
many more places (wherever we do name lookup), and implement
declaration-vs-expression heuristics that cope with typos
better. However, for now this will handle the simple cases where we
already get good "unknown type name" diagnostics.
The LookupVisibleDecls functions are intended to be used by code
completion as well as typo correction; that refactoring will happen
later.
llvm-svn: 92308
|
|
|
|
| |
llvm-svn: 92307
|
|
|
|
|
|
|
|
|
|
|
|
| |
QualType to get CVR-qualifiers through array types, and switches the primary
comparison methods to use it. This may allow simplifying some of the callers of
getUnqualifiedArrayType.
Also fix the normalizing of CV-qualification during template deduction to
normalize through arrays and allow a more qualified deduced array type. This
fixes PR5911.
llvm-svn: 92289
|
|
|
|
|
|
| |
the AST lest we run into some crazy canonicalization bug like PR5874.
llvm-svn: 92283
|
|
|
|
|
|
|
|
| |
CV-qualifiers. Remove an error expectation from the 'good' set of const-cast
test cases. With this patch, the final non-template test case from PR5542
passes. (It's the same as the one already in const-cast.cpp.)
llvm-svn: 92257
|
|
|
|
|
|
|
|
|
|
| |
more or less cv-qualified than another during implicit conversion and overload
resolution ([basic.type.qualifier] p5). Factors the logic out of template
deduction and into the ASTContext so it can be shared.
This fixes several aspects of PR5542, but not all of them.
llvm-svn: 92248
|
|
|
|
| |
llvm-svn: 92246
|
|
|
|
|
|
|
|
|
|
| |
address resolution. This fixes PR5751.
Also, while we're here, remove logic from ADL which mistakenly included the
definition namespaces of overloaded and/or templated functions whose name or
address is used as an argument.
llvm-svn: 92245
|
|
|
|
|
|
|
| |
call; the standard doesn't expect us to, and the program could be doing
something crazy. Fixes PR5882.
llvm-svn: 92166
|
|
|
|
|
|
| |
help for the moment.
llvm-svn: 92165
|
|
|
|
| |
llvm-svn: 92162
|
|
|
|
|
|
| |
here affects clang-on-clang.
llvm-svn: 92151
|
|
|
|
|
|
|
|
| |
keep track of friends within templates, which will provide a real for
PR5866. For now, this makes sure we don't do something entirely stupid
with friends of specializations.
llvm-svn: 92143
|
|
|
|
|
|
| |
implicit "this" expressions
llvm-svn: 92141
|
|
|
|
|
|
|
| |
sure to perform derived-to-base conversions on the base
expression. Fixes PR5868. Proper testcase is coming soon.
llvm-svn: 92139
|
|
|
|
| |
llvm-svn: 92137
|
|
|
|
|
|
|
|
|
| |
expressions (e.g., for template instantiation), just transform the
subexpressions and return those, since the temporary-related nodes
will be implicitly regenerated. Fixes PR5867, but I said that
before...
llvm-svn: 92135
|
|
|
|
|
|
|
|
| |
argument-passing doesn't have to. Fixes PR5867, where we were binding
a temporary twice in the AST and, therefore, calling its destructor
twice.
llvm-svn: 92131
|
|
|
|
|
|
|
| |
denormal, but we only want to diagnose if we underflowed to zero. This
allows people to write constants in the denormal range.
llvm-svn: 92129
|
|
|
|
|
|
|
|
|
|
| |
Darwin's sekrit fourth argument. This should probably be factored to
let targets make target-specific decisions about what main() should look like.
Fixes rdar://problem/7414990
or if different platforms have radically different ideas of what they want in
llvm-svn: 92128
|
|
|
|
| |
llvm-svn: 92127
|
|
|
|
| |
llvm-svn: 92090
|
|
|
|
|
|
|
|
| |
the default argument so that we're sure to mark any referenced
declarations. This gets us another little step closer to fixing
PR5810.
llvm-svn: 92078
|
|
|
|
|
|
|
|
| |
that this is true when mangling, then fix up the various places in
Sema and/or CodeGen that need to remove qualifiers. Addresses a
linking issue when building LLVM with Clang.
llvm-svn: 92064
|
|
|
|
| |
llvm-svn: 92045
|
|
|
|
| |
llvm-svn: 92041
|
|
|
|
|
|
| |
accurate.
llvm-svn: 92018
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
member function thereof), perform the template instantiation each time
the default argument is needed. This ensures that
(1) We get different CXXTemporary objects for each instantiation, and
(2) Any other instantiations or definitions triggered by the
instantiation of the default argument expression are guaranteed to
happen; previously, they might have been suppressed, e.g., because
they happened in an unevaluated context.
This fixes the majority of PR5810. However, it does not address the
problem where we may have multiple uses of the same CXXTemporary
within an expression when the temporary came from a non-instantiated
default argument expression.
llvm-svn: 92015
|
|
|
|
| |
llvm-svn: 92012
|
|
|
|
| |
llvm-svn: 92008
|
|
|
|
|
|
|
| |
only takes a boolean second argument now. Update tests accordingly.
Currently the builtin still accepts the full range for compatibility.
llvm-svn: 91983
|
|
|
|
|
|
|
|
| |
Prevents an assert on successive redeclarations.
Fixed PR5573.
llvm-svn: 91956
|
|
|
|
| |
llvm-svn: 91951
|
|
|
|
| |
llvm-svn: 91948
|
|
|
|
|
|
| |
while at it, remove an outdated FIXME
llvm-svn: 91946
|
|
|
|
|
|
|
|
| |
size_t. Also, fix an issue with initialization of parameters in calls,
where we weren't removing the cv-qualifiers on the parameter type
itself. Fixes PR5823.
llvm-svn: 91941
|
|
|
|
|
|
|
| |
paths. Fixes "cannot compile this unexpected cast lvalue yet" error in
llvm/lib/Analysis/IPA/GlobalsModRef.cpp.
llvm-svn: 91932
|
|
|
|
| |
llvm-svn: 91928
|
|
|
|
| |
llvm-svn: 91927
|
|
|
|
|
|
|
| |
InitializationSequence. Fixes the -fsyntax-only failure in
llvm/lib/Transforms/Scalar/InstructionCombining.cpp.
llvm-svn: 91921
|
|
|
|
|
|
|
| |
a size, check whether the transformed type is itself an array type. If
so, take the major array bound as the size to allocate. Fixes PR5833.
llvm-svn: 91907
|
|
|
|
|
|
| |
don't have a FunctionDecl) over to InitializationSequence.
llvm-svn: 91906
|
|
|
|
|
|
| |
use the location information but we did spend a bunch of time building faked-up TypeLocs
llvm-svn: 91905
|
|
|
|
|
|
|
|
|
|
|
| |
InitializationSequence (when a FunctionDecl is present). This required
a few small fixes to initialization sequences:
- Make sure to use the adjusted parameter type for initialization of
function parameters.
- Implement transparent union calling semantics in C
llvm-svn: 91902
|
|
|
|
|
|
| |
who prefers to be stealthy and mysterious.
llvm-svn: 91888
|
|
|
|
|
|
| |
must also mark the member decl as referenced.
llvm-svn: 91887
|