summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* Update for LLVM API change.Eric Christopher2014-08-041-2/+4
| | | | llvm-svn: 214786
* UsersManual: update clang-cl optionsHans Wennborg2014-08-041-49/+88
| | | | llvm-svn: 214777
* Don't drop dllimport from qualified friend redeclarations (PR20512)Hans Wennborg2014-08-043-4/+29
| | | | | | | | | | This matches MSVC's logic, which seems to be that when the friend declaration is qualified, it cannot be a declaration of a new symbol and so the dll linkage doesn't change. Differential Revision: http://reviews.llvm.org/D4764 llvm-svn: 214774
* Nit picky const-correctness with auto. No functional changes.Aaron Ballman2014-08-041-2/+2
| | | | llvm-svn: 214773
* A static_assert declaration cannot be a template; adding the diagnostic for ↵Aaron Ballman2014-08-044-3/+23
| | | | | | this instead of silently accepting and producing possibly-unexpected behavior. llvm-svn: 214770
* Revert r214757 (Same fix as r214758)Alex Lorenz2014-08-041-1/+0
| | | | llvm-svn: 214759
* Add CoverageMappingGen.cpp (introduced in r214752) to CMakeLists.txtDavid Blaikie2014-08-041-0/+1
| | | | llvm-svn: 214758
* add lib/CodeGen/CoverageMappingGen.cpp to CMakeAlex Lorenz2014-08-041-0/+1
| | | | llvm-svn: 214757
* Add coverage mapping generation.Alex Lorenz2014-08-0416-54/+1577
| | | | | | | | | | This patch adds the '-fcoverage-mapping' option which allows clang to generate the coverage mapping information that can be used to provide code coverage analysis using the execution counts obtained from the instrumentation based profiling (-fprofile-instr-generate). llvm-svn: 214752
* Removing some extraneous spaces; no functional changes intended.Aaron Ballman2014-08-041-8/+8
| | | | llvm-svn: 214739
* Fix crash when accessing a property of an invalid interfaceOlivier Goffart2014-08-042-13/+15
| | | | llvm-svn: 214735
* Fix crash when assiging to a property with an invalid typeOlivier Goffart2014-08-042-1/+25
| | | | | | | | | | This is a regression from clang 3.4 Set the result to ExprError and returns true, rather than simply returns false because errors have been reported already and returning false show a confusing error llvm-svn: 214734
* Diagnose GNU-style attributes preceding virt-specifiers, but only when the ↵Aaron Ballman2014-08-043-3/+31
| | | | | | | | attribute is known to GCC. Clang accepts attributes in this position, but GCC does not, so this is a GCC-compat warning. If the attribute is not known to GCC, then the diagnostic is suppressed. llvm-svn: 214730
* Thread safety analysis: Add support for negative requirements, which areDeLesley Hutchins2014-08-045-285/+473
| | | | | | | capability expressions of the form !expr, and denote a capability that must not be held. llvm-svn: 214725
* Highlight the offending function parameter when the format argument refers ↵Aaron Ballman2014-08-041-5/+6
| | | | | | to an invalid function parameter type. llvm-svn: 214723
* Highlight the offending function parameter when the format_arg argument ↵Aaron Ballman2014-08-041-6/+4
| | | | | | refers to an invalid function parameter type. llvm-svn: 214722
* clang-format: Understand parameter pack initialization.Daniel Jasper2014-08-042-1/+2
| | | | | | | | | | Before: Constructor(A... a) : a_(X<A> { std::forward<A>(a) }...) {} After: Constructor(A... a) : a_(X<A>{std::forward<A>(a)}...) {} llvm-svn: 214720
* [Driver][Mips] Construct dynamic linker path by string concatination.Simon Atanasyan2014-08-041-12/+17
| | | | | | | | | That reduces a number of `if` operators and prevent a combinatorics explosion if/when more dynamic linker path variants added. No functional changes. llvm-svn: 214712
* [x32] Add __int128 supportPavel Chupin2014-08-042-0/+4
| | | | | | | | | | | | | | | | Summary: Adding __int128 support explicitly for x86_64 because currently it's on only when pointer size >= 64 which is not the case for x32. Test Plan: One of the tests using __int128 is updated Reviewers: atanasyan, chandlerc Subscribers: cfe-commits, rob.khasanov, zinovy.nis, dschuff Differential Revision: http://reviews.llvm.org/D4755 llvm-svn: 214710
* Fix tests Clang::Sema/statements.c and ↵Keith Walker2014-08-042-2/+2
| | | | | | | | Clang::SemaTemplate/instantiate-expr-1.cpp when AArch64 is the default target. Commit r213935 added additional validation of register constants/size for AArch64 and because these tests which contain Intel assembler the new validation caused these tests to fail when the default target is changed to an AArch64 target. llvm-svn: 214706
* AST: Fix the mangling for unqualified-blocksDavid Majnemer2014-08-042-9/+8
| | | | | | | | | | | | | | | | CXXNameMangler::mangleUnqualifiedBlock believed that MangleContext::getBlockId returned something that used Itanium-style discriminator numbers. Discriminator numbers start their numberign from 1 and the first mangling that actually gets any sort of number mangled in is the second discriminator. However, Block IDs start from zero. The logic for omitting the mangling number did a ' > 1' instead of a ' > 0' comparison; this could potentially cause mangling conflicts. llvm-svn: 214699
* AST: Propagate 'AlignIsRequired' though many levels of typedefsDavid Majnemer2014-08-042-1/+32
| | | | | | | A typedef of a typedef should have AlignIsRequired if *either* typedef has an AlignAttr attached to it. llvm-svn: 214698
* PR11778: Fix the rejects-valid half of this bug. We still produce the sameRichard Smith2014-08-042-64/+57
| | | | | | | poorly-worded warning for a case value that is not a possible value of the switched-on expression. llvm-svn: 214678
* Don't destroy MacroInfos if we find the macro definition is invalid; it'll getRichard Smith2014-08-033-17/+2
| | | | | | destroyed on shutdown regardless. Fixes a double-delete. llvm-svn: 214675
* Driver: Simplify a use of the path APIJustin Bogner2014-08-031-1/+1
| | | | | | | It's a bit more obvious what's going on if we use path::filename rather than decrementing an iterator here. llvm-svn: 214668
* [Mips] Add the `mips64-linux-gnu` target to the test case to check `in128`Simon Atanasyan2014-08-031-0/+1
| | | | | | type handling. llvm-svn: 214662
* Tools.cpp: Avoid std::to_string() on -fbuild-session-timestamp to appease ↵NAKAMURA Takumi2014-08-031-3/+4
| | | | | | mingw32 builder. llvm-svn: 214656
* vcfsx and dss instructions require immediates, variables are not valid.Joerg Sonnenberger2014-08-021-2/+2
| | | | llvm-svn: 214635
* libclang/Makefile: Update LINK_COMPONENTS take #3. Sorry for the noise.NAKAMURA Takumi2014-08-021-1/+1
| | | | llvm-svn: 214620
* libclang/Makefile: Update LINK_COMPONENTS take #2.NAKAMURA Takumi2014-08-021-1/+1
| | | | llvm-svn: 214619
* libclang/Makefile: Restore some components in LINK_COMPONENTS. Clang's ↵NAKAMURA Takumi2014-08-021-1/+1
| | | | | | Makefile(s) are not transitive on clang libs. llvm-svn: 214617
* libclang: Update LINK_COMPONENTS.NAKAMURA Takumi2014-08-022-1/+2
| | | | llvm-svn: 214616
* In the case of mangling collisions, make an attempt to note both definitionsRichard Smith2014-08-022-7/+9
| | | | | | involved. llvm-svn: 214606
* [ASan] Use metadata to pass source-level information from Clang to ASan.Alexey Samsonov2014-08-023-37/+30
| | | | | | | | | | | | | | | | | Instead of creating global variables for source locations and global names, just create metadata nodes and strings. They will be transformed into actual globals in the instrumentation pass (if necessary). This approach is more flexible: 1) we don't have to ensure that our custom globals survive all the optimizations 2) if globals are discarded for some reason, we will simply ignore metadata for them and won't have to erase corresponding globals 3) metadata for source locations can be reused for other purposes: e.g. we may attach source location metadata to alloca instructions and provide better descriptions for stack variables in ASan error reports. No functionality change. llvm-svn: 214604
* Fix test from r214577 for other timezonesBen Langmuir2014-08-011-4/+4
| | | | | | | | | Unsurprisingly, changing a file modification time to a specific date/time doesn't give the same epoch time everywhere. Just make the file move into the past and look at only the first few digits of the epoch time. llvm-svn: 214589
* InstrProf: Update for LLVM API changeJustin Bogner2014-08-013-7/+12
| | | | | | | | | | | | We've added support for a multiple functions with the same name in LLVM's profile data, so the lookup returning the function hash it found doesn't make sense anymore. Update to pass in the hash we expect. This also adds a test that the version 1 format is still readable, since the new API is expected to handle that. llvm-svn: 214586
* Notional simplification: defer emitting deferred inline methods until we finishRichard Smith2014-08-011-4/+21
| | | | | | emitting everything, rather than potentially doing this reentrantly. llvm-svn: 214582
* Actually fix problem with modules buildbot this time.Richard Smith2014-08-011-1/+1
| | | | llvm-svn: 214579
* Add -fbuild-session-file as an alternative to -fbuild-session-timestampBen Langmuir2014-08-014-5/+36
| | | | | | | | Build systems tend to traffic in files and modification times, so having them touch a file at the beginning of the build can be easier than having them update the compile command they use every time they build. llvm-svn: 214577
* [Sanitizer] Introduce SanitizerMetadata class.Alexey Samsonov2014-08-017-81/+150
| | | | | | | | | | | | | | It is responsible for generating metadata consumed by sanitizer instrumentation passes in the backend. Move several methods from CodeGenModule to SanitizerMetadata. For now the class is stateless, but soon it won't be the case. Instead of creating globals providing source-level information to ASan, we will create metadata nodes/strings which will be turned into actual global variables in the backend (if needed). No functionality change. llvm-svn: 214564
* Let's assume PowerPC has no SSE.Joerg Sonnenberger2014-08-011-1/+0
| | | | llvm-svn: 214562
* Re-commit r214547 with tests fixed. Hopefully all the bots will be happy now.Richard Smith2014-08-013-11/+20
| | | | | | | | | Original message: Fix iterator invalidation issues that are breaking my modules buildbot's bootstrap. llvm-svn: 214555
* MS inline asm: Tests for r214550Reid Kleckner2014-08-013-3/+63
| | | | | | | | | These tests seem like an exception to the rule against assembly emitting tests in clang. I made an LLVM side change that can only be tested by setting up the inline assembly machinery that is only implemented by Clang. llvm-svn: 214552
* MS inline asm: Add tests for LLVM r214468Reid Kleckner2014-08-011-0/+4
| | | | | | This used to assert. llvm-svn: 214551
* Revert r214547 due to test breakage.Richard Smith2014-08-012-16/+6
| | | | llvm-svn: 214549
* Fix iterator invalidation issues that are breaking my modules buildbot's ↵Richard Smith2014-08-012-6/+16
| | | | | | bootstrap. llvm-svn: 214547
* Update build instructions for the clang-format VS pluginHans Wennborg2014-08-011-4/+7
| | | | llvm-svn: 214529
* Dropping some else-after-returns. No functional changes intended.Aaron Ballman2014-08-011-7/+7
| | | | llvm-svn: 214526
* Add IR Mangler for more stable mangling.Eli Bendersky2014-08-012-13/+29
| | | | llvm-svn: 214520
* The GNU-style aligned attribute has an optional expression, but the ↵Aaron Ballman2014-08-012-3/+12
| | | | | | | | generated pretty printing logic was unaware of this. Fixed the pretty printing logic, and added a test to ensure it no longer asserts. Added a FIXME to the code about eliding the parenthesis when pretty printing such a construct. llvm-svn: 214513
OpenPOWER on IntegriCloud