]>
granicus.if.org Git - clang/log
Eli Friedman [Fri, 6 Aug 2010 23:41:47 +0000 (23:41 +0000)]
PR7837: For qualified id's, make sure the decl context is complete if not
dependent in ActOnIdExpression. (This issue only shows up with member
operators because an operator is never a type.)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110486
91177308 -0d34-0410-b5e6-
96231b3b80d8
Tom Care [Fri, 6 Aug 2010 22:23:07 +0000 (22:23 +0000)]
Removed IdempotentOperationChecker from default analysis and returned back to a flag (-analyzer-check-idempotent-operations)
- Added IdempotentOperationChecker to experimental analyses for testing purposes
- Updated test cases to explictly call the checker
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110482
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 6 Aug 2010 21:12:58 +0000 (21:12 +0000)]
Fix leaks of ExplicitSpecializationInfo objects by allocating them with 'new (ASTContext)' instead of 'new'.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110474
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 6 Aug 2010 21:12:55 +0000 (21:12 +0000)]
Fix 80 col. violations.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110473
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 6 Aug 2010 21:12:53 +0000 (21:12 +0000)]
Nest variable declaration into into 'if' condition, thus restricting the scope of the variable and condensing the code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110472
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 6 Aug 2010 21:12:49 +0000 (21:12 +0000)]
Use 'GenerateNode()' instead of 'GenerateSink()' when reporting a leak. A leak is not a hard enough bug to stop analyzing a path.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110471
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 6 Aug 2010 16:37:05 +0000 (16:37 +0000)]
Initialize variable to work around warning; unfortunately, there isn't any
way to tell gcc "really, values outside the enum aren't valid".
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110450
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 6 Aug 2010 16:28:55 +0000 (16:28 +0000)]
Finishing up block variable layout API by supporting
union type variables and their nesting inside other
aggregate types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110448
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 6 Aug 2010 14:50:36 +0000 (14:50 +0000)]
The pre-increment/pre-decrement grammar in C++ differs from that in C,
but we were parsing the C grammar. Handle the C++ grammar
appropriately. Fixes PR7794.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110445
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 6 Aug 2010 14:15:26 +0000 (14:15 +0000)]
Remove some incorrect assertions when deduction template arguments in
a template-argument-list. When template template parameters are
involved, we won't already have checked the template-argument-list (it
may not be known yet!). Fixes PR7807.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110444
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 6 Aug 2010 13:50:58 +0000 (13:50 +0000)]
Make sure that we diagnose attribute((overloadable)) functions without
prototypes. Fixes PR7738.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110443
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 6 Aug 2010 12:37:52 +0000 (12:37 +0000)]
Define _INTEGRAL_MAX_BITS for the win32 and win64 targets, from Per Lindén!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110442
91177308 -0d34-0410-b5e6-
96231b3b80d8
Abramo Bagnara [Fri, 6 Aug 2010 12:11:11 +0000 (12:11 +0000)]
Template keyword should not be ignored building a QualifiedTemplateName.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110441
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 6 Aug 2010 12:06:13 +0000 (12:06 +0000)]
Fix the #include search path when reading from stdin, from Jon Simons!
Fixes PR4897.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110440
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 6 Aug 2010 11:44:10 +0000 (11:44 +0000)]
Diagnose the use of "inline" on block-scope function declarations in
C++, from Andrea Nall!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110439
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 6 Aug 2010 11:08:45 +0000 (11:08 +0000)]
Don't pass -avoid-version to Darwin linker
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110438
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 6 Aug 2010 10:14:59 +0000 (10:14 +0000)]
Introduce implicit conversions between AltiVec vectors and GCC
vectors, from Anton Yartsev!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110437
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Fri, 6 Aug 2010 09:47:24 +0000 (09:47 +0000)]
Introduce a new token kind 'cxx_defaultarg_end' to mark the end of C++ default arguments that were part of
lexed method declarations.
This avoid interference with tokens coming after the point where the default arg tokens were 'injected', e.g. for
typedef struct Inst {
void m(int x=0);
} *InstPtr;
when parsing '0' the next token would be '*' and things would be messed up.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110436
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Fri, 6 Aug 2010 06:50:17 +0000 (06:50 +0000)]
Remove ElseScope which is also dead code now.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110433
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Fri, 6 Aug 2010 05:43:55 +0000 (05:43 +0000)]
Remove the DeclaredInCondition bit now that it's no longer used.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110432
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Fri, 6 Aug 2010 05:29:57 +0000 (05:29 +0000)]
Prevent these tests from dirtying the tree with output files that aren't even
used for the test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110431
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 6 Aug 2010 04:20:59 +0000 (04:20 +0000)]
If all nodes are sunk, bail out early. This make the later check for checkersEvaluated really meaningful.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110430
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Fri, 6 Aug 2010 01:24:57 +0000 (01:24 +0000)]
vdup_lane was missing
<rdar://problem/
8278732 >
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110420
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 6 Aug 2010 01:17:25 +0000 (01:17 +0000)]
Attempt to fix uninitialized value warning reported on cfe-commits.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110418
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Fri, 6 Aug 2010 00:46:05 +0000 (00:46 +0000)]
Properly pop out of Objective-C method declarations when they are (ill-formedly)
found within contexts other than the translation unit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110417
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Fri, 6 Aug 2010 00:35:11 +0000 (00:35 +0000)]
Add an environment variable that makes libclang use chaining for PCH.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110414
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 6 Aug 2010 00:04:40 +0000 (00:04 +0000)]
add test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110408
91177308 -0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Thu, 5 Aug 2010 23:47:43 +0000 (23:47 +0000)]
We don't want to support built-ins which aren't needed by the intrinsics. Remove them
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110399
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 5 Aug 2010 23:24:13 +0000 (23:24 +0000)]
Don't assert on a file stream if its state is not tracked. Fix pr7831.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110392
91177308 -0d34-0410-b5e6-
96231b3b80d8
Jordy Rose [Thu, 5 Aug 2010 23:11:30 +0000 (23:11 +0000)]
When checking if a buffer access is valid, first make sure the buffer has a valid Loc. Fixes PR7830.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110390
91177308 -0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Thu, 5 Aug 2010 23:04:58 +0000 (23:04 +0000)]
Fix AVX 256-bit intrinsics headers by using the right cast type while dealing with logical ops
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110389
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 5 Aug 2010 22:02:13 +0000 (22:02 +0000)]
Don't crash when mangling empty anonymous unions. We never actually *need*
these, but it's convenient to mangle them when deferring them (in the 99.99%
case where it's not an anonymous union, of course).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110381
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Thu, 5 Aug 2010 21:22:19 +0000 (21:22 +0000)]
Collect namespaces that need updating in a PCH chain. WIP
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110378
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 5 Aug 2010 21:00:25 +0000 (21:00 +0000)]
Add support for block imported struct variable layout info.
(objc gc and blocks in NeXt runtime).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110377
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 5 Aug 2010 20:39:18 +0000 (20:39 +0000)]
It turns out that linkers (at least, the Darwin linker) don't necessarily
do the right thing with mixed-visibility symbols, so disable the visibility
optimization where that's possible, i.e. with template classes (since it's
possible that an arbitrary template might be subject to an explicit
instantiation elsewhere). 447.dealII actually does this.
I've put the code under an option that's currently not hooked up to anything.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110374
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 5 Aug 2010 20:04:20 +0000 (20:04 +0000)]
fix the va_list definition for vc++64, patch by Cameron Esfahani!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110370
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Thu, 5 Aug 2010 18:21:25 +0000 (18:21 +0000)]
Write various C++-specific records to chained PCHs. Tests will come later.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110357
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 5 Aug 2010 18:11:10 +0000 (18:11 +0000)]
Argument evaluation order is not guaranteed. Split these out to force an order.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110354
91177308 -0d34-0410-b5e6-
96231b3b80d8
Tom Care [Thu, 5 Aug 2010 17:53:44 +0000 (17:53 +0000)]
Fixed logic error in UnreachableCodeChecker's marking algorithm that would sometimes allow for multiple sequential statements to be flagged.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110353
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 5 Aug 2010 17:39:44 +0000 (17:39 +0000)]
Fix a major bug with -ftrapv and ++/--. Patch by David Keaton!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110347
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 5 Aug 2010 17:13:11 +0000 (17:13 +0000)]
Allow multiple __declspec attributes after a class-key.
Patch by Francois Pichet!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110344
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 5 Aug 2010 16:13:18 +0000 (16:13 +0000)]
For now skip over aggregate non-byref block variables.
(objc gc specific).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110340
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 5 Aug 2010 15:52:12 +0000 (15:52 +0000)]
Trying to unbreak buildbot.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110339
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 5 Aug 2010 15:03:30 +0000 (15:03 +0000)]
Revert r110317, and add a comment why the assertion is not an invariant.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110330
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 5 Aug 2010 10:15:45 +0000 (10:15 +0000)]
Flip the switch to use OffsetOfExpr unconditionally; feel free to revert if
this breaks something.
I'll wait a few days before cleaning out UnaryOperator::OffsetOf.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110328
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 5 Aug 2010 10:11:36 +0000 (10:11 +0000)]
PR7769: Fix references to anonymous structs/unions in base classes in
offsetof expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110327
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 5 Aug 2010 09:58:49 +0000 (09:58 +0000)]
Add IRGen support for non-constant OffsetOfExpr.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110326
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Thu, 5 Aug 2010 09:48:16 +0000 (09:48 +0000)]
Store the pending implicit instantiations in the PCH and perform them at the end of the translation unit that
included the PCH, as God intended.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110324
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Thu, 5 Aug 2010 09:48:08 +0000 (09:48 +0000)]
Support #pragma weak for PCH.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110323
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Thu, 5 Aug 2010 09:47:59 +0000 (09:47 +0000)]
Make sure C++ variable definitions are actually passed to the consumer when loaded from PCH.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110322
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 5 Aug 2010 09:43:11 +0000 (09:43 +0000)]
Make checker recognize OffsetOfExpr as a form of __builtin_offsetof.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110320
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 5 Aug 2010 09:09:23 +0000 (09:09 +0000)]
Give clang_codeCompleteAt() an "options" parameter, and add a new
flags enumeration + default-generating function that allows
code-completion to be customized via the libclang API.
Plus, turn on spell-checking when performing code completion.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110319
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 5 Aug 2010 09:05:08 +0000 (09:05 +0000)]
TDK_InconsistentQuals is really totally different from TDK_Inconsistent.
Rename it to TDK_Underqualified to avoid this sort of confusion and give it
its own diagnostic.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110318
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 5 Aug 2010 07:38:23 +0000 (07:38 +0000)]
Turn the predicate into an assertion. When could the unequal case happen?
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110317
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 5 Aug 2010 07:00:53 +0000 (07:00 +0000)]
Tests for #pragma GCC visibility.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110316
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 5 Aug 2010 06:57:20 +0000 (06:57 +0000)]
Implement #pragma GCC visibility.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110315
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Thu, 5 Aug 2010 06:27:49 +0000 (06:27 +0000)]
Remove the warning for variables declared in the if-expression being used in
the else clause. The problem is that it's overly zealous and will respond to
uses in assignments, or after assignments. We should bring this back once we
can do it right. Fixes PR7100.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110314
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 5 Aug 2010 05:30:45 +0000 (05:30 +0000)]
Permit template argument deduction to add qualifiers within ObjC object
pointers like it can with normal and member pointers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110313
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 5 Aug 2010 04:58:04 +0000 (04:58 +0000)]
operator<< on a DiagnosticBuilder should *always* output exactly one thing.
Null template arguments are bad, but they're better than crashing with an
argument mismatch.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110312
91177308 -0d34-0410-b5e6-
96231b3b80d8
Jordy Rose [Thu, 5 Aug 2010 03:33:56 +0000 (03:33 +0000)]
Tweak GRState::unbindLoc to use makeWithStore, and make sure it's only called for non-region locations.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110310
91177308 -0d34-0410-b5e6-
96231b3b80d8
Jordy Rose [Thu, 5 Aug 2010 03:28:45 +0000 (03:28 +0000)]
Remove InvalidateRegion from stores, since it's no longer called from outside.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110309
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Thu, 5 Aug 2010 03:16:33 +0000 (03:16 +0000)]
Convert this file to not have Windows line endings -- likely committed from
Windows without svn:eol-style=native.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110308
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 5 Aug 2010 02:57:44 +0000 (02:57 +0000)]
Add support for -Woverlength-strings.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110305
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 5 Aug 2010 02:54:05 +0000 (02:54 +0000)]
Preserve calling convention etc. across template instantiations.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110304
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 5 Aug 2010 02:49:48 +0000 (02:49 +0000)]
Get rid of isObjectType; when C++ says "object type", it generally
just means "not a function type", not "not a function type or void". This
changes behavior slightly, but generally in a way which accepts more code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110303
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Thu, 5 Aug 2010 01:21:19 +0000 (01:21 +0000)]
Drop an unjustified limitation from Type::isObjectType(). Fixes PR7801 and doesn't seem to break anything.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110295
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Thu, 5 Aug 2010 00:45:34 +0000 (00:45 +0000)]
Remove a redundant and broken check. Fixes PR7810.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110294
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 5 Aug 2010 00:19:48 +0000 (00:19 +0000)]
Clean up of my last patch.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110290
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 5 Aug 2010 00:19:24 +0000 (00:19 +0000)]
Correctly handle 'Class<...>' when examining Cocoa conventions in the static analyzer. Fixes a crash reported in <rdar://problem/
8272168 >. Patch by Henry Mason!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110289
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 5 Aug 2010 00:03:46 +0000 (00:03 +0000)]
Remove bonehead redeclaration.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110288
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 4 Aug 2010 23:55:24 +0000 (23:55 +0000)]
Block variable layout bitmap API generation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110287
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 4 Aug 2010 23:54:30 +0000 (23:54 +0000)]
Fix CFGBuilder to not blow out the stack when processing deeply nested CaseStmts. Fixes <rdar://problem/
8268753 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110286
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Wed, 4 Aug 2010 23:46:35 +0000 (23:46 +0000)]
Extend the visibility-hidden optimization to linkonce_odr thunks for
functions with in-line definitions, since such thunks will be emitted at any
use of the function.
Completes the feature work for rdar://problem/
7523229 .
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110285
91177308 -0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Wed, 4 Aug 2010 22:56:42 +0000 (22:56 +0000)]
Logical AVX instrinsics can be matched directly, no need to use builtins here.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110271
91177308 -0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Wed, 4 Aug 2010 22:29:13 +0000 (22:29 +0000)]
Add -mavx and -mno-avx command line support
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110265
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Wed, 4 Aug 2010 22:21:29 +0000 (22:21 +0000)]
Activate selectors in chained PCH. Chained PCH now works for Objective-C.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110262
91177308 -0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Wed, 4 Aug 2010 22:03:36 +0000 (22:03 +0000)]
Add AVX intrinsics header
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110253
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Wed, 4 Aug 2010 21:22:45 +0000 (21:22 +0000)]
Bring stats for the method pool back.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110247
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Wed, 4 Aug 2010 20:40:17 +0000 (20:40 +0000)]
Implement per-file reading of the selector table. This disables statistics about method pool hits for the moment.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110245
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 4 Aug 2010 20:01:07 +0000 (20:01 +0000)]
Teach SemaChecking::CheckReturnStackAddr about ImplicitCastExprs that convert values to an lvalue. This allows us to warn (again) about returning references to stack variables. (fixes PR 7812).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110242
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 4 Aug 2010 18:44:59 +0000 (18:44 +0000)]
More objc block variable layout info. work.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110239
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 4 Aug 2010 18:23:15 +0000 (18:23 +0000)]
Add CFGStmtMap, which defines a mapping from Stmt* to CFGBlock*. The immediate intended use is in the unreachable code analysis.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110230
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Wed, 4 Aug 2010 18:21:41 +0000 (18:21 +0000)]
When chaining, only write interesting selectors to the PCH.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110229
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Wed, 4 Aug 2010 17:20:04 +0000 (17:20 +0000)]
Store the IDs of selectors in the PCH file explicitly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110219
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 4 Aug 2010 17:07:00 +0000 (17:07 +0000)]
When performing in-process code completion, don't free the remapped
file buffers until the code completion results are destroyed;
diagnostics may end up referring into the source.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110216
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 4 Aug 2010 16:57:49 +0000 (16:57 +0000)]
Some early work for providing block layout info.
for objective-c/c++ blocks (NeXt runtime).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110213
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 4 Aug 2010 16:47:14 +0000 (16:47 +0000)]
Add code-completion support directly to ASTUnit, which performs code
completion within the translation unit using the same command-line
arguments for parsing the translation unit. Eventually, we'll reuse
the precompiled preamble to improve code-completion performance, and
this also gives us a place to cache results.
Expose this function via the new libclang function
clang_codeCompleteAt(), which performs the code completion within a
CXTranslationUnit. The completion occurs in-process
(clang_codeCompletion() runs code completion out-of-process).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110210
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Wed, 4 Aug 2010 08:34:44 +0000 (08:34 +0000)]
Emit standard-library RTTI with external linkage, not weak_odr.
Apply hidden visibility to most RTTI; libstdc++ does not rely on exact
pointer equality for the type info (just the type info names). Apply
the same optimization to RTTI that we do to vtables.
Fixes PR5962.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110192
91177308 -0d34-0410-b5e6-
96231b3b80d8
Jordy Rose [Wed, 4 Aug 2010 07:10:57 +0000 (07:10 +0000)]
Change the checker callback cache in GRExprEngine to be more compact (and IMHO a little easier to understand), and add the same sort of caching for EvalAssume (tied for least-used callback), mostly as proof-of-concept.
Before we go further with these, we should figure out a way to reuse the visit-and-cache code in CheckerVisit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110191
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 4 Aug 2010 06:55:48 +0000 (06:55 +0000)]
Accept and ignore (for now) -funroll-loops.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110190
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Wed, 4 Aug 2010 06:38:15 +0000 (06:38 +0000)]
Extend the hidden-visibility vtables optimization to template classes that
haven't been explicitly instantiated.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110189
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Wed, 4 Aug 2010 05:59:32 +0000 (05:59 +0000)]
Some more correctness fixes and code-size optimizations for fragile-ABI
ObjC exceptions:
- don't enter a try for the catch blocks unless there's a finally
- put the setjmp buffer in the locals set for liveness reasons
- dump the sync object into an alloca in the locals set for liveness reasons
Some of this can go away if the backend starts to properly calculate liveness
in the presence of setjmp (which would also be a *much* stabler solution).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110188
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 4 Aug 2010 05:53:38 +0000 (05:53 +0000)]
When we try (but fail) to build a precompiled preamble, wait for a
short "cooling off" period (defaulting to 5 reparses) before trying to
build a precompiled preamble again. Previously, if we failed to build
the precompiled preamble at any time, we just gave up the whole
charade any never tried again.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110187
91177308 -0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Wed, 4 Aug 2010 01:11:26 +0000 (01:11 +0000)]
Add more AVX 256-bit intrinsics and test cases for them
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110178
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Wed, 4 Aug 2010 01:07:02 +0000 (01:07 +0000)]
Add a test case for P%7346, which was fixed by not doing the operator
delete lookup until the end of the class definition.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110176
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Wed, 4 Aug 2010 01:04:25 +0000 (01:04 +0000)]
Only look up an 'operator delete' on the definition of a destructor, not on
a declaration.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110175
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Wed, 4 Aug 2010 00:31:26 +0000 (00:31 +0000)]
Look through using declarations when deciding whether to use an operator
delete for a virtual destructor. Diagnose ambiguities.
Fixes PR7803.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110173
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Tue, 3 Aug 2010 22:49:45 +0000 (22:49 +0000)]
Fix a warning on a test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110165
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Tue, 3 Aug 2010 22:46:07 +0000 (22:46 +0000)]
Do a very simple pass over every function we emit to infer whether we can
mark it nounwind based on whether it contains any non-nounwind calls.
<rdar://problem/
8087431 >
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110163
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Aug 2010 22:13:56 +0000 (22:13 +0000)]
add a hack for visual studio, fixing PR7796
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110161
91177308 -0d34-0410-b5e6-
96231b3b80d8