]>
granicus.if.org Git - clang/log
Daniel Dunbar [Thu, 6 Aug 2009 21:15:33 +0000 (21:15 +0000)]
Add a simple tool for comparing two static analyzer runs, primarily for use from
buildbot.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78336
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 6 Aug 2009 20:49:32 +0000 (20:49 +0000)]
Permit a class to friend its members in C++0x, without restriction.
Permit a class to friend its class members in C++ 98, as long as extensions
are enabled (and even when they aren't, only give an extwarn about it).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78332
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 6 Aug 2009 19:12:38 +0000 (19:12 +0000)]
Set and use Elidable in elimination of copy ctors.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78331
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Thu, 6 Aug 2009 18:05:22 +0000 (18:05 +0000)]
Layout the primary base first in the vtable.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78327
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 6 Aug 2009 17:22:51 +0000 (17:22 +0000)]
After reporting ill-formed copy constructor(12.8.p3)
don't recurs and crash.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78323
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 6 Aug 2009 16:47:53 +0000 (16:47 +0000)]
s/ccc/clang/
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78320
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 6 Aug 2009 16:20:37 +0000 (16:20 +0000)]
When we encounter a dependent type that was parsed before we know that
we were going to enter into the scope of a class template or class
template partial specialization, rebuild that type so that it can
refer to members of the current instantiation, as in code like
template<typename T>
struct X {
typedef T* pointer;
pointer data();
};
template<typename T>
typename X<T>::pointer X<T>::data() { ... }
Without rebuilding the return type of this out-of-line definition, the
canonical return type of the out-of-line definition (a TypenameType)
will not match the canonical return type of the declaration (the
canonical type of T*).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78316
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Thu, 6 Aug 2009 15:50:11 +0000 (15:50 +0000)]
More layout for virtual tables for virtual bases. Still in progress.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78314
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Thu, 6 Aug 2009 14:16:19 +0000 (14:16 +0000)]
Let's remember we want better codegen for these.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78310
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Thu, 6 Aug 2009 14:12:47 +0000 (14:12 +0000)]
Testcase for a recent checkin for vbase layout ordering. I hate to
optimize and check for non-optimal code, but until the frontend is as
powerful as fold...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78309
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Thu, 6 Aug 2009 13:41:24 +0000 (13:41 +0000)]
Layout virtual bases. Work in progress.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78308
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 6 Aug 2009 13:00:08 +0000 (13:00 +0000)]
Add link to LLVM's Getting Started page.
Patch by John Thompson!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78307
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 6 Aug 2009 12:59:58 +0000 (12:59 +0000)]
Silence gcc warning about non-virtual destructors.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78306
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Thu, 6 Aug 2009 12:56:50 +0000 (12:56 +0000)]
I have a dream, one day, we won't need to do this.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78305
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Thu, 6 Aug 2009 12:52:13 +0000 (12:52 +0000)]
Fix spell-o.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78303
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 6 Aug 2009 12:49:15 +0000 (12:49 +0000)]
I forgot adding this header for r78298.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78302
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 6 Aug 2009 12:48:26 +0000 (12:48 +0000)]
Last step of template cleanup: merge *BuilderImpl to *Builder.
Some Builders need further cleanup.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78301
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 6 Aug 2009 10:00:15 +0000 (10:00 +0000)]
Core analysis engine template cleanup step 2:
merge GRCoreEngineImpl and GRCoreEngine.
Introduce a new interface class GRSubEngine as the subengine of GRCoreEngine.
GRExprEngine subclasses GRSubEngine now.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78298
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 6 Aug 2009 09:22:08 +0000 (09:22 +0000)]
Fix comment.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78296
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 6 Aug 2009 06:41:21 +0000 (06:41 +0000)]
Implement transformation of template names within the generic tree
transform, then use the result for template instantiation. The generic
transformation fixes a few issues:
- It copes better with template template parameters and member
templates (when they're implemented).
- The logic used to replace template template parameters with their
arguments is now centralized in TransformDecl, so that it will apply
for other declaration-instantiation steps.
- The error-recovery strategy is normalized now, so that any error
results in a NULL TemplateName.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78292
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 6 Aug 2009 06:28:40 +0000 (06:28 +0000)]
Core analysis engine template cleanup step 2:
merge ExplodedGraphImpl and ExplodedGraph.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78291
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 6 Aug 2009 06:26:40 +0000 (06:26 +0000)]
Update test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78290
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 6 Aug 2009 05:28:30 +0000 (05:28 +0000)]
Implement transformation of nested-name-specifiers within the general
tree transformation. Template instantiation uses this general
transformation rather than implementing its own transformation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78286
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 6 Aug 2009 05:01:36 +0000 (05:01 +0000)]
Fix typo reported in <rdar://problem/
7121409 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78285
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 6 Aug 2009 04:50:20 +0000 (04:50 +0000)]
Refactor RegionStoreManager::RemoveDeadBindings to also scan the bindings of LazyCompoundSVals.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78284
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 6 Aug 2009 04:09:28 +0000 (04:09 +0000)]
Predefine __cplusplus to the right value (199711L), except when in GNU mode.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78283
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 6 Aug 2009 03:41:56 +0000 (03:41 +0000)]
Remove unimplemented methods 'AddRegionView' and 'RemoveRegionView'. They are no longer needed.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78280
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 6 Aug 2009 03:39:20 +0000 (03:39 +0000)]
When profiling an ExplodedNode, don't re-profile the state: they have
already been uniqued.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78279
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 6 Aug 2009 03:17:00 +0000 (03:17 +0000)]
Support nested-name-specifiers for C++ member access expressions, e.g.,
this->Base::foo
from James Porter!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78278
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ryan Flynn [Thu, 6 Aug 2009 03:00:50 +0000 (03:00 +0000)]
add support for FreeBSD's format(printf0,x,y) attribute; allows null format string.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78276
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 6 Aug 2009 02:15:43 +0000 (02:15 +0000)]
First pass at friend semantics.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78274
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 6 Aug 2009 02:14:29 +0000 (02:14 +0000)]
Completely remove the code using region cast.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78273
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 6 Aug 2009 01:47:11 +0000 (01:47 +0000)]
Add additional library paths for Linux distros on mixed 32/64-bit systems.
- Patch by Carl-Daniel Hailfinger.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78272
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 6 Aug 2009 01:41:03 +0000 (01:41 +0000)]
Fix locating the 'lit.cfg' file when running on only a single file in the
current directory.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78271
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 6 Aug 2009 01:32:16 +0000 (01:32 +0000)]
As GRState seems general enough, it is time to merge some template classes
and their impl base classes. This can greatly simply some code of the core
analysis engine. This patch merges ExplodedNodeImpl into ExplodedNode.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78270
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 6 Aug 2009 01:24:27 +0000 (01:24 +0000)]
Fix clang breakage, CGF can be null in this context.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78269
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 6 Aug 2009 01:20:57 +0000 (01:20 +0000)]
Implement lazy "copying" of structures and arrays in RegionStore. While
RegionStore already lazily abstracted the contents of arrays and structs, when
doing an assignment from one array/struct to another we did an explicit
element-wise copy, which resulted in a loss of laziness and huge performance
problem when analyzing many code bases.
Now RegionStoreManager handles such assignments using a new SVal could
'LazyCompoundSVal', which basically means the value of a given struct or array
(a MemRegion*) in a specific state (GRState). When we do a load from a field
whose encompassing struct binds to a LazyCompoundSVal, we essentially do a field
lookup in the original structure. This means we have essentially zero copying of
data for structs/arrays and everything stays lazy.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78268
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 6 Aug 2009 01:02:49 +0000 (01:02 +0000)]
Patch to optimize away copy constructor call when
appropriate.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78267
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 6 Aug 2009 00:50:46 +0000 (00:50 +0000)]
AlisdairM pointed out that this will likely be relaxed in C++0x, so let's
make a note of it in the test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78266
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Thu, 6 Aug 2009 00:38:46 +0000 (00:38 +0000)]
Fixup object layout when we have a primary base (it goes first). Start preping for
virtual base layout.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78265
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Wed, 5 Aug 2009 23:56:26 +0000 (23:56 +0000)]
Add a test for invalid uses of non-static members from nested classes, just
because I was thinking about it.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78262
91177308 -0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 5 Aug 2009 23:18:46 +0000 (23:18 +0000)]
Update for LLVM API change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78259
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 5 Aug 2009 22:59:44 +0000 (22:59 +0000)]
Refactor some bits.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78254
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 5 Aug 2009 22:48:36 +0000 (22:48 +0000)]
Add another test for a recent checkin.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78253
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 5 Aug 2009 22:37:18 +0000 (22:37 +0000)]
Calculate the primary base class better and use that when laying down
the vtable. Still a work in progress.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78252
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 5 Aug 2009 21:52:02 +0000 (21:52 +0000)]
A blank line to separate the two blocks(per Mike comment).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78248
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 5 Aug 2009 19:47:38 +0000 (19:47 +0000)]
Fix -fno-omit-frame-pointer bug Eli noticed.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78233
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 5 Aug 2009 19:24:33 +0000 (19:24 +0000)]
Modified test case to use FileCheck.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78231
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 5 Aug 2009 19:21:58 +0000 (19:21 +0000)]
Get rid of "smart" quotes. Per report on cfe-dev.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78230
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 5 Aug 2009 19:09:24 +0000 (19:09 +0000)]
Use feedback from RegionStoreSubRegionMap::add() to prune off adding a super
region to the worklist used to create the subregion map.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78228
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 5 Aug 2009 19:03:35 +0000 (19:03 +0000)]
Fix canonical type construction for function types with the noreturn
attribute. Fixes PR4865.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78224
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 5 Aug 2009 18:17:32 +0000 (18:17 +0000)]
Handle destruction of temporaries used in default argument
construction of constructor calls.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78222
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 5 Aug 2009 17:03:54 +0000 (17:03 +0000)]
Patch to improve ir-gen for constructors with default argument
expressions and a test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78213
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 5 Aug 2009 14:30:52 +0000 (14:30 +0000)]
Translate -mcmodel=X to -code-model X and pass it to clang-cc. Patch by Pawel Worach!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78190
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 5 Aug 2009 12:11:11 +0000 (12:11 +0000)]
Add support for the -fno-omit-frame-pointer option. Patch by Roman Divacky!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78188
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 5 Aug 2009 05:39:53 +0000 (05:39 +0000)]
Fix a comment that trailed off
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78167
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 5 Aug 2009 05:36:45 +0000 (05:36 +0000)]
Introduce the canonical type smart pointers, and use them in a few places to
tighten up the static type system.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78164
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 5 Aug 2009 05:31:02 +0000 (05:31 +0000)]
Fix a bug in RegionStoreSubRegionManager::add() where multiple subregions wouldn't correctly get registered in the SubRegion map.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78162
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 5 Aug 2009 05:25:18 +0000 (05:25 +0000)]
cgobjcgnu was making invalid common globals.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78161
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 5 Aug 2009 05:20:29 +0000 (05:20 +0000)]
weak globals that are const should get weak_odr linkage.
add a fixme about C++ const.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78159
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 5 Aug 2009 04:56:58 +0000 (04:56 +0000)]
rdar://
7119244 - globals with an explicit section specified don't get
common linkage.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78158
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Wed, 5 Aug 2009 03:45:09 +0000 (03:45 +0000)]
Add test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78150
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Wed, 5 Aug 2009 02:51:59 +0000 (02:51 +0000)]
If the UnaryOperator has non-location type, use its type to create the
constant value. If the UnaryOperator has location type, create the
constant with int type and pointer width.
This fixes the bug that all pointer increments 'p++' evaluated to Unknown.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78147
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 5 Aug 2009 01:22:47 +0000 (01:22 +0000)]
Remove an unused header.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78140
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 5 Aug 2009 00:26:10 +0000 (00:26 +0000)]
Support for use of default argument in constructors.
work in progress.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78132
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 4 Aug 2009 22:27:00 +0000 (22:27 +0000)]
Move the template instantiation logic for template arguments into the
general tree transformation. Also, implement template instantiation
for parameter packs.
In addition, introduce logic to enter the appropriate context for
subexpressions that are not potentially evaluated.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78114
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Tue, 4 Aug 2009 21:58:42 +0000 (21:58 +0000)]
vtable building for simple inheritance. Still in progress.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78110
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Tue, 4 Aug 2009 21:02:39 +0000 (21:02 +0000)]
Canonicalize else.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78102
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Tue, 4 Aug 2009 20:37:29 +0000 (20:37 +0000)]
Test cases for some recent work.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78100
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Tue, 4 Aug 2009 20:06:48 +0000 (20:06 +0000)]
Will I ever get used to CamelCase? Will I ever like capitols for
random variables?
--This line, and those below, will be ignored--
M lib/CodeGen/CGCXX.cpp
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78094
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Tue, 4 Aug 2009 19:48:52 +0000 (19:48 +0000)]
Add armv7 support.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78092
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Tue, 4 Aug 2009 18:18:36 +0000 (18:18 +0000)]
Revert the fix for PR3800, it broke things.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78084
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 4 Aug 2009 17:05:18 +0000 (17:05 +0000)]
Renable "html" indexing by default.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78077
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 4 Aug 2009 17:01:09 +0000 (17:01 +0000)]
Some code refactoring. Be more generous in issuance of warning
on method type mismatches per Chris's comment.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78075
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 4 Aug 2009 16:50:30 +0000 (16:50 +0000)]
Refactor template instantiation for types into a generic tree
transformation template (TreeTransform) that handles the
transformation and reconstruction of AST nodes. Template instantiation
for types is a (relatively small) customization of the generic tree
transformation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78071
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Tue, 4 Aug 2009 16:29:15 +0000 (16:29 +0000)]
Simplify alignment handling in the record builder.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78069
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 4 Aug 2009 04:40:15 +0000 (04:40 +0000)]
lit: Some sample tests, for testing the tester
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78050
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 4 Aug 2009 04:38:31 +0000 (04:38 +0000)]
Fix test case for Darwin10 (which sets ssp), and move to CodeGen/
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78049
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 4 Aug 2009 04:02:57 +0000 (04:02 +0000)]
Update for LLVM API change
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78044
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 4 Aug 2009 01:07:16 +0000 (01:07 +0000)]
Compare matching selectors in current and
super class(s) and warn on any parameter
type mismatch if potentially unsafe.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78029
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 4 Aug 2009 00:58:45 +0000 (00:58 +0000)]
Adjust test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78028
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 4 Aug 2009 00:57:12 +0000 (00:57 +0000)]
Recognize '-M' and '-MM' options.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78027
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 4 Aug 2009 00:55:59 +0000 (00:55 +0000)]
'unlink' file directly instead of invoking system shell.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78026
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 3 Aug 2009 23:45:27 +0000 (23:45 +0000)]
Have scan-build clue off of 'BUGMETAEND' to know when to stop processing an HTML file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78022
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 3 Aug 2009 23:44:55 +0000 (23:44 +0000)]
Emit a special 'BUGMETAEND' comment to aid in the postprocessing of HTML bug reports.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78021
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 3 Aug 2009 23:24:57 +0000 (23:24 +0000)]
Per advice that Doug Gregor gave me several months ago, clean up the
implementation of '#pragma unused' by not constructing intermediate
DeclRefExprs, but instead do the name lookup directly. The
implementation is greatly simplified.
Along the way, degrade '#pragma unused(undeclaredvariable)' to a
warning instead of being a hard error. This implements:
<rdar://problem/
6761874 > [sema] allow #pragma unused to reference undefined variable (with warning)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78019
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 3 Aug 2009 23:22:53 +0000 (23:22 +0000)]
Add a pass-by-value test for the analyzer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78018
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ryan Flynn [Mon, 3 Aug 2009 23:16:15 +0000 (23:16 +0000)]
PR3679: add #pragma weak test file
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78016
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 3 Aug 2009 22:23:24 +0000 (22:23 +0000)]
Add test case testing field sensitivity. Reduced from <rdar://problem/
7114618 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78008
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 3 Aug 2009 21:47:08 +0000 (21:47 +0000)]
Make sure UTF-16 strings end with a 16-bit null (as opposed to 8-bit).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78001
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 3 Aug 2009 21:41:46 +0000 (21:41 +0000)]
Handle disgusting corner case where a byte is loaded from the address of a function.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78000
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 3 Aug 2009 21:20:07 +0000 (21:20 +0000)]
When generating cleanup blocks for Obj-C @finally, mark them as catch all blocks
from the perspective of LLVM exception handling. Otherwise the C++ personality
function may decide not to run them, if it only detects cleanup handlers.
- Test case for this is exceptions.m in llvm-test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77999
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 3 Aug 2009 21:01:21 +0000 (21:01 +0000)]
Regression fix: reset 'DisplayedFunction' when a new function/method decl gets analyzed.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77996
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 3 Aug 2009 20:51:29 +0000 (20:51 +0000)]
assert(nyi) on attempt to destruct an array of objects.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77993
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 3 Aug 2009 20:20:07 +0000 (20:20 +0000)]
ir-gen for destructor calls.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77991
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Mon, 3 Aug 2009 20:12:06 +0000 (20:12 +0000)]
Refactor methods on DeclSpec to take a diagnostic& parameter, and reflect this
elsewhere. Very slightly decouples DeclSpec users from knowing the exact
diagnostics to report, and makes it easier to provide different diagnostics in
some places.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77990
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 3 Aug 2009 19:42:28 +0000 (19:42 +0000)]
Website updates for working with Visual Studio and making patches.
Patch by John Thompson!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77988
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 3 Aug 2009 19:13:25 +0000 (19:13 +0000)]
Minor renaming/refactoring. No change in functionality.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77985
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Mon, 3 Aug 2009 18:47:27 +0000 (18:47 +0000)]
Templatize BadSpecifier and introduce DeclSpec::getSpecifier(T) for the
remaining specifier enums T.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77981
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 3 Aug 2009 17:06:42 +0000 (17:06 +0000)]
Formatting fixes (trailing whitespace, 80-cols, indentation).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77972
91177308 -0d34-0410-b5e6-
96231b3b80d8