]>
granicus.if.org Git - clang/log
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
Eli Friedman [Mon, 3 Aug 2009 09:07:06 +0000 (09:07 +0000)]
Fix assertion crash. I don't have a testcase, but the fix is pretty
obviously correct.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77969
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Mon, 3 Aug 2009 07:23:22 +0000 (07:23 +0000)]
add a bunch of routine methods to AnalysisContext.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77961
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 3 Aug 2009 05:29:22 +0000 (05:29 +0000)]
lit: Don't treat '\' as an escape in unquoted strings, on Win32. This turns out
to not be a very good idea.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77957
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 3 Aug 2009 05:14:16 +0000 (05:14 +0000)]
Tweak diagnostic wording; patch by Sean Hunt.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77955
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 3 Aug 2009 04:21:41 +0000 (04:21 +0000)]
Update for LLVM API change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77952
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 3 Aug 2009 04:04:27 +0000 (04:04 +0000)]
Update for LLVM API change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77947
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Mon, 3 Aug 2009 03:27:37 +0000 (03:27 +0000)]
now we can let AnalysisManager to own the PathDiagnosticClient.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77945
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Mon, 3 Aug 2009 03:13:46 +0000 (03:13 +0000)]
Create only one AnalysisManager for each translation unit. In HandleCode(),
reset the current analysis context of the AnalysisManager.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77943
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Mon, 3 Aug 2009 02:52:14 +0000 (02:52 +0000)]
Add LocationContext classes to enable creation of cross function
ProgramPoints. ProgramPoints will refer to them in the furture.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77941
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 3 Aug 2009 01:28:59 +0000 (01:28 +0000)]
Driver/OpenBSD: Improve ld options.
- Patch by Jonathan Gray!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77935
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sun, 2 Aug 2009 23:46:29 +0000 (23:46 +0000)]
Produce a warning that partial ordering of function templates is not yet supported
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77928
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sun, 2 Aug 2009 23:24:31 +0000 (23:24 +0000)]
Keep track of the template arguments deduced when matching a class
template partial specialization. Then, use those template arguments
when instantiating members of that class template partial
specialization. Fixes PR4607.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77925
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 2 Aug 2009 21:34:52 +0000 (21:34 +0000)]
Whoops, meant to delete this.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77916
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 2 Aug 2009 21:18:22 +0000 (21:18 +0000)]
use CodeGenModule::EmitNullConstant in a couple of places.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77915
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 2 Aug 2009 19:07:59 +0000 (19:07 +0000)]
Use the correct cast kind for dynamic_cast.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77905
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sun, 2 Aug 2009 18:26:21 +0000 (18:26 +0000)]
Update C++ open projects list
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77901
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sun, 2 Aug 2009 18:22:38 +0000 (18:22 +0000)]
We have fairly good support for namespaces, now. Namespace aliases are parsed correctly
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77900
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sun, 2 Aug 2009 12:12:11 +0000 (12:12 +0000)]
Remove duplicated colon.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77891
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sun, 2 Aug 2009 05:43:14 +0000 (05:43 +0000)]
Fix regression caused by recent refactoring where HTML and plist files would not get flushed out when using '-disable-free'.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77882
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sun, 2 Aug 2009 05:42:46 +0000 (05:42 +0000)]
Include '-o' arguments in verbose output.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77881
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 2 Aug 2009 05:38:25 +0000 (05:38 +0000)]
linkify IRC
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77880
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 2 Aug 2009 05:36:37 +0000 (05:36 +0000)]
rearrange side bar, add link to IRC info.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77879
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sun, 2 Aug 2009 05:15:23 +0000 (05:15 +0000)]
Remove RegionViews and RegionCasts. These are no longer used.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77876
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sun, 2 Aug 2009 05:00:15 +0000 (05:00 +0000)]
RegionStoreManager::RemoveDeadBindings() now removes dead 'default' bindings as well.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77875
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sun, 2 Aug 2009 04:45:08 +0000 (04:45 +0000)]
Generalize the interface of 'StoreManager::RemoveDeadBindings()' to manipulate the entire GRState, not just the Store.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77870
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 2 Aug 2009 04:17:43 +0000 (04:17 +0000)]
Remove old code that was causing the new test to fail.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77862
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sun, 2 Aug 2009 04:12:53 +0000 (04:12 +0000)]
Fix regression in StoreManager::CastRegion() to always treat casts to
'void*' (or 'const void*') as an identity transformation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77860
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 2 Aug 2009 03:40:19 +0000 (03:40 +0000)]
Don't evaluate inout constraints twice. Fixes PR3800.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77854
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 2 Aug 2009 01:48:29 +0000 (01:48 +0000)]
Compute end_overridden_methods in a way that keeps ENABLE_EXPENSIVE_CHECKS
happy.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77850
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 2 Aug 2009 01:47:54 +0000 (01:47 +0000)]
Tweak svn:ignore
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77849
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 2 Aug 2009 01:43:57 +0000 (01:43 +0000)]
Use Twine instead of utostr
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77848
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 1 Aug 2009 23:40:20 +0000 (23:40 +0000)]
Avoid accessing invalid std::vector element; this makes clang
ENABLE_EXPENSIVE_CHECKS clean on x86_64-.*-darwin10.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77831
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 1 Aug 2009 23:18:27 +0000 (23:18 +0000)]
lit: Catch (internal) exceptions when using --no-sh.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77830
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sat, 1 Aug 2009 23:11:24 +0000 (23:11 +0000)]
Fix a minor issue with unions in the new struct building code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77829
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 1 Aug 2009 23:09:12 +0000 (23:09 +0000)]
lit: Fix thinko in finding config file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77828
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sat, 1 Aug 2009 21:46:03 +0000 (21:46 +0000)]
Additional AuroraUX header path.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77811
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sat, 1 Aug 2009 20:48:04 +0000 (20:48 +0000)]
Don't error on C++ linkage; if we don't support that, there are
serious issues :)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77800
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sat, 1 Aug 2009 17:10:21 +0000 (17:10 +0000)]
Add temp C++ include path for AuroraUX; patch by Edward O'Callaghan.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77786
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 1 Aug 2009 10:18:01 +0000 (10:18 +0000)]
lit: Add internal script execution.
- Off by default, you can test it with the --no-sh argument.
- For me it works for all but 3 tests, but there a number of FIXMEs and QOI
issues:
o Redirection isn't completely accurate -- in practice it can't portably
be, but I would like to error out if someone writes something which isn't
going to work. This is the source of the 3 test failures.
o Some pipe configurations have the potential to deadlock.
o It is significantly slower when multithreaded. I believe this is due to
locking happening under the hood, there is probably some kind of solution
but I haven't investigated yet.
o Log output is ugly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77784
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 1 Aug 2009 09:41:09 +0000 (09:41 +0000)]
lit: Two more sh lex/parse bugs (but its so simple!)
- Empty arguments weren't handled correctly.
- Escapes outside quoted strings weren't handled.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77783
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 1 Aug 2009 06:17:29 +0000 (06:17 +0000)]
This is a fairly large patch, which resulted from a cascade of changes
made to RegionStore (and related classes) in order to handle some
analyzer failures involving casts and manipulation of symbolic memory.
The root of the change is in StoreManager::CastRegion(). Instead of
using ad hoc heuristics to decide when to layer an ElementRegion on a
casted MemRegion, we now always layer an ElementRegion when the cast
type is different than the original type of the region. This carries
the current cast information associated with a region around without
resorting to the error prone recording of "casted types" in GRState.
Along with this new policy of layering ElementRegions, I added a new
algorithm to strip away existing ElementRegions when they simply
represented casts of a base memory object. This algorithm computes
the raw "byte offset" that an ElementRegion represents from the base
region, and allows the new ElementRegion to be based off that offset.
The added benefit is that this naturally handles a series of casts of
a MemRegion without building up a set of redundant ElementRegions
(thus canonicalizing the region view).
Other related changes that cascaded from this one (as tests were
failing in RegionStore):
- Revamped RegionStoreManager::InvalidateRegion() to completely remove
all bindings and default values from a region and all subregions.
Now invalidated fields are not bound directly to new symbolic
values; instead the base region has a "default" symbol value from
which "derived symbols" can be created. The main advantage of this
approach is that it allows us to invalidate a region hierarchy and
then lazily instantiate new values no matter how deep the hierarchy
went (i.e., regardless of the number of field accesses,
e.g. x->f->y->z->...). The previous approach did not do this.
- Slightly reworked RegionStoreManager::RemoveDeadBindings() to also
incorporate live symbols and live regions that do not have direct
bindings but also have "default values" used for lazy instantiation.
The changes to 'InvalidateRegion' revealed that these were necessary
in order to achieve lazy instantiation of values in the region store
with those bindings being removed too early.
- The changes to InvalidateRegion() and RemoveDeadBindings() revealed
a serious bug in 'getSubRegionMap()' where not all region -> subregion
relationships involved in actually bindings (explicit and implicit)
were being recorded. This has been fixed by using a worklist algorithm
to iteratively fill in the region map.
- Added special support to RegionStoreManager::Bind()/Retrieve() to handle
OSAtomicCompareAndSwap in light of the new 'CastRegion' changes and the
layering of ElementRegions.
- Fixed a bug in SymbolReaper::isLive() where derived symbols were not
being marked live if the symbol they were derived from was also live.
This fix was critical for getting lazy instantiation in RegionStore
to work.
- Tidied up the implementation of ValueManager::getXXXSymbolVal() methods
to use SymbolManager::canSymbolicate() to decide whether or not a
symbol should be symbolicated.
- 'test/Analysis/misc-ps-xfail.m' now passes; that test case has been
moved to 'test/Analysis/misc-ps.m'.
- Tweaked some pretty-printing of MemRegions, and implemented
'ElementRegion::getRawOffset()' for use with the CastRegion changes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77782
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 1 Aug 2009 06:07:15 +0000 (06:07 +0000)]
Ok, ok, I give in. Fix tests for unused result warning.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77780
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 1 Aug 2009 05:59:39 +0000 (05:59 +0000)]
Temporarily disable out-of-bounds checking. The current checking logic will not work quite right with the changes I'm about to commit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77779
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 1 Aug 2009 05:57:38 +0000 (05:57 +0000)]
Use %S, not `pwd`, and enable a line that *does* work.
- Doug, please check.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77778
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 1 Aug 2009 05:52:04 +0000 (05:52 +0000)]
lit: Fix two sh lexing bugs.
- '\\\\' inside a "..." string becomes '\\'.
- The '<' token wasn't being recognized.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77777
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 1 Aug 2009 04:51:30 +0000 (04:51 +0000)]
'unset' isn't needed in these tests anymore, we always run with a controlled
environment.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77776
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 1 Aug 2009 04:11:36 +0000 (04:11 +0000)]
lit: Fix a name lookup problem, which only occurred on a race condition. This is
why dynamic binding sucks.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77773
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 1 Aug 2009 04:06:02 +0000 (04:06 +0000)]
lit: Pull a few more variables into the TestingConfig object.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77772
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 1 Aug 2009 03:35:40 +0000 (03:35 +0000)]
lit: Don't use threads when only running one test, or with -j 1.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77766
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 1 Aug 2009 03:22:27 +0000 (03:22 +0000)]
MultiTestRunner: Add 'sh' parsing to ShUtil.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77765
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 1 Aug 2009 01:39:59 +0000 (01:39 +0000)]
More warnings for unused expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77763
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 31 Jul 2009 23:15:31 +0000 (23:15 +0000)]
Add beginnigs of rtti generation, wire up more of -fno-exceptions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77751
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 31 Jul 2009 21:48:56 +0000 (21:48 +0000)]
Remove the old struct builder code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77738
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 31 Jul 2009 21:43:43 +0000 (21:43 +0000)]
And now we can generate a simple vtable. Still a work in progress...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77737
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 31 Jul 2009 21:38:39 +0000 (21:38 +0000)]
Move code from EmitUnion directly into the function that handles cast-to-union.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77735
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 31 Jul 2009 21:34:04 +0000 (21:34 +0000)]
Use the struct builder for unions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77732
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 31 Jul 2009 21:31:32 +0000 (21:31 +0000)]
Fixup spacing and 80-col violations.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77731
91177308 -0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 31 Jul 2009 20:28:54 +0000 (20:28 +0000)]
Update for LLVM API change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77722
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Fri, 31 Jul 2009 19:02:11 +0000 (19:02 +0000)]
For a CXXOperatorCallExpr, fix the order that StmtLocResolver uses to check subexpressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77713
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 31 Jul 2009 18:36:42 +0000 (18:36 +0000)]
Make the recanonicalization-for-an-out-of-line-definition test case a bit trickier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77707
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 31 Jul 2009 18:34:30 +0000 (18:34 +0000)]
Allow one to update the type representation of the declaration specifiers. Will be used by an upcoming commit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77703
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 31 Jul 2009 18:32:42 +0000 (18:32 +0000)]
Remove a redundant getCanonicalType call
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77702
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 31 Jul 2009 18:25:34 +0000 (18:25 +0000)]
Add code to setup the vtable pointer in the constructor. Work in progress.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77699
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 31 Jul 2009 18:24:12 +0000 (18:24 +0000)]
New test case for rev. 77694.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77698
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 31 Jul 2009 18:12:18 +0000 (18:12 +0000)]
MultiTestRunner: Fix invalid warning when pointing 'lit' directly at a test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77690
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 31 Jul 2009 17:46:44 +0000 (17:46 +0000)]
Fix spacing.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77688
91177308 -0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 31 Jul 2009 17:39:36 +0000 (17:39 +0000)]
Update for LLVM API change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77686
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 31 Jul 2009 16:50:39 +0000 (16:50 +0000)]
Fix 80-col violation
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77683
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 31 Jul 2009 16:07:31 +0000 (16:07 +0000)]
Make canonicalization of overloaded function declarations match the
Itanium C++ ABI's name mangling, since both are related to the notion
of "equivalent" function templates.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77678
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 31 Jul 2009 15:46:56 +0000 (15:46 +0000)]
Canonicalize template template parameters. We can't test this yet, but
it's "obviously correct" :)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77677
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 31 Jul 2009 15:45:02 +0000 (15:45 +0000)]
Canonicalize function parameters
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77676
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 31 Jul 2009 07:59:05 +0000 (07:59 +0000)]
MultiTestRunner: Add module for lexing 'sh' commands.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77668
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 31 Jul 2009 05:57:11 +0000 (05:57 +0000)]
Add missing test suffixes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77666
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 31 Jul 2009 05:54:17 +0000 (05:54 +0000)]
MultiTestRunner: Simplify, cleanup, and rename!
- MultiTestRunner will eventually be renamed to 'lit', for LLVM integrated
tester/testing. This has the pros of being pronouncable and short.
- "Project" level configuration lives in 'lit.cfg', which is also what lit uses
to find the root testing directory in some cases. This can be overridden for
use in project files which want to precisely specify where things are.
- TestRunner.py is not longer able to be invoked directly.
- Moved some code to Util.py.
- Introduced a configuration object.
- Cleaned up --help, removed a few not-very-useful options.
- Tried not to break anything that works. :)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77665
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 31 Jul 2009 05:24:01 +0000 (05:24 +0000)]
Canonicalization and profiling for overloaded function declarations,
for those extra-esoteric cases. Not that any two given C++ compilers
agree on this test case, but this change gives us a strong definition
of equivalent types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77664
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 31 Jul 2009 03:54:25 +0000 (03:54 +0000)]
Canonicalize dependent extended vector types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77663
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ryan Flynn [Fri, 31 Jul 2009 02:52:19 +0000 (02:52 +0000)]
PR3679 - enable #pragma weak aliasing.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77660
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Fri, 31 Jul 2009 02:45:11 +0000 (02:45 +0000)]
Rename Action::TagKind to Action::TagUseKind, which removes both a misnomer
and a name collision.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77658
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Fri, 31 Jul 2009 02:20:35 +0000 (02:20 +0000)]
sp.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77656
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 31 Jul 2009 02:02:20 +0000 (02:02 +0000)]
Whitespace around else canonicalization and fix 80-col violations.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77655
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 31 Jul 2009 01:43:05 +0000 (01:43 +0000)]
Make the check for the linkage of a template handle the case of nested
linkage specifications correctly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77653
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 31 Jul 2009 01:23:52 +0000 (01:23 +0000)]
Add CK_DerivedToBase and use it PerformObjectMemberConversion.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77652
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 31 Jul 2009 01:10:29 +0000 (01:10 +0000)]
Fix build warnings.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77651
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 31 Jul 2009 00:48:10 +0000 (00:48 +0000)]
Add a CastKind enum to CastExpr. Right now it's not used for much but it will be :)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77650
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 31 Jul 2009 00:34:52 +0000 (00:34 +0000)]
Fix use-after-release bug introduced in r77585 where the PathDiagnosticClient
created by AnalysisConsumer would be released by an instance of AnalysisManager
and then reused by later instances of AnalysisManager. Ownership of the
PathDiagnosticClient now belongs (for now) in AnalysisConsumer.
We also need this layering (for now) because the HTMLDiagnostiClient requires
that the entire translation unit be processed before emitting diagnostics. This
is done in its destructor (which should also be fixed, but that is another
issue).
This fixes PR 4653.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77648
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 31 Jul 2009 00:23:35 +0000 (00:23 +0000)]
Build canonical types for dependently-sized array types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77647
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 30 Jul 2009 23:55:19 +0000 (23:55 +0000)]
Add scan-build option '-no-failure-reports' to supress the creation of a 'failures' subdirectory that includes crash reports, preprocessed files, etc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77644
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 30 Jul 2009 23:36:40 +0000 (23:36 +0000)]
Canonicalization of dependent C++0x decltype types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77643
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 30 Jul 2009 23:22:00 +0000 (23:22 +0000)]
Synthesize the default constructor which has not
been declared as needed.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77641
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 30 Jul 2009 23:18:24 +0000 (23:18 +0000)]
Canonicalization for dependent typeof(expr) types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77639
91177308 -0d34-0410-b5e6-
96231b3b80d8