| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a struct's size is not a power of 2, the corresponding _Atomic() type is
promoted to the nearest. We already correctly handled normal C++ expressions of
this form, but direct calls to the __c11_atomic_whatever builtins ended up
performing dodgy operations on the smaller non-atomic types (e.g. memcpy too
much). Later optimisations removed this as undefined behaviour.
This patch converts EmitAtomicExpr to allocate its temporaries at the full
atomic width, sidestepping the issue.
llvm-svn: 252507
|
|
|
|
|
|
|
|
| |
(PR25392).
We now return early when the 'this' value cannot be converted to a MemRegion.
llvm-svn: 252506
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D14394
llvm-svn: 252501
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Use "auto" when the type name is redundant
Reviewers: aaron.ballman
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D14501
llvm-svn: 252494
|
|
|
|
| |
llvm-svn: 252489
|
|
|
|
|
|
|
|
|
|
| |
anonymous namespaces.
Patch by Sterling Augustine!
Differential revision: http://reviews.llvm.org/D14459
llvm-svn: 252488
|
|
|
|
|
|
| |
http://reviews.llvm.org/D14403
llvm-svn: 252474
|
|
|
|
| |
llvm-svn: 252470
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The -meabi flag to control LLVM EABI version.
Without '-meabi' or with '-meabi default' imply LLVM triple default.
With '-meabi gnu' sets EABI GNU.
With '-meabi 4' or '-meabi 5' set EABI version 4 and 5 respectively.
A similar patch was introduced in LLVM.
Patch by Vinicius Tinti.
llvm-svn: 252463
|
|
|
|
|
|
|
| |
Use interfaces defined in LLVM to create FuncName
and FuncNameVar.
llvm-svn: 252434
|
|
|
|
| |
llvm-svn: 252426
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
projects.
Currently the SATestBuild.py and SATestAdd.py buildbot scripts expect project
sources to be checked into the project repository. This commit changes these
scripts to additionally support a model where project sources are downloaded
rather than checked into the repository. Sometimes projects may need to be
modified (for example, to support a newer versions of clang), so the updated scripts
also allow for an optional patch file that will be applied to the downloaded
project source before analysis.
To support this workflow, this commit changes the expected layout of
a project in the repository. The project-specific helper scripts will stay
in the root of each project directory, but the benchmark source itself (if
checked into the repo) should now be stored in a subdirectory named
'CachedSource':
project_name/
cleanup_run_static_analyzer.sh [optional]
run_static_analyzer.cmd [required]
download_project.sh [optional]
CachedSource/ [optional]
changes_for_analyzer.patch [optional]
If the 'CachedSource' source directory is not present, the download script will
be executed. This script should download the project source into 'CachedSource'.
Then, if 'changes_for_analyzer.patch' is present its changes will
be applied to a copy of 'CachedSource' before analysis.
Differential Revision: http://reviews.llvm.org/D14345
llvm-svn: 252410
|
|
|
|
| |
llvm-svn: 252405
|
|
|
|
| |
llvm-svn: 252404
|
|
|
|
| |
llvm-svn: 252400
|
|
|
|
| |
llvm-svn: 252399
|
|
|
|
| |
llvm-svn: 252398
|
|
|
|
| |
llvm-svn: 252397
|
|
|
|
|
|
| |
This is a follow-up to r252369.
llvm-svn: 252376
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This attribute is used to prevent tail-call optimizations to the marked
function. For example, in the following piece of code, foo1 will not be
tail-call optimized:
int __attribute__((not_tail_called)) foo1(int);
int foo2(int a) {
return foo1(a); // Tail-call optimization is not performed.
}
The attribute has effect only on statically bound calls. It has no
effect on indirect calls. Also, virtual functions and objective-c
methods cannot be marked as 'not_tail_called'.
rdar://problem/22667622
Differential Revision: http://reviews.llvm.org/D12922
llvm-svn: 252369
|
|
|
|
|
|
| |
Remove implicit ilist iterator conversions from clangStaticAnalyzer.
llvm-svn: 252360
|
|
|
|
|
|
|
| |
Make ilist iterator conversions explicit in clangCodeGen. Eventually
I'll remove them everywhere.
llvm-svn: 252358
|
|
|
|
| |
llvm-svn: 252314
|
|
|
|
|
|
| |
for TSan on OS X").
llvm-svn: 252311
|
|
|
|
|
|
|
|
| |
We're currently in process of porting TSan to OS X, and quite a few of the initial support in the runtime library has already landed in trunk. This patch actually enables "-fsanitize=thread" in the frontend.
Differential Revision: http://reviews.llvm.org/D14440
llvm-svn: 252310
|
|
|
|
|
|
|
|
|
|
|
| |
Function__builtin_signbit returns wrong value for type ppcf128 on big endian
machines. This patch fixes how value is generated in that case.
Patch by Aleksandar Beserminji.
Differential Revision: http://reviews.llvm.org/D14149
llvm-svn: 252307
|
|
|
|
|
|
|
|
|
|
|
|
| |
This checker looks for unsafe constructs in vforked process:
function calls (excluding whitelist), memory write and returns.
This was originally motivated by a vfork-related bug in xtables package.
Patch by Yury Gribov.
Differential revision: http://reviews.llvm.org/D14014
llvm-svn: 252285
|
|
|
|
|
|
|
|
| |
Patch by Richard Thomson! (+a couple of modifications to address comments)
Differential revision: http://reviews.llvm.org/D10009
llvm-svn: 252261
|
|
|
|
|
|
|
|
| |
Patch by Richard Thomson!
Differential revision: http://reviews.llvm.org/D10008
llvm-svn: 252256
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: This fixes a bug that's easily encountered in LLDB
(https://llvm.org/bugs/show_bug.cgi?id=22875). The problem here is that we
mangle a name during debug info emission, but never actually emit the actual
Decl, so we run into problems in EmitDeclMetadata (which assumes such a Decl
exists). Fix that by just skipping metadata emissions for mangled names that
don't have associated Decls.
Reviewers: rjmccall
Subscribers: labath, cfe-commits
Differential Revision: http://reviews.llvm.org/D13959
llvm-svn: 252229
|
|
|
|
| |
llvm-svn: 252223
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D14266
llvm-svn: 252220
|
|
|
|
| |
llvm-svn: 252216
|
|
|
|
| |
llvm-svn: 252215
|
|
|
|
| |
llvm-svn: 252214
|
|
|
|
|
|
|
|
|
|
|
| |
for the root cause. The 'using llvm::isa;' declaration in Basic/LLVM.h only
pulls the declarations of llvm::isa that were declared prior to it into
namespace clang. In a modules build, this is a hermetic set of just the
declarations from LLVM. In a non-modules build, we happened to also pull the
declaration from lib/CodeGen/Address.h into namespace clang, which made the
code in question accidentally compile.
llvm-svn: 252211
|
|
|
|
| |
llvm-svn: 252206
|
|
|
|
|
|
|
| |
The page_size operator has been removed from the spec, and the resize_memory
operator has been changed to grow_memory.
llvm-svn: 252201
|
|
|
|
|
|
| |
rdar://problem/23415863
llvm-svn: 252187
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update RegionStoreManager::getBinding() to return UnknownVal when trying to get
the binding for a BlockDataRegion. Previously, getBinding() would try to cast the
BlockDataRegion to a TypedValueRegion and crash. This happened when a block
was passed as a parameter to an inlined function for which
StackHintGeneratorForSymbol::getMessage() tried to generate a stack hint message.
rdar://problem/21291971
llvm-svn: 252185
|
|
|
|
|
|
|
|
|
| |
$ clang --target=armv7m-none-eabi -mthumb -march=armv7-m -c test.c
clang-3.8: warning: argument unused during compilation: '-mthumb'
Differential Revision: http://reviews.llvm.org/D14384
llvm-svn: 252175
|
|
|
|
| |
llvm-svn: 252170
|
|
|
|
|
|
|
|
| |
This patch fixes one more thing in MCU psABI support: LongDoubleWidth should be set to 64.
Differential Revision: http://reviews.llvm.org/D14285
llvm-svn: 252156
|
|
|
|
| |
llvm-svn: 252147
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This is needed to handle per-project configurations when adding extra
arguments in clang-tidy for example.
Reviewers: klimek, djasper
Subscribers: djasper, cfe-commits, klimek
Differential Revision: http://reviews.llvm.org/D14191
llvm-svn: 252134
|
|
|
|
| |
llvm-svn: 252128
|
|
|
|
| |
llvm-svn: 252125
|
|
|
|
| |
llvm-svn: 252120
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D14349
llvm-svn: 252115
|
|
|
|
|
|
|
|
|
| |
we can't load that file due to a configuration mismatch, and implicit module
building is disabled, and the user turns off the error-by-default warning for
that situation, then fall back to textual inclusion for the module rather than
giving an error if any of its headers are included.
llvm-svn: 252114
|