- Feb 02, 2012
-
-
Anton Yartsev authored
llvm-svn: 149594
-
http://llvm.org/bugs/show_bug.cgi?id=10657Anton Yartsev authored
extern inline case considered llvm-svn: 149587
-
Eli Friedman authored
Split Sema::MarkDeclarationReferenced into multiple functions; the additional entry points are needed to implement C++11 odr-use marking correctly. No functional change in this patch; I'll actually make the change which fixes the odr-use marking in a followup patch. llvm-svn: 149586
-
Anna Zaks authored
the the code like this (due to x and &x being the same value but different size): void* x[] = { ptr1, ptr2, ptr3 }; CFArrayCreate(NULL, (const void **) &x, count, NULL); llvm-svn: 149579
-
Richard Smith authored
* support the gcc __builtin_constant_p() ? ... : ... folding hack in C++11 * check for unspecified values in pointer comparisons and pointer subtractions llvm-svn: 149578
-
Douglas Gregor authored
dependencies and outputs them in GraphViz format. llvm-svn: 149575
-
Fariborz Jahanian authored
is declaring ivars. // rdar://10752081 llvm-svn: 149573
-
Eli Friedman authored
Change the check for constant-conversion with width-1 bitfields so it doesn't suppress quite as many cases. Based off a testcase in the gcc testsuite. llvm-svn: 149572
-
Dylan Noblesmith authored
Too many weird build failures. llvm-svn: 149571
-
Ted Kremenek authored
llvm-svn: 149566
-
Fariborz Jahanian authored
// rdar://10770497 llvm-svn: 149565
-
Eric Christopher authored
a full type go ahead and emit it if we currently only have a forward declaration. Fixes gdb bots for gdb1090.exp and call-ar-st.exp. llvm-svn: 149560
-
Rafael Espindola authored
llvm-svn: 149559
-
- Feb 01, 2012
-
-
Fariborz Jahanian authored
changing the diagnostic. Also use correct spelling for both. llvm-svn: 149554
-
Eric Christopher authored
llvm-svn: 149544
-
Eric Christopher authored
llvm-svn: 149543
-
Douglas Gregor authored
anything into the corresponding DeclContext. Co-hacked with Sean; fixes <rdar://problem/10768928>. llvm-svn: 149535
-
Argyrios Kyrtzidis authored
a SourceManager that has already been deleted, rdar://10768346. llvm-svn: 149532
-
Douglas Gregor authored
llvm-svn: 149531
-
David Chisnall authored
Spotted by rjmcall. llvm-svn: 149526
-
Anna Zaks authored
declarations with special names. A patch by Dmitri Gribenko. llvm-svn: 149525
-
Anna Zaks authored
argument in strncat. The warning is ignored by default since it needs more qualification. TODO: The warning message and the note are messy when strncat is a builtin due to the macro expansion. llvm-svn: 149524
-
Douglas Gregor authored
llvm-svn: 149517
-
Douglas Gregor authored
cleans up and improves a few things: - We get rid of the ugly dance of computing all of the captures in data structures that clone those of CapturingScopeInfo, centralizing the logic for accessing/updating these data structures - We re-use the existing capture logic for 'this', which actually works now. Cleaned up some diagnostic wording in minor ways as well. llvm-svn: 149516
-
Dylan Noblesmith authored
And remove HAVE_CLANG_CONFIG_H, now that the header is generated in the autoconf build, too. (clang r149497 / llvm r149498) Also include the config.h header after all other headers, per the LLVM coding standards. It also turns out WindowsToolChain.cpp wasn't using the config header at all, so that include's just deleted now. llvm-svn: 149504
-
Richard Smith authored
This is a mess. According to the C++11 standard, pointer subtraction only has undefined behavior if the difference of the array indices does not fit into a ptrdiff_t. However, common implementations effectively perform a char* subtraction first, and then divide the result by the element size, which can cause overflows in some cases. Those cases are not considered to be undefined behavior by this change; perhaps they should be. llvm-svn: 149490
-
Stepan Dyatkovskiy authored
The purpose of refactoring is to hide operand roles from SwitchInst user (programmer). If you want to play with operands directly, probably you will need lower level methods than SwitchInst ones (TerminatorInst or may be User). After this patch we can reorganize SwitchInst operands and successors as we want. What was done: 1. Changed semantics of index inside the getCaseValue method: getCaseValue(0) means "get first case", not a condition. Use getCondition() if you want to resolve the condition. I propose don't mix SwitchInst case indexing with low level indexing (TI successors indexing, User's operands indexing), since it may be dangerous. 2. By the same reason findCaseValue(ConstantInt*) returns actual number of case value. 0 means first case, not default. If there is no case with given value, ErrorIndex will returned. 3. Added getCaseSuccessor method. I propose to avoid usage of TerminatorInst::getSuccessor if you want to resolve case successor BB. Use getCaseSuccessor instead, since internal SwitchInst organization of operands/successors is hidden and may be changed in any moment. 4. Added resolveSuccessorIndex and resolveCaseIndex. The main purpose of these methods is to see how case successors are really mapped in TerminatorInst. 4.1 "resolveSuccessorIndex" was created if you need to level down from SwitchInst to TerminatorInst. It returns TerminatorInst's successor index for given case successor. 4.2 "resolveCaseIndex" converts low level successors index to case index that curresponds to the given successor. Note: There are also related compatability fix patches for dragonegg, klee, llvm-gcc-4.0, llvm-gcc-4.2, safecode, clang. llvm-svn: 149482
-
Argyrios Kyrtzidis authored
commit 149470. This fixes test/CodeGen/PR3589-freestanding-libcalls.c. Original log: ConstantArray::get() (for strings) is going away, use ConstantDataArray::getString instead. Many instances of ConstantArray::get() could be moved to use more efficient ConstantDataArray methods that avoid a ton of intermediate Constant*'s for each element (e.g. GetConstantArrayFromStringLiteral). I don't plan on doing this in the short-term though. llvm-svn: 149477
-
Argyrios Kyrtzidis authored
llvm-svn: 149476
-
Eric Christopher authored
instead of the entire class definition. llvm-svn: 149474
-
Richard Smith authored
llvm-svn: 149473
-
Douglas Gregor authored
type, be sure to add the qualifier for the enumeration type. llvm-svn: 149471
-
Richard Smith authored
a literal type. Disallow it as the return type of a constexpr function declaration. llvm-svn: 149469
-
Richard Smith authored
llvm-svn: 149467
-
Richard Smith authored
llvm-svn: 149463
-
Douglas Gregor authored
- Actually building the var -> capture mapping properly (there was an off-by-one error) - Keeping track of the source location of each capture - Minor QoI improvements, e.g, highlighing the prior capture if there are multiple captures, pointing at the variable declaration we found if we reject it. As part of this, add standard citations for the various semantic checks we perform, and note where we're not performing those checks as we should. llvm-svn: 149462
-
Nico Weber authored
Fixes PR11847. Patch from Jason Haslam! llvm-svn: 149460
-
Douglas Gregor authored
llvm-svn: 149458
-
Bob Wilson authored
I removed support for "*-darwin*-iphoneos" triples, since we now have iOS listed as a separate OS in the triples. llvm-svn: 149455
-
Bob Wilson authored
Check if the triple OS is IOS instead of checking for arm/thumb architectures and check that before calling isMacOSXVersionLT. llvm-svn: 149454
-