| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
|
|
| |
small refactoring for
the common *alloc functions as well as a few tiny wibbles (adds a note
to CWE/CERT advisory numbers in the bug output, and fixes a couple
80-column-wide violations.)"
Patch by Austin Seipp!
llvm-svn: 147931
|
| |
|
|
|
|
|
| |
downgrade the default-error warning to an ExtWarn in
C90/99. <rdar://problem/10668057>
llvm-svn: 147925
|
| |
|
|
| |
llvm-svn: 147920
|
| |
|
|
|
|
| |
a rvalue, which is a useful step during AST evaluation.
llvm-svn: 147918
|
| |
|
|
|
|
| |
shared between lambda expressions and block literals.
llvm-svn: 147917
|
| |
|
|
|
|
|
|
|
|
| |
inlining for straight C calls.
My hope is to reimplement this from first principles based on the simplifications of removing unneeded node builders
and re-evaluating how C++ calls are handled in the CFG. The hope is to turn inlining "on-by-default" as soon as possible
with a core set of things working well, and then expand over time.
llvm-svn: 147904
|
| |
|
|
|
|
| |
new-expressions.
llvm-svn: 147900
|
| |
|
|
|
|
| |
floating point type.
llvm-svn: 147894
|
| |
|
|
|
|
| |
passed in floating point registers.
llvm-svn: 147892
|
| |
|
|
| |
llvm-svn: 147889
|
| |
|
|
|
|
| |
floating point formats.
llvm-svn: 147887
|
| |
|
|
|
|
| |
namespace declaration invalid
llvm-svn: 147882
|
| |
|
|
|
|
|
|
|
|
| |
for the arm-linux-androideabi triple in particular.
Also use this to do a better job of selecting soft FP settings.
Patch by Evgeniy Stepanov.
llvm-svn: 147872
|
| |
|
|
|
|
| |
ownership of property sent to 'super'. // rdar://10640891
llvm-svn: 147868
|
| |
|
|
| |
llvm-svn: 147864
|
| |
|
|
|
|
| |
passing on i386 and does not use registers.
llvm-svn: 147856
|
| |
|
|
| |
llvm-svn: 147854
|
| |
|
|
| |
llvm-svn: 147849
|
| |
|
|
| |
llvm-svn: 147848
|
| |
|
|
| |
llvm-svn: 147847
|
| |
|
|
|
|
|
|
|
|
|
| |
CFStrings writable.
The strings (both Unicode and ASCII) should reside in a read-only section. E.g.,
__TEXT,__cstring instead of __DATA,__data. This is done by making the global
variable created for the strings constant despite the value of that flag.
<rdar://problem/10657500>
llvm-svn: 147845
|
| |
|
|
|
|
| |
complete, remove some code from CGExprConstant which is no longer necessary. While I'm here, a couple minor tweaks to _Complex-in-C++. (Specifically, make _Complex types literal types, and don't warn for _Complex int.)
llvm-svn: 147840
|
| |
|
|
|
|
|
| |
constructors. These are a special case whose behavior cannot be modeled as a
user-written constructor.
llvm-svn: 147839
|
| |
|
|
|
|
| |
make sure that's safe. Get rid of a check which is now unnecessary in Sema::getFunctionLevelDeclContext().
llvm-svn: 147837
|
| |
|
|
|
|
|
|
| |
- reject definitions of enums within friend declarations
- require 'enum', not 'enum class', for non-declaring references to scoped
enumerations
llvm-svn: 147824
|
| |
|
|
|
|
|
|
|
| |
source file. Otherwise -g -save-temps will error out on the compile
of any .c file.
Fixes about 4000 of the errors in the clang-tests gdb test suite.
llvm-svn: 147819
|
| |
|
|
| |
llvm-svn: 147818
|
| |
|
|
|
|
|
| |
c++ objects with non-trivial assignment/copy functions.
Also, one additional sema check. // rdar://6137845
llvm-svn: 147817
|
| |
|
|
| |
llvm-svn: 147812
|
| |
|
|
|
|
| |
intended to cover C++ class definitions.
llvm-svn: 147808
|
| |
|
|
|
|
| |
specialization.
llvm-svn: 147798
|
| |
|
|
| |
llvm-svn: 147791
|
| |
|
|
|
|
| |
padding insertion will not work if the coerced type is not a structure.
llvm-svn: 147786
|
| |
|
|
|
|
|
|
| |
the anonymous namespace to its parent. Semantically, this means that
the anonymous namespaces defined in one module are distinct from the
anonymous namespaces defined in another module.
llvm-svn: 147782
|
| |
|
|
|
|
|
|
|
|
| |
that we can merge, for example, two occurrences of
namespace N { void f(); }
in two disjoint modules.
llvm-svn: 147780
|
| |
|
|
|
|
|
|
|
| |
modules. Teach name lookup into namespaces to search in each of the
merged DeclContexts as well as the (now-primary) DeclContext. This
supports the common case where two different modules put something
into the same namespace.
llvm-svn: 147778
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
is important because it's fairly common for headers (especially system
headers) to want to provide only those typedefs needed for that
particular header, based on some guard macro, e.g.,
#ifndef _SIZE_T
#define _SIZE_T
typedef long size_t;
#endif
which is repeated in a number of headers. The guard macro protects
against duplicate definitions. However, this means that only the first
occurrence of this pattern actually defines size_t, so the submodule
corresponding to this header has the only visible definition. If a
user then imports a different submodule from the same module, size_t
will be known but not visible, and therefore cannot be used.
By allowing redefinition of typedefs, each header that wants to define
size_t can do so independently, so it will be available in the
corresponding submodules.
llvm-svn: 147775
|
| |
|
|
| |
llvm-svn: 147774
|
| |
|
|
| |
llvm-svn: 147771
|
| |
|
|
|
|
| |
c++ object properties. wip.
llvm-svn: 147750
|
| |
|
|
| |
llvm-svn: 147744
|
| |
|
|
|
|
| |
88 -> 80 bytes on x86_64.
llvm-svn: 147736
|
| |
|
|
|
|
| |
with non-trivial copies. // rdar://6137845
llvm-svn: 147735
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
A patch by Dmitri Gribenko!
The attached patch fixes a use-after-free in AnalysisConsumer::HandleTranslationUnit. The problem is that
BugReporter's destructor runs after AnalysisManager has been already
deleted. The fix introduces a scope to force correct destruction
order.
A crash happens only when reports have been added in AnalysisConsumer::HandleTranslationUnit's BugReporter. We don't have such checkers in clang so no test.
llvm-svn: 147732
|
| |
|
|
| |
llvm-svn: 147730
|
| |
|
|
|
|
|
|
|
|
|
|
| |
to Redeclarable<NamespaceDecl>, so that we benefit from the improveed
redeclaration deserialization and merging logic provided by
Redeclarable<T>. Otherwise, no functionality change.
As a drive-by fix, collapse the "inline" bit into the low bit of the
original namespace/anonymous namespace, saving 8 bytes per
NamespaceDecl on x86_64.
llvm-svn: 147729
|
| |
|
|
|
|
| |
complicated, but we have to be careful about when exactly captures are marked given PotentiallyPotentiallyEvaluated contexts. (Actually, it's not 100% correct yet, but it's close enough for the moment.)
llvm-svn: 147723
|
| |
|
|
|
|
|
|
|
| |
We already have a more conservative check in the compiler (if the
format string is not a literal, we warn). Still adding it here for
completeness and since this check is stronger - only triggered if the
format string is tainted.
llvm-svn: 147714
|
| |
|
|
|
|
| |
This patch (and some of my other commits related to lambdas) is heavily based off of John Freeman's work-in-progress patches.
llvm-svn: 147706
|
| |
|
|
|
|
|
|
| |
ExprEngine::processCallEnter().
This removes analysis of other translation units, but that was an experimental feature anyway that we will revisit later.
llvm-svn: 147705
|