| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Most of the code guarded with ANDROIDEABI are not
ARM-specific, and having no relation with arm-eabi.
Thus, it will be more natural to call this
environment "Android" instead of "ANDROIDEABI".
Note: We are not using ANDROID because several projects
are using "-DANDROID" as the conditional compilation
flag.
llvm-svn: 163088
|
| |
|
|
|
|
| |
Also a minor fix to __except printing in StmtPrinter.cpp. Thanks to Aaron Ballman for review.
llvm-svn: 163083
|
| |
|
|
| |
llvm-svn: 163032
|
| |
|
|
|
|
| |
instead of aliasing to "struct" which had some incorrect behaviour. Patch by David Robins.
llvm-svn: 163013
|
| |
|
|
|
|
|
|
|
| |
(__builtin_* etc.) so that it isn't possible to take their address.
Specifically, introduce a new type to represent a reference to a builtin
function, and a new cast kind to convert it to a function pointer in the
operand of a call. Fixes PR13195.
llvm-svn: 162962
|
| |
|
|
|
|
| |
non-pointer types with a pointer representation correctly. PR13660.
llvm-svn: 162862
|
| |
|
|
| |
llvm-svn: 162796
|
| |
|
|
| |
llvm-svn: 162787
|
| |
|
|
|
|
|
|
| |
AsmStmts. This function is only used by GCCAsmStmts, however. Constraints need
to be properly computed before MSAsmStmts can use EmitAsmStmt. No functional
change intended.
llvm-svn: 162776
|
| |
|
|
|
|
|
| |
- The increment needs to be signed value to preserve the original value when
its data type is larger than 64-bit integer.
llvm-svn: 162766
|
| |
|
|
|
|
| |
More work towards unifying asm stmt codegen.
llvm-svn: 162712
|
| |
|
|
|
|
| |
change intended.
llvm-svn: 162710
|
| |
|
|
|
|
| |
Suggested by Roman Divacky.
llvm-svn: 162702
|
| |
|
|
|
|
|
|
| |
really need the store.
This avoids emitting many dead GEPs for large zero-initialized arrays.
llvm-svn: 162701
|
| |
|
|
|
|
|
| |
coding standards. Also, add stub for MSAsmStmt class as part of unifying
codegen logic for AsmStmts.
llvm-svn: 162696
|
| |
|
|
|
|
| |
array new with a non-trivial constructor. Pointed out in PR13380.
llvm-svn: 162643
|
| |
|
|
| |
llvm-svn: 162642
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
by this mode, and also check for signed left shift overflow. The rules for the
latter are a little subtle:
* neither C89 nor C++98 specify the behavior of a signed left shift at all
* in C99 and C11, shifting a 1 bit into the sign bit has undefined behavior
* in C++11, with core issue 1457, shifting a 1 bit *out* of the sign bit has
undefined behavior
As of this change, we use the C99 rules for all C language variants, and the
C++11 rules for all C++ language variants. Once we have individual
-fcatch-undefined-behavior= flags, this should be revisited.
llvm-svn: 162634
|
| |
|
|
|
|
| |
No functional change intended.
llvm-svn: 162632
|
| |
|
|
| |
llvm-svn: 162626
|
| |
|
|
|
|
|
|
|
| |
CodeGen option to a LangOpt option. In turn, hoist the guard into the parser
so that we avoid the new (and fairly unstable) Sema/AST/CodeGen logic. This
should restore the behavior of clang to that prior to r158325.
<rdar://problem/12163681>
llvm-svn: 162602
|
| |
|
|
| |
llvm-svn: 162575
|
| |
|
|
| |
llvm-svn: 162568
|
| |
|
|
|
|
| |
No functionality change.
llvm-svn: 162552
|
| |
|
|
|
|
|
|
| |
* when checking that a pointer or reference refers to appropriate storage for a type, also check the alignment and perform a null check
* check that references are bound to appropriate storage
* check that 'this' has appropriate storage in member accesses and member function calls
llvm-svn: 162523
|
| |
|
|
| |
llvm-svn: 162506
|
| |
|
|
|
|
| |
ms-style inline asms.
llvm-svn: 162463
|
| |
|
|
| |
llvm-svn: 162452
|
| |
|
|
|
|
| |
Patch by Niels Grewe!
llvm-svn: 162441
|
| |
|
|
| |
llvm-svn: 162440
|
| |
|
|
|
|
|
| |
of a pointer for builtin emission, instead of just depending on the type of the
pointee. <rdar://problem/11314941>.
llvm-svn: 162425
|
| |
|
|
|
|
|
| |
The parser still can't handle all cases, so fall back to emitting a simple
MSAsmStmt if we get into trouble.
llvm-svn: 162382
|
| |
|
|
| |
llvm-svn: 162361
|
| |
|
|
|
|
| |
PR9673
llvm-svn: 162285
|
| |
|
|
|
|
| |
initialized globals. Patch by Reid Watson, reviewed by Richard Smith
llvm-svn: 162259
|
| |
|
|
|
|
|
|
|
|
|
| |
to overwrite objects that might have been allocated into the type's
tail padding. This patch is missing some potential optimizations where
the destination is provably a complete object, but it's necessary for
correctness.
Patch by Jonathan Sauer.
llvm-svn: 162254
|
| |
|
|
|
|
|
|
| |
diagnostics for bad deployment targets and adding a few
more predicates. Includes a patch by Jonathan Schleifer
to enable ARC for ObjFW.
llvm-svn: 162252
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
First, when synthesizing an explicitly strong/retain/copy property
of Class type, don't pretend during compatibility checking that the
property is actually assign. Instead, resolve incompatibilities
by secretly changing the type of *implicitly* __unsafe_unretained
Class ivars to be strong. This is moderately evil but better than
what we were doing.
Second, when synthesizing the setter for a strong property of
non-retainable type, be sure to use objc_setProperty. This is
possible when the property is decorated with the NSObject
attribute. This is an ugly, ugly corner of the language, and
we probably ought to deprecate it.
The first is rdar://problem/12039404; the second was noticed by
inspection while fixing the first.
llvm-svn: 162244
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Author: Eric Christopher <echristo@apple.com>
Date: Thu Aug 16 23:50:46 2012 +0000
Add some caching here for the builtin types.
rdar://12117935
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162066 91177308-0d34-0410-b5e6-96231b3b80d8
after fixing a thinko.
llvm-svn: 162243
|
| |
|
|
|
|
|
|
| |
Make isa part of objc_object at metadata generation time.
Noticed on inspection.
llvm-svn: 162145
|
| |
|
|
|
|
| |
bots back.
llvm-svn: 162080
|
| |
|
|
|
|
|
|
| |
reference, so &* on an empty WeakVH binds a reference to a dereferenced null
pointer. So don't do that; we have a perfectly good implicit conversion to
Value*.
llvm-svn: 162079
|
| |
|
|
|
|
| |
rdar://12117935
llvm-svn: 162066
|
| |
|
|
|
|
| |
Noticed on inspection.
llvm-svn: 162062
|
| |
|
|
|
|
| |
Add test case.
llvm-svn: 162002
|
| |
|
|
|
|
| |
Based on a patch by Yin Ma!
llvm-svn: 161998
|
| |
|
|
|
|
|
| |
Changed the alignment of an LValue to be 64 bits so that we can handle
alignment values up to half of a 64-bit address space.
llvm-svn: 161971
|
| |
|
|
|
|
|
| |
This is a reapplication of r161914 now that the scoping issue has been resolved
in r161966.
llvm-svn: 161967
|
| |
|
|
| |
llvm-svn: 161931
|
| |
|
|
| |
llvm-svn: 161914
|