summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix this test so it doesn't try to open a file to write to the source treeDavid Blaikie2015-04-061-1/+1
| | | | llvm-svn: 234173
* Gating clang-fuzzer on the same conditions required to build the LLVMFuzzer ↵Aaron Ballman2015-04-061-16/+18
| | | | | | library. Otherwise, we can run into a situation where clang-fuzzer attempts to build, but its dependency was never built. llvm-svn: 234170
* HasSideEffects() should return false for calls to pure and const functions.Michael Kuperstein2015-04-063-4/+43
| | | | | | Differential Revision: http://reviews.llvm.org/D8548 llvm-svn: 234152
* Update our list of distros a bit.Benjamin Kramer2015-04-061-6/+15
| | | | | | | | - Debian jessie will be released this month, add the next testing version to the list. - RHEL7 was released last june. - Ubuntu utopic was released last october, vivid will follow later this month. llvm-svn: 234149
* clang/test/Profile/profile-does-not-exist.c: Avoid checking a message line ↵NAKAMURA Takumi2015-04-061-1/+1
| | | | | | in the message catalog. llvm-svn: 234146
* This reverts commit r234104, bringing back 233393 now that ARM is fixed.Rafael Espindola2015-04-062-3/+16
| | | | | | | | | | | Original message: Don't use unique section names by default if using the integrated as. This saves some IO and ccache space by not creating long section names. It should work with every ELF linker. llvm-svn: 234143
* Don't crash when passing a non-existent file to -fprofile-instr-use=.Nico Weber2015-04-062-2/+6
| | | | | | Fixes a regression from r229434. llvm-svn: 234141
* clang-format my last commitDavid Blaikie2015-04-0511-81/+97
| | | | | | (sorry, keep forgetting that) llvm-svn: 234129
* [opaque pointer type] More GEP API migrationsDavid Blaikie2015-04-0520-170/+189
| | | | | | | Looks like the VTable code in particular will need some work to pass around the pointee type explicitly. llvm-svn: 234128
* Replace copy loop with std::copy.Benjamin Kramer2015-04-051-2/+1
| | | | | | No functional change intended. llvm-svn: 234123
* Switch test from wchar_t to char32_tDavid Majnemer2015-04-051-2/+2
| | | | | | | Windows has a 16-bit wchar_t, most Unix platforms have a 32-bit wchar_t. Use a char32_t to keep the test's output stable. llvm-svn: 234111
* [AST] String literal operator templates have two template args, not oneDavid Majnemer2015-04-052-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | StmtPrinter assumed that the first template arg was the pack and attempted to iterate it. However, the GNU extension (which is really just N3599), has two template arguments. In this case, the second argument is the pack containing the string contents. Handle this by desugaring the call to the explicit operator. For example: "qux" _zombocom will be shown as operator "" _zombocom<char, 'q', 'u', 'x'>() in diagnostics and AST dumps. N.B. It is actually impossible to render the arguments back to the source form without storing more information in the AST. For example, we cannot tell if the user wrote u8"qux" or "qux". We also lose fidelity when it comes to non-char types for this exact reason (e.g. it is hard to render a list of wchar_t back to something that can be printed to the screen even if you don't have to consider surrogate pairs). This fixes PR23120. llvm-svn: 234110
* [opaque pointer type] More GEP API migrationsDavid Blaikie2015-04-043-13/+17
| | | | llvm-svn: 234109
* Revert "Revert "Revert "Don't use unique section names by default if using ↵Rafael Espindola2015-04-042-16/+3
| | | | | | | | the integrated as.""" This reverts commit r234101. I will debug what went wrong with ARM. llvm-svn: 234104
* Revert "Revert "Don't use unique section names by default if using the ↵Rafael Espindola2015-04-042-3/+16
| | | | | | | | | | | | | | | integrated as."" This reverts commit r233398, bringing back 233393 now that LLVM is fixed. Original message: Don't use unique section names by default if using the integrated as. This saves some IO and ccache space by not creating long section names. It should work with every ELF linker. llvm-svn: 234101
* [opaque pointer type] more GEP API migrationsDavid Blaikie2015-04-047-31/+34
| | | | llvm-svn: 234097
* Remove the cl-no-signed-zeros cc1 optionSanjay Patel2015-04-042-4/+0
| | | | | | | | | | | | Use the driver flag -fno-signed-zeros instead. This was recommended but not implemented in D6873: http://reviews.llvm.org/D6873 which was checked in at r226915: http://reviews.llvm.org/rL226915 llvm-svn: 234093
* clang-format: [JS] Understand object literals with only methods.Daniel Jasper2015-04-042-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | Before: let theObject = {someMethodName() { doTheThing(); doTheOtherThing(); }, someOtherMethodName() { doSomething(); doSomethingElse(); }}; After: let theObject = { someMethodName() { doTheThing(); doTheOtherThing(); }, someOtherMethodName() { doSomething(); doSomethingElse(); } }; llvm-svn: 234091
* [MS ABI] A pointer-to-function cannot be caught as a pointer-to-voidDavid Majnemer2015-04-042-3/+13
| | | | | | | | Don't assume that all pointers are convertible to void pointer. Instead correctly respect [conv.ptr]p2; only allow pointer types with an object pointee type to be caught as pointer-to-void. llvm-svn: 234090
* Complete comment. Reflow conditional.Eric Christopher2015-04-041-3/+2
| | | | llvm-svn: 234083
* [opaque pointer type] Explicitly specify some types for GEPDavid Blaikie2015-04-031-4/+5
| | | | | | | Not all of them (there's still a fallback for this specific function that omits the type parameter) but it's some I bothered to do now. llvm-svn: 234063
* clang-format: [Proto] No alternate operator names.Daniel Jasper2015-04-032-2/+6
| | | | llvm-svn: 234055
* [i386 ABI] expand small C like structs in C++, just like how we handle smallManman Ren2015-04-033-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | C structs. This comes up when we have a function that takes a struct and is defined in a C++ file and used in a C file. Before this commit, we will generate byval for C++ and will expand the struct for C, thus causing difference at IR level. We will use bitcast of function type at the callsite, which causes the inliner to not inline the function. This commit changes how we handle small C like structs at IR level, but at backend, we should generate the same argument passing before and after the commit. Note that the condition for expanding is still over conservative. We should be able to expand type that is spelled with “class” and types that are not C-like. But this commit fixes the inconsistent argument passing between C/C++. Reviewed by John. rdar://20121030 llvm-svn: 234033
* [opaque pointer type] Explicitly specify type to CreateGEPDavid Blaikie2015-04-031-2/+2
| | | | llvm-svn: 234032
* Make this test not rely on a backend being registered.Eric Christopher2015-04-031-9/+5
| | | | llvm-svn: 233993
* Added support for attributed types to the ASTImporter.Sean Callanan2015-04-021-0/+22
| | | | | | <rdar://problem/20403544> llvm-svn: 233985
* Add a question mark to the end of an interrogatory warning.Eric Christopher2015-04-021-1/+1
| | | | llvm-svn: 233982
* Unify warnings/errors from "maybe you meant" to "did you mean".Eric Christopher2015-04-027-12/+12
| | | | llvm-svn: 233981
* Correct typos in SEH filter expressionsReid Kleckner2015-04-022-1/+7
| | | | | | Otherwise we assert due to uncorrected delayed typos. llvm-svn: 233980
* [Objective-C SDK modernizer]. Patch to convert setter/getterFariborz Jahanian2015-04-023-5/+23
| | | | | | | methods in protocols to their respective property declarations. rdar://19372798 llvm-svn: 233977
* [opaque pointer type] Update for GEP API changes in LLVMDavid Blaikie2015-04-028-40/+51
| | | | | | | | | | Now the GEP constant utility functions require the type to be explicitly passed (since eventually the pointer type will be opaque and not convey the required type information). For now callers can still pass nullptr (though none were needed here in Clang, which is nice) if convenienc/necessary, but eventually that will be disallowed as well. llvm-svn: 233937
* [AST] Shrink the Stmt hierarchy with LLVM_PTR_SIZE for MSVC 2013Reid Kleckner2015-04-021-14/+11
| | | | | | | Follow-up to r233921 that removes the 'void *Aligner' Stmt union member for MSVC 2013. llvm-svn: 233932
* Lower the default alignment on ASTContext's operator new.Benjamin Kramer2015-04-023-6/+7
| | | | | | | | | | | It was documented as 8 and operator new[] defaults to 8, but the normal operator new was never updated and happily wasted bytes on every other allocation. We still have to allocate all Types with 16 byte alignment, update the allocation calls for Types that were missing explicit alignment. llvm-svn: 233922
* [ast] Put the Stmt hierarchy on a diet for 64 bit targets.Benjamin Kramer2015-04-024-45/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we would waste 32 bits on alignment, use LLVM_ALIGNAS to free that space for derived classes an place. Sadly still have to #ifdef out MSVC 2013 because it can't align based on a sizeof expr. No intended functionality change. New byte counts: sizeof(before) | sizeof(after) LabelStmt: 32 | LabelStmt: 24 SwitchStmt: 48 | SwitchStmt: 40 WhileStmt: 40 | WhileStmt: 32 DoStmt: 40 | DoStmt: 32 ForStmt: 64 | ForStmt: 56 ContinueStmt: 16 | ContinueStmt: 8 BreakStmt: 16 | BreakStmt: 8 ReturnStmt: 32 | ReturnStmt: 24 AsmStmt: 40 | AsmStmt: 32 GCCAsmStmt: 80 | GCCAsmStmt: 72 MSAsmStmt: 96 | MSAsmStmt: 88 SEHExceptStmt: 32 | SEHExceptStmt: 24 SEHFinallyStmt: 24 | SEHFinallyStmt: 16 SEHLeaveStmt: 16 | SEHLeaveStmt: 8 CapturedStmt: 32 | CapturedStmt: 24 CXXCatchStmt: 32 | CXXCatchStmt: 24 CXXForRangeStmt: 72 | CXXForRangeStmt: 64 ObjCAtFinallyStmt: 24 | ObjCAtFinallyStmt: 16 ObjCAtSynchronizedStmt: 32 | ObjCAtSynchronizedStmt: 24 ObjCAtThrowStmt: 24 | ObjCAtThrowStmt: 16 ObjCAutoreleasePoolStmt: 24 | ObjCAutoreleasePoolStmt: 16 llvm-svn: 233921
* [utils] Add Check Compile Flow Consistency tool (check_cfc.py).Russell Gallop2015-04-025-0/+649
| | | | | | | | | | | | This is a tool for checking consistency of code generation with different compiler options (such as -g or outputting to .s). This tool has found a number of code generation issues. The script acts as a wrapper to clang or clang++ performing 2 (or more) compiles then comparing the object files. Instructions for use are in check_cfc.py including how to use with LNT. Differential Revision: http://reviews.llvm.org/D8723 llvm-svn: 233919
* [OPENMP] Fix crash on private variables not used in OpenMP region in templates.Alexey Bataev2015-04-023-2/+13
| | | | llvm-svn: 233913
* Partially revert "Replace custom alignment enforcement with LLVM_ALIGNAS."Benjamin Kramer2015-04-024-13/+34
| | | | | | | | | MSVC 2013 can't even parse __declspec(align(sizeof(foo))). We'll have to wait until MSVC 2015 for this. This partially reverts commit r233911. llvm-svn: 233912
* Replace custom alignment enforcement with LLVM_ALIGNAS.Benjamin Kramer2015-04-026-56/+24
| | | | | | | | | | This isn't perfect as it still assumes sizeof(void*) == alignof(void*), but we can fix that when compiler support gets better. Shrinks some Stmts that happen to inherit from Stmt and have a SourceLocation as the first member (64 bit archs only). llvm-svn: 233911
* [OPENMP] Fix crash on private variables not used in OpenMP region.Alexey Bataev2015-04-024-7/+31
| | | | llvm-svn: 233902
* Implement CFI type checks for non-virtual calls.Peter Collingbourne2015-04-0211-24/+93
| | | | | | | | | | | | This uses the same class metadata currently used for virtual call and cast checks. The new flag is -fsanitize=cfi-nvcall. For consistency, the -fsanitize=cfi-vptr flag has been renamed -fsanitize=cfi-vcall. Differential Revision: http://reviews.llvm.org/D8756 llvm-svn: 233874
* Add test intended for commit in r231317Reid Kleckner2015-04-011-0/+7
| | | | llvm-svn: 233866
* [UBSan] Embed UBSan into ASan runtime (Clang part).Alexey Samsonov2015-04-014-19/+11
| | | | | | | | | | | | | | | | | | | | | | | | Summary: Change the way we use ASan and UBSan together. Instead of keeping two separate runtimes (libclang_rt.asan and libclang_rt.ubsan), embed UBSan into ASan and get rid of libclang_rt.ubsan. If UBSan is not supported on a platform, all UBSan sources are just compiled into dummy empty object files. UBSan initialization code (e.g. flag parsing) is directly called from ASan initialization, so we are able to enforce correct initialization order. This mirrors the approach we already use for ASan+LSan. This change doesn't modify the way we use standalone UBSan. Test Plan: regression test suite Reviewers: kubabrecka, zaks.anna, kcc, rsmith Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D8645 llvm-svn: 233860
* Set the type of ptrdiff_t to signed on NVPTX targetsEli Bendersky2015-04-012-7/+9
| | | | | | | It was unsigned before, which is unlike any other target and also doesn't make much sense. llvm-svn: 233836
* Re-land "MS ABI: lambda call operators are instance methods and should use ↵Reid Kleckner2015-04-018-36/+61
| | | | | | | | | | | | | thiscall" Update the test cases to pass when lambda call operators use thiscall. Update the lambda-to-block conversion operator to use the default free function calling convention instead of the call operator's convention. This reverts commit r233082 and re-instates r233023. llvm-svn: 233835
* Run dos2unix on test/PCH/cxx1y-lambdas.mmReid Kleckner2015-04-011-58/+58
| | | | llvm-svn: 233834
* Minor simplification: do typo-correction before handling inheritingRichard Smith2015-04-011-20/+24
| | | | | | | constructors, instead of having the typo-correction code also dispatch to the inheriting constructor special case. llvm-svn: 233833
* Set NVPTX64 target's size_t to match other 64-bit targetsEli Bendersky2015-04-012-10/+10
| | | | llvm-svn: 233830
* Fix inlinehint.cpp with an explicit triple to avoid x86_thiscallcc problemsReid Kleckner2015-04-011-2/+1
| | | | llvm-svn: 233821
* Remove comdats from inlinehint.cpp to pass test on DarwinReid Kleckner2015-04-011-5/+6
| | | | llvm-svn: 233820
* Fix data layout mismatch between LLVM and Clang for i686-pc-windows-msvc-elfReid Kleckner2015-04-012-1/+19
| | | | | | | | Do the same thing as win64. If we're not using COFF, use the ELF manglings. Maybe if we are targetting *-windows-msvc-macho, we should use darwin manglings, but I don't need to stir that pot today. llvm-svn: 233819
OpenPOWER on IntegriCloud