Commit Graph

21297 Commits

Author SHA1 Message Date
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