summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* Really fix unused variable warnings in CIndex.Reid Kleckner2014-02-131-0/+1
| | | | llvm-svn: 201285
* ms_struct layout replaces platform-specific behavior likeJohn McCall2014-02-132-17/+89
| | | | | | | | | useBitFieldTypeAlignment() and appears to ignore the special bit-packing semantics of __attribute__((packed)). Further flesh out an already-extensive comment. llvm-svn: 201282
* Change testcase to use FileCheck.John McCall2014-02-131-17/+22
| | | | llvm-svn: 201281
* Fix uninitialized read in vtordisp pragma code.Reid Kleckner2014-02-131-3/+3
| | | | llvm-svn: 201280
* Fix some -Wdocumentation warnings in Sema.h and try to fix test for win64Reid Kleckner2014-02-132-5/+5
| | | | llvm-svn: 201278
* Silence unused variable warning in CIndex.cpp with NDEBUGReid Kleckner2014-02-121-0/+1
| | | | llvm-svn: 201276
* MS ABI: Implement #pragma vtordisp() and clang-cl /vdNReid Kleckner2014-02-1225-36/+465
| | | | | | | | | | | | | | | | | These features are new in VS 2013 and are necessary in order to layout std::ostream correctly. Currently we have an ABI incompatibility when self-hosting with the 2013 stdlib in our convertible_fwd_ostream wrapper in gtest. This change adds another implicit attribute, MSVtorDispAttr, because implicit attributes are currently the best way to make sure the information stays on class templates through instantiation. Reviewers: majnemer Differential Revision: http://llvm-reviews.chandlerc.com/D2746 llvm-svn: 201274
* Remove FIXME and hardcoded triple from this test (PR18251)Hans Wennborg2014-02-121-3/+1
| | | | | | We don't support using the MS ABI with non-x86/x86_64 targets anyway. llvm-svn: 201260
* Remove unused diagnostic.Benjamin Kramer2014-02-121-2/+0
| | | | llvm-svn: 201257
* [examples] Use loadable modules instead of shared libraries for Clang plugins.Jordan Rose2014-02-123-30/+3
| | | | | | This avoids linking in extra copies of, say, LLVMSupport. llvm-svn: 201256
* Sema: Restrict alignment to 2**28.David Majnemer2014-02-123-10/+9
| | | | | | | | Allowing alignment past this point causes wrap around within clang. N.B. GCC has the same restriction. llvm-svn: 201254
* Attributes: Avoid a big useless copy in the emitterReid Kleckner2014-02-121-1/+2
| | | | llvm-svn: 201251
* relax testcase and make ppc64 buildbots happy.Adrian Prantl2014-02-121-4/+4
| | | | llvm-svn: 201250
* libclang: report error code for bad PCH filesDmitri Gribenko2014-02-129-157/+410
| | | | | | | | | | | | | | | | | | | This commit improves libclang to report the error condition when CXTranslationUnit can not be created because of a stale PCH file. This allows the caller, for example, to rebuild the PCH file and retry the request. There two are APIs in libclang that return a CXTranslationUnit and don't support reporting detailed errors (the only error condition is a NULL result). For these APIs, a second, superior, version is introduced -- clang_createTranslationUnit2 and clang_parseTranslationUnit2. These functions return a CXTranslationUnit indirectly and also return an error code. Old functions are still supported and are nothing more than convenience wrappers that ignore extended error codes. As a cleanup, this commit also categorizes some libclang errors in the functions I had to modify anyway. llvm-svn: 201249
* Document and improve the debug-property-synth.m test based on theAdrian Prantl2014-02-121-6/+22
| | | | | | information provided in the referenced radar. llvm-svn: 201248
* Revert "Remove bad debug info test."Adrian Prantl2014-02-121-0/+20
| | | | | | | | This reverts commit r201183. The test, albeit undocumented and badly written is still testing something useful. It will be updated in a subsequent commit. llvm-svn: 201247
* Attributes: Emit enumerators in td file declaration orderReid Kleckner2014-02-121-9/+18
| | | | llvm-svn: 201246
* Revert r201237+r201238: Demote EmitRawText call in ↵Daniel Sanders2014-02-122-6/+5
| | | | | | | | AsmPrinter::EmitInlineAsm() and remove hasRawTextSupport() call It introduced multiple test failures in the buildbots. llvm-svn: 201241
* Arcanist failed to commit the two clang test corrections that should have ↵Daniel Sanders2014-02-122-5/+6
| | | | | | been in r201237. llvm-svn: 201238
* libclang: fix a crash in clang_disposeDiagnosticSet when it is passed a NULL ↵Dmitri Gribenko2014-02-121-3/+4
| | | | | | argument llvm-svn: 201236
* Whitespace cleanup (mostly stray tabs, a few not-quite-empty lines).Tim Northover2014-02-121-15/+15
| | | | llvm-svn: 201234
* ARM & NEON: add test for r101232Tim Northover2014-02-121-0/+217
| | | | | | rdar://problem/16035743 llvm-svn: 201233
* ARM NEON: fix range checking on immediates.Tim Northover2014-02-123-4/+20
| | | | | | | | | | Previously, range checking on the __builtin_neon_XYZ_v Clang intrinsics didn't take account of the type actually passed to the call, which meant a request like "vext_s16(a, b, 7)" was allowed through (TableGen was conservative and allowed 0-7 for all types). This caused an assert in the backend because the lane doesn't make sense. llvm-svn: 201232
* Don't use find | xargs in ↵Dmitri Gribenko2014-02-121-3/+3
| | | | | | | | test/Modules/fmodules-validate-once-per-build-session.c With -fdisable-module-hash, we can implement this with a simple 'cp'. llvm-svn: 201231
* clang/test/Modules/fmodules-validate-once-per-build-session.c: Tweak for ↵NAKAMURA Takumi2014-02-121-3/+3
| | | | | | | | gnuwin32 with %/t (instead of %t). xargs didn't handle dosish paths, while find foo\bar\ emits dosish paths. llvm-svn: 201228
* clang/lib/Driver/Multilib.cpp: Rewrite normalizePathSegment() to be tolerant ↵NAKAMURA Takumi2014-02-121-5/+20
| | | | | | | dosish pathsep. FIXME: It could be more simple... llvm-svn: 201227
* 'svn add' files I forgot for r201224 (Add an option to allow Clang verifyDmitri Gribenko2014-02-123-0/+111
| | | | | | source files for a module only once during) llvm-svn: 201225
* Add an option to allow Clang verify source files for a module only once duringDmitri Gribenko2014-02-1215-25/+166
| | | | | | | | | | | | | | | | | | | | | | | | | | | | the build When Clang loads the module, it verifies the user source files that the module was built from. If any file was changed, the module is rebuilt. There are two problems with this: 1. correctness: we don't verify system files (there are too many of them, and stat'ing all of them would take a lot of time); 2. performance: the same module file is verified again and again during a single build. This change allows the build system to optimize source file verification. The idea is based on the fact that while the project is being built, the source files don't change. This allows us to verify the module only once during a single build session. The build system passes a flag, -fbuild-session-timestamp=, to inform Clang of the time when the build started. The build system also requests to enable this feature by passing -fmodules-validate-once-per-build-session. If these flags are not passed, the behavior is not changed. When Clang verifies the module the first time, it writes out a timestamp file. Then, when Clang loads the module the second time, it finds a timestamp file, so it can compare the verification timestamp of the module with the time when the build started. If the verification timestamp is too old, the module is verified again, and the timestamp file is updated. llvm-svn: 201224
* [ARM] Fix NEON wrongly being enabled with soft-float when targeting ↵Amara Emerson2014-02-122-2/+10
| | | | | | | | armv8/Cortex-A53/A57. This was caused by r200708 which enabled the crypto feature for these cores. llvm-svn: 201223
* Fix memory leak introduced by r201010.Daniel Jasper2014-02-121-0/+1
| | | | llvm-svn: 201220
* Fix r201205's use-after-free bug caught by sanitizer botJonathan Roelofs2014-02-121-8/+6
| | | | llvm-svn: 201209
* Add Multilib selection machineryJonathan Roelofs2014-02-1214-247/+1348
| | | | | | | | | | | | This patch improves the support for picking Multilibs from gcc installations. It also provides a better approximation for the flags '-print-multi-directory' and '-print-multi-lib'. This reverts r201203 (i.e. re-applying r201202 with small fixes in unittests/CMakeLists.txtto make the build bots happy). review: http://llvm-reviews.chandlerc.com/D2538 llvm-svn: 201205
* Revert 201202Jonathan Roelofs2014-02-1214-1348/+247
| | | | | | Breaks cmake configure of new unit tests directory llvm-svn: 201203
* Add Multilib selection machineryJonathan Roelofs2014-02-1214-247/+1348
| | | | | | | | | This patch improves the support for picking Multilibs from gcc installations. It also provides a better approximation for the flags '-print-multi-directory' and '-print-multi-lib'. review: http://llvm-reviews.chandlerc.com/D2538 llvm-svn: 201202
* MS ABI: vptr injection should obey alignment requirementsDavid Majnemer2014-02-122-8/+65
| | | | | | | | | | | | | vptr injection must inject padding equivalent to the alignment of the most aligned non-virtual subobject, not the alignment of the enclosing record. To fascilitate this change, don't let record layout observe the alignment of the record until we've injected our vptrs. Also, do not allow the alignment of vbases to affect required alignment until just before we insert the vtordisp field. llvm-svn: 201199
* Fix build error caused by r201186 (GCC's "declaration of X changes meaning ↵Alexander Kornienko2014-02-111-8/+7
| | | | | | of Y"). llvm-svn: 201189
* Expose the name of the checker producing each diagnostic message.Alexander Kornienko2014-02-1169-453/+629
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: In clang-tidy we'd like to know the name of the checker producing each diagnostic message. PathDiagnostic has BugType and Category fields, which are both arbitrary human-readable strings, but we need to know the exact name of the checker in the form that can be used in the CheckersControlList option to enable/disable the specific checker. This patch adds the CheckName field to the CheckerBase class, and sets it in the CheckerManager::registerChecker() method, which gets them from the CheckerRegistry. Checkers that implement multiple checks have to store the names of each check in the respective registerXXXChecker method. Reviewers: jordan_rose, krememek Reviewed By: jordan_rose CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D2557 llvm-svn: 201186
* Remove bad debug info test.David Blaikie2014-02-111-20/+0
| | | | | | | | | | Another test that's testing through assembly from Clang which is problematic. An attempt to upgrade this to just be an IR-generation test was unsuccessful (I was unable to get this test to fail) but it looks like there's other, better, test coverage in this area (test/CodeGenObjC/debuginfo-properties.m) anyway. llvm-svn: 201183
* update of the clang version (should probably managed in the configure)Sylvestre Ledru2014-02-111-1/+1
| | | | llvm-svn: 201182
* Remove bad debug info test.David Blaikie2014-02-111-36/+0
| | | | | | | | | | | | | | This test case doesn't belong in Clang (it's testing IndVarSimplify) but in an effort to reproduce the test case this was intended to cover (by essentially reverting r134441) I wasn't able to reproduce the failure this test case should've produced. So I haven't ported this down to LLVM, instead I'm just deleting it. I suspect the test is just underconstrained, but I've no great interest in trying hard to fix it right now - if anyone else wants to, I'd be more than welcome to that. llvm-svn: 201178
* MS ABI: Add support for the -vm{b,g,s,m,v} flagsDavid Majnemer2014-02-1113-37/+157
| | | | | | | | | These flags control the inheritance model initially used by the translation unit. Differential Revision: http://llvm-reviews.chandlerc.com/D2741 llvm-svn: 201175
* Test commit -- Remove an extra newline from Toolchains.cppJonathan Roelofs2014-02-111-1/+0
| | | | llvm-svn: 201172
* [Sema] Revert the change in r200622 that allowed integer casts to silence ↵Argyrios Kyrtzidis2014-02-112-5/+2
| | | | | | | | | | -Wnon-literal-null-conversion in C code. It is actually useful to warn in such cases, thanks to Dmitri for pushing on this and making us see the light! Related to rdar://15925483 and rdar://15922612. The latter radar is where the usefulness of the warning is most clear. llvm-svn: 201165
* 'nonnull(1)' on a block parameter should apply to the block's argument.Jordan Rose2014-02-113-17/+36
| | | | | | | | | | | | | | | Thanks to r199467, __attribute__((nonnull)) (without arguments) can apply directly to parameters, instead of being applied to the whole function. However, the old form of nonnull (with an argument index) could also apply to the arguments of function and block pointers, and both of these can be passed as parameters. Now, if 'nonnull' with an argument is found on a parameter, /and/ the parameter is a function or block pointer, it is handled the old way. PR18795 llvm-svn: 201162
* Rename some PCH-related errors to have 'err_' as their prefixDmitri Gribenko2014-02-112-7/+7
| | | | llvm-svn: 201157
* Fix a typo in the function name that I just introduced (r201155)Dmitri Gribenko2014-02-118-26/+26
| | | | llvm-svn: 201156
* libclang: audit all APIs that accept a CXTranslationUnit to make sure thatDmitri Gribenko2014-02-118-26/+123
| | | | | | | checks for invalid translation unit are in place. Also, while there, add log output for this case. llvm-svn: 201155
* libclang: use namespace qualifiers in the macro, so that it does not requireDmitri Gribenko2014-02-111-1/+2
| | | | | | 'using namespace clang::cxindex'. llvm-svn: 201146
* AArch64: share slgihtly more NEON implementation with ARM.Tim Northover2014-02-111-14/+10
| | | | | | | | The s64/u64 vcvt conversion operations are actually pretty much identical to the s32/u32 ones in implementation, and can be shared with just one extra variable. llvm-svn: 201145
* XCore target: add section information.Robert Lytton2014-02-112-0/+11
| | | | | | | | Xcore target ABI requires const data that is externally visible to be handled differently if it has C-language linkage rather than C++ language linkage. llvm-svn: 201142
OpenPOWER on IntegriCloud