summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* C++ status page: restore the convention of saying "SVN" until we reach a ↵Richard Smith2014-06-20
| | | | | | release. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211398 91177308-0d34-0410-b5e6-96231b3b80d8
* Be less bold.Richard Smith2014-06-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211397 91177308-0d34-0410-b5e6-96231b3b80d8
* [C++1z] Add C++1z to the C++ status page.Richard Smith2014-06-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211396 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typo in r211394.Richard Smith2014-06-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211395 91177308-0d34-0410-b5e6-96231b3b80d8
* [C++1z] Implement N3928: message in static_assert is optional.Richard Smith2014-06-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211394 91177308-0d34-0410-b5e6-96231b3b80d8
* [C++1z] Implement N3981: Disable trigraphs by default in C++1z mode.Richard Smith2014-06-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211392 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't crash when emitting a glvalue conditional where one arm is aRichard Smith2014-06-20
| | | | | | | throw-expression. Based on a patch by Marius Wachtler! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211388 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix crash caused by unnamed union or struct when doing ast-printSerge Pavlov2014-06-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211380 91177308-0d34-0410-b5e6-96231b3b80d8
* [PowerPC] Fix small argument stack slot offset for LEUlrich Weigand2014-06-20
| | | | | | | | | | | | | | | | | | | When small arguments (structures < 8 bytes or "float") are passed in a stack slot in the ppc64 SVR4 ABI, they must reside in the least significant part of that slot. On BE, this means that an offset needs to be added to the stack address of the parameter, but on LE, the least significant part of the slot has the same address as the slot itself. For the most part, this is handled in the LLVM back-end, where I just fixed the LE case in commit r211368. However, there is one piece of the clang front-end that is also aware of these stack-slot offsets: PPC64_SVR4_ABIInfo::EmitVAArg. This patch updates that routine to take endianness into account. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211370 91177308-0d34-0410-b5e6-96231b3b80d8
* Disable Modules/dependency-dump-dependent-module.m on win32 for now.NAKAMURA Takumi2014-06-20
| | | | | | | | FIXME: This fails on win32 due to ERROR_FILENAME_EXCED_RANGE if the working directory is too deep. We should make Win32/Path.inc capable of long pathnames with '\\?\'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211363 91177308-0d34-0410-b5e6-96231b3b80d8
* The ability to use vector initializer lists is a GNU vector extensionJames Molloy2014-06-20
| | | | | | | | | | | | | | | | | | | | | | and is unrelated to the NEON intrinsics in arm_neon.h. On little endian machines it works fine, however on big endian machines it exhibits surprising behaviour: uint32x2_t x = {42, 64}; return vget_lane_u32(x, 0); // Will return 64. Because of this, explicitly call out that it is unsupported on big endian machines. This patch will emit the following warning in big-endian mode: test.c:3:15: warning: vector initializers are a GNU extension and are not compatible with NEON intrinsics [-Wgnu] int32x4_t x = {0, 1, 2, 3}; ^ test.c:3:15: note: consider using vld1q_s32() to initialize a vector from memory, or vcombine_s32(vcreate_s32(), vcreate_s32()) to initialize from integer constants 1 warning generated. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211362 91177308-0d34-0410-b5e6-96231b3b80d8
* Add file missed in r211360 commitUlrich Weigand2014-06-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211361 91177308-0d34-0410-b5e6-96231b3b80d8
* [PowerPC] Fix ELF interpreter name for powerpc64le-linuxUlrich Weigand2014-06-20
| | | | | | | | | | | | On PowerPC LE the system uses the /lib64/ld64.so.2 dynamic linker name instead of /lib64/ld64.so.1 (to indicate the ELFv2 ABI version). This fixes the clang driver to pass the appropriate -dynamic-linker setting, and adds some more tests to linux-ld.c. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211360 91177308-0d34-0410-b5e6-96231b3b80d8
* [PowerPC] Add MultiarchIncludeDirs for powerpc64leUlrich Weigand2014-06-20
| | | | | | | | | | | | There was already partial support for multi-arch on powerpc64le, but the MultiarchIncludeDirs setting was missing. This patch adds the appropriate definition, and also extends the linux-header-search.cpp test case to verify an Ubuntu 14.04 powerpc64le tree. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211359 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR20081: Parsing templates in the presence of -x cuda -std=c++11Eli Bendersky2014-06-20
| | | | | | | | http://reviews.llvm.org/D4222 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211357 91177308-0d34-0410-b5e6-96231b3b80d8
* Add module flags metadata to record the settings for enum and wchar widthOliver Stannard2014-06-20
| | | | | | | | | Add module flags metadata to record the settings for enum and wchar width, to allow correct ARM build attribute generation git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211354 91177308-0d34-0410-b5e6-96231b3b80d8
* [OPENMP] Initial support for 'nowait' clause.Alexey Bataev2014-06-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211352 91177308-0d34-0410-b5e6-96231b3b80d8
* OMPScheduleClause::OMPScheduleClause(): Fix possible typos, ↵NAKAMURA Takumi2014-06-20
| | | | | | s/\brief/\param/g. [-Wdocumentation] git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211348 91177308-0d34-0410-b5e6-96231b3b80d8
* [OPENMP] Initial support for 'ordered' clause.Alexey Bataev2014-06-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211347 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix/Improve SourceRange of explicitly defaulted membersDaniel Jasper2014-06-20
| | | | | | | | | | | | | | | | When adding the implicit compound statement (required for Codegen?), the end location was previously overridden by the start location, probably based on the assumptions: * The location of the compound statement should be the member's location * The compound statement if present is the last element of a FunctionDecl This patch changes the location of the compound statement to the member's end location. Code review: http://reviews.llvm.org/D4175 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211344 91177308-0d34-0410-b5e6-96231b3b80d8
* [OPENMP] Initial support for 'schedule' clause.Alexey Bataev2014-06-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211342 91177308-0d34-0410-b5e6-96231b3b80d8
* Frontend: Disentangle removePathTraversal from concatenating pathsJustin Bogner2014-06-20
| | | | | | | | | This reimplements part of r211303 in a bit of a cleaner way. Doing so allows us to use a proper absolute path when calling addFileMapping rather than relying on a substring being one, which should fix the tests on Windows. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211338 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid invalidating successfully loaded module filesBen Langmuir2014-06-20
| | | | | | | | | | | | | | | | | Successfully loaded module files may be referenced in other ModuleManagers, so don't invalidate them. Two related things are fixed: 1) I thought the last module in the manager was always the one that failed, but it isn't. So check explicitly against the list of vetted modules from ReadASTCore. 2) We now keep the file descriptor of pcm file open, which avoids the possibility of having two different pcms for the same module loaded when building in parallel with headers being modified during a build. <rdar://problem/16835846> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211330 91177308-0d34-0410-b5e6-96231b3b80d8
* diagtool: refactor TreeView to resemble C++Alp Toker2014-06-20
| | | | | | | Replace lots of old-school parameter passing with neat class members. No attempt made yet to modernize loops, but it's a start. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211327 91177308-0d34-0410-b5e6-96231b3b80d8
* Objective-C qoi. When Objective-C pointer mismatches withFariborz Jahanian2014-06-19
| | | | | | | | | a qualified-id type because pointer is object of a forward class declaration, include this info in a diagnostic note. // rdar://10751015 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211324 91177308-0d34-0410-b5e6-96231b3b80d8
* diagtool: simplify TreeView diagnostic classificationAlp Toker2014-06-19
| | | | | | This utility doesn't need to know about the specifics of diagnostic levels. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211323 91177308-0d34-0410-b5e6-96231b3b80d8
* test: Just check the VFS when testing module-dependency-dumpJustin Bogner2014-06-19
| | | | | | | Checking the filesystem seems to be a bit unreliable. Limit the tests to the VFS map for now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211310 91177308-0d34-0410-b5e6-96231b3b80d8
* Frontend: Fix a typoJustin Bogner2014-06-19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211306 91177308-0d34-0410-b5e6-96231b3b80d8
* Frontend: Add a CC1 flag to dump module dependencies to a directoryJustin Bogner2014-06-19
| | | | | | | | | | | | | | | | | | This adds the -module-dependency-dir to clang -cc1, which specifies a directory to copy all of a module's dependencies into in a form suitable to be used as a VFS using -ivfsoverlay with the generated vfs.yaml. This is useful for crashdumps that involve modules, so that the module dependencies will be intact when a crash report script is used to reproduce a problem on another machine. We currently encode the absolute path to the dump directory, due to limitations in the VFS system. Until we can handle relative paths in the VFS, users of the VFS map may need to run a simple search and replace in the file. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211303 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed formatting.Yaron Keren2014-06-19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211295 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR20069: bad loop pragma arguments crash FEEli Bendersky2014-06-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes a crash when handling malformed arguments to loop pragmas such as: "#pragma clang loop vectorize(()". Essentially any argument which is not an identifier or constant resulted in a crash. This patch also changes a couple of the error messages which weren't quite correct. New behavior with this patch vs old behavior: #pragma clang loop vectorize(1) OLD: error: missing keyword; expected 'enable' or 'disable' NEW: error: invalid argument; expected 'enable' or 'disable' #pragma clang loop vectorize() OLD: error: expected ')' NEW: error: missing argument to loop pragma 'vectorize' #pragma clang loop vectorize_width(bad) OLD: error: missing value; expected a positive integer value NEW: error: invalid argument; expected a positive integer value #pragma clang loop vectorize(bad) OLD: invalid keyword 'bad'; expected 'enable' or 'disable' NEW: error: invalid argument; expected 'enable' or 'disable' http://reviews.llvm.org/D4197 Patch by Mark Heffernan git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211292 91177308-0d34-0410-b5e6-96231b3b80d8
* Document unroll and unroll_count directives.Eli Bendersky2014-06-19
| | | | | | | | | | | Extend the documentation for "#pragma clang loop" hints to include the unroll and unroll_count directives. Patch by Mark Heffernan [http://reviews.llvm.org/D4198] git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211286 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't call llvm_start_multithreaded() during init. As of LLVMZachary Turner2014-06-19
| | | | | | revision r211277, this function is essentially a no-op. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211285 91177308-0d34-0410-b5e6-96231b3b80d8
* Improve robustness of tests for module flags metadataOliver Stannard2014-06-19
| | | | | | | | | Fix clang tests to not break if the ID numbers of module flags metadata nodes change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211276 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix assertion hit or bogus compiler error in cases when instantiating ObjC ↵Argyrios Kyrtzidis2014-06-19
| | | | | | | | property accesses used with overloaded binary operators. rdar://17153478 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211270 91177308-0d34-0410-b5e6-96231b3b80d8
* [c++1z] Implement N3994: a range-based for loop can declare a variable with ↵Richard Smith2014-06-19
| | | | | | | | | | | | | super-terse notation for (x : range) { ... } which is equivalent to for (auto &&x : range) { ... } git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211267 91177308-0d34-0410-b5e6-96231b3b80d8
* [OPENMP] Improved diagnostic messages for vars with the predetermined data ↵Alexey Bataev2014-06-19
| | | | | | sharing attributes and reformatting git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211262 91177308-0d34-0410-b5e6-96231b3b80d8
* DiagnoseUnknownTypename always emits a diagnostic and returns trueReid Kleckner2014-06-19
| | | | | | | | Make it return void and delete the dead code in the parser that handled the case where it might return false. This has been dead since 2010 when John deleted Action.h. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211248 91177308-0d34-0410-b5e6-96231b3b80d8
* Objective-C ARC. Allow conversion of (void*) pointers toFariborz Jahanian2014-06-18
| | | | | | | | | retainable ObjC pointers without requiring a bridge-cast in the context of pointer comparison as this is in effect a +0 context. // rdar://16627903 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211243 91177308-0d34-0410-b5e6-96231b3b80d8
* Sema: Static redeclaration after extern declarations is a Microsoft ExtensionDavid Majnemer2014-06-18
| | | | | | | | | | | CL permits static redeclarations to follow extern declarations. The storage specifier on the latter declaration has no effect. This fixes PR20034. Differential Revision: http://reviews.llvm.org/D4149 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211238 91177308-0d34-0410-b5e6-96231b3b80d8
* Objective-C. Revert my patch in r211234.Fariborz Jahanian2014-06-18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211237 91177308-0d34-0410-b5e6-96231b3b80d8
* Objective-C ARC. Allow conversion of (void*) pointers toFariborz Jahanian2014-06-18
| | | | | | | | retainable ObjC pointers without requiring a bridge-cast by recognizing this as a +0 context. // rdar://16627903 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211234 91177308-0d34-0410-b5e6-96231b3b80d8
* tests: relax ms-intrinsics testSaleem Abdulrasool2014-06-18
| | | | | | | | | | Relax the tests to allow for differences between release and debug builds. This should fix the buildbots. Thanks to Benjamin Kramer and Eric Christo for their invaluable tip that this was release build specific issue. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211227 91177308-0d34-0410-b5e6-96231b3b80d8
* Relax the cl-inputs.c test a little bit in case link.exe is on PATHReid Kleckner2014-06-18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211224 91177308-0d34-0410-b5e6-96231b3b80d8
* [MS-ABI] Implement typeidWarren Hunt2014-06-18
| | | | | | | | | This patch enables clang to generate calls to __RTtypeid when lowering typeid on win32 targets. Test cases are included. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211223 91177308-0d34-0410-b5e6-96231b3b80d8
* CodeGen: improve ms instrincics supportSaleem Abdulrasool2014-06-18
| | | | | | | | | Add support for _InterlockedCompareExchangePointer, _InterlockExchangePointer, _InterlockExchange. These are available as a compiler intrinsic on ARM and x86. These are used directly by the Windows SDK headers without use of the intrin header. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211216 91177308-0d34-0410-b5e6-96231b3b80d8
* Objective-C. Check for integer overflow in Objective-C'sFariborz Jahanian2014-06-18
| | | | | | | boxed expression. // rdar://16417427 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211215 91177308-0d34-0410-b5e6-96231b3b80d8
* [analyzer] Don't create new PostStmt nodes if we don't have to.Jordan Rose2014-06-18
| | | | | | | | Doing this caused us to mistakenly think we'd seen a particular state before when we actually hadn't, which resulted in false negatives. Credit to Rafael Auler for discovering this issue! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211209 91177308-0d34-0410-b5e6-96231b3b80d8
* Objective-C. Try to fix the test in buildbot in my last patch.Fariborz Jahanian2014-06-18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211197 91177308-0d34-0410-b5e6-96231b3b80d8
* Objective-C. Attributes on class declarations carry overFariborz Jahanian2014-06-18
| | | | | | | | to forward class declarations for diagnosis. // rdar://16681279 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211195 91177308-0d34-0410-b5e6-96231b3b80d8