summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Merge r227127 doc link fix into 36 release branchReid Kleckner2015-01-261-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_36@227128 91177308-0d34-0410-b5e6-96231b3b80d8
* Merging r226863:Hans Wennborg2015-01-233-9/+10
| | | | | | | | | | | | | ------------------------------------------------------------------------ r226863 | joerg | 2015-01-22 13:01:00 -0800 (Thu, 22 Jan 2015) | 3 lines When reporting constraints that should be constant, the type doesn't really help. Improve diagnostics. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_36@226916 91177308-0d34-0410-b5e6-96231b3b80d8
* Merging r226877:Hans Wennborg2015-01-233-58/+678
| | | | | | | | | | | | | ------------------------------------------------------------------------ r226877 | atanasyan | 2015-01-22 15:16:48 -0800 (Thu, 22 Jan 2015) | 3 lines [Mips] Fix type of 64-bit integer in case of MIPS N64 ABI Differential Revision: http://reviews.llvm.org/D7127 ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_36@226894 91177308-0d34-0410-b5e6-96231b3b80d8
* Merging r226707:Hans Wennborg2015-01-222-0/+16
| | | | | | | | | | | | | | | | | | | | | | | ------------------------------------------------------------------------ r226707 | rnk | 2015-01-21 14:18:17 -0800 (Wed, 21 Jan 2015) | 13 lines Add the "thunk" attribute to MS ABI virtual member pointers This attribute implies indicates that the function musttail calls another function and returns whatever it returns. The return type of the thunk is meaningless, as the thunk can dynamically call different functions with different return types. So long as the callers bitcast the thunk with the correct type, behavior is well defined. This attribute was necessary to fix PR20944, where the indirect call combiner noticed that the thunk returned void and replaced the results of the indirect call instruction with undef. Over-the-shoulder reviewed by David Majnemer. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_36@226853 91177308-0d34-0410-b5e6-96231b3b80d8
* Merging r226754:Hans Wennborg2015-01-223-2/+3
| | | | | | | | | | | | | | | | | | | ------------------------------------------------------------------------ r226754 | hans | 2015-01-21 16:45:20 -0800 (Wed, 21 Jan 2015) | 9 lines Fix compiler_builtins.m test to not rely on including system stdlib.h and malloc.h Importing _Builtin_intrinsics.sse and avx would transitively pull in those headers, and the test would fail when building in an environment where they were not available on the include path. This fixes PR20995 for me. Differential Revision: http://reviews.llvm.org/D7112 ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_36@226833 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r225705 from the branch.Rafael Espindola2015-01-2114-100/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There were a few followup commits to this one, but only this one made it to the branch. Also, there are still some open issues (pr22285), so it is probably better to leave this out of 3.6. original message: -------------------------------------------------------------------------- [patch][pr19848] Produce explicit comdats in clang. The llvm IR until recently had no support for comdats. This was a problem when targeting C++ on ELF/COFF as just using weak linkage would cause quite a bit of dead bits to remain on the executable (unless -ffunction-sections, -fdata-sections and --gc-sections were used). To fix the problem, llvm's codegen will just assume that any weak or linkonce that is not in an explicit comdat should be output in one with the same name as the global. This unfortunately breaks cases like pr19848 where a weak symbol is not xpected to be part of any comdat. Now that we have explicit comdats in the IR, we can finally get both cases right. This first patch just makes clang give explicit comdats to GlobalValues where t is allowed to. A followup patch to llvm will then stop implicitly producing comdats. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_36@226699 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some ReleaseNote items from NicoHans Wennborg2015-01-211-2/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_36@226697 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some items to the 3.6 release notes.Rafael Espindola2015-01-211-1/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_36@226692 91177308-0d34-0410-b5e6-96231b3b80d8
* Merging r226624:Hans Wennborg2015-01-212-3/+12
| | | | | | | | | | | | | | | | ------------------------------------------------------------------------ r226624 | rikka | 2015-01-20 16:04:19 -0800 (Tue, 20 Jan 2015) | 6 lines Correct all typos in the initialization arguments, even if one could not be corrected. This fixes PR22250, which exposed the bug where if there's more than one TypoExpr in the arguments, once one failed to be corrected none of the TypoExprs after it would be handled at all thanks to an early return. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_36@226635 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert "r222906 - Create a new 'flag_enum' attribute."Hans Wennborg2015-01-2012-286/+80
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_36@226593 91177308-0d34-0410-b5e6-96231b3b80d8
* Merging r226282:Hans Wennborg2015-01-161-1/+3
| | | | | | | | | | | | ------------------------------------------------------------------------ r226282 | alexfh | 2015-01-16 07:57:15 -0800 (Fri, 16 Jan 2015) | 2 lines Attempt to fix the build with XCode 5.0.2 (and probably 5.1.1). ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_36@226293 91177308-0d34-0410-b5e6-96231b3b80d8
* Merging r226136:Daniel Sanders2015-01-162-0/+22
| | | | | | | | | | | ------------------------------------------------------------------------ r226136 | atanasyan | 2015-01-15 07:04:48 +0000 (Thu, 15 Jan 2015) | 1 line [Mips] Define macros `__mips_isa_rev` in case of mips32r6/mips64r6 options ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_36@226252 91177308-0d34-0410-b5e6-96231b3b80d8
* Merging r226049:Duncan P. N. Exon Smith2015-01-1523-81/+81
| | | | | | | | | | | | | ------------------------------------------------------------------------ r226049 | dexonsmith | 2015-01-14 14:28:03 -0800 (Wed, 14 Jan 2015) | 3 lines IR: Move MDLocation into place (clang testcases) Update testcases to match LLVM change in r226048. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_36@226093 91177308-0d34-0410-b5e6-96231b3b80d8
* Merging r226008:Hans Wennborg2015-01-142-5/+5
| | | | | | | | | | | ------------------------------------------------------------------------ r226008 | hans | 2015-01-14 10:14:00 -0800 (Wed, 14 Jan 2015) | 1 line Update cxx_dr_status.html after 3.6 branch ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_36@226050 91177308-0d34-0410-b5e6-96231b3b80d8
* Creating release_36 branch off revision 225991Hans Wennborg2015-01-140-0/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_36@225993 91177308-0d34-0410-b5e6-96231b3b80d8
* clang-format: Disable flag for Google's Java and Javascript styles.Daniel Jasper2015-01-141-0/+2
| | | | | | | Disable AlwaysBreakBeforeMultilineString, as the style guides don't really say to do so. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225982 91177308-0d34-0410-b5e6-96231b3b80d8
* [mips] Handle transparent unions correctly.Daniel Sanders2015-01-142-0/+29
| | | | | | | | | | | | | | | | | | | | | | Summary: This fixes MultiSource/Applications/lemon on big-endian N32 by correcting the handling of the argument to wait(). glibc defines it as a transparent union of void* and int*. Such unions are passed according to the rules of the first member so the argument must be passed as if it were a void* (sign extended from i32 to i64) and not as a union (shifted to the upper bits of an i64). wait() already behaves correctly on big-endian O32 and N64 since the union is already the same size as an argument slot. Reviewers: atanasyan Reviewed By: atanasyan Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D6963 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225981 91177308-0d34-0410-b5e6-96231b3b80d8
* [cleanup] Re-sort *all* #include lines with llvm/utils/sort_includes.pyChandler Carruth2015-01-1445-69/+56
| | | | | | | | | | Sorry for the noise, I managed to miss a bunch of recent regressions of include orderings here. This should actually sort all the includes for Clang. Again, no functionality changed, this is just a mechanical cleanup that I try to run periodically to keep the #include lines as regular as possible across the project. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225979 91177308-0d34-0410-b5e6-96231b3b80d8
* [cleanup] Re-sort the #include lines using llvm/utils/sort_includes.pyChandler Carruth2015-01-1413-22/+19
| | | | | | | No functionality changed, this is a purely mechanical cleanup to ensure the #include order remains consistent across the project. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225975 91177308-0d34-0410-b5e6-96231b3b80d8
* clang-format: [Java] Support try blocks with resources.Daniel Jasper2015-01-143-1/+17
| | | | | | | | | | | | | | | Before: try (SomeResource rs = someFunction()) { Something(); } After: try (SomeResource rs = someFunction()) { Something(); } git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225973 91177308-0d34-0410-b5e6-96231b3b80d8
* clang-format: [Java] Prefer not to break in parameter annotations.Daniel Jasper2015-01-142-0/+8
| | | | | | | | | | | | | | Before: boolean someFunction(@Param(aaaaaaaaaaaaaaaa) String aaaaa, String bbbbbbbbbbbbbbb) {} After: boolean someFunction( @Param(aaaaaaaaaaaaaaaa) String aaaaa, String bbbbbbbbbbbbbbb) {} git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225971 91177308-0d34-0410-b5e6-96231b3b80d8
* clang-format: [Java] Understand "import static".Daniel Jasper2015-01-142-1/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225965 91177308-0d34-0410-b5e6-96231b3b80d8
* clang-format: [Java] Don't let annotations confuse return type analysis.Daniel Jasper2015-01-142-0/+7
| | | | | | | | | | | | | | Before: @Test ReturnType doSomething(String aaaaaaaaaaaaa, String bbbbbbbbbbbbbbb) {} After: @Test ReturnType doSomething( String aaaaaaaaaaaaa, String bbbbbbbbbbbbbbb) {} git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225964 91177308-0d34-0410-b5e6-96231b3b80d8
* clang-format: [Java] Don't line-wrap before annotations' l_parens.Daniel Jasper2015-01-142-1/+5
| | | | | | | | | | | | | | Before: @SomeAnnotation (aaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaa) int i; After: @SomeAnnotation( aaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaa) int i; git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225963 91177308-0d34-0410-b5e6-96231b3b80d8
* clang-format: [Java] Don't get confused by leading annotations.Daniel Jasper2015-01-142-1/+5
| | | | | | | | | | | | | | Before: @Test(a) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa = aaaaaaaaaaaaaaaaaaaaaaaaaaaa( aaaaaaaaaaaaaaaaaaaaaaa); After: @Test(a) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa = aaaaaaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaa); git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225962 91177308-0d34-0410-b5e6-96231b3b80d8
* The assembler is now enabled by default.Brad Smith2015-01-141-9/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225961 91177308-0d34-0410-b5e6-96231b3b80d8
* Sema: It's cheaper to ask LookupResult::empty than to calculate linkageDavid Majnemer2015-01-141-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225960 91177308-0d34-0410-b5e6-96231b3b80d8
* Use the integrated assembler by default on 32-bit PowerPC and SPARC.Brad Smith2015-01-145-35/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225958 91177308-0d34-0410-b5e6-96231b3b80d8
* Reapply r225000 (reverted in r225555): DebugInfo: Generalize debug info ↵David Blaikie2015-01-1419-221/+163
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | location handling (and follow-up commits). Several pieces of code were relying on implicit debug location setting which usually lead to incorrect line information anyway. So I've fixed those (in r225955 and r225845) separately which should pave the way for this commit to be cleanly reapplied. The reason these implicit dependencies resulted in crashes with this patch is that the debug location would no longer implicitly leak from one place to another, but be set back to invalid. Once a call with no/invalid location was emitted, if that call was ever inlined it could produce invalid debugloc chains and assert during LLVM's codegen. There may be further cases of such bugs in this patch - they're hard to flush out with regression testing, so I'll keep an eye out for reports and investigate/fix them ASAP if they come up. Original commit message: Reapply "DebugInfo: Generalize debug info location handling" Originally committed in r224385 and reverted in r224441 due to concerns this change might've introduced a crash. Turns out this change fixes the crash introduced by one of my earlier more specific location handling changes (those specific fixes are reverted by this patch, in favor of the more general solution). Recommitted in r224941 and reverted in r224970 after it caused a crash when building compiler-rt. Looks to be due to this change zeroing out the debug location when emitting default arguments (which were meant to inherit their outer expression's location) thus creating call instructions without locations - these create problems for inlining and must not be created. That is fixed and tested in this version of the change. Original commit message: This is a more scalable (fixed in mostly one place, rather than many places that will need constant improvement/maintenance) solution to several commits I've made recently to increase source fidelity for subexpressions. This resetting had to be done at the DebugLoc level (not the SourceLocation level) to preserve scoping information (if the resetting was done with CGDebugInfo::EmitLocation, it would've caused the tail end of an expression's codegen to end up in a potentially different scope than the start, even though it was at the same source location). The drawback to this is that it might leave CGDebugInfo out of sync. Ideally CGDebugInfo shouldn't have a duplicate sense of the current SourceLocation, but for now it seems it does... - I don't think I'm going to tackle removing that just now. I expect this'll probably cause some more buildbot fallout & I'll investigate that as it comes up. Also these sort of improvements might be starting to show a weakness/bug in LLVM's line table handling: we don't correctly emit is_stmt for statements, we just put it on every line table entry. This means one statement split over multiple lines appears as multiple 'statements' and two statements on one line (without column info) are treated as one statement. I don't think we have any IR representation of statements that would help us distinguish these cases and identify the beginning of each statement - so that might be something we need to add (possibly to the lexical scope chain - a scope for each statement). This does cause some problems for GDB and possibly other DWARF consumers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225956 91177308-0d34-0410-b5e6-96231b3b80d8
* DebugInof: Correct the location of exception cleanups in global ctors/dtors ↵David Blaikie2015-01-144-4/+48
| | | | | | | | | | | | | | | | | | | | | | | | and ObjC methods Without setting the CurEHLocation these cleanups would be attributed to whatever the last active debug line location was (the 'fn' call in the included test cases). By setting CurEHLocation correctly the line information is improved/corrected. This quality bug turned into a crasher with r225000 when, instead of allowing the last location to persist, it would be zero'd out. This could lead to a function call (such as the dtor) being made without a debug location - if that call was subsequently inlined (and the caller and callee had debug info, just not the call instruction) the inliner would violate important constraints about the debug location chains by not updating the inlined instructions to chain up to the callee locations. So, by fixing this bug, I am addressing the assertion failures introduced by r225000 and should be able to recommit that patch with impunity... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225955 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert "Insert random noops to increase security against ROP attacks (clang)"JF Bastien2015-01-146-19/+1
| | | | | | | This reverts commit: http://reviews.llvm.org/D3393 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225947 91177308-0d34-0410-b5e6-96231b3b80d8
* Sema: Relax parsing of '#' in constraintsDavid Majnemer2015-01-142-5/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225942 91177308-0d34-0410-b5e6-96231b3b80d8
* Sema: Check type compatibility with the most recent decl when mergingDavid Majnemer2015-01-142-3/+14
| | | | | | | | | | We would check the type information from the declaration found by lookup but we would neglect checking compatibility with the most recent declaration. This would make it possible for us to not correctly diagnose inconsistencies with declarations which were made in a different scope. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225934 91177308-0d34-0410-b5e6-96231b3b80d8
* [AVX512] Add FP unpack intrinsicsAdam Nemet2015-01-142-0/+61
| | | | | | | | | | | These are implemented with __builtin_shufflevector just like AVX. We have some tests on the LLVM side to assert that these shufflevectors do indeed generate the corresponding unpck instruction. Part of <rdar://problem/17688758> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225922 91177308-0d34-0410-b5e6-96231b3b80d8
* Insert random noops to increase security against ROP attacks (clang)JF Bastien2015-01-146-1/+19
| | | | | | | | | | | | | | | | | | | | A pass that adds random noops to X86 binaries to introduce diversity with the goal of increasing security against most return-oriented programming attacks. Command line options: -noop-insertion // Enable noop insertion. -noop-insertion-percentage=X // X% of assembly instructions will have a noop prepended (default: 50%, requires -noop-insertion) -max-noops-per-instruction=X // Randomly generate X noops per instruction. ie. roll the dice X times with probability set above (default: 1). This doesn't guarantee X noop instructions. In addition, the following 'quick switch' in clang enables basic diversity using default settings (currently: noop insertion and schedule randomization; it is intended to be extended in the future). -fdiversify This is the clang part of the patch. llvm part: D3392 http://reviews.llvm.org/D3393 Patch by Stephen Crane (@rinon) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225910 91177308-0d34-0410-b5e6-96231b3b80d8
* Update HelpText for -fsanitize= option.Alexey Samsonov2015-01-141-3/+2
| | | | | | | There are too many available sanitizers now - redirect to user manual instead of listing them all. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225894 91177308-0d34-0410-b5e6-96231b3b80d8
* Update for move in llvm.Eric Christopher2015-01-141-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225892 91177308-0d34-0410-b5e6-96231b3b80d8
* Look through sugar when determining whether a type is a scoped enumerationRichard Smith2015-01-142-1/+9
| | | | | | | type. Patch by Stephan Bergmann! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225889 91177308-0d34-0410-b5e6-96231b3b80d8
* Sema: An extern declaration can't be a redeclaration of a parameterDavid Majnemer2015-01-143-2/+11
| | | | | | | | | | | | In the following: void f(int x) { extern int x; } The second declaration of 'x' shouldn't be considered a redeclaration of the parameter. This is a different approach to r225780. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225875 91177308-0d34-0410-b5e6-96231b3b80d8
* Sink a parameter into the callee since it's always the same expression in ↵David Blaikie2015-01-142-9/+7
| | | | | | terms of another parameter git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225856 91177308-0d34-0410-b5e6-96231b3b80d8
* DebugInfo: Correct the location of EH cleanup for blocksDavid Blaikie2015-01-132-0/+18
| | | | | | | | | | | | | | | | | | | | | | | This was previously piggybacking on whatever happened to be the last location set on CGDebugInfo/DIBuilder, which was wrong (it was often the current location, such as the 'fn()' call site, not the end of the block). With my improvements to set/unset the location in a scoped manner (r225000) this went from a bad quality situation, to a crash. Fixing this goes part-way to unblocking the recommit of r225000. It's likely that any call to CodeGenFunction::StartFunction without the CurEHLocation set represents a similar bug or risk of a bug. Perhaps there are some callers that know they won't generate EH cleanups, but I'm not sure. I considered a generic catch-fix in StartFunction (just fallback to the GlobalDecl's location) but that seemed like it'd mask bugs where the EH location shouldn't be the same as the decl's location (& indeed by not using that stop-gap I found this bug). We'll see how long I can hold out on the generic catch-all. I might eventually be able to add an assertion in. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225845 91177308-0d34-0410-b5e6-96231b3b80d8
* clang-format: [Java] Detect `native` keyword.Nico Weber2015-01-133-1/+5
| | | | | | | | | | | | Before: public native<X> Foo foo(); After: public native <X> Foo foo(); git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225839 91177308-0d34-0410-b5e6-96231b3b80d8
* Add [extern_c] attribute to _Builtin_intrinsics moduleBen Langmuir2015-01-131-1/+1
| | | | | | This allows users to import this module inside an extern "C" {} block. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225835 91177308-0d34-0410-b5e6-96231b3b80d8
* Mention FreeBSD support.Roman Divacky2015-01-131-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225834 91177308-0d34-0410-b5e6-96231b3b80d8
* When attribute 'optnone' appears on the same declaration with aPaul Robinson2015-01-134-32/+30
| | | | | | | | | | | | | conflicting attribute, warn about the conflict and pick a "winning" attribute to preserve, instead of emitting an error. This matches the behavior when the conflicting attributes are on different declarations. Along the way I discovered that conflicts involving __forceinline were reported as 'always_inline' (alternate spelling, same attribute) so fixed that up to report the attribute as spelled in the source. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225813 91177308-0d34-0410-b5e6-96231b3b80d8
* Inherit attributes when infering a framework moduleBen Langmuir2015-01-135-27/+52
| | | | | | | | | | If a module map contains framework module * [extern_c] {} We will now infer [extern_c] on the inferred framework modules (we already inferred [system] as a special case). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225803 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle [extern_c] attribute in module printerBen Langmuir2015-01-131-2/+5
| | | | | | | I'm not sure why we have OS.indent(Indent+2) for the system attribute, but presumably we want the same behaviour for all attributes... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225802 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unused method canInferFrameworkModuleBen Langmuir2015-01-132-40/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225801 91177308-0d34-0410-b5e6-96231b3b80d8
* [mips] Fix va_arg() for pointer types on big-endian N32.Daniel Sanders2015-01-133-6/+61
| | | | | | | | | | | | | | | | | | | | | Summary: The Mips ABI's treat pointers in the same way as integers. They are sign-extended to 32-bit for O32, and 64-bit for N32/N64. This doesn't matter for O32 and N64 where pointers are already the correct width but it does matter for big-endian N32, where pointers are 32-bit and need promoting. The caller side is already passing pointers correctly. This patch corrects the callee. Reviewers: vmedic, atanasyan Reviewed By: atanasyan Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D6812 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225782 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert "Sema: An extern declaration can't be a redeclaration of a parameter"David Majnemer2015-01-132-6/+4
| | | | | | | This reverts commit r225780, we can't compile line 181 in sanitizer_platform_limits_posix.cc with this commit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225781 91177308-0d34-0410-b5e6-96231b3b80d8