| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 165384
|
|
|
|
| |
llvm-svn: 165383
|
|
|
|
| |
llvm-svn: 165370
|
|
|
|
|
|
|
|
|
|
|
|
| |
The darwin change should be a nop since Triple::getArchTypeForDarwinArchName
doesn't know about amd64.
If things like amd64-mingw32 are to be rejected, we should print a error
earlier on instead of silently using the wrong abi.
Remove old comment that looks out of place, this is "in clang".
llvm-svn: 165368
|
|
|
|
|
|
|
| |
GCC has always supported this on PowerPC and 4.8 supports it on all platforms,
so it's a good idea to expose it in clang too. LLVM supports this on all targets.
llvm-svn: 165362
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Clang ASTs are a DAG, not a pure tree. However, ParentMap has to
choose a single parent for each object. In the main (only?) cases in
which the AST forms a DAG, it protects from multiple traversal by using
OpaqueValueExprs. Previously, ParentMap would just unconditionally look
through all OpaqueValueExprs when building its map.
In order to make this behavior better for the analyzer's diagnostics,
ParentMap was changed to not set a statement's parent if there already
was one in the map. However, ParentMap is supposed to allow updating
existing mappings by calling addStmt once again. This change makes the
"transparency" of OpaqueValueExprs explicit, and disables it when it
is not desired, rather than checking the current contents of the map.
This new code seems like a big change, but it should actually have
essentially the same performance as before. Only OpaqueValueExprs and
their users (PseudoObjectExpr and BinaryConditionalOperator) will
have any different behavior.
There should be no user-visible functionality change, though a test
has been added for the current behavior of BinaryConditionalOperator
source locations and accompanying Xcode arrows (which are not so great...).
llvm-svn: 165355
|
|
|
|
|
|
|
|
|
|
|
| |
Some implicit statements, such as the implicit 'self' inserted for "free"
Objective-C ivar access, have invalid source locations. If one of these
statements is the location where an issue is reported, we'll now look at
the enclosing statements for a valid source location.
<rdar://problem/12446776>
llvm-svn: 165354
|
|
|
|
| |
llvm-svn: 165343
|
|
|
|
| |
llvm-svn: 165339
|
|
|
|
| |
llvm-svn: 165325
|
|
|
|
| |
llvm-svn: 165298
|
|
|
|
|
|
| |
PR14029, clang part.
llvm-svn: 165289
|
|
|
|
|
|
| |
what's going on, per Sean Silva's suggestion.
llvm-svn: 165286
|
|
|
|
|
|
|
|
|
|
|
|
| |
This appears to be consistent with GCC's implementation of the same warning
under -Wparentheses. Suppressing a << b + c for cases where 'a' is a user
defined type for compatibility with C++ stream IO. Otherwise suggest
parentheses around the addition or subtraction subexpression.
(this came up when MSVC was complaining (incorrectly, so far as I can tell)
about a perceived violation of this within the LLVM codebase, PR14001)
llvm-svn: 165283
|
|
|
|
|
|
| |
that are associated with a (sub)module.
llvm-svn: 165279
|
|
|
|
|
|
|
| |
loaded entities vector, otherwise its meaning will change when a module
is imported and the vector size changes.
llvm-svn: 165278
|
|
|
|
|
|
| |
import declaration.
llvm-svn: 165277
|
|
|
|
|
|
|
|
| |
- outside C++, return undef (behavior is not undefined unless the value is used)
- in C++, with -fcatch-undefined-behavior, perform an appropriate trap
- in C++, produce an 'unreachable' (behavior is undefined immediately)
llvm-svn: 165273
|
|
|
|
|
|
|
|
| |
a non-inline namespace, then reopens it as inline to try to add its symbols to
the surrounding namespace. In this one special case, permit the namespace to be
reopened as inline, and patch up the name lookup tables to match.
llvm-svn: 165263
|
|
|
|
| |
llvm-svn: 165259
|
|
|
|
| |
llvm-svn: 165258
|
|
|
|
| |
llvm-svn: 165256
|
|
|
|
|
|
|
|
|
|
|
|
| |
crtfastmath.o contains routines to set the floating point flags to a faster,
unsafe mode. Linking it in speeds up code dealing with denormals significantly
(PR14024).
For now this is only enabled on linux where I can test it and crtfastmath.o is
widely available. We may want to provide a similar file with compiler-rt
eventually and/or enable it on other platforms too.
llvm-svn: 165240
|
|
|
|
|
|
|
|
| |
For GNU attributes, instead of reusing attribute source
location for the scope location, use SourceLocation() since
GNU attributes don not have scope tokens.
llvm-svn: 165234
|
|
|
|
|
|
| |
This may be slightly more efficient and is definitely more readable.
llvm-svn: 165217
|
|
|
|
| |
llvm-svn: 165216
|
|
|
|
|
|
| |
decision about whether we need to call tryAddTopLevelDecl or not. That call should be made when the DeclContext's redeclaration context is the translation unit.
llvm-svn: 165215
|
|
|
|
| |
llvm-svn: 165202
|
|
|
|
|
|
| |
up being contracted during codegen.
llvm-svn: 165197
|
|
|
|
|
|
|
| |
mess by handling all pragmas which the parser touches uniformly.
<rdar://problem/12248901>, etc.
llvm-svn: 165195
|
|
|
|
| |
llvm-svn: 165161
|
|
|
|
|
|
|
| |
Str may be smaller than Start->Name here. Use strncmp to avoid scanning past the
end. Found by valgrind.
llvm-svn: 165157
|
|
|
|
|
|
|
| |
false is used as a baseline here, we may want to allow contraction in some of
the cases. Found by valgrind.
llvm-svn: 165156
|
|
|
|
|
|
| |
Alias.
llvm-svn: 165150
|
|
|
|
|
|
|
|
|
| |
This parameter is useless because nowhere used explicitly and always
gets its default value - "false".
The patch reviewed by Rafael Espindola.
llvm-svn: 165149
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Most of the pieces for this were already in place, but a proper EmitVAArg
is needed for aggregates and complex numbers to be handled. Although the
va_list for 64-bit PowerPC SVR4 consists of GPRs 3 through 10 together with
the overflow portion of the parameter save area, we can treat va_list as
pointing to contiguous memory for all parameters, since the back end forces
the parameter GPRs to memory for varargs functions.
There is no need at this time to model parameters and return values beyond
what the DefaultABIInfo provides.
llvm-svn: 165143
|
|
|
|
|
|
|
| |
which is neither correct nor necessary. The use of this routine was
eliminated by r165137.
llvm-svn: 165139
|
|
|
|
| |
llvm-svn: 165138
|
|
|
|
|
|
|
| |
the ASTReader doesn't attach a body to a function that is already
defined elsewhere.
llvm-svn: 165137
|
|
|
|
|
|
|
| |
that doesn't have a 'self' as this implicitly captures 'self' and could
create retain cycles. Provide fixit. // rdar://11194874
llvm-svn: 165133
|
|
|
|
|
|
|
|
|
|
| |
1. Add mipsel-linux-android to the list of valid MIPS target triples.
2. Add <gcc install path>/mips-r2 to the list of toolchain specific path
prefixes if target is mipsel-linux-android.
The patch reviewed by Logan Chien.
llvm-svn: 165131
|
|
|
|
|
|
| |
Part of PR14005.
llvm-svn: 165117
|
|
|
|
|
|
| |
Currently, it's ignored if the number of set bits isn't divisible by 4.
llvm-svn: 165116
|
|
|
|
| |
llvm-svn: 165105
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
| |
ImportDecl's module ID was not written out and the reader accepted as module ID
the serialized:
Record.push_back(!IdentifierLocs.empty());
llvm-svn: 165087
|
|
|
|
|
|
| |
of a module file.
llvm-svn: 165086
|
|
|
|
|
|
| |
when an ImportDecl that was implicitly created due to an inclusion directive.
llvm-svn: 165084
|