Douglas Gregor
4b00d3b55a
Eliminate two uses of NDEBUG in headers that cause different symbols
...
to be available in debug vs. release builds.
llvm-svn: 120629
2010-12-02 00:22:25 +00:00
Douglas Gregor
451d1b1d27
Make TypeLocBuilder an implementation detail of Sema. Nobody else should be using it
...
llvm-svn: 120628
2010-12-02 00:05:49 +00:00
Douglas Gregor
73693023f0
Extend ExternalASTSource with the ability to lazily complete the
...
definition of an Objective-C class. Unlike with C/C++ classes, we
don't have a well-defined point in Sema where Objective-C classes are
checked for completeness, nor do we need to involve Sema when
completing a class. Therefore, we take the appropriate of having the
external AST source mark a particular Objective-C class as having an
external declaration; when using one of the accessors of an
Objective-C class that has an external declaration, we request that
the external AST source fill in the Objective-C class definition.
llvm-svn: 120627
2010-12-01 23:49:52 +00:00
Fariborz Jahanian
7cfe7679aa
Sema/AST work for capturing copy init expression
...
to be used in copy helper synthesis of __block
variables. wip.
llvm-svn: 120617
2010-12-01 22:29:46 +00:00
Ted Kremenek
c5bea1e337
Rename all 'AssumeXXX' methods in libChecker
...
to 'assumeXXX'.
llvm-svn: 120614
2010-12-01 22:16:56 +00:00
Eric Christopher
bc638a83e0
80-col fixups.
...
llvm-svn: 120613
2010-12-01 22:13:54 +00:00
Anton Yartsev
b9734cd4eb
Optimized IR for vec_splat
...
llvm-svn: 120610
2010-12-01 21:59:31 +00:00
Ted Kremenek
dc891429e4
Rename all 'EvalXXX' methods in libChecker to
...
'evalXXX'.
llvm-svn: 120609
2010-12-01 21:57:22 +00:00
Douglas Gregor
8d6d06761f
Improve our handling of cv-qualifiers in Objective-C pointer
...
conversions. Previously, we would end up collapsing qualification
conversions into the Objective-C pointer conversion step, including
(possibly) stripping qualifiers that shouldn't be removed.
This generalizes BuildSimilarlyQualifiedPointerType() to also work on
Objective-C object pointers, then eliminates the (redundant, not
totally correct) BuildSimilarlyQualifiedObjCObjectPointerType()
function.
Fixes <rdar://problem/8714395>.
llvm-svn: 120607
2010-12-01 21:43:58 +00:00
Ted Kremenek
9d0bb1e366
Rename 'SValuator' to 'SValBuilder'. The new name
...
reflects what the class actually does.
llvm-svn: 120605
2010-12-01 21:28:31 +00:00
Shantonu Sen
8283f1551a
Fix build of in-tree libcxx. libcxx doesn't actually
...
need any of the LLVM support libraries. Reviewed
by Daniel Dunbar.
llvm-svn: 120602
2010-12-01 20:38:11 +00:00
Douglas Gregor
aa49ecc458
Not content to implement just "extern" explicit template
...
instantiations, GCC also supports "inline" and "static" explicit
template instantiations. Parse and warn about such constructs, but
don't implement the semantics of either "inline" or "static". They
don't seem to be widely used.
llvm-svn: 120599
2010-12-01 20:32:20 +00:00
Bob Wilson
67056b613d
Add some comments.
...
llvm-svn: 120598
2010-12-01 19:50:20 +00:00
Peter Collingbourne
546d0795f3
Serialization: support for CUDA language extensions
...
llvm-svn: 120588
2010-12-01 19:14:57 +00:00
Douglas Gregor
d1f69f6a1d
After parsing a ':' in an enum-specifier within class context,
...
disambiguate between an expression (for a bit-field width) and a type
(for a fixed underlying type). Since the disambiguation can be
expensive (due to tentative parsing), we perform a simplistic
disambiguation based on one-token lookahead before going into the
full-blown tentative parsing. Based on a patch by Daniel Wallin.
llvm-svn: 120582
2010-12-01 17:42:47 +00:00
Douglas Gregor
1a099ba4db
Improve the diagnostic when the fixed underlying type of a
...
redeclaration of an enum type differs from that of the original
declaration, from Daniel Wallin
llvm-svn: 120577
2010-12-01 16:10:38 +00:00
Douglas Gregor
ec0e366163
AST printing for scoped enumerations and enumerations with a fixed underlying type, from Daniel Wallin
...
llvm-svn: 120576
2010-12-01 16:01:08 +00:00
John McCall
669a31d6f7
Eliminate vtables from the Type hierarchy.
...
llvm-svn: 120562
2010-12-01 08:12:46 +00:00
John McCall
f3735e01ce
Restore the lvalue-to-rvalue conversion patch with a minimal fix.
...
llvm-svn: 120555
2010-12-01 04:43:34 +00:00
Nick Lewycky
c7a020af87
Remove stray emacs mode marker.
...
llvm-svn: 120554
2010-12-01 04:33:27 +00:00
Peter Collingbourne
8f6218bfa0
test: add .cu extension
...
llvm-svn: 120553
2010-12-01 04:22:41 +00:00
Peter Collingbourne
6ab610ce57
Basic, Sema: add support for CUDA location attributes
...
llvm-svn: 120545
2010-12-01 03:15:31 +00:00
Peter Collingbourne
62089b82bb
Driver, Frontend: add CUDA language support
...
llvm-svn: 120544
2010-12-01 03:15:20 +00:00
Peter Collingbourne
07525a0726
Basic: Add CUDA language option
...
llvm-svn: 120543
2010-12-01 03:15:10 +00:00
Dan Gohman
b16def2be9
Don't check the isysroot path for Path::isValid(); if the user has
...
specified a syntactically invalid path, it's better to let the OS
diagnose the problem than to silently skip it.
llvm-svn: 120542
2010-12-01 02:59:44 +00:00
Chris Lattner
b85025fedd
add some infrastructure that will let us codegen
...
http://llvm.org/bugs/show_bug.cgi?id=279#c3 better.
No functionality change yet.
llvm-svn: 120530
2010-12-01 02:05:19 +00:00
Rafael Espindola
81937ec1b6
Handle -nostartfiles.
...
llvm-svn: 120528
2010-12-01 01:52:43 +00:00
Chris Lattner
46a7ad7605
get some i32/i8/i1 constants from Builder, which is much less painful than
...
using ConstantInt::get.
llvm-svn: 120527
2010-12-01 01:47:15 +00:00
Douglas Gregor
e2e50d331c
Implement AST import support for class template specializations.
...
llvm-svn: 120523
2010-12-01 01:36:18 +00:00
Fariborz Jahanian
68500913ec
When unknown method is sent to a receiver of
...
'Class' type, disgnostic should refere to a
class method. Fixes // rdar://8592156
llvm-svn: 120517
2010-12-01 01:07:24 +00:00
John McCall
5a39bd2443
A CGRecordLayout object persists. Since its contained types may
...
refer to opaque types, they must be held via PATypeHolders. I'm
not sure why this hasn't blown up before.
llvm-svn: 120491
2010-11-30 23:21:46 +00:00
John McCall
bcd38217f3
CGRecordLayoutBuilder does not need to be exported from this module.
...
llvm-svn: 120489
2010-11-30 23:17:27 +00:00
Ted Kremenek
b360ae4ec5
Update checker build.
...
llvm-svn: 120487
2010-11-30 23:08:24 +00:00
Fariborz Jahanian
3a4ea9a76c
Declaring local static in global block
...
literal declaration caused crash in CodeGen.
This patch fixes it. pr8707
llvm-svn: 120486
2010-11-30 23:07:14 +00:00
Argyrios Kyrtzidis
e72f7154f1
Follow through references to catch returned stack addresses, local blocks, label addresses or references to temporaries, e.g:
...
const int& g2() {
int s1;
int &s2 = s1; // expected-note {{binding reference variable 's2' here}}
return s2; // expected-warning {{reference to stack memory associated with local variable 's1' returned}}
}
llvm-svn: 120483
2010-11-30 22:57:32 +00:00
Douglas Gregor
a082a49d9e
Implement basic AST importing and merging support for class template
...
declarations.
llvm-svn: 120448
2010-11-30 19:14:50 +00:00
Douglas Gregor
5d02a7e553
Eliminate more pointless default statements
...
llvm-svn: 120446
2010-11-30 19:14:03 +00:00
Fariborz Jahanian
1fdbaa84aa
Add objc_getClass as an objc builtin function
...
(// rdar://8592641). Also rename LANGUAGEID to
LanguageID.
llvm-svn: 120437
2010-11-30 18:25:34 +00:00
John McCall
4f22c9de48
L-value to r-value conversion is not ready for prime-time.
...
llvm-svn: 120433
2010-11-30 17:58:55 +00:00
Fariborz Jahanian
e8473c2feb
Such function decls,as objc's objc_msgSend, builtins in
...
a specific language. We are adding such language info. by
extensing Builtins.def and via a language flag added
to LIBBUILTIN/BUILTIN and check for that when deciding
a name is builtin or not. Implements //rdar://8689273.
llvm-svn: 120429
2010-11-30 17:35:24 +00:00
John McCall
824fd1dcff
Introduce an r-value to l-value cast kind. I'm not promising anything
...
about the reliability of this yet.
llvm-svn: 120422
2010-11-30 10:13:06 +00:00
John McCall
a048c30215
Make the dumper safe against null declaration names.
...
llvm-svn: 120421
2010-11-30 10:12:16 +00:00
John McCall
5e9fde5d26
Update Xcode project: remove Action.cpp, add DumpXML.cpp.
...
llvm-svn: 120420
2010-11-30 10:11:54 +00:00
Duncan Sands
2a186e4a6d
System was renamed Support. Fix the build.
...
llvm-svn: 120414
2010-11-30 09:08:23 +00:00
Nick Lewycky
c25eb5d051
Take John McCall's suggestion and fix this silly gcc warnings in a way that
...
Doug isn't likely to rip back out.
llvm-svn: 120409
2010-11-30 07:50:28 +00:00
Douglas Gregor
3c9deef16a
I hate pointless default statements
...
llvm-svn: 120402
2010-11-30 06:40:00 +00:00
Douglas Gregor
2f53a0bbf2
Harden CGDebugInfo::CreateType() a bit for cases where we couldn't generate type info for its component types
...
llvm-svn: 120401
2010-11-30 06:38:09 +00:00
Douglas Gregor
7ac52b921b
Add missing file from last commit
...
llvm-svn: 120397
2010-11-30 06:17:12 +00:00
Douglas Gregor
f88e35ba0b
When using a precompiled preamble with detailed preprocessing records,
...
trap the serialized preprocessing records (macro definitions, macro
instantiations, macro definitions) from the generation of the
precompiled preamble, then replay those when walking the list of
preprocessed entities. This eliminates a bug where clang_getCursor()
wasn't able to find preprocessed-entity cursors in the preamble.
llvm-svn: 120396
2010-11-30 06:16:57 +00:00
Douglas Gregor
b42f34b652
De-C99-ify for loop
...
llvm-svn: 120395
2010-11-30 06:04:54 +00:00
Douglas Gregor
2f6358b100
Teach c-index-test to reparse the source file a few times when testing
...
clang_getCursor() via -cursor-at=??? and CINDEXTEST_EDITING is set in
the environment. This mirrors how we test code completion and
source-loading in the presence of this environment variable.
llvm-svn: 120392
2010-11-30 05:52:55 +00:00
Douglas Gregor
936a5b44ee
When loading a precompiled preamble, use the file ID of the
...
precompiled preamble as the "main" source file's file ID within the
source manager. This makes compiling with a precompiled preamble
produce the same source locations as when compiling without the
precompiled preamble; prior to this change, we ended up with different
file IDs for source locations within the precompiled preamble
vs. those after the precompiled preamble, even for entities (e.g.,
preprocessing entities) in the same file.
llvm-svn: 120390
2010-11-30 05:23:00 +00:00
Nico Weber
ebd45a004d
Fix bug in r120299 spotted by dgregor.
...
llvm-svn: 120389
2010-11-30 04:44:33 +00:00
John McCall
4cec5f806b
Fix another case of giving the wrong value kind to a dependent cast to
...
a non-dependent type.
llvm-svn: 120384
2010-11-30 02:05:44 +00:00
Nick Lewycky
5421621d2b
Replace \r\n with \n. No functional change.
...
llvm-svn: 120379
2010-11-30 01:47:38 +00:00
Nick Lewycky
c4f482b1b7
Add a default clause to avoid this GCC warning:
...
Type.cpp:1000: warning: control reaches end of non-void function
llvm-svn: 120376
2010-11-30 01:28:32 +00:00
Argyrios Kyrtzidis
091d97c709
Revert r120331 since it causes spurious warnings and a possible assertion hit when self-host.
...
llvm-svn: 120351
2010-11-29 23:42:03 +00:00
Fariborz Jahanian
e1802eefac
Incomplete enum types not to be treated as integer type
...
when checking for integer signed/unsigned-ness. PR8694,
// rdar://8707031
llvm-svn: 120345
2010-11-29 23:18:09 +00:00
Argyrios Kyrtzidis
569cad9734
Emit warnings if we are returning a reference to a local temporary.
...
The issue was brought to our attention by Matthieu Monrocq.
llvm-svn: 120331
2010-11-29 22:32:08 +00:00
Nico Weber
44887f69d5
Always use a function's decl context when building default arguments. Fixes http://http://llvm.org/pr8479 .
...
llvm-svn: 120299
2010-11-29 18:19:25 +00:00
Michael J. Spencer
8aaf49959c
Merge System into Support.
...
llvm-svn: 120297
2010-11-29 18:12:39 +00:00
John McCall
032092ffc2
Revert r120063, it was wrong.
...
llvm-svn: 120296
2010-11-29 18:01:58 +00:00
Douglas Gregor
da4a6272fa
I hate default statements
...
llvm-svn: 120293
2010-11-29 17:45:20 +00:00
Douglas Gregor
6399366d17
Add a test for C++ [stmt.label]p1, from Sashan!
...
llvm-svn: 120291
2010-11-29 16:37:40 +00:00
Douglas Gregor
e9186e6d48
When performing code completion within ASTUnit, allocate the AugmentedCodeCompleteConsumer on the heap, so it's always cleaned up properly
...
llvm-svn: 120290
2010-11-29 16:13:56 +00:00
Douglas Gregor
a50ad13752
Teach the ASTImporter how to create CXXMethodDecls. Somehow, this case was missed previously
...
llvm-svn: 120289
2010-11-29 16:04:58 +00:00
NAKAMURA Takumi
c66906a6cb
test/CMakeLists.txt: Implement the target "check-all". For now, it has no dependencies.
...
llvm-svn: 120280
2010-11-29 01:18:56 +00:00
Anders Carlsson
acf877be12
Don't store the maximum alignment, we can trivially compute it.
...
llvm-svn: 120268
2010-11-28 23:06:23 +00:00
Nico Weber
dcf6fc5dc4
Revert parts of r120266 that I did not mean to commit
...
llvm-svn: 120267
2010-11-28 22:58:38 +00:00
Nico Weber
20c9f1db48
Minor whitespace and comment fixes. No functionality change.
...
llvm-svn: 120266
2010-11-28 22:53:37 +00:00
Anders Carlsson
a459adb2ff
More work on laying out virtual bases.
...
llvm-svn: 120257
2010-11-28 19:18:44 +00:00
Chris Lattner
7f91be4e3f
tighten up operator= to ensure we don't get multiple owners with the same FD.
...
wouldn't move ctors be nice? :)
llvm-svn: 120255
2010-11-28 18:44:10 +00:00
Chris Lattner
19e0fd0b2b
fix typo
...
llvm-svn: 120254
2010-11-28 18:19:13 +00:00
Anders Carlsson
3378d870d2
BuildVirtualCall doesn't need to take a reference to a pointer.
...
llvm-svn: 120252
2010-11-28 17:53:32 +00:00
Anders Carlsson
e8ba473ed2
Make the destructor be the 'vtable anchor' of the CGCXXABI class.
...
llvm-svn: 120251
2010-11-28 17:50:09 +00:00
Anders Carlsson
fdee32f8ed
Move CGCXXABI functions to CGCXXABI.cpp
...
llvm-svn: 120250
2010-11-28 17:49:03 +00:00
Anders Carlsson
81f6f3626e
Add a CGCXXABI.cpp file.
...
llvm-svn: 120249
2010-11-28 17:46:52 +00:00
Anders Carlsson
66bbf50877
Look through parentheses when deciding whether an expr is a temporary object. Fixes PR8683.
...
llvm-svn: 120247
2010-11-28 16:40:49 +00:00
Chandler Carruth
7e1fd053d5
Add GCC 4.4.5 for Gentoo, and order them in a more sensible way. This allows
...
Gentoo systems with multiple versions to pick up the newest one first. This is
especially important with Gentoo because some of the older versions are left on
systems in strange states.
llvm-svn: 120238
2010-11-28 07:20:14 +00:00
Rafael Espindola
739b9cf104
Add missing else.
...
llvm-svn: 120231
2010-11-28 01:08:36 +00:00
Sebastian Redl
002a3c506a
Forgot a file in r120182
...
llvm-svn: 120184
2010-11-26 18:37:14 +00:00
Sebastian Redl
346203105f
Allow access to non-static members without an object in sizeof expressions, in C++0x. Patch by Jakub Wieczorek.
...
llvm-svn: 120182
2010-11-26 16:28:07 +00:00
John McCall
29ac8e2ecd
For internal consistency's sake, compute the value kind of a dependent cast
...
based on the known properties of the casted-to type. Fixes a crash on spirit.
llvm-svn: 120180
2010-11-26 10:57:22 +00:00
Zhongxing Xu
e1e8565cd9
Do not use StripCasts() in this context.
...
llvm-svn: 120178
2010-11-26 09:14:07 +00:00
Zhongxing Xu
5afc4d80c7
Should not use StripCasts() in this context.
...
llvm-svn: 120177
2010-11-26 09:07:38 +00:00
Zhongxing Xu
032071688b
Rename CXXObjectRegion to CXXTempObjectRegion.
...
llvm-svn: 120176
2010-11-26 08:52:48 +00:00
Zhongxing Xu
3b2666ab19
fix a bug introduced in r120173.
...
llvm-svn: 120175
2010-11-26 08:42:27 +00:00
Zhongxing Xu
ec0b8e32ee
Regionstore: support derived-to-base cast by creating a CXXBaseObjectRegion.
...
llvm-svn: 120173
2010-11-26 08:21:53 +00:00
Zhongxing Xu
e23ab6fae2
Add a fixme.
...
llvm-svn: 120172
2010-11-26 07:15:40 +00:00
Rafael Espindola
596402a87c
Add C++ header path for openSUSE 11.4.
...
Patch by İsmail Dönmez.
llvm-svn: 120154
2010-11-25 18:51:59 +00:00
Benjamin Kramer
90b5b68535
Hide a bunch of symbols.
...
llvm-svn: 120153
2010-11-25 18:29:30 +00:00
Benjamin Kramer
faec0b3c74
OpaquePtrs are POD-like.
...
llvm-svn: 120148
2010-11-25 17:32:32 +00:00
Zhongxing Xu
16278859e8
For CFGAutomaticObjDtor, the type may be reference type, e.g., const A &c = A();
...
Also apply some new coding style.
llvm-svn: 120144
2010-11-25 06:35:14 +00:00
Zhongxing Xu
33f13595c9
handle CXXFunctionalCastExpr in visitLValue and Environment.
...
llvm-svn: 120143
2010-11-25 03:18:57 +00:00
Zhongxing Xu
7514633c26
Improve comments.
...
llvm-svn: 120142
2010-11-25 02:52:17 +00:00
Zhongxing Xu
be83a3aeca
Add dump method.
...
llvm-svn: 120141
2010-11-25 02:07:24 +00:00
Anders Carlsson
1f95ee3016
Begin work on actually laying out virtual bases.
...
llvm-svn: 120140
2010-11-25 01:59:35 +00:00
Anders Carlsson
61ad508bce
Update Xcode project.
...
llvm-svn: 120138
2010-11-25 01:52:05 +00:00
Anders Carlsson
60a6263ee8
Move isNearlyEmpty out into the ASTContext so it can be called from CodeGen as well.
...
llvm-svn: 120137
2010-11-25 01:51:53 +00:00
Peter Collingbourne
640cdae167
Basic: add log2{,f,l}, round{,f,l} builtins
...
llvm-svn: 120136
2010-11-25 01:15:00 +00:00