| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
enum for scanf checking.
llvm-svn: 108898
|
| |
|
|
|
|
|
| |
analagous enum in analyze_scanf. This is prep for refactoring the logic for handling
ConversionSpecifiers for both scanf and printf.
llvm-svn: 108897
|
| |
|
|
|
|
| |
functionality change.
llvm-svn: 108896
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
like this:
void *test(long N) {
return new int[N][42][42];
}
the loop generates two dead mul instructions:
%tmp = load i64* %N.addr ; <i64> [#uses=2]
%0 = mul i64 %tmp, 7056 ; <i64> [#uses=1]
%1 = mul i64 %tmp, 42 ; <i64> [#uses=1]
%2 = mul i64 %1, 42 ; <i64> [#uses=0]
%call = call noalias i8* @_Znam(i64 %0) ; <i8*> [#uses=1]
The scale of these multiplies is already handled by the typesize stuff.
llvm-svn: 108884
|
| |
|
|
|
|
|
| |
EmitCXXNewAllocSize. This code uses IRBuilder, which does
constant folding already.
llvm-svn: 108882
|
| |
|
|
|
|
| |
ObjC ABI version 2 this time.
llvm-svn: 108847
|
| |
|
|
|
|
| |
standard's minimum requirements.
llvm-svn: 108837
|
| |
|
|
|
|
|
|
|
|
|
| |
detail and introduce
FunctionTemplateDecl::findSpecialization.
Redeclarations of specializations will not cause the previous decl to be removed from the set,
the set will keep the canonical decl. findSpecialization will return the most recent redeclaration.
llvm-svn: 108834
|
| |
|
|
|
|
|
|
| |
read from PCH,
is determined by a isCanonicalDecl check.
llvm-svn: 108833
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
implementation detail (InsertPos
leaks though) and add methods to its interface for adding/finding specializations.
Simplifies its users a bit and we no longer need to replace specializations in the folding set with
their redeclarations. We just return the most recent redeclarations.
As a bonus, it fixes http://llvm.org/PR7670.
llvm-svn: 108832
|
| |
|
|
|
|
| |
Patch by Sascha Wildner.
llvm-svn: 108830
|
| |
|
|
| |
llvm-svn: 108811
|
| |
|
|
| |
llvm-svn: 108807
|
| |
|
|
| |
llvm-svn: 108804
|
| |
|
|
| |
llvm-svn: 108803
|
| |
|
|
| |
llvm-svn: 108801
|
| |
|
|
| |
llvm-svn: 108800
|
| |
|
|
| |
llvm-svn: 108785
|
| |
|
|
| |
llvm-svn: 108764
|
| |
|
|
|
|
| |
PCHReader::getDelsCursor() into its sole caller and remove it. This reduces the attack surface of multiple PCH files towards code outside the PCH implementation.
llvm-svn: 108763
|
| |
|
|
| |
llvm-svn: 108762
|
| |
|
|
| |
llvm-svn: 108760
|
| |
|
|
|
|
| |
protocols (Radar 8191774).
llvm-svn: 108758
|
| |
|
|
|
|
|
|
| |
positional arguments, since
these don't actually consume an argument.
llvm-svn: 108757
|
| |
|
|
|
|
|
|
| |
reparses an already-parsed translation unit. At the moment it's just a
convenience function, but we hope to use it for performance
optimizations.
llvm-svn: 108756
|
| |
|
|
| |
llvm-svn: 108750
|
| |
|
|
|
|
| |
sections. rdar://8207705
llvm-svn: 108749
|
| |
|
|
|
|
| |
record exists, it has to be the first thing in the PCH file.
llvm-svn: 108748
|
| |
|
|
|
|
| |
<rdar://problem/8204052>.
llvm-svn: 108742
|
| |
|
|
| |
llvm-svn: 108741
|
| |
|
|
|
|
| |
-mmacosx-version-min works inside a -Xarch_ flag.
llvm-svn: 108712
|
| |
|
|
| |
llvm-svn: 108711
|
| |
|
|
|
|
| |
supercedes it
llvm-svn: 108708
|
| |
|
|
|
|
| |
and a minor cleanup.
llvm-svn: 108707
|
| |
|
|
| |
llvm-svn: 108694
|
| |
|
|
|
|
|
| |
A ParmVarDecl instantiated from a FunctionProtoType may have Record as DeclContext,
in which case isStaticDataMember() will erroneously return true.
llvm-svn: 108692
|
| |
|
|
| |
llvm-svn: 108676
|
| |
|
|
| |
llvm-svn: 108670
|
| |
|
|
| |
llvm-svn: 108669
|
| |
|
|
| |
llvm-svn: 108668
|
| |
|
|
|
|
|
|
|
| |
taking it in pieces.
- Fixes a problem where the Clang executable path was not initialized properly
on Win32, because sys::Path::getBasename() doesn't do what I always think it
does. Imagine that, a sys::Path interface that is confusing!
llvm-svn: 108667
|
| |
|
|
| |
llvm-svn: 108659
|
| |
|
|
|
|
| |
fixed return types.
llvm-svn: 108657
|
| |
|
|
|
|
|
| |
linkage specification. Not sure if this is the ideal fix, but I'm reasonably
sure it's correct vs. gcc.
llvm-svn: 108656
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
template
The rationale is that we are copying the entire definition including
parameter names which may differ between the declaration and the
definition.
This is particularly important if any parameters are unnamed in the
declaration, as a DeclRef to an unnamed ParmVarDecl would cause the
pretty printer to produce invalid output.
llvm-svn: 108643
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
their call expressions synthetically have the "deduced" types based on their
first argument. We only insert conversions in the AST for arguments whose
values require conversion to match the value type expected. This keeps PR7600
closed by maintaining the return type, but avoids assertions due to unexpected
implicit casts making the type unsigned (test case added from Daniel).
The magic is moved into the codegen for the atomic builtin which inserts the
casts as needed at the IR level to raise the type to an integer suitable for
the LLVM intrinsic. This shouldn't cause any real change in functionality, but
now we can make the builtin be more truly polymorphic.
llvm-svn: 108638
|
| |
|
|
| |
llvm-svn: 108633
|
| |
|
|
|
|
| |
try to evaluate the initializer as a constant.
llvm-svn: 108632
|
| |
|
|
|
|
|
| |
incomplete union (PR5692) and incomplete enum, and fixes obscure
accepts-invalid on cast to incomplete struct.
llvm-svn: 108630
|
| |
|
|
| |
llvm-svn: 108627
|