| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 225314
|
|
|
|
|
|
|
| |
In r225106, support for the CMPB instruction was added to the PowerPC backend.
This adds the associated GCC-compatible feature flag.
llvm-svn: 225312
|
|
|
|
| |
llvm-svn: 225303
|
|
|
|
|
|
| |
For now there is no difference between amdgcn and r600.
llvm-svn: 225294
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
MSVC doesn't like the instantiation of the structure in the initializer list.
Initialize it in the constructor body to repair the build.
TargetInfo.h(545) : error C2143: syntax error : missing ')' before '{'
TargetInfo.h(545) : error C2143: syntax error : missing ';' before '}'
TargetInfo.h(545) : error C2059: syntax error : ')'
TargetInfo.h(545) : error C2059: syntax error : ','
TargetInfo.h(547) : error C2143: syntax error : missing ';' before '{'
TargetInfo.h(547) : error C2447: '{' : missing function header (old-style formal list?)
llvm-svn: 225247
|
|
|
|
|
|
|
|
|
|
| |
Add additional constraint checking for target specific behaviour for inline
assembly constraints. We would previously silently let all arguments through
for these constraints. In cases where the constraints were violated, we could
end up failing to select instructions and triggering assertions or worse,
silently ignoring instructions.
llvm-svn: 225244
|
|
|
|
| |
llvm-svn: 225241
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Allow -fsanitize-coverage=N with ubsan, clang part.
This simply allows the flag combination.
The LLVM will work out of the box, the compile-rt part
will follow as a separate patch.
Test Plan: check-clang
Reviewers: samsonov
Reviewed By: samsonov
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D6849
llvm-svn: 225229
|
|
|
|
|
|
|
|
|
| |
This reverts commit r225212. It's failing on multiple buildbots [1][2].
[1]: http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/22032
[2]: http://lab.llvm.org:8080/green/view/Clang/job/clang-stage1-cmake-RA-incremental_check/2357/
llvm-svn: 225221
|
|
|
|
| |
llvm-svn: 225212
|
|
|
|
| |
llvm-svn: 225196
|
|
|
|
|
|
|
| |
The first function is named __cxx_global_var_init, which is a substring of
the following functions @__cxx_global_var_init(1,2,3,etc).
llvm-svn: 225191
|
|
|
|
|
|
| |
This makes it a lot easier to read the output from FileCheck when it fails.
llvm-svn: 225190
|
|
|
|
|
|
| |
For some regression tests the path to the right toolchain is specified using the -sysroot switch. However, if clang was configured with a custom gcc toolchain (either by using GCC_INSTALL_PREFIX in cmake or the equivalent configure command), the path to the custom gcc toolchain path takes precedence to the one specified by sysroot. This causes several regression tests to fail as they will be using an unexpected path. This patch fixes this issue by adding --gcc-toolchain='' to all tests that rely on that. The empty string causes the driver to pick the path from sysroot instead.
llvm-svn: 225182
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Replace usage of StringRef with std::string in AST_MATCHER* generated
matchers to make sure they keep their own copy of the string.
The value could be a temporary and it causes the pointer to be dangling
by the time the matcher is executed.
Reviewers: klimek
Subscribers: klimek, cfe-commits
Differential Revision: http://reviews.llvm.org/D6843
llvm-svn: 225180
|
|
|
|
|
|
| |
plugins tests might fail.
llvm-svn: 225170
|
|
|
|
| |
llvm-svn: 225168
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After:
return (a instanceof List<?>) ? aaaaaaaaaaaaaaaaaaaaaaa(
aaaaaaaaaaaaaaaaaaaaa)
: aaaaaaaaaaaaaaaaaaaaaaa;
After:
return (a instanceof List<?>)
? aaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaa)
: aaaaaaaaaaaaaaaaaaaaaaa;
llvm-svn: 225161
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
someFunction(new Runnable() { public void run() { System.out.println(42);
}
});
After:
someFunction(new Runnable() {
public void run() {
System.out.println(42);
}
});
llvm-svn: 225142
|
|
|
|
|
|
| |
No tests added as all of these are already tested separately.
llvm-svn: 225141
|
|
|
|
|
|
|
|
|
|
| |
r185773 added an assert that checked that a CXXUnresolvedConstructExpr either
has a valid rparen, or exactly one argument. This doesn't have to be true for
invalid inputs. Convert the assert to an if, and add a test for this case.
Found by SLi's afl bot.
llvm-svn: 225140
|
|
|
|
|
|
| |
This applies to mingw as clang-cl already has its own logic for the filename.
llvm-svn: 225134
|
|
|
|
|
|
| |
This was broken by r224120.
llvm-svn: 225130
|
|
|
|
| |
llvm-svn: 225129
|
|
|
|
| |
llvm-svn: 225128
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also add a few asserts for this. The existing code assumes this in a bunch
of places already (see e.g. the assert at the top of ParseTypedefDecl(), and
there are many unchecked calls on the result of GetTypeForDeclarator()), and
from looking through the code this should always be true from what I can tell.
This allows removing ASTContext::getNullTypeSourceInfo() too as that's now
unused.
No behavior change intended.
llvm-svn: 225125
|
|
|
|
|
|
|
|
|
|
| |
Many places in Sema cannot handle isNull() types. This is fine, because in
most places the type building code recovers by falling back to IntTy. In
GetFullTypeForDeclarator(), this is done at the end of the getNumTypeObjects()
loop body. This function calls BuildQualifiedType() before this fallback is
done though, so it explicitly needs to check for isNull() types.
llvm-svn: 225124
|
|
|
|
| |
llvm-svn: 225122
|
|
|
|
|
|
| |
It's reasonable to ask if an l-value with class type is modifiable.
llvm-svn: 225121
|
|
|
|
|
|
|
| |
Weird constructs like __attribute__((inline)) or
__attibute__((typename)) should result in warnings, not errors.
llvm-svn: 225118
|
|
|
|
|
|
|
|
|
|
|
| |
access through a volatile-qualified type, we're not certain of the underlying object's side-effects on access.
Treat volatile accesses as "maybe" instead of "definite" side effects for the purposes of warning on evaluations in an unevaluated context. No longer diagnose on idiomatic code like:
int * volatile v;
(void)sizeof(*v);
llvm-svn: 225116
|
|
|
|
|
|
|
| |
It is not needed since we FileCheck for the warning and -Werror itself can end up
unused.
llvm-svn: 225102
|
|
|
|
|
|
| |
This should fix the last bots.
llvm-svn: 225100
|
|
|
|
|
|
|
| |
On OS X a .s file is preprocessed, it is not on linux, which is why the warning was still
showing up on linux but not OS X.
llvm-svn: 225095
|
|
|
|
|
|
|
| |
It is somewhat common for CFLAGS to be used with .s files. We were
already ignoring -flto. This patch just does the same for -fno-lto.
llvm-svn: 225093
|
|
|
|
|
|
|
|
| |
instructions
un-XFAILing the test XFAIL'd in r225086 after it regressed in r225083.
llvm-svn: 225090
|
|
|
|
|
|
|
|
|
|
| |
Unfortunately, MSVC does not indicate to the driver what target is being used.
This means that we cannot correctly select the target architecture for the
clang_rt component. This breaks down when targeting windows with the clang
driver as opposed to the clang-cl driver. This should fix the native ARM
buildbot tests.
llvm-svn: 225089
|
|
|
|
|
|
|
|
|
|
|
| |
The logic for addSanitizerRTWindows was performing the same logical operation as
getCompilerRT, which was previously fully generalised for Linux and Windows.
This avoids having a duplication of the logic for building up the name of a
clang_rt component. This change does move the current limitation for Windows
into getArchNameForCompilerRTLib, where it is assumed that the architecture for
Windows is always i386.
llvm-svn: 225087
|
|
|
|
|
|
|
|
|
|
|
|
| |
Between this behavior and that fixed by r225083/r225000, I'll take the
latter over the former for now, but I'm immediately working on
understanding/addressing this behavior too.
(the fact that the code change in r225083 caused this change in behavior
is a bit troubling anyway - given that it looks & claims to be just a
preformance thing)
llvm-svn: 225086
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
arguments.
r225000 generalized debug info line info handling for expressions such
that this code is no longer necessary.
This removes the last use of CGDebugInfo::getLocation, but not all the
uses of CGDebugInfo::CurLoc, which is still used internally in
CGDebugInfo. I'd like to do away with all of that & might succeed after
a few more patches.
llvm-svn: 225085
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The optimization (that appears to have been here since the earliest
implementation (r50848) & has become more complicated over the years) to
avoid recreating the debugloc if it would be the same was out of date
because ApplyDebugLocation was not re-updating the CurLoc/PrevLoc. This
optimization doesn't look terribly beneficial/necessary, so I'm removing
it - if it turns up in benchmarks, I'm happy to reconsider/reimplement
this with justification, but for now it just seems to add
complexity/problems.
llvm-svn: 225083
|
|
|
|
|
|
|
|
|
|
|
|
| |
instantiated. Do not crash in this case. Fixes PR22040!
The FIXME in the test is caused by TemplateDeclInstantiator::VisitCXXRecordDecl
returning a nullptr instead of creating an invalid decl. This is a common
pattern across all of TemplateDeclInstantiator, so I'm not comfortable changing
it. The reason it's not invalid in the class template is due to support for an
MSVC extension, see r137573.
llvm-svn: 225071
|
|
|
|
|
|
|
|
|
|
|
| |
The DeclRefExpr might be for a variable initialized by a constant
expression which hasn't been ODR used.
Emit the initializer for the variable instead of trying to capture the
variable itself.
This fixes PR22071.
llvm-svn: 225060
|
|
|
|
| |
llvm-svn: 225051
|
|
|
|
| |
llvm-svn: 225039
|
|
|
|
|
|
| |
to automatically infer the SDK location.
llvm-svn: 225038
|
|
|
|
| |
llvm-svn: 225021
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Unify the component handling for compiler-rt. The components are regularly
named, built up from:
${LIBRARY_PREFIX}clang_rt.${component}-${arch}[-${environment}]${LIBRARY_SUFFIX}
Unify the handling for all the various components, into a single path to link
against the various components in a number of places. This reduces duplication
of the clang_rt library name construction logic.
llvm-svn: 225013
|
|
|
|
|
|
| |
Fixup some whitespace/style issues. NFC.
llvm-svn: 225012
|
|
|
|
| |
llvm-svn: 225004
|