Blaine Garst
1832cdb2d3
rev existing doc to account for recent ABI changes
...
llvm-svn: 98676
2010-03-16 21:21:07 +00:00
Douglas Gregor
a71b9d0678
Update get*LineNumber() and get*ColumnNumber() functions to pass the
...
Invalid bit through; there are no safety-critical callers of these
functions.
llvm-svn: 98674
2010-03-16 20:53:17 +00:00
Douglas Gregor
42fe858cd6
Audit all callers of SourceManager::getCharacterData(); update some of
...
them to recover more gracefully on failure.
llvm-svn: 98672
2010-03-16 20:46:42 +00:00
Douglas Gregor
554e0b1ec2
Audit all callers of SourceManager::getBufferData(); fix the one that
...
needs better error recovery.
llvm-svn: 98667
2010-03-16 20:26:15 +00:00
Douglas Gregor
4fb7fbef3b
Audit all getBuffer() callers (for both the FullSourceLoc and
...
SourceManager versions), updating those callers that need to recover
gracefully from failure.
llvm-svn: 98665
2010-03-16 20:01:30 +00:00
Douglas Gregor
26266da3c3
Teach the one caller of SourceManager::getMemoryBufferForFile() to cope with errors
...
llvm-svn: 98664
2010-03-16 19:49:24 +00:00
Chris Lattner
379e1b9cc9
accept and ignore __gcc_tdiag__ so we don't produce warnings
...
building mainline GCC, PR6542
llvm-svn: 98661
2010-03-16 19:29:19 +00:00
Douglas Gregor
a2f4945099
Make sure we actually override ReadHeaderFileInfo when we meant to
...
llvm-svn: 98655
2010-03-16 19:09:18 +00:00
Daniel Dunbar
35621a9dcc
Driver: Fix forwarding of -fno-lax-vector-conversions.
...
llvm-svn: 98639
2010-03-16 16:57:46 +00:00
Douglas Gregor
5712ebced0
Fix header-search problems with precompiled headers, where the
...
presence or absence of header map arguments when using the precompiled
header would cause Clang to get confused about which headers had
already been included/imported, along with their controlling
macros. The fundamental problem is that the serialization of the
header search information was relying on the UIDs of FileEntry objects
at PCH generation time and PCH load time to be equivalent, which
effectively means that we had to probe the same files in the same
order. Differing header map arguments caused an extra FileEntry
lookup, but it's easy to imagine other minor command-line arguments
triggering this problem.
Header-search information is now encoded along with the
source-location entry for a file, so that we register information
about a file's properties as a header at the same time we create the
FileEntry for that file.
Fixes <rdar://problem/7743243>.
llvm-svn: 98636
2010-03-16 16:35:32 +00:00
Benjamin Kramer
0ca3c62078
Switch another function to StringRef instead of char pointer pairs.
...
llvm-svn: 98631
2010-03-16 14:48:07 +00:00
Benjamin Kramer
eb92dc0b09
Let SourceManager::getBufferData return StringRef instead of a pair of two const char*.
...
llvm-svn: 98630
2010-03-16 14:14:31 +00:00
Zhongxing Xu
0eb690390d
Add VisitCXXContructExpr logic to the analyzer. This still has not fully worked
...
since RemoveDeadBinding mistakenly remove the binding to CXXThisRegion.
llvm-svn: 98629
2010-03-16 13:14:16 +00:00
John McCall
ab8c273b4f
Access control for implicit calls to copy assignment operators and copy
...
constructors from implicitly-defined members.
llvm-svn: 98614
2010-03-16 06:11:48 +00:00
Douglas Gregor
00a0cf70d9
Don't consume tokens past the end-of-file in an @interface. Fixes
...
<rdar://problem/7735566>.
llvm-svn: 98613
2010-03-16 06:04:47 +00:00
John McCall
f857e0bbe7
Perform access control even for the implicit destructor calls from implicit
...
destructor definitions. Remove some code duplication.
llvm-svn: 98611
2010-03-16 05:36:30 +00:00
John McCall
1064d7ef29
Perform access control for the implicit base and member destructor calls
...
required when emitting a destructor definition.
llvm-svn: 98609
2010-03-16 05:22:47 +00:00
Douglas Gregor
7bda4b8310
Introduce optional "Invalid" parameters to routines that invoke the
...
SourceManager's getBuffer() and, therefore, could fail, along with
Preprocessor::getSpelling(). Use the Invalid parameters in the literal
parsers (string, floating point, integral, character) to make them
robust against errors that stem from, e.g., PCH files that are not
consistent with the underlying file system.
I still need to audit every use caller to all of these routines, to
determine which ones need specific handling of error conditions.
llvm-svn: 98608
2010-03-16 05:20:39 +00:00
Douglas Gregor
874cc62876
Use SourceManager's Diagnostic object for all file-reading errors,
...
simplifying the SourceManager interfaces somewhat.
llvm-svn: 98598
2010-03-16 00:35:39 +00:00
Douglas Gregor
e0fbb83b8b
Give SourceManager a Diagnostic object with which to report errors,
...
and start simplifying the interfaces in SourceManager that can fail.
llvm-svn: 98594
2010-03-16 00:06:06 +00:00
Douglas Gregor
0adf3182b0
Add some <cstdio> includes to unbreak the buildbots
...
llvm-svn: 98591
2010-03-15 23:33:37 +00:00
Eric Christopher
8c6f61394f
Add remaining sse4.1 intrinsics and builtins.
...
llvm-svn: 98587
2010-03-15 23:22:58 +00:00
Douglas Gregor
802b77601e
Introduce a new BufferResult class to act as the return type of
...
SourceManager's getBuffer() (and similar) operations. This abstract
can be used to force callers to cope with errors in getBuffer(), such
as missing files and changed files. Fix a bunch of callers to use the
new interface.
Add some very basic checks for file consistency (file size,
modification time) into ContentCache::getBuffer(), although these
checks don't help much until we've updated the main callers (e.g.,
SourceManager::getSpelling()).
llvm-svn: 98585
2010-03-15 22:54:52 +00:00
Ted Kremenek
d133a86aa3
Move method FindPropertyVisibleInPrimaryClass() from ObjCContainerDecl to ObjCInterfaceDecl.
...
Also change this method to lookup property declarations using DeclContext::lookup().
llvm-svn: 98574
2010-03-15 20:30:07 +00:00
Ted Kremenek
ddcd1093a4
Change ObjCCategoryDecl::FindPropertyDeclaration() to lookup
...
property decls using DeclContext::lookup().
llvm-svn: 98571
2010-03-15 20:11:53 +00:00
Ted Kremenek
4fb821ec0d
Make 'findPropertyDecl()' a static method of ObjCPropertyDecl.
...
llvm-svn: 98570
2010-03-15 20:11:46 +00:00
Ted Kremenek
e01bec9791
Add 'expected-note'
...
llvm-svn: 98560
2010-03-15 18:47:29 +00:00
Ted Kremenek
679708ee34
Correctly determine if the @property has been previously declared. If
...
a property has the same name as the ivar it wraps then the old logic
wouldn't find the previous property declaration.
llvm-svn: 98559
2010-03-15 18:47:25 +00:00
Fariborz Jahanian
b397e43dea
objective-c++ must take into account qualifiers when
...
considering valid objc pointer converions.
llvm-svn: 98557
2010-03-15 18:36:00 +00:00
Ted Kremenek
f3bc99dd56
Add comment to CFG to 'buildCFG()' arguments indicating that scope
...
support is not fully implemented.
llvm-svn: 98555
2010-03-15 17:45:13 +00:00
Ted Kremenek
bc1a67bee3
Rename clang_constructUSR_ObjCategory to clang_constructUSR_ObjCCategory.
...
(there was a missing 'C').
llvm-svn: 98554
2010-03-15 17:38:58 +00:00
Kovarththanan Rajaratnam
94b9af889e
Remove useless forward decl.
...
llvm-svn: 98553
2010-03-15 17:31:29 +00:00
Douglas Gregor
ea16606fcd
During C++ name lookup, use DeclContext::Equals() rather than
...
comparing DeclContext pointers, to avoid having to remember to call
getPrimaryContext() everywhere. This is the last part PR6594.
llvm-svn: 98546
2010-03-15 15:26:48 +00:00
Douglas Gregor
6623006249
Implement C++ [temp.local]p8, which specifies that a template
...
parameter hides a namespace-scope declararion with the same name in an
out-of-line definition of a template. The lookup requires a strange
interleaving of lexical and semantic scopes (go C++), which I have not
yet handled in the typo correction/code completion path.
Fixes PR6594.
llvm-svn: 98544
2010-03-15 14:33:29 +00:00
John McCall
c33dec3664
Add support for -Wwrite-strings. Patch by Mike M! Fixes PR 4804.
...
llvm-svn: 98541
2010-03-15 10:54:44 +00:00
John McCall
3e11ebebc8
Remember declaration scope qualifiers in the AST. Imposes no memory overhead
...
on unqualified declarations.
Patch by Enea Zaffanella! Minimal adjustments: allocate the ExtInfo nodes
with the ASTContext and delete them during Destroy(). I audited a bunch of
Destroy methods at the same time, to ensure that the correct teardown was
being done.
llvm-svn: 98540
2010-03-15 10:12:16 +00:00
John McCall
1e3a1a7eff
Remember access paths for visible conversion decls.
...
llvm-svn: 98539
2010-03-15 09:07:48 +00:00
Anton Korobeynikov
762c6b7346
Fix thinko and enable clang build on mingw again (hopefully)
...
llvm-svn: 98492
2010-03-14 12:55:35 +00:00
Kovarththanan Rajaratnam
b4c0f5cc79
Add EmitString helper method
...
llvm-svn: 98488
2010-03-14 08:35:19 +00:00
Kovarththanan Rajaratnam
d3fa9721fb
Unbreak last commit. This should have been part of r98478.
...
llvm-svn: 98480
2010-03-14 07:55:43 +00:00
Kovarththanan Rajaratnam
fb0762057e
Pass file string by reference
...
llvm-svn: 98478
2010-03-14 07:38:15 +00:00
Kovarththanan Rajaratnam
d16d38c0b9
Path related cleanup. Remove unnecessary variables.
...
llvm-svn: 98473
2010-03-14 07:15:57 +00:00
Kovarththanan Rajaratnam
a9c81a8848
Use makeAbsolute()
...
llvm-svn: 98472
2010-03-14 07:06:50 +00:00
Kovarththanan Rajaratnam
b65a14802c
Move to anonymous namespace
...
llvm-svn: 98469
2010-03-14 06:48:05 +00:00
David Chisnall
2bfc50bf68
Fixed copy-and-paste error causing categories to contain the protocols declared on the class, not the protocols declared on the category.
...
llvm-svn: 98455
2010-03-13 22:20:45 +00:00
Benjamin Kramer
f156b9d55d
Revert 98439. There is a bad race condition in sys::Path::makeUnique on win32.
...
llvm-svn: 98452
2010-03-13 21:22:49 +00:00
Rafael Espindola
a530f9c03b
Add missing space.
...
llvm-svn: 98448
2010-03-13 20:14:52 +00:00
Douglas Gregor
b14d123774
Give explicit template instantiations weak ODR linkage. Former
...
iterations of this patch gave explicit template instantiation
link-once ODR linkage, which permitted the back end to eliminate
unused symbols. Weak ODR linkage still requires the symbols to be
generated.
llvm-svn: 98441
2010-03-13 18:23:07 +00:00
Rafael Espindola
13327bbe55
Fix PR6562. If a type is dependent, we don't know if it will have implicit
...
destructors.
llvm-svn: 98440
2010-03-13 18:12:56 +00:00
Benjamin Kramer
84c37f9903
Make getTemporaryPath a static member of CIndexer and use it to replace tmpnam calls.
...
This fixes linker warnings on linux.
llvm-svn: 98439
2010-03-13 13:05:20 +00:00
Benjamin Kramer
69b3c43391
Use raw_ostream instead of sprintf.
...
llvm-svn: 98438
2010-03-13 12:06:51 +00:00
Benjamin Kramer
5ac3b0be2d
Simplify code.
...
llvm-svn: 98437
2010-03-13 11:34:41 +00:00
Kovarththanan Rajaratnam
ba2c65277a
Use SmallString instead of SmallVector
...
llvm-svn: 98436
2010-03-13 10:17:05 +00:00
Kovarththanan Rajaratnam
e5f1c197af
No need to call setIdentifierInfo() after LookUpIdentifierInfo() which LookUpIdentifierInfo() will automatically do
...
llvm-svn: 98435
2010-03-13 08:53:33 +00:00
Douglas Gregor
17b76185f1
Re-revert the explicit template instantiation linkage patch. I am beginning to look incompetent
...
llvm-svn: 98425
2010-03-13 03:49:57 +00:00
Douglas Gregor
89cae0f224
Reinstate patch to turn explicit template instantiations into weak symbols
...
llvm-svn: 98424
2010-03-13 03:14:19 +00:00
Ted Kremenek
d071c6019a
Implement several CIndex functions for constructing USRs from C-strings instead of AST elements.
...
llvm-svn: 98421
2010-03-13 02:50:34 +00:00
John McCall
44c064be73
Check compatibility of vector types using their canonicalizations.
...
Fixes an assertion arising C overload analysis, but really I can't imagine
that this wouldn't cause a thousand other uncaught failures.
Fixes PR6600.
llvm-svn: 98400
2010-03-12 23:14:13 +00:00
Jeffrey Yasskin
f6442f80cb
Allow users to set CPPFLAGS and CXXFLAGS on the make command line.
...
Tested: make CPPFLAGS=-m64 CXXFLAGS=-m64 -j8 && (cd tools/clang;make test)
llvm-svn: 98399
2010-03-12 22:55:16 +00:00
Ted Kremenek
f59409623e
Use llvm::SmallVector instead of std::vector.
...
llvm-svn: 98397
2010-03-12 22:22:36 +00:00
Fariborz Jahanian
c6140734c5
Fix a rare corner case bug which exposed a serious block API generation
...
when initialized variable is a byref block variable and is referenced recursively
in the initializer (you guessed it, it is block implementation of
fibonacci number). Fix, on the other hand is trvial, by generating the
API for byref variable before API for its initializer. We will have this
test added to our internal test suite as a clang-style test is not possible
due to very convoluted IR sequence. Fixes radar 7745514.
llvm-svn: 98393
2010-03-12 21:40:43 +00:00
Devang Patel
a42d3ea60e
If main file name is empty then use "<unknown>".
...
llvm-svn: 98385
2010-03-12 21:04:27 +00:00
John McCall
b5fe7094b2
Preserve the inherited-default-argument bit through instantiation.
...
llvm-svn: 98375
2010-03-12 20:02:47 +00:00
John McCall
f3cd665d5a
Remember whether a ParmVarDecl was spelled with a default argument or
...
whether it inherited one from a previous declaration.
Patch by Enea Zaffanella!
llvm-svn: 98362
2010-03-12 18:31:32 +00:00
Ted Kremenek
c52ea21a6e
Fix grammar
...
llvm-svn: 98352
2010-03-12 16:46:36 +00:00
Kovarththanan Rajaratnam
52ceee58d3
Make IdentifierTable::get(StringRef) "primary" (no functionality change)
...
llvm-svn: 98347
2010-03-12 12:01:19 +00:00
Kovarththanan Rajaratnam
00682a48f4
Reintroduce r98340 and r98341 now without copy/paste errors.
...
Thanks to Ben for pointing this out.
llvm-svn: 98345
2010-03-12 11:27:37 +00:00
Kovarththanan Rajaratnam
e604f14c96
Back out r98340 abd r98341
...
llvm-svn: 98344
2010-03-12 11:00:51 +00:00
Kovarththanan Rajaratnam
a3b09590e6
Add IdentifierTable::get() overload and start using it
...
llvm-svn: 98343
2010-03-12 10:32:27 +00:00
Nuno Lopes
4cbc8bd1bc
fix PR6584: __SSE3__ not defined with -mss3
...
llvm-svn: 98342
2010-03-12 10:20:09 +00:00
Kovarththanan Rajaratnam
f1aa69d103
Switch parameter order for consistency (no functionality change)
...
llvm-svn: 98341
2010-03-12 10:17:07 +00:00
Kovarththanan Rajaratnam
e2acea7c53
Add keywords using StringRef
...
llvm-svn: 98340
2010-03-12 10:14:26 +00:00
Kovarththanan Rajaratnam
47b55969c3
Cleanup using StringRef
...
llvm-svn: 98339
2010-03-12 09:33:31 +00:00
Kovarththanan Rajaratnam
661a309933
Switch over IdentifierInfoLookup to StringRef
...
llvm-svn: 98337
2010-03-12 08:23:34 +00:00
John McCall
c493a73240
Improve the unused-value check to look into comma expressions and filter out
...
voids in sub-expressions. Patch by Mike M!
Fixes PR4806.
llvm-svn: 98335
2010-03-12 07:11:26 +00:00
Anders Carlsson
5d3b901e48
More this adjustment simplification.
...
llvm-svn: 98333
2010-03-12 05:28:07 +00:00
Douglas Gregor
539bc40906
Revert the linkage change for explicit template instantiations; something is amiss
...
llvm-svn: 98332
2010-03-12 05:13:59 +00:00
Anders Carlsson
3c289673d6
Remove OldOffset.
...
llvm-svn: 98331
2010-03-12 05:02:01 +00:00
Anders Carlsson
2b2b8f1949
Remove debug output.
...
llvm-svn: 98330
2010-03-12 04:55:20 +00:00
Anders Carlsson
8a2402989d
Begin simplifying handling of thunks.
...
llvm-svn: 98329
2010-03-12 04:54:20 +00:00
Douglas Gregor
ee3f72299c
Give explicit template instantiations weak linkage (but don't defer
...
them). Fixes PR6578.
llvm-svn: 98328
2010-03-12 04:49:06 +00:00
John McCall
b8b94668b6
Extend the builtin syntax to allow address-space qualifiers on pointers and
...
references. Based on a patch by Arnaud de Grandmaison!
llvm-svn: 98327
2010-03-12 04:21:28 +00:00
Ted Kremenek
959e830292
Split Sema::ActOnProperty() into two recursive functions to clearly separate
...
the handling of class extensions from other cases.
llvm-svn: 98326
2010-03-12 02:31:10 +00:00
Eric Christopher
6932b2e8b7
Add SSE4 packed integer comparisons and corresponding intrinsics.
...
llvm-svn: 98323
2010-03-12 01:22:33 +00:00
John McCall
9caafbc5ca
Add an extra test to this test-case.
...
llvm-svn: 98322
2010-03-12 01:20:21 +00:00
John McCall
16927f6274
Implement basic support for friend types and functions in non-dependent
...
contexts.
llvm-svn: 98321
2010-03-12 01:19:31 +00:00
Ted Kremenek
90e2fc2fb3
Fix 80 col violations.
...
llvm-svn: 98320
2010-03-12 00:49:00 +00:00
Ted Kremenek
ac597f3416
Move 'ActOn' methods to the beginning of the file
...
so we can clearly see the parser entry points.
llvm-svn: 98319
2010-03-12 00:46:40 +00:00
Ted Kremenek
fd1d11c020
Update CMake build.
...
llvm-svn: 98318
2010-03-12 00:38:40 +00:00
Ted Kremenek
7a7a0808b9
Split Sema logic for ObjC @property and @synthesize into
...
a separate file.
llvm-svn: 98317
2010-03-12 00:38:38 +00:00
Eric Christopher
e486f68b59
Integer array extraction for sse4.1.
...
llvm-svn: 98305
2010-03-11 23:50:18 +00:00
Eric Christopher
e7594305bc
Add packed integer array insertion.
...
llvm-svn: 98299
2010-03-11 23:36:29 +00:00
Devang Patel
01bb5ce932
Keep track of Record context to ensure that record elements are properly nested in debug info.
...
llvm-svn: 98283
2010-03-11 20:01:48 +00:00
Ted Kremenek
86838aafee
For ivars created using @synthesize, set their DeclContext to be
...
the @implementation (instead of the @interface) and actually add
the ivar to the DeclContext (which we weren't doing before).
This allows us to simplify ASTContext::CollectNonClassIvars() by
removing ASTContext::CollectProtocolSynthesizedIvars(). Now all
ivars can be found by either inspecting the ObjCInterfaceDecl and
its companion ObjCImplementationDecl.
llvm-svn: 98280
2010-03-11 19:44:54 +00:00
John McCall
71d8d9b468
Warn about comparing an unsigned expression with 0 in tautological ways.
...
Patch by mikem!
llvm-svn: 98279
2010-03-11 19:43:18 +00:00
John McCall
6b0dcd9dd1
Remember the PR number.
...
llvm-svn: 98276
2010-03-11 19:33:57 +00:00
John McCall
e40b58ec2f
Implement -Wmissing-field-initializers. Patch by mikem!
...
llvm-svn: 98275
2010-03-11 19:32:38 +00:00
Daniel Dunbar
44e51ea41f
Use -emit-llvm-only, to avoid leaving a temp around.
...
llvm-svn: 98267
2010-03-11 18:23:02 +00:00
Fariborz Jahanian
3a106e7029
Add tentative support for accessing local variables with
...
external linkage (static, extern, etc.) in blocks in
rewriter. wip.
llvm-svn: 98265
2010-03-11 18:20:03 +00:00
Chris Lattner
9723d6c699
fix PR6433, crash on va_arg of typedef.
...
llvm-svn: 98264
2010-03-11 18:19:55 +00:00
Daniel Dunbar
66187b3c6e
Driver: Free Action objects.
...
llvm-svn: 98263
2010-03-11 18:04:58 +00:00
Daniel Dunbar
86d838970b
Driver: Free synthesized derived arguments.
...
llvm-svn: 98262
2010-03-11 18:04:53 +00:00
Daniel Dunbar
66e2768918
Driver: Free jobs in JobList and PipedJob instances.
...
llvm-svn: 98261
2010-03-11 18:04:49 +00:00
Ted Kremenek
e3243224bf
Update checker build.
...
llvm-svn: 98259
2010-03-11 16:47:29 +00:00
Anders Carlsson
dd819c981f
Use the new vtable layout code for computing virtual base offset offsets.
...
llvm-svn: 98257
2010-03-11 16:06:20 +00:00
Rafael Espindola
4d5c3d99e5
Correctly mangle address of member in template arguments. Fixes PR6460
...
llvm-svn: 98254
2010-03-11 14:07:00 +00:00
John McCall
45d878b0f0
Fix a self-host problem caused by this over-eager assertion. I'm not sure
...
there's a good equivalent that's actually true, unfortunately.
llvm-svn: 98253
2010-03-11 09:33:17 +00:00
John McCall
58f10c3380
Maintain type source information for functions through template
...
instantiation. Based on a patch by Enea Zaffanella! I found a way to
reduce some of the redundancy between TreeTransform's "standard"
FunctionProtoType transformation and TemplateInstantiator's override,
and I killed off the old SubstFunctionType by adding type source info
for the last cases where we were creating FunctionDecls without TSI
(at least that get passed through template instantiation).
llvm-svn: 98252
2010-03-11 09:03:00 +00:00
John McCall
bbbbe4eaaf
Split C++ friend declarations into their own header/implementation file.
...
I'm expecting this portion of the AST to grow and change, and I'd like to
be able to do that with minimal recompilation. If this proves unnecessary
when access control is fully-implemented, I'll fold the classes back into
DeclCXX.h.
llvm-svn: 98249
2010-03-11 07:50:04 +00:00
Anders Carlsson
4cbe83cccb
Rename getVirtualBaseOffsetIndex to getVirtualBaseOffsetOffset to reflect what it actually does.
...
llvm-svn: 98248
2010-03-11 07:15:17 +00:00
Anders Carlsson
e4424888e4
When possible, use the vbase offset offsets from the most derived class directly.
...
llvm-svn: 98247
2010-03-11 07:00:45 +00:00
Anders Carlsson
3521552ebe
Add a test.
...
llvm-svn: 98246
2010-03-11 06:44:31 +00:00
Anders Carlsson
7f6b71e222
Keep track of, and dump, vbase offset offsets.
...
llvm-svn: 98245
2010-03-11 06:43:12 +00:00
Anders Carlsson
9f28dbc53a
Fix tests.
...
llvm-svn: 98242
2010-03-11 06:10:52 +00:00
Anders Carlsson
d5531e2d18
Run the new vtable builder for construction vtables as well now. Note that we still don't use the data it generates.
...
llvm-svn: 98239
2010-03-11 05:48:21 +00:00
Anders Carlsson
fe9009635d
More record layout builder cleanup and simplification.
...
llvm-svn: 98238
2010-03-11 05:42:17 +00:00
Anders Carlsson
de710c9125
Get rid of the PrimaryBase parameter from LayoutVirtualBases.
...
llvm-svn: 98233
2010-03-11 04:33:54 +00:00
Anders Carlsson
f7b7a1e781
More cleanup towards fixing the real bug.
...
llvm-svn: 98232
2010-03-11 04:24:02 +00:00
Anders Carlsson
6a84889d3f
Replace the class offset vectors in RecordLayoutBuilder with maps instead so we'll have faster lookup and so we can detect duplicates.
...
llvm-svn: 98231
2010-03-11 04:10:39 +00:00
Anders Carlsson
f2fa75bdbb
More cleanup.
...
llvm-svn: 98230
2010-03-11 03:39:12 +00:00
Anders Carlsson
c4c00ec41b
More record layout builder cleanup.
...
llvm-svn: 98229
2010-03-11 02:41:30 +00:00
Anders Carlsson
09db5370b7
Assert that primary bases always have offset 0.
...
llvm-svn: 98223
2010-03-11 01:49:18 +00:00
Ted Kremenek
e0966be5ce
Remove unused 'IVars' field from ObjCInterfaceDecl. That functionality
...
has migrated to DeclContext.
llvm-svn: 98213
2010-03-11 00:36:10 +00:00
Anders Carlsson
aa87b4eab1
Remove the IndirectPrimary parameter in LayoutVirtualBases; it's already there as a member variable.
...
llvm-svn: 98211
2010-03-11 00:21:21 +00:00
Anders Carlsson
8630b5b09b
More cleanup and simplification of the record layout builder.
...
llvm-svn: 98208
2010-03-11 00:15:35 +00:00
John McCall
ea8d8bb718
Support PPC-32 DWARF EH intrinisics. Thanks to rdivacky for his assistance.
...
llvm-svn: 98206
2010-03-11 00:10:12 +00:00
Chris Lattner
4d94109903
set alignment on static locals properly, patch by Arnaud de Grandmaison!
...
llvm-svn: 98204
2010-03-10 23:59:59 +00:00
Anders Carlsson
0d0b588fb2
Get rid of the LayoutBaseNonVirtually; it was used to lay out a base either as a non-virtual base or a virtual base.
...
llvm-svn: 98198
2010-03-10 22:26:24 +00:00
Anders Carlsson
09ffa32b92
More shuffling.
...
llvm-svn: 98197
2010-03-10 22:21:28 +00:00
Anders Carlsson
f08e681ba8
Cleanups, no functionality change yet.
...
llvm-svn: 98196
2010-03-10 22:16:06 +00:00
Chris Lattner
93f0a7dda1
add DESTDIR support for clang headers, PR6556.
...
Patch by Matthias Klose!
llvm-svn: 98192
2010-03-10 21:26:01 +00:00
Anders Carlsson
423406f335
Fix calculation of whether a member function needs a thunk in construction vtables.
...
llvm-svn: 98191
2010-03-10 21:25:37 +00:00
Fariborz Jahanian
a4a925febb
Change the 'super' messaging API in the rewriter.
...
Fixes radar 7738452.
llvm-svn: 98190
2010-03-10 21:17:41 +00:00
John McCall
c9d4a84c2a
Suppress the tag when printing an ElaboratedType if the language options
...
claim this is C. We don't make ElaboratedTypes in C, but sometimes
the language options during pretty-print lie to us.
The rewriter should really be fixed to not rely on how types are pretty-printed,
though.
llvm-svn: 98189
2010-03-10 21:05:46 +00:00
Anders Carlsson
115b4756b5
We were mistakenly marking morally virtual bases as being uninteresting. Fix this.
...
llvm-svn: 98180
2010-03-10 19:39:11 +00:00
Anders Carlsson
703a08605f
Ignore non-interesting bases when emitting construction vtables.
...
llvm-svn: 98177
2010-03-10 19:15:26 +00:00
Ted Kremenek
1794ec4a30
Simplify assertion.
...
llvm-svn: 98176
2010-03-10 19:09:37 +00:00
Ted Kremenek
fe697ebaaf
Remove '#if 0' code. Lazy compound values have proven their worth.
...
llvm-svn: 98175
2010-03-10 19:09:34 +00:00
Ted Kremenek
1a0c4d5900
Fix -Wsign-compare warnings reported by clang++.
...
llvm-svn: 98174
2010-03-10 19:09:31 +00:00
Ted Kremenek
4a26524050
Fix -Wsign-compare warning reported by clang++.
...
llvm-svn: 98170
2010-03-10 18:22:38 +00:00
Ted Kremenek
9e92d3f99d
Remove the subregion map cache. It is no longer used.
...
llvm-svn: 98161
2010-03-10 16:38:44 +00:00
Ted Kremenek
2ce82b2323
Fix stale comment.
...
llvm-svn: 98160
2010-03-10 16:38:41 +00:00
Ted Kremenek
ddce4a3d0f
Really apply (unnoticed weird git-svn merge conflict in 98144): Refactor RegionStore::RemoveDeadBindings to use the same core cluster analysis algorithm as RegionStore::InvalidateRegions().
...
Beyond simplifying the algorithm significantly, we no longer
need to build subregion maps in RemoveDeadBindings(). This
and other changes cause a significant speedup: the time to
analyze sqlite3.c (single core) drops by 14%.
llvm-svn: 98159
2010-03-10 16:32:56 +00:00
Rafael Espindola
e81620fb88
Move test and also test codegen.
...
llvm-svn: 98154
2010-03-10 14:01:14 +00:00
John McCall
85f9055955
When pretty-printing tag types, only print the tag if we're in C (and
...
therefore not creating ElaboratedTypes, which are still pretty-printed
with the written tag).
Most of these testcase changes were done by script, so don't feel too
sorry for my fingers.
llvm-svn: 98149
2010-03-10 11:27:22 +00:00
Ted Kremenek
ba2e6c6b73
Refactor RegionStore::RemoveDeadBindings to use the same core
...
cluster analysis algorithm as RegionStore::InvalidateRegions().
Beyond simplifying the algorithm significantly, we no longer
need to build subregion maps in RemoveDeadBindings(). This
and other changes cause a significant speedup: the time to
analyze sqlite3.c (single core) drops by 14%.
llvm-svn: 98144
2010-03-10 07:20:03 +00:00
Ted Kremenek
a2536b642c
Refactor some of RegionStore's InvalidateRegionsWorker class
...
into a 'ClusterAnalysis' parent class. The idea is
to potentially reuse this for reworking RemoveDeadBindings.
llvm-svn: 98143
2010-03-10 07:19:59 +00:00
Anders Carlsson
45be0e069d
Add newline.
...
llvm-svn: 98140
2010-03-10 06:51:56 +00:00
Anders Carlsson
804cf51dcf
Don't accidentally mark some functions in construction vtables as unused. Also land the test for a previous checkin, now that it's correct.
...
llvm-svn: 98139
2010-03-10 06:51:42 +00:00
John McCall
96f0b5f844
Allow the fast path through ASTContext::getTypeDeclType to be inlined.
...
llvm-svn: 98138
2010-03-10 06:48:02 +00:00