| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
new opaque value type, CharUnits. This will help us avoid accidentally mixing
quantities that are in bit and character units.
llvm-svn: 91689
|
| |
|
|
|
|
|
| |
and getTypeSizeInChars() to reflect their basis in character type units, not
that of a possibly independent architecture-specific byte.
llvm-svn: 91688
|
| |
|
|
| |
llvm-svn: 91687
|
| |
|
|
|
|
| |
expressions.
llvm-svn: 91686
|
| |
|
|
| |
llvm-svn: 91685
|
| |
|
|
| |
llvm-svn: 91684
|
| |
|
|
| |
llvm-svn: 91678
|
| |
|
|
|
|
|
|
|
|
| |
nested-name specifier name.
I accidentally checked in the test case for this in the last commit ---
fortunately, that refactor was inspired by having debugged this problem already,
so I can fix the bug quick (though probably not fast enough for the buildbots).
llvm-svn: 91677
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
different functions and pick the function at lookup initialization time.
In theory we could actually divide the criteria functions into N different
functions for the N cases, but it's so not worth it.
Among other things, lets us invoke LookupQualifiedName without recomputing
IDNS info every time.
Do some refactoring in SemaDecl to avoid an awkward special case in LQN
that was only necessary for redeclaration testing for anonymous structs/unions ---
which could be done more efficiently with a scoped lookup anyway.
llvm-svn: 91676
|
| |
|
|
|
|
| |
not alias driver/backend option.
llvm-svn: 91671
|
| |
|
|
| |
llvm-svn: 91670
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
new InitializationSequence. This fixes some bugs (e.g., PR5808),
changed some diagnostics, and caused more churn than expected. What's
new:
- InitializationSequence now has a "C conversion sequence" category
and step kind, which falls back to
- Changed the diagnostics for returns to always have the result type
of the function first and the type of the expression second.
CheckSingleAssignmentConstraints to peform checking in C.
- Improved ASTs for initialization of return values. The ASTs now
capture all of the temporaries we need to create, but
intentionally do not bind the tempoary that is actually returned,
so that it won't get destroyed twice.
- Make sure to perform an (elidable!) copy of the class object that
is returned from a class.
- Fix copy elision in CodeGen to properly see through the
subexpressions that occur with elidable copies.
- Give "new" its own entity kind; as with return values and thrown
objects, we don't bind the expression so we don't call a
destructor for it.
Note that, with this patch, I've broken returning move-only types in
C++0x. We'll fix it later, when we tackle NRVO.
llvm-svn: 91669
|
| |
|
|
|
|
|
|
| |
to compile a translation unit into the debug info for that file.
- Used by parts of Darwin build process to check compiler flags, etc.
- <rdar://problem/7256886> clang does not emit AT_APPLE_flags
llvm-svn: 91661
|
| |
|
|
| |
llvm-svn: 91658
|
| |
|
|
|
|
|
| |
(radar 7482224).
llvm-svn: 91652
|
| |
|
|
|
|
|
| |
problems on LLVM-Code-Syntax. This proved remarkably easy to "fix" once
I settled on how I was going to approach it.
llvm-svn: 91633
|
| |
|
|
| |
llvm-svn: 91629
|
| |
|
|
| |
llvm-svn: 91615
|
| |
|
|
|
|
| |
to evaluate the arguments of a CallExpr. This simplifies the logic and makes it easier to read. (it also avoids any issues with blowing out the stack if the CallExpr had a ridiculous number of arguments)
llvm-svn: 91613
|
| |
|
|
| |
llvm-svn: 91610
|
| |
|
|
|
|
| |
qualifier. this also removes a FIXME
llvm-svn: 91601
|
| |
|
|
|
|
| |
noalias. the rest will be infered by llvm optz
llvm-svn: 91600
|
| |
|
|
| |
llvm-svn: 91591
|
| |
|
|
|
|
| |
takes a CXXRecordDecl since we were just creating a QualType from it anyway.
llvm-svn: 91590
|
| |
|
|
| |
llvm-svn: 91588
|
| |
|
|
|
|
|
|
|
| |
1. Don't make a copy of LangOptions every time a lexer is created.
2. Don't make CharInfo global mutable state.
3. Fix the implementation to properly treat ^Z as EOF instead of as
horizontal whitespace, which matches the semantic implemented by VC++.
llvm-svn: 91586
|
| |
|
|
| |
llvm-svn: 91585
|
| |
|
|
| |
llvm-svn: 91583
|
| |
|
|
|
|
| |
IdentifierInfo*'s.
llvm-svn: 91577
|
| |
|
|
|
|
| |
PR5809
llvm-svn: 91575
|
| |
|
|
| |
llvm-svn: 91573
|
| |
|
|
| |
llvm-svn: 91572
|
| |
|
|
|
|
| |
'void *' to mimic gcc's behavior. (fixes radar 7477351).
llvm-svn: 91570
|
| |
|
|
| |
llvm-svn: 91563
|
| |
|
|
| |
llvm-svn: 91562
|
| |
|
|
|
|
| |
method overrides a pure virtual method.
llvm-svn: 91558
|
| |
|
|
| |
llvm-svn: 91557
|
| |
|
|
| |
llvm-svn: 91553
|
| |
|
|
|
|
|
| |
with a non-trivial default constructor, zero-initialize the storage
and then call the default constructor. Fixes PR5800.
llvm-svn: 91548
|
| |
|
|
|
|
| |
instead of crashing for now.
llvm-svn: 91546
|
| |
|
|
| |
llvm-svn: 91545
|
| |
|
|
|
|
|
|
| |
default, and adds the malloc attribute to the global function new() and to the overloaded new operators.
feel free to chage the name to this lengthy argument
llvm-svn: 91543
|
| |
|
|
|
|
| |
InitializationSequence
llvm-svn: 91542
|
| |
|
|
| |
llvm-svn: 91540
|
| |
|
|
| |
llvm-svn: 91539
|
| |
|
|
|
|
|
|
|
| |
function in a C++ call using an arbitrary call-expression type.
Actually exploit this to fix the recovery implemented earlier.
The diagnostic is still iffy, though.
llvm-svn: 91538
|
| |
|
|
|
|
|
|
| |
attribute: the object type.
Add initial support for visiting CXXThisExpr.
Fix a bunch of 80-col violations.
llvm-svn: 91535
|
| |
|
|
|
|
|
|
|
| |
used as expressions). In dependent contexts, try to recover by doing a lookup
in previously-dependent base classes. We get better diagnostics out, but
unfortunately the recovery fails: we need to turn it into a method call
expression, not a bare call expression. Thus this is still a WIP.
llvm-svn: 91525
|
| |
|
|
|
|
| |
With this change, we can now compile and link TableGen.
llvm-svn: 91520
|
| |
|
|
| |
llvm-svn: 91519
|