| Commit message (Collapse) | Author | Age | Files | Lines | 
| ... |  | 
| | 
| 
| 
| 
| 
|  | 
conversions (rather than just call-arguments).
llvm-svn: 140244
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
if the definition has a non-variadic prototype with compatible
parameters.  Therefore, the default rule for such calls must be to
use a non-variadic convention.  Achieve this by casting the callee to
the function type with which it is required to be compatible, unless
the target specifically opts out and insists that unprototyped calls
should use the variadic rules.  The only case of that I'm aware of is
the x86-64 convention, which passes arguments the same way in both
cases but also sets a small amount of extra information;  here we seek
to maintain compatibility with GCC, which does set this when calling
an unprototyped function.
Addresses PR10810 and PR10713.
llvm-svn: 140241
 | 
| | 
| 
| 
| 
| 
|  | 
-fms-compatibility. Also allow the missing typename warning at function scope.
llvm-svn: 140240
 | 
| | 
| 
| 
|  | 
llvm-svn: 140238
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
assert(!"error message");
To:
  assert(0 && "error message");
which is more consistant across the code base.
llvm-svn: 140232
 | 
| | 
| 
| 
| 
| 
|  | 
literals are cast to true, this should no effect on behavior.
llvm-svn: 140231
 | 
| | 
| 
| 
|  | 
llvm-svn: 140226
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
range and add asserts to check validity of locations early on. Ignore invalid ranges in PathDiagnosticPiece (they could be added by checker writers).
Addresses radar://10124836 and radar://radar10102244.
llvm-svn: 140218
 | 
| | 
| 
| 
|  | 
llvm-svn: 140212
 | 
| | 
| 
| 
| 
| 
|  | 
we already have the range in the PPEntityOffsets array.
llvm-svn: 140209
 | 
| | 
| 
| 
| 
| 
|  | 
and don't store the ID for each preprocessed entity.
llvm-svn: 140208
 | 
| | 
| 
| 
| 
| 
|  | 
return a cursor for the inner macro.
llvm-svn: 140207
 | 
| | 
| 
| 
| 
| 
|  | 
PathDiagnosticLocation - FullSourceLoc Loc and PathDiagnosticRange Range are sufficient.
llvm-svn: 140206
 | 
| | 
| 
| 
| 
| 
|  | 
PathDiagnosticClient could implement DiagnosticClient and has been dead for a while).
llvm-svn: 140198
 | 
| | 
| 
| 
| 
| 
|  | 
directly at the end of the source file.
llvm-svn: 140192
 | 
| | 
| 
| 
| 
| 
|  | 
don't store an extra location for it.
llvm-svn: 140190
 | 
| | 
| 
| 
| 
| 
|  | 
-fm-compatibility.
llvm-svn: 140189
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
This replaces the hack to read UNAME_RELEASE from the environment when
identifying the OS version on Darwin, and it's more flexible.  It's also
horribly ugly, but at least this consolidates the ugliness to touch less of
the code so that it will be easier to rip out later.
llvm-svn: 140187
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
PathDiagnosticLocation(SourceLocation...) private. Most of the effort here goes to making BugReport refer to a PathDiagnosticLocation instead of FullSourceLocation.
(Another step closer to the goal of having Diagnostics which can recover from invalid SourceLocations.)
llvm-svn: 140182
 | 
| | 
| 
| 
| 
| 
|  | 
Location for profile.
llvm-svn: 140180
 | 
| | 
| 
| 
| 
| 
|  | 
rdar://10125227
llvm-svn: 140179
 | 
| | 
| 
| 
| 
| 
| 
|  | 
erronously trigger the digraph correction fix-it.  Include a new test to catch
this in the future.
llvm-svn: 140175
 | 
| | 
| 
| 
|  | 
llvm-svn: 140174
 | 
| | 
| 
| 
| 
| 
|  | 
of Mips32 big and little endian derive.
llvm-svn: 140170
 | 
| | 
| 
| 
| 
| 
|  | 
UnwindException structure is 32 for mips64. 
llvm-svn: 140165
 | 
| | 
| 
| 
| 
| 
|  | 
LocationContext and AnalysisContext to support creation of PathDiagnosticLocations for checkers which no context sensitivity.
llvm-svn: 140162
 | 
| | 
| 
| 
|  | 
llvm-svn: 140161
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
from unfriendly (== not at all modularized) directories. This is
temporary, and it only affects module construction until I'll figured
out how to deal with system headers.
llvm-svn: 140159
 | 
| | 
| 
| 
|  | 
llvm-svn: 140155
 | 
| | 
| 
| 
|  | 
llvm-svn: 140149
 | 
| | 
| 
| 
| 
| 
|  | 
a ParentMap as needed.
llvm-svn: 140147
 | 
| | 
| 
| 
|  | 
llvm-svn: 140146
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
IntPtrType,
change __builtin_va_list to from a structure to int[4] (same alignment
and size, but with a simpler representation). Patch by David Meyer!
llvm-svn: 140144
 | 
| | 
| 
| 
| 
| 
|  | 
Per John's review comments for r140068.
llvm-svn: 140142
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
of false positive warnings that depend on noreturn destructors pruning
the CFGs, but only in C++0x mode!
This was really surprising as the debugger quickly reveals that the
attributes are parsed correctly (and using the same code) in both modes.
The warning fires in the same way in both modes. But between parsing and
building the destructor declaration with the noreturn attribute and the
warning, it magically disappears. The key? The 'noexcept' appears!
When we were rebuilding the destructor type with the computed implicit
noexcept we completely dropped the old type on the floor. This almost
makes sense (as the arguments and return type to a destructor aren't
exactly unpredictable), but lost any function type attributes as well.
The fix is simple, we build the new type off of the old one rather than
starting fresh.
Testing this is a bit awkward. I've done it by running the
noreturn-sensitive tests in both modes, which previous failed and now
passes, but if anyone has ideas about how to more specifically and
thoroughly test that the extended info on a destructor is preserved when
adding noexcept, I'm all ears.
llvm-svn: 140138
 | 
| | 
| 
| 
| 
| 
|  | 
with gen methods on object creation instead of computing on demand. This would allow to remove dependency on the other members which help with construction and might not even be valid at later stages (to be removed later on).
llvm-svn: 140131
 | 
| | 
| 
| 
|  | 
llvm-svn: 140130
 | 
| | 
| 
| 
|  | 
llvm-svn: 140123
 | 
| | 
| 
| 
|  | 
llvm-svn: 140100
 | 
| | 
| 
| 
|  | 
llvm-svn: 140091
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
"_Complex float x = {1.0f, 2.0f};".  See changes to docs/LanguageExtensions.html for a longer description.
<rdar://problem/9397672>.
llvm-svn: 140090
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
check for the landingpad instruction instead. This check looks at each of the
clauses in the landingpad instruction. If it's a catch clause, it compares the
name directly with the global. If it's a filter clause, it has to look through
each value in the filer to see if any have the prefix.
llvm-svn: 140075
 | 
| | 
| 
| 
|  | 
llvm-svn: 140073
 | 
| | 
| 
| 
|  | 
llvm-svn: 140068
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
PreprocessingRecord's getPreprocessedEntitiesInRange.
Also remove all the stuff that were added in ASTUnit that are unnecessary now
that we do a binary search for preprocessed entities and deserialize only
what is necessary.
llvm-svn: 140063
 | 
| | 
| 
| 
| 
| 
|  | 
return iterators for local, non-loaded, preprocessed entities.
llvm-svn: 140062
 | 
| | 
| 
| 
| 
| 
|  | 
instead of getLocation() since we don't care about expanded macro arguments.
llvm-svn: 140061
 | 
| | 
| 
| 
| 
| 
| 
|  | 
check whether the requested location points inside the precompiled preamble,
in which case the returned source location will be a "loaded" one.
llvm-svn: 140060
 | 
| | 
| 
| 
| 
| 
|  | 
source location of line:col of a specific FileID.
llvm-svn: 140059
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
which will do a binary search and return a pair of iterators
for preprocessed entities in the given source range.
Source ranges of preprocessed entities are stored twice currently in
the PCH/Module file but this will be fixed in a subsequent commit.
llvm-svn: 140058
 |