- Sep 29, 2013
-
-
Benjamin Kramer authored
llvm-svn: 191638
-
Benjamin Kramer authored
llvm-svn: 191637
-
Benjamin Kramer authored
SDNode destructors are never called. As an optimization use AtomicSDNode's internal storage if we have a small number of operands. llvm-svn: 191636
-
Sylvestre Ledru authored
llvm-svn: 191635
-
Faisal Vali authored
The general strategy is to create template versions of the conversion function and static invoker and then during template argument deduction of the conversion function, create the corresponding call-operator and static invoker specializations, and when the conversion function is marked referenced generate the body of the conversion function using the corresponding static-invoker specialization. Similarly, Codegen does something similar - when asked to emit the IR for a specialized static invoker of a generic lambda, it forwards emission to the corresponding call operator. This patch has been reviewed in person both by Doug and Richard. Richard gave me the LGTM. A few minor changes: - per Richard's request i added a simple check to gracefully inform that captures (init, explicit or default) have not been added to generic lambdas just yet (instead of the assertion violation). - I removed a few lines of code that added the call operators instantiated parameters to the currentinstantiationscope. Not only did it not handle parameter packs, but it is more relevant in the patch for nested lambdas which will follow this one, and fix that problem more comprehensively. - Doug had commented that the original implementation strategy of using the TypeSourceInfo of the call operator to create the static-invoker was flawed and allowed const as a member qualifier to creep into the type of the static-invoker. I currently kludge around it - but after my initial discussion with Doug, with a follow up session with Richard, I have added a FIXME so that a more elegant solution that involves the use of TrivialTypeSourceInfo call followed by the correct wiring of the template parameters to the functionprototypeloc is forthcoming. Thanks! llvm-svn: 191634
-
Craig Topper authored
llvm-svn: 191633
-
Craig Topper authored
llvm-svn: 191632
-
Ed Schouten authored
Clang uses UTF-16 and UTF-32 for its char16_t's and char32_t's exclusively. This means that we can define __STDC_UTF_16__ and __STDC_UTF_32__ unconditionally. While there, define __STDC_MB_MIGHT_NEQ_WC__ for FreeBSD. FreeBSD's wchar_t's don't encode characters as ISO-10646; the encoding depends on the locale used. Because the character set used might not be a superset of ASCII, we must define __STDC_MB_MIGHT_NEQ_WC__. llvm-svn: 191631
-
Craig Topper authored
llvm-svn: 191630
-
Richard Smith authored
instead, it's enabled by the -cc1 flag -fsized-deallocation, until we sort out the backward-compatibility issues. llvm-svn: 191629
-
- Sep 28, 2013
-
-
Benjamin Kramer authored
llvm-svn: 191628
-
Richard Smith authored
llvm-svn: 191627
-
Marshall Clow authored
llvm-svn: 191626
-
Marshall Clow authored
llvm-svn: 191625
-
Chandler Carruth authored
out in projects. This appears to be working on my system, and I will be watching build bots to see if there are any issues on other platforms. llvm-svn: 191624
-
Benjamin Kramer authored
llvm-svn: 191623
-
James Dennett authored
llvm-svn: 191622
-
Sylvestre Ledru authored
llvm-svn: 191621
-
Sylvestre Ledru authored
* Add a TODO item llvm-svn: 191620
-
Sylvestre Ledru authored
llvm-svn: 191619
-
Sylvestre Ledru authored
scan-build was complaining about: The return value from the call to 'setgid' is not checked. If an error occurs in 'setgid', the following code may execute with unexpected privileges llvm-svn: 191618
-
Sylvestre Ledru authored
Remove useless declaration. If match_type == eNameMatchIgnore, we already left this function at the beginning of the method. Found by coverity. Fixes CID 1094188 llvm-svn: 191617
-
Sylvestre Ledru authored
Switch to mkstemp. * Get and display the error message when an error occurs while creating the temporary file llvm-svn: 191616
-
Benjamin Kramer authored
llvm-svn: 191615
-
Benjamin Kramer authored
- We scan for whitespace between comments anyways, remember any newlines seen along the way. - Use this newline number to decide whether two comments are adjacent. - Since the newline check is now free remove the caching and unused code. - Remove unnecessary boolean state from the comment list. - No behavioral change. llvm-svn: 191614
-
Sylvestre Ledru authored
llvm-svn: 191613
-
Simon Atanasyan authored
multi-library path suffix. The code calculates MIPS toolchain specific multi-lib path suffixes like mips16/soft-float/el is moved to the separate function findMultiLibSuffix(). This function called during GCC installation detection and result is stored for the future using. The patch reviewed by Rafael Espindola. http://llvm-reviews.chandlerc.com/D1738 llvm-svn: 191612
-
Robert Wilhelm authored
llvm-svn: 191611
-
Robert Wilhelm authored
llvm-svn: 191610
-
Richard Smith authored
llvm-svn: 191609
-
Richard Smith authored
llvm-svn: 191608
-
Richard Smith authored
llvm-svn: 191607
-
Richard Smith authored
putting them in the call operator's DeclContext. This better matches the language wording and avoids some cases where code gets confused by them for namespace-scope lambdas and the like. llvm-svn: 191606
-
Richard Smith authored
and capturing a variable declaration, and complete the implementation of them. llvm-svn: 191605
-
Tom Stellard authored
llvm-svn: 191604
-
Tom Stellard authored
We were completely ignoring the unorder/ordered attributes of condition codes and also incorrectly lowering seto and setuo. Reviewed-by: Vincent Lejeune<vljn at ovi.com> llvm-svn: 191603
-
Tom Stellard authored
SelectionDAG will now attempt to inverse an illegal conditon in order to find a legal one and if that doesn't work, it will attempt to swap the operands using the inverted condition. There are no new test cases for this, but a nubmer of the existing R600 tests hit this path. llvm-svn: 191602
-
Tom Stellard authored
This is useful for targets like R600, which only support GT, GE, NE, and EQ condition codes as it removes the need to handle unsupported condition codes in target specific code. There are no tests with this commit, but R600 has been updated to take advantage of this new feature, so its existing selectcc tests are now testing the swapped operands path. llvm-svn: 191601
-
Tom Stellard authored
Interpreting the results of this function is not very intuitive, so I cleaned it up to make it more clear whether or not a SETCC op was legalized and how it was legalized (either by swapping LHS and RHS or replacing with AND/OR). This patch does change functionality in the LHS and RHS swapping case, but unfortunately there are no in-tree tests for this. However, this patch is a prerequisite for R600 to take advantage of the LHS and RHS swapping, so tests will be added in subsequent commits. llvm-svn: 191600
-
Jordan Rose authored
...rather than trying to figure it out from the call site, and having people complain that we guessed wrong and that a prototype-less call is the same as a variadic call on their system. More importantly, fix a crash when there's no decl at the call site (though we could have just returned a default value). <rdar://problem/15037033> llvm-svn: 191599
-