summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* Simplify the interface of PCHContainerGenerator and friendsAdrian Prantl2015-09-185-54/+31
| | | | | | | | by passing in a CompilerInstance instead of all its individual members. NFC. llvm-svn: 248053
* Relax the test to get it passing with windows paths.Rafael Espindola2015-09-181-1/+1
| | | | llvm-svn: 248051
* Analyzer: Fix a crasher in UbigraphVizIsmail Pazarbasi2015-09-182-2/+10
| | | | | | | | | | | | | | | Summary: Name `Out` refers to the parameter. It is moved into the member `Out` in ctor-init. Dereferencing null pointer will crash clang, if user passes '-analyzer-viz-egraph-ubigraph' argument. Reviewers: zaks.anna, krememek Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D12119 llvm-svn: 248050
* Reduce indentation in the TargetInfo implementations and fix upEric Christopher2015-09-181-369/+362
| | | | | | a couple of macro builtin redefines. llvm-svn: 248046
* [CMake] Refactoring and cleaning up clang symlink generation.Chris Bieneman2015-09-183-72/+13
| | | | | | | | Generation of clang symlinks now uses add_clang_symlink macro which uses add_llvm_symlink. Also the list of symlinks to generate is configurable via CLANG_LINKS_TO_CREATE. This re-lands r248015, with fixes for clang symlinks to always be generated as part of the clang and install-clang targets. llvm-svn: 248043
* [Static Analyzer] General type checker based on dynamic type information.Gabor Horvath2015-09-186-271/+636
| | | | | | Differential Revision: http://reviews.llvm.org/D12973 llvm-svn: 248041
* Debug Info: Use the full module name as a key when caching DIModules.Adrian Prantl2015-09-182-3/+3
| | | | | | | | | | | The signature may not have been computed at the time the module reference is generated (e.g.: in the future while emitting debug info for a clang module). Using the full module name is safe because each clang module may only have a single definition. NFC. llvm-svn: 248037
* Handle lld not being found in PATH.Rafael Espindola2015-09-181-1/+1
| | | | llvm-svn: 248035
* clang-cl: Don't warn on /bigobj flagNico Weber2015-09-182-1/+2
| | | | | | | | | | LLVM r217812 made it so that clang-cl implicitly creates bigobj files when needed, independent of this flag. It looks like cl has this flag to produce obj flags compatible with MSVS 2003's linker by default, something we don't care about. Since clang-cl always has /bigobj behavior, don't warn that the flag is unused, just ignore it silently. llvm-svn: 248034
* Yet another try at fixing this at every bot.Rafael Espindola2015-09-181-2/+2
| | | | | | This time handle " and - after clang and lld. llvm-svn: 248033
* Relax this test further to pass in other bots.Rafael Espindola2015-09-181-4/+2
| | | | | | | | | The problem this time was the /clang matching the InstalledDir line. Now we just use regular expressions which are more flexible, if a bit less readable, than CHECK+CHECK-SAME. llvm-svn: 248031
* Fix test to pass when the directory name has lld in it.Rafael Espindola2015-09-181-5/+4
| | | | | | | | | | | | | | | CHECK-LABEL assumes that there is only one occurrence of the match. The output looks like: clang version 3.8.0 (trunk 247999) .... /path/to/build/dir/bin/clang-3.8 .... If the path contains lld, the second CHECK-LABEL matches it and we fail since there is no -cc1as between clang and lld. llvm-svn: 248029
* Revert "[CMake] Refactoring and cleaning up clang symlink generation."Chris Bieneman2015-09-183-15/+72
| | | | | | This reverts commit r248015, because it broke bots. I'll revise and recommit. llvm-svn: 248025
* [analyzer] A fix for substraction of an integer from a pointer.Gabor Horvath2015-09-182-1/+19
| | | | | | | | Patch by Artem Dergachev! Differential Revision: http://reviews.llvm.org/D12725 llvm-svn: 248021
* [CMake] Set CLANG_LINKS_TO_CREATE in Apple-stage2.cmake so that we create cc ↵Chris Bieneman2015-09-181-0/+1
| | | | | | and c++ links. llvm-svn: 248016
* [CMake] Refactoring and cleaning up clang symlink generation.Chris Bieneman2015-09-183-72/+15
| | | | | | Generation of clang symlinks now uses add_clang_symlink macro which uses add_llvm_symlink. Also the list of symlinks to generate is configurable via CLANG_LINKS_TO_CREATE. llvm-svn: 248015
* clang-cl: Use 'pc' for the vendor field in the default tripleHans Wennborg2015-09-181-0/+1
| | | | | | | Leaving it unset can make the triple look confusing, especially when using -m32 or -m64. llvm-svn: 248005
* [Static Analyzer] Use generics related information to infer dynamic types.Gabor Horvath2015-09-182-14/+31
| | | | | | Differential Revision: http://reviews.llvm.org/D12916 llvm-svn: 248002
* Suppress amdgpu-toolchain.c for targeting ps4, for now. Investigating.NAKAMURA Takumi2015-09-181-1/+1
| | | | llvm-svn: 248000
* [analyzer] Update links to developer.apple.com.Jordan Rose2015-09-182-7/+7
| | | | | | | The content at the new links is /also/ a little dated, but that's our (Apple's) problem. llvm-svn: 247999
* amdgpu-toolchain.c: Add a probe line temporally. Will revert later.NAKAMURA Takumi2015-09-181-0/+1
| | | | llvm-svn: 247997
* Use None instead of an explicit constructor.Douglas Katzman2015-09-182-3/+2
| | | | | | | And remove a needless 'const' since ArrayRef is immutable. Both as suggested by dblaikie on cfe-commits. llvm-svn: 247995
* Pass the relocation model to LLVM for assembler files.Joerg Sonnenberger2015-09-182-2/+18
| | | | llvm-svn: 247981
* clang/test/lit.cfg: *-ps4 doesn't have appropriate driver yet. Mark it as ↵NAKAMURA Takumi2015-09-181-1/+1
| | | | | | "non-clang-driver". llvm-svn: 247977
* [OPENMP 4.0] Add 'if' clause for 'cancel' directive.Alexey Bataev2015-09-1815-53/+186
| | | | | | Add parsing, sema analysis and codegen for 'if' clause in 'cancel' directive. llvm-svn: 247976
* Fix for assertion fail for pragma weak on typedef.Alexander Musman2015-09-183-5/+14
| | | | | | | | | | Example: typedef int __td3; #pragma weak td3 = __td3 Differential Revision: http://reviews.llvm.org/D12904 llvm-svn: 247975
* Driver: avoid unnecessary string based operationsSaleem Abdulrasool2015-09-183-61/+71
| | | | | | | | Use an enumeration and change the use of the FloatABI from a string to the enumeration. This avoids the use of string values to represent an enumeration. NFC. llvm-svn: 247967
* [Concepts] Moving tests to match the corresponding section of the TSNathan Wilson2015-09-181-0/+0
| | | | llvm-svn: 247966
* clang/test/Driver/myriad-toolchain.c: Tweak for DOSish path.NAKAMURA Takumi2015-09-181-1/+1
| | | | llvm-svn: 247959
* [Myriad]: add "<sysroot>/include" to standard search pathDouglas Katzman2015-09-173-0/+18
| | | | llvm-svn: 247948
* Support __builtin_ms_va_list.Charles Davis2015-09-1736-100/+565
| | | | | | | | | | | | | | | | | | Summary: This change adds support for `__builtin_ms_va_list`, a GCC extension for variadic `ms_abi` functions. The existing `__builtin_va_list` support is inadequate for this because `va_list` is defined differently in the Win64 ABI vs. the System V/AMD64 ABI. Depends on D1622. Reviewers: rsmith, rnk, rjmccall CC: cfe-commits Differential Revision: http://reviews.llvm.org/D1623 llvm-svn: 247941
* Using MD_invariant_groupPiotr Padlewski2015-09-171-1/+1
| | | | | | http://reviews.llvm.org/D12927 llvm-svn: 247933
* Try to unbreak windows compiler after r247926.Douglas Katzman2015-09-171-1/+2
| | | | | | | It might not like {} implicitly cast to an Arrayref. That's the theory, since I can't test it. llvm-svn: 247932
* Fixed the comment to match reality.Artem Belevich2015-09-171-1/+1
| | | | llvm-svn: 247930
* [Shave]: Rename test file from 'shave-' to 'myriad-'Douglas Katzman2015-09-171-0/+0
| | | | llvm-svn: 247926
* [Shave]: Drive sparc-myriad-elf-ld directly rather than via gcc.Douglas Katzman2015-09-177-44/+180
| | | | | | Differential Revision: http://reviews.llvm.org/D12541 llvm-svn: 247924
* [CMake] Add install-clang target to install just the clang executableChris Bieneman2015-09-171-1/+7
| | | | | | For the llvm-tools we're generating install-${tool} targets which are very useful. We should have one for clang too. llvm-svn: 247912
* Use the MSVC SEH personalities on MingwReid Kleckner2015-09-172-2/+14
| | | | | | | | Mingw generally wraps an old copy of msvcrt.dll which has these personalities, so things should work out, or so I hear. I haven't tested it. llvm-svn: 247902
* createOutputFile should set Error to something if it returns null.Douglas Katzman2015-09-171-1/+3
| | | | | | | This is not portably unit-testable because the only visible effect is a change from one random message string to another. llvm-svn: 247900
* Fix a typo.Adrian Prantl2015-09-171-1/+1
| | | | llvm-svn: 247895
* re-apply r.247881Asaf Badouh2015-09-173-3/+1128
| | | | | | fixed the tests. llvm-svn: 247892
* Update the 3.8 release notes with the breaking change information regarding ↵Aaron Ballman2015-09-171-0/+45
| | | | | | AST matchers. llvm-svn: 247887
* Rename AST node matchers to match the AST node names directly. Part of this ↵Aaron Ballman2015-09-1711-801/+954
| | | | | | rename also splits recordDecl() (which used to match CXXRecordDecl) into recordDecl() (that matches RecordDecl) and cxxRecordDecl (that matches CXXRecordDecl). Also adds isStruct(), isUnion(), and isClass() narrowing matchers for RecordDecl objects. llvm-svn: 247885
* revert r.247881 due to tests failuresAsaf Badouh2015-09-173-1129/+3
| | | | llvm-svn: 247883
* Appease clang/test/CodeGen/avx512dq-builtins.c for -Asserts, for now.NAKAMURA Takumi2015-09-171-0/+1
| | | | llvm-svn: 247882
* [X86][AVX512DQ] add new intrinsicsAsaf Badouh2015-09-173-3/+1129
| | | | | | | | | | | | convert i64 to FP and vice versa reduceps & reducepd rangeps & rangepd all in their 512bit versions Differential Revision: http://reviews.llvm.org/D11716 llvm-svn: 247881
* Updating docs for MSan to describe poison-in-dtor.Naomi Musgrave2015-09-171-0/+10
| | | | | | | | | | | | | | | | | | Summary: Describe the compile and runtime flags to enable MemorySanitizer detection of use-after-destroy. Reviewers: eugenis Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D12914 Revise doc description of use-after-dtor. Change wording to specify memory no longer readable. llvm-svn: 247871
* analyzer-plugin/MainCallChecker.cpp: s/generateSink/generateErrorNode/, ↵NAKAMURA Takumi2015-09-161-1/+1
| | | | | | corresponding to r247859. llvm-svn: 247862
* [Static Analyzer] Generics Checker: When an ObjC method returns a ↵Gabor Horvath2015-09-162-651/+1239
| | | | | | | | specialized object, track it properly. Differential Revision: http://reviews.llvm.org/D12889 llvm-svn: 247861
* [analyzer] Add generateErrorNode() APIs to CheckerContext.Devin Coughlin2015-09-1646-106/+267
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The analyzer trims unnecessary nodes from the exploded graph before reporting path diagnostics. However, in some cases it can trim all nodes (including the error node), leading to an assertion failure (see https://llvm.org/bugs/show_bug.cgi?id=24184). This commit addresses the issue by adding two new APIs to CheckerContext to explicitly create error nodes. Unless the client provides a custom tag, these APIs tag the node with the checker's tag -- preventing it from being trimmed. The generateErrorNode() method creates a sink error node, while generateNonFatalErrorNode() creates an error node for a path that should continue being explored. The intent is that one of these two methods should be used whenever a checker creates an error node. This commit updates the checkers to use these APIs. These APIs (unlike addTransition() and generateSink()) do not take an explicit Pred node. This is because there are not any error nodes in the checkers that were created with an explicit different than the default (the CheckerContext's Pred node). It also changes generateSink() to require state and pred nodes (previously these were optional) to reduce confusion. Additionally, there were several cases where checkers did check whether a generated node could be null; we now explicitly check for null in these places. This commit also includes a test case written by Ying Yi as part of http://reviews.llvm.org/D12163 (that patch originally addressed this issue but was reverted because it introduced false positive regressions). Differential Revision: http://reviews.llvm.org/D12780 llvm-svn: 247859
OpenPOWER on IntegriCloud