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
Zhongxing Xu
1bb6a1a593
Add use-after-free check to MallocChecker.
...
llvm-svn: 98136
2010-03-10 04:58:55 +00:00
Douglas Gregor
6cf3f3c75e
Statement expressions can be used in global- or namespace-scoped blocks
...
llvm-svn: 98135
2010-03-10 04:54:39 +00:00
John McCall
e78aac41de
Create a new InjectedClassNameType to represent bare-word references to the
...
injected class name of a class template or class template partial specialization.
This is a non-canonical type; the canonical type is still a template
specialization type. This becomes the TypeForDecl of the pattern declaration,
which cleans up some amount of code (and complicates some other parts, but
whatever).
Fixes PR6326 and probably a few others, primarily by re-establishing a few
invariants about TypeLoc sizes.
llvm-svn: 98134
2010-03-10 03:28:59 +00:00
Anders Carlsson
02b99d6b7c
When building construction vtables, we need to check if a primary virtual base is actually a primary virtual base in the layout class.
...
llvm-svn: 98131
2010-03-10 03:02:01 +00:00
Rafael Espindola
69902a0a0d
add missing test
...
llvm-svn: 98129
2010-03-10 02:43:01 +00:00
Anders Carlsson
ca82a4fdba
Improve vcall offset handling in construction vtables. With this we layout the construction vtables from the ABI examples correctly.
...
llvm-svn: 98127
2010-03-10 02:33:41 +00:00
Rafael Espindola
e7113ca907
Delay codegen of vtables when handling implicit instantiations.
...
This fixes PR6474.
llvm-svn: 98123
2010-03-10 02:19:29 +00:00
Eric Christopher
1dca62055a
Add insert/extract_ps and related random macros.
...
llvm-svn: 98114
2010-03-10 00:50:58 +00:00
Devang Patel
05c37d2800
Use SmallString instead of alloca.
...
llvm-svn: 98112
2010-03-10 00:19:43 +00:00
Ted Kremenek
575398e29b
When computing in AnalysisContext the variables referenced
...
by a block, also look at the contained blocks.
llvm-svn: 98111
2010-03-10 00:18:11 +00:00
Ted Kremenek
7de5f32479
Enhance basic store to also lazily symbolicate VarRegions
...
with an 'unknown' memory space.
llvm-svn: 98110
2010-03-10 00:18:08 +00:00
Devang Patel
93f274c161
Fix file reference for derived and composite types. Now, dwarf writer uses strict verifier that ignores debug info for such types if their file info is unknown.
...
llvm-svn: 98096
2010-03-09 22:49:11 +00:00
John McCall
7242868e71
Value-initialize the written-builtin-specifiers field of DeclSpec, which
...
wasn't being initialized properly along the implicit-definition path.
Found by the valgrind buildbot.
llvm-svn: 98093
2010-03-09 22:39:49 +00:00
Fariborz Jahanian
eb1690d2bd
Fix the test some more.
...
llvm-svn: 98090
2010-03-09 22:17:52 +00:00
Fariborz Jahanian
9d227a1d5e
See if this test makes it though buildbot.
...
llvm-svn: 98087
2010-03-09 21:50:08 +00:00
Devang Patel
4f26205ba8
More then one anonymous aggregates on one line creates chaos when MDNode uniquness is combined with RAUW operation. Right solution is to avoid using RAUW.
...
This fixes PR 6554.
llvm-svn: 98083
2010-03-09 21:32:27 +00:00
Fariborz Jahanian
86048dc2e5
Reverse the code gen. enabled part of test until I can figure out
...
how to check the code pattern no matter how clang is built.
llvm-svn: 98079
2010-03-09 21:26:24 +00:00
Douglas Gregor
791c08734a
Improve Objective-C token-annotation test
...
llvm-svn: 98078
2010-03-09 20:57:01 +00:00
Fariborz Jahanian
525f34133d
Code gen test for a previous patch for
...
radar 7709015
llvm-svn: 98073
2010-03-09 19:15:10 +00:00
Devang Patel
f2aa707895
Use getLast() instead of getBasename().
...
llvm-svn: 98072
2010-03-09 19:14:07 +00:00
Fariborz Jahanian
c4813e8d02
Don't error when a block pointer is passed to a
...
vararg functions/methods. Fixes radar 7725203.
llvm-svn: 98070
2010-03-09 18:34:52 +00:00
Douglas Gregor
490075a7dd
Add an Objective-C test for token annotation
...
llvm-svn: 98056
2010-03-09 13:06:04 +00:00
Benjamin Kramer
bbf5c262ab
Replace copy loops with memcpy.
...
llvm-svn: 98055
2010-03-09 12:53:38 +00:00
Devang Patel
408dcf60aa
Start using DIFile. Corresponding llvm patch is r98020.
...
llvm-svn: 98021
2010-03-09 00:44:50 +00:00
Ted Kremenek
8590544ea8
Add test cases for r98003 and r98006.
...
llvm-svn: 98008
2010-03-08 23:38:27 +00:00
Ted Kremenek
0a4a8326c1
Add preprocessor guards to the definitions of size_t and wchar_t, and #undef NULL before defining it.
...
This addresses potential issues with system headers reported in <rdar://problem/7727159>.
llvm-svn: 98006
2010-03-08 23:23:45 +00:00
Ted Kremenek
4c9862ca1d
Place the definition of 'va_list' within a preprocessor guard. This matches the behavior of GCC, and avoids potential conflicts with system headers (e.g., stdio.h). Fixes <rdar://problem/7727145>.
...
llvm-svn: 98003
2010-03-08 23:13:05 +00:00
Ted Kremenek
ff9021b675
Implement clang_isUnexposed(), a predicate function to simplify filtering out
...
unexposed AST elements.
llvm-svn: 97985
2010-03-08 21:17:29 +00:00
Chris Lattner
e18aaf2c4b
add a codegen hack to work around an AST bug, allowing us to compile the
...
code in PR6537. This should be reverted when the ast bug is fixed.
llvm-svn: 97981
2010-03-08 21:08:07 +00:00
Ted Kremenek
c3015a914f
Allocate ASTRecordLayout objects using the allocator associated with ASTContext.
...
This allows them to be allocated using a BumpPtrAllocated
in the common case.
llvm-svn: 97978
2010-03-08 20:56:29 +00:00
Devang Patel
d3cbaa1ddf
Avoid using DIDescriptor.isNull().
...
llvm-svn: 97976
2010-03-08 20:53:17 +00:00
John McCall
2c7c0424b2
Revert r97727 at ddunbar's request; we want to solve this some other way.
...
llvm-svn: 97971
2010-03-08 20:01:09 +00:00
John McCall
0fbf039db9
Rename -Wbad-literal to -Wliteral-range.
...
llvm-svn: 97968
2010-03-08 19:34:43 +00:00
Devang Patel
9cf2705a5d
Revert r97949.
...
llvm-svn: 97964
2010-03-08 19:20:58 +00:00
Ted Kremenek
adccbca23f
Don't enable static analysis support for C++ by default. Users are
...
accidentally using it without realizing that it is nowhere close
to being generally usable and are reporting crashes that we
already know about.
llvm-svn: 97960
2010-03-08 19:06:44 +00:00
Douglas Gregor
8a16769b61
Improve XML output for C++ classes, from Olaf Krzikalla!
...
llvm-svn: 97954
2010-03-08 18:51:03 +00:00
Kovarththanan Rajaratnam
4bc61181f9
Mark variable as const
...
llvm-svn: 97951
2010-03-08 18:33:04 +00:00
Devang Patel
4ce8ebb087
Avoid DIDescriptor.isNull() checks.
...
llvm-svn: 97949
2010-03-08 18:26:57 +00:00
Douglas Gregor
de4827dd34
Extend ObjCMessageExpr for class method sends with the source location
...
of the class name.
llvm-svn: 97943
2010-03-08 16:40:19 +00:00
Douglas Gregor
12852d9521
Keep track of type source information in the return type of an
...
Objective-C method declaration, e.g., for
- (Foo *)myMethod;
we now have TypeSourceInfo for the Foo*.
llvm-svn: 97942
2010-03-08 14:59:44 +00:00
Duncan Sands
7a9ba76825
Remove unused headers.
...
llvm-svn: 97941
2010-03-08 11:29:03 +00:00
Douglas Gregor
b1489c67f0
Remove redundant semicolon
...
llvm-svn: 97930
2010-03-08 02:49:35 +00:00
Douglas Gregor
0aad774232
Make a note for the C++0x future, when we'll have to revisit the jump-diagnostics handling for variables without initializers
...
llvm-svn: 97929
2010-03-08 02:49:08 +00:00
Douglas Gregor
589973b097
In C++98/03, an uninitialized variable that has POD class type will be
...
uninitialized. This seems not to be the case in C++0x, where we still
call the (trivial) default constructor for a POD class
(!). Previously, we had implemented only the C++0x rules; now we
implement both. Fixes PR6536.
llvm-svn: 97928
2010-03-08 02:45:10 +00:00
Douglas Gregor
104ee00181
Downgrade errors when trying to catch a pointer or reference to
...
incomplete type to warnings; GCC (and EDG in GCC compatibility mode)
permit such handles. Fixes PR6527.
(For real this time)
llvm-svn: 97927
2010-03-08 01:47:36 +00:00
Chandler Carruth
3681e58d8b
Revert r97925, it only contained the test updates not the actual fix.
...
llvm-svn: 97926
2010-03-08 00:41:19 +00:00
Douglas Gregor
254bba4095
Downgrade errors when trying to catch a pointer or reference to
...
incomplete type to warnings; GCC (and EDG in GCC compatibility mode)
permit such handles. Fixes PR6527.
llvm-svn: 97925
2010-03-07 23:28:27 +00:00
Douglas Gregor
281c486e1b
Robustify callers that rebuild typename type nodes again NULL return
...
types. Fixes PR6463.
llvm-svn: 97924
2010-03-07 23:26:22 +00:00
Douglas Gregor
c934bc840c
Perform overload resolution when static_cast'ing from a
...
pointer-to-member-to-derived to a pointer-to-member-to-base. Fixes
PR6072.
llvm-svn: 97923
2010-03-07 23:24:59 +00:00
Douglas Gregor
1ce52caf0d
Reference binding via user-defined conversion can compute a binding
...
that is not reference-related (because it requires another implicit
conversion to which we can find). Fixes PR6483.
llvm-svn: 97922
2010-03-07 23:17:44 +00:00
Kovarththanan Rajaratnam
39f2fbd129
Undefine correct macro
...
llvm-svn: 97920
2010-03-07 19:10:13 +00:00
Chris Lattner
0a65574ccb
implement support for -Wno-deprecated, PR6534. While
...
I'm in there, change the altivec diagnostics to use 'double'
instead of "double" for consistency.
llvm-svn: 97919
2010-03-07 18:50:21 +00:00
Kovarththanan Rajaratnam
7a67f67823
Don't rely on implicit conversion
...
llvm-svn: 97916
2010-03-07 11:21:46 +00:00
Kovarththanan Rajaratnam
752a124aeb
Rename to addPPCallbacks since we're effectively adding a callback and maybe chaining it to an existing one
...
llvm-svn: 97913
2010-03-07 07:30:06 +00:00
Kovarththanan Rajaratnam
981a6a110e
Don't assert if PP already contains a valid PP callback. The PP can handle multiple callbacks (using PPChainedCallbacks)
...
llvm-svn: 97910
2010-03-07 07:18:58 +00:00
Eric Christopher
4c70358296
Add sse4.1 packed min and max intrinsics.
...
llvm-svn: 97907
2010-03-07 07:00:42 +00:00
Eric Christopher
7288890b51
Add load hint instruction intrinsic.
...
llvm-svn: 97904
2010-03-07 06:29:09 +00:00
Eric Christopher
8fffe75eaa
Add in movntdqa intrinsic for load hint.
...
llvm-svn: 97903
2010-03-07 06:28:34 +00:00
Eric Christopher
87990fe5df
Add in support for dword multiply and fp dot product intrinsics.
...
llvm-svn: 97902
2010-03-07 06:17:19 +00:00
Eric Christopher
1d99699bda
Add in dot product intrinsics for dpps and dppd.
...
llvm-svn: 97901
2010-03-07 06:16:56 +00:00
Eli Friedman
b632e30e41
Fix for PR6294: we should only delay recording nested dynamic classes if they
...
are lexically nested. Othewise, we never end up recording semantically nested
classes.
llvm-svn: 97900
2010-03-07 05:49:51 +00:00
Douglas Gregor
577cf97cf3
Don't turn off mangling in implicitly extern "C" system headers. GCC
...
doesn't do this on any of the major platforms, and we don't really
support any of the platforms that do (nor will we actually handle
those headers well). Fixes PR6217; see PR6530 for details on what we
would need to do to support these platforms.
llvm-svn: 97899
2010-03-07 05:10:40 +00:00
Tanya Lattner
5cb196e14b
Fix 80 col violation.
...
llvm-svn: 97898
2010-03-07 04:47:12 +00:00
Rafael Espindola
08a692aba4
Don't produce debug info when given -g. Fixes PR6529.
...
llvm-svn: 97897
2010-03-07 04:46:18 +00:00
Tanya Lattner
5cbff48b01
Fix indentation, use string directly instead of StringRef.
...
llvm-svn: 97896
2010-03-07 04:40:06 +00:00
Tanya Lattner
351e4393f1
Fix some weird patch issue.
...
llvm-svn: 97894
2010-03-07 04:27:11 +00:00
Tanya Lattner
5029d56cc1
Implement missing-braces warning and add a test case.
...
llvm-svn: 97893
2010-03-07 04:17:15 +00:00
Chris Lattner
03b3eba151
disable these dirs which rely on dynamic linking on mingw/cygwin
...
llvm-svn: 97892
2010-03-07 00:17:28 +00:00
Chris Lattner
5178f56255
add mblaze target support, patch by Wesley Peck!
...
llvm-svn: 97890
2010-03-06 21:21:27 +00:00
Chris Lattner
8341c390aa
on both the mac and linux, /usr/local/include is treated
...
as a "C++ Friendly" system header directory. This fixes
PR6523.
llvm-svn: 97885
2010-03-06 19:38:10 +00:00
Benjamin Kramer
aaff78ec9c
Rename the new Iterator objects and raise an assertion instead of returning invalid objects when the key is out of range.
...
llvm-svn: 97881
2010-03-06 15:38:03 +00:00
Benjamin Kramer
ff90813e42
Update the python bindings for recent changes in the CIndex API.
...
llvm-svn: 97880
2010-03-06 14:53:07 +00:00
Kovarththanan Rajaratnam
1c558cd773
Lowercase for consistency
...
llvm-svn: 97878
2010-03-06 12:07:48 +00:00
Eric Christopher
b0759be4d0
Fix _MM_FROUND_NEARBYINT and move rounding intrinsics to macros.
...
llvm-svn: 97874
2010-03-06 10:31:44 +00:00
Benjamin Kramer
f0a0f68c79
Add a message to these asserts.
...
llvm-svn: 97873
2010-03-06 09:07:19 +00:00
Rafael Espindola
d51c9b9a9f
Use static method in GlobalValue
...
llvm-svn: 97872
2010-03-06 07:35:18 +00:00
Eli Friedman
99d20f83ba
PR6515: Implement __builtin_signbit and friends.
...
I'm reasonably sure my implementation is correct, but it would be nice if
someone could double-check.
llvm-svn: 97864
2010-03-06 02:17:52 +00:00
Fariborz Jahanian
af9553a23a
Allow use of byref (__block attributed) arrays inside
...
the block. Fixes radar 7671883.
llvm-svn: 97863
2010-03-06 01:58:53 +00:00
John McCall
beec5a080f
Implement __builtin_dwarf_sp_column for i386 (Darwin and not), x86-64 (all),
...
and ARM. Implement __builtin_init_dwarf_reg_size_table for i386 (both) and
x86-64 (all).
llvm-svn: 97859
2010-03-06 00:35:14 +00:00
Douglas Gregor
6de584c2d2
When declaring a catch block in C++, make sure that the type being
...
caught can be copy-initialized and destructed. Fixes PR6518.
llvm-svn: 97853
2010-03-05 23:38:39 +00:00
Ted Kremenek
a00c5db1a8
Augment __has_feature to report that Clang supports adding attribute 'unused'
...
to an Objective-C instance variable.
llvm-svn: 97850
2010-03-05 22:43:32 +00:00
Ted Kremenek
a6d3ab394c
Check if 'Unit' is NULL before trying to iterate over the diagnostics.
...
This obviates a null dereference that can occur when 'NumErrors'
is not zero.
llvm-svn: 97849
2010-03-05 22:43:29 +00:00
Ted Kremenek
b39084072f
Add clang version to crashtracer string.
...
llvm-svn: 97848
2010-03-05 22:43:25 +00:00
Fariborz Jahanian
d2bccafe82
Patch to build qualifier on objective-c
...
pointer types. Fixes radar 7626768.
llvm-svn: 97847
2010-03-05 22:42:55 +00:00
Douglas Gregor
7829362620
The Windows build is just too weird; there's no real cost to doing the concurrency checks for ASTUnit in all builds
...
llvm-svn: 97840
2010-03-05 22:19:41 +00:00
Douglas Gregor
1e1973c0eb
Switch from NDEBUG to _DEBUG, since our Windows build is funny
...
llvm-svn: 97835
2010-03-05 21:48:53 +00:00
Douglas Gregor
554e13efc6
Only make __ptr64 and __w64 keywords when Microsoft extensions are enabled.
...
llvm-svn: 97834
2010-03-05 21:39:18 +00:00
Douglas Gregor
0c7c2f8b4d
A little hack to identify unwanted concurrency in CIndex
...
llvm-svn: 97831
2010-03-05 21:16:25 +00:00
Chris Lattner
b2bc4b9880
Emit warning on indirect goto that potentially violates
...
scope instead of error, PR6517
llvm-svn: 97826
2010-03-05 20:38:02 +00:00
Chris Lattner
2df50e6573
address PR6502 by downgrading the scope checker's address
...
of label error to a warning controllable with a -W flag.
llvm-svn: 97815
2010-03-05 19:26:49 +00:00
Kovarththanan Rajaratnam
3c36a6669a
Use clang::io::Emit8
...
llvm-svn: 97810
2010-03-05 15:40:54 +00:00
Benjamin Kramer
d4870700ad
Make sure the raw_string_ostream gets flushed so we don't accidentally return an empty string.
...
llvm-svn: 97809
2010-03-05 15:39:20 +00:00
Zhongxing Xu
e73584384a
Remove reference to AnalysisContext in Environment. We already have LocationContext
...
information in ExplodedNode.
llvm-svn: 97785
2010-03-05 04:45:36 +00:00
Fariborz Jahanian
2574577828
Remove header file dependencies in block patch
...
test case.
llvm-svn: 97777
2010-03-05 01:49:18 +00:00
Blaine Garst
f27ab71d9f
add support for a 1<<29 bit in the block flags field to mark blocks using alternate struct return ABI
...
llvm-svn: 97775
2010-03-05 01:29:59 +00:00
Rafael Espindola
4c489c7030
Don't produce an alias for a destructor if the target is weak.
...
This fixes bootstrap on ELF systems :-)
llvm-svn: 97773
2010-03-05 01:21:10 +00:00
Douglas Gregor
90d4717767
When we invalidate a declaration, make it public, so that it doesn't
...
trigger access control or one of the many assertions we have for valid
access specifiers.
llvm-svn: 97767
2010-03-05 00:26:45 +00:00
Fariborz Jahanian
97bb418575
Make rewritten source compiled with clang++.
...
llvm-svn: 97762
2010-03-04 23:13:29 +00:00
Fariborz Jahanian
7103835d79
Make rewritten source compiled with clang++ for correctness.
...
llvm-svn: 97761
2010-03-04 23:03:49 +00:00
Fariborz Jahanian
3db51d80ec
Change test to compile rewritten test with clang++.
...
llvm-svn: 97756
2010-03-04 21:57:21 +00:00