- Jul 09, 2011
-
-
Chris Lattner authored
llvm-svn: 134831
-
Evan Cheng authored
llvm-svn: 134811
-
Chris Lattner authored
llvm-svn: 134808
-
John McCall authored
- Emit default-initialization of arrays that were partially initialized with initializer lists with a loop, rather than emitting the default initializer N times; - support destroying VLAs of non-trivial type, although this is not yet exposed to users; and - support the partial destruction of arrays initialized with initializer lists when an initializer throws an exception. llvm-svn: 134784
-
Eli Friedman authored
llvm-svn: 134774
-
Eli Friedman authored
Note that because we don't usually touch the MMX registers anyway, all -mno-mmx needs to do is tweak the x86-32 calling convention a little for vectors that look like MMX vectors, and prevent the definition of __MMX__. clang doesn't actually stop the user from using MMX inline asm operands or MMX builtins in -mno-mmx mode; as a QOI issue, it would be nice to diagnose, but I doubt it really matters much. <rdar://problem/9694837> llvm-svn: 134770
-
Bruno Cardoso Lopes authored
llvm-svn: 134765
-
Jakub Staszak authored
llvm-svn: 134761
-
Bruno Cardoso Lopes authored
llvm-svn: 134754
-
- Jul 08, 2011
-
-
Cameron Zwarich authored
llvm-svn: 134743
-
Eli Friedman authored
Fix up dependency file name printing to more closely match that of gcc, including fixing a nasty recent regression that could make us print "/foo.h" with a command-line including "-I ./". rdar://problem/9734352 llvm-svn: 134728
-
Fariborz Jahanian authored
object to a __weak object type. // rdar://9732636 llvm-svn: 134706
-
Douglas Gregor authored
lvalue/xvalue/rvalue, rather than just (incorrectly) assuming it's an lvalue. Fixes PR10285 / <rdar://problem/9743926>. llvm-svn: 134700
-
Chandler Carruth authored
argument expansion to use the macro argument source locations as well. Add a few tests to exercise this. There is still a bit more work needed here though. llvm-svn: 134674
-
Chandler Carruth authored
instantiation and improve diagnostics which are stem from macro arguments to trace the argument itself back through the layers of macro expansion. This requires some tricky handling of the source locations, as the argument appears to be expanded in the opposite direction from the surrounding macro. This patch provides helper routines that encapsulate the logic and explain the reasoning behind how we step through macros during diagnostic printing. This fixes the rest of the test cases originially in PR9279, and later split out into PR10214 and PR10215. There is still some more work we can do here to improve the macro backtrace, but those will follow as separate patches. llvm-svn: 134660
-
Eric Christopher authored
extra register. Part of PR10299 and rdar://9740322 llvm-svn: 134657
-
Fariborz Jahanian authored
object to a __weak object/type. // rdar://9732636. One item is yet todo. llvm-svn: 134655
-
- Jul 07, 2011
-
-
Cameron Zwarich authored
so roll it out. llvm-svn: 134638
-
Nick Lewycky authored
function. Fixes PR10233! llvm-svn: 134634
-
Fariborz Jahanian authored
object to a __weak object/type. // rdar://9732636. This is objc side of things. objc++ side tbd. llvm-svn: 134624
-
Douglas Gregor authored
clang_codeCompleteGetContexts(), that provides the client with information about the context in which code completion has occurred and what kinds of entities make sense as completions at that point. Patch by Connor Wakamo! llvm-svn: 134615
-
John McCall authored
where we have an immediate need of a retained value. As an exception, don't do this when the call is made as the immediate operand of a __bridge retain. This is more in the way of a workaround than an actual guarantee, so it's acceptable to be brittle here. rdar://problem/9504800 llvm-svn: 134605
-
Argyrios Kyrtzidis authored
e.g. #define M(x) A x B M(##) // should expand to 'A ## B', not 'AB' llvm-svn: 134588
-
Argyrios Kyrtzidis authored
When a macro instantiation occurs, reserve a SLocEntry chunk with length the full length of the macro definition source. Set the spelling location of this chunk to point to the start of the macro definition and any tokens that are lexed directly from the macro definition will get a location from this chunk with the appropriate offset. For any tokens that come from argument expansion, '##' paste operator, etc. have their instantiation location point at the appropriate place in the instantiated macro definition (the argument identifier and the '##' token respectively). This improves macro instantiation diagnostics: Before: t.c:5:9: error: invalid operands to binary expression ('struct S' and 'int') int y = M(/); ^~~~ t.c:5:11: note: instantiated from: int y = M(/); ^ After: t.c:5:9: error: invalid operands to binary expression ('struct S' and 'int') int y = M(/); ^~~~ t.c:3:20: note: instantiated from: \#define M(op) (foo op 3); ~~~ ^ ~ t.c:5:11: note: instantiated from: int y = M(/); ^ The memory savings for a candidate boost library that abuses the preprocessor are: - 32% less SLocEntries (37M -> 25M) - 30% reduction in PCH file size (900M -> 635M) - 50% reduction in memory usage for the SLocEntry table (1.6G -> 800M) llvm-svn: 134587
-
Nick Lewycky authored
expressions. llvm-svn: 134583
-
Tanya Lattner authored
Do not violate the opencl casting rules. This test case still illustrates the problem. In the future, we should throw an error when doing invalid casting. llvm-svn: 134570
-
Douglas Gregor authored
throw-expressions, such that we don't consider the NRVO when the non-volatile automatic object comes from outside the innermost try scope (C++0x [class.copymove]p13). In C++98/03, our ASTs were incorrect but it didn't matter because IR generation doesn't actually apply the NRVO here. In C++0x, however, we were moving from an object when in fact we should have copied from it. Fixes PR10142 / <rdar://problem/9714312>. llvm-svn: 134548
-
- Jul 06, 2011
-
-
-
Fariborz Jahanian authored
classes which are incompatible with weak references. // rdar://9693477 llvm-svn: 134522
-
Douglas Gregor authored
declaration with dependent type. Fixes PR10232 / <rdar://problem/9700653>. llvm-svn: 134515
-
Douglas Gregor authored
clang_saveTranslationUnit() to save a PCH file if the only errors it contains are recoverable errors. Fixes <rdar://problem/9727804>. llvm-svn: 134503
-
Douglas Gregor authored
obey the objc_method_family attribute when provided. Fixes <rdar://problem/9726279>. llvm-svn: 134493
-
Rafael Espindola authored
instantiating functions. Fixes PR10272. llvm-svn: 134491
-
John McCall authored
variadic argument pack expansions as having changed, rather than doing it for each changed expansion, which leaves out zero-argument packs with catastrophic consequences. Fixes PR10260. llvm-svn: 134483
-
John McCall authored
as scope specifiers; diagnose the attempt, rather than letting it go to an assert. The rest of PR10264. llvm-svn: 134479
-
John McCall authored
of an enum specifier in dialects which permit fixed underlying types. Fixes the rejects-valid part of PR10264. llvm-svn: 134468
-
John McCall authored
Restore it. llvm-svn: 134459
-
John McCall authored
exception in Objective-C; in Objective-C++ we still use std::terminate(). This is only available in very recent runtimes. llvm-svn: 134456
-
John McCall authored
structure to hold inferred information, then propagate each invididual bit down to -cc1. Separate the bits of "supports weak" and "has a native ARC runtime"; make the latter a CodeGenOption. The tool chain is still driving this decision, because it's the place that has the required deployment target information on Darwin, but at least it's better-factored now. llvm-svn: 134453
-
Fariborz Jahanian authored
passed to it, and unknown selectors causing potential leak. // rdar://9659270 llvm-svn: 134449
-