summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
...
* Don't go through the TypeSourceInfo when getting the SourceRange.Zachary Turner2014-06-251-3/+3
| | | | | | | | | | | | VarDecl provides a method getSourceRange(), which provides a more robust way of getting the SourceRange since the TypeSourceInfo can be null in certain cases. Reviewed by: majnemer Differential Revision: http://reviews.llvm.org/D4281 llvm-svn: 211667
* [Driver] Follow-up to r211598, r211663. Do not build a dynamic linkerSimon Atanasyan2014-06-251-6/+6
| | | | | | path using sub-strings concatenation. Return the whole string explicitly. llvm-svn: 211665
* Tools.cpp: Update getLinuxDynamicLinker() to return Twine instead of ↵NAKAMURA Takumi2014-06-251-3/+3
| | | | | | StringRef, since r211598 has introduced manipulation of return string. llvm-svn: 211663
* VirtualFileSystemTest.cpp: Get rid of initializer list on std::vector, to ↵NAKAMURA Takumi2014-06-251-21/+29
| | | | | | appease msc17. llvm-svn: 211662
* Reformat.NAKAMURA Takumi2014-06-252-13/+12
| | | | llvm-svn: 211661
* [OPENMP] Improved code and replaced struct by lambda.Alexey Bataev2014-06-252-21/+16
| | | | llvm-svn: 211660
* Implement predefined stdint macrosJF Bastien2014-06-255-9/+1856
| | | | | | | | | | | | Add predefined stdint macros that match the given patterns: U?INT{_,_FAST,_LEAST}{8,16,32,64}_{MAX,TYPE} U?INT{PTR,MAX}_{MAX,TYPE} http://reviews.llvm.org/D4141 Author: binji llvm-svn: 211657
* Fix parsing nested __if_exists blocksReid Kleckner2014-06-252-8/+24
| | | | | | | | | | | Rather than having kw___if_exists be a special case of ParseCompoundStatementBody, we can look for kw___if_exists in the big switch over for valid statement tokens in ParseStatementOrDeclaration. Nested __if_exists blocks are used in the DECLARE_REGISTRY_RESOURCEID macro from atlcom.h. llvm-svn: 211654
* Add a missing test for the __if_exists extensionReid Kleckner2014-06-251-0/+10
| | | | | | | MSVC does not create a new scope for the body of an __if_exists compound statement. Clang already gets this right today, but it was untested. llvm-svn: 211650
* Split tests for __if_exists out into their own fileReid Kleckner2014-06-252-97/+93
| | | | llvm-svn: 211649
* MS ABI: Ignore dll attributes on partial template specializationsHans Wennborg2014-06-245-3/+57
| | | | llvm-svn: 211648
* Merge handleDLLImportAttr and handleDLLExportAttr into one function.Hans Wennborg2014-06-241-13/+6
| | | | llvm-svn: 211647
* Provide a better diagnostic when braces are put before the identifier.Richard Trieu2014-06-245-6/+351
| | | | | | | | | | | | | | | | | When a user types: int [4] foo; assume that the user means: int foo[4]; Update the information for 'foo' to prevent additional errors, and provide a fix-it hint to move the brackets to the correct location. Additionally, suggest parens for types that require it, such as: int [4] *foo; to: int (*foo)[4]; llvm-svn: 211641
* Fix test issues from r211623 and remove test-only APIBen Langmuir2014-06-242-27/+21
| | | | | | | | | | | 1) missing iterator bits needed by libstdc++4.7 Using find_if was convenient, but since operator++ wasn't a good interface anyway, I just replaced with a range-based for loop and removed operator++ from the directory_iterator class. 2) stop relying on order of iterating real files llvm-svn: 211633
* Forgot to add file in r211631Matt Arsenault2014-06-241-0/+20
| | | | llvm-svn: 211632
* Add R600 builtin codegen.Matt Arsenault2014-06-246-3/+88
| | | | llvm-svn: 211631
* Fix missing C++ mode commentMatt Arsenault2014-06-241-1/+1
| | | | llvm-svn: 211630
* Correctly Load Mixed FP-GP Variadic Arguments for x86-64.Rafael Espindola2014-06-242-2/+17
| | | | | | | | | | | | | | | | | | | | According to the x86-64 ABI, structures with both floating point and integer members are split between floating-point and general purpose registers, and consecutive 32-bit floats can be packed into a single floating point register. In the case of variadic functions these are stored to memory and the position recorded in the va_list. This was already correctly implemented in llvm.va_start. The problem is that the code in clang for implementing va_arg was reading floating point registers from the wrong location. Patch by Thomas Jablin. Fixes PR20018. llvm-svn: 211626
* Disable the bits of r211623 that broke the botsBen Langmuir2014-06-241-15/+16
| | | | | | | Part of my test seems to rely on iterator bits that I didn't implement, at least in the gcc bots. Disabling while I investigate. llvm-svn: 211625
* Use appropriate default PIE settings for OpenBSD.Brad Smith2014-06-242-0/+31
| | | | llvm-svn: 211624
* Add directory_iterator for (non-recursive) iteration of VFS directoriesBen Langmuir2014-06-243-16/+508
| | | | | | | | The API is based on sys::fs::directory_iterator, but it allows iterating over overlays and the yaml-based VFS. For now, it isn't used by anything (except its tests). llvm-svn: 211623
* Simplify optimization-remark.c test following r211610Alp Toker2014-06-241-12/+7
| | | | | | | | | | With LocTrackingOnly there's no longer a user-facing distinction so the NDEBUG checks can go away. (Except maybe column info, but -verify only checks line numbers anyway.) Also add a RUN line to validate the traditional !LocTrackingOnly case. llvm-svn: 211622
* [Driver][Mips] Support mips64-linux-gnuabi64 / mips64el-linux-gnuabi64 ↵Simon Atanasyan2014-06-2420-2/+110
| | | | | | | | | target triples. The patch fixes the bug #19869. http://llvm.org/bugs/show_bug.cgi?id=19869 llvm-svn: 211619
* Fix test added in r211610 so it doesn't race on output file creation.David Blaikie2014-06-241-1/+1
| | | | llvm-svn: 211615
* Objective-C. When we use @selector(save:), etc. there may be more Fariborz Jahanian2014-06-245-13/+67
| | | | | | | | | | | | | than one method with mismatched type of same selector name. clang issues a warning to point this out since it may cause undefined behavior. There are cases though that some APIs don't care about user methods and such warnings are perceived as noise. This patch allows users to add paren delimiters around selector name to turn off such warnings. So, @selector((save:)) will turn off the warning. It also provides 'fixit' so user knows what to do. // rdar://16458579 llvm-svn: 211611
* Add new debug kind LocTrackingOnly.Diego Novillo2014-06-248-28/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This new debug emission kind supports emitting line location information in all instructions, but stops code generation from emitting debug info to the final output. This mode is useful when the backend wants to track source locations during code generation, but it does not want to produce debug info. This is currently used by optimization remarks (-Rpass, -Rpass-missed and -Rpass-analysis). When one of the -Rpass flags is used, the front end will enable location tracking, only if no other debug option is enabled. To prevent debug information from being generated, a new debug info kind LocTrackingOnly causes DIBuilder::createCompileUnit() to not emit the llvm.dbg.cu annotation. This blocks final code generation from generating debug info in the back end. Depends on D4234. Reviewers: echristo, dblaikie Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D4235 llvm-svn: 211610
* Allow static_assert inside an anonymous union; fixes PR20021 as well as ↵Aaron Ballman2014-06-242-0/+11
| | | | | | implements C++ Issue 1940. llvm-svn: 211606
* Use lowercase windows.h for mingw cross compilation.Logan Chien2014-06-241-1/+1
| | | | llvm-svn: 211604
* Fix "warning: fallthrough annotation does not directly precede switch label" ↵Alexander Kornienko2014-06-242-19/+44
| | | | | | | | | | | | | | | | in lambdas. Summary: This patch fixes http://llvm.org/PR17864 - "warning: fallthrough annotation does not directly precede switch label" in lambdas. Reviewers: rsmith Reviewed By: rsmith Subscribers: rnk, cfe-commits Differential Revision: http://reviews.llvm.org/D4258 llvm-svn: 211599
* [mips] Correct linux dynamic linker for -mnan=2008Daniel Sanders2014-06-243-5/+65
| | | | | | | | | | | | Summary: The dynamic linker is named ld-linux-mipsn8.so.1 when -mnan=2008 is given (or is the default). It remains ld.so.1 for other cases. This is necessary for MIPS32r6/MIPS64r6 since these ISA's default to -mnan=2008. Differential Revision: http://reviews.llvm.org/D4273 llvm-svn: 211598
* Revert r211121 (and r211285), "Change libclang initialization to use ↵NAKAMURA Takumi2014-06-241-9/+12
| | | | | | | | std::call_once instead of" It broke mingw builder and cygwin-clang stage2, possibly lack of tls in <mutex>. llvm-svn: 211593
* [OPENMP] Additional checking for 'collapse' clause.Alexey Bataev2014-06-248-52/+142
| | | | llvm-svn: 211589
* ARM: remove dead CodeGen functions.Tim Northover2014-06-242-33/+0
| | | | | | These two are no longer being used by NEON codegen. llvm-svn: 211586
* clang-format: Understand that breaking before lambdas is fine.Daniel Jasper2014-06-242-2/+4
| | | | | | | | | | | | Before: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa([]( const aaaaaaaaaa &a) { return a; }); After: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa( [](const aaaaaaaaaa &a) { return a; }); llvm-svn: 211575
* Driver: Restore proper naming of crashdump filesJustin Bogner2014-06-243-7/+8
| | | | | | Based on a review of r211411 by Jordan Rose. llvm-svn: 211572
* AST: Address of dllimport functions isn't constantDavid Majnemer2014-06-243-10/+33
| | | | | | | | | | | | | | | | The address of dllimport functions can be accessed one of two ways: - Through the IAT which is symbolically referred to with a symbol starting with __imp_. - Via the wrapper-function which ends up calling through the __imp_ symbol. The problem with using the wrapper-function is that it's address will not compare as equal in all translation units. Specifically, it will compare unequally with the translation unit which defines the function. This fixes PR19955. llvm-svn: 211570
* AST: Address of dllimport variables isn't constantDavid Majnemer2014-06-243-0/+17
| | | | | | | | | | | | | The address of dllimport variables isn't something that can be meaningfully used in a constexpr context and isn't suitable for evaluation at load-time. They require loads from memory to properly evaluate. This fixes PR19955. Differential Revision: http://reviews.llvm.org/D4250 llvm-svn: 211568
* [OPENMP] Added initial checking of nesting of OpenMP regions.Alexey Bataev2014-06-243-3/+136
| | | | llvm-svn: 211566
* Propagate isAddressOfMember into typo correction so that we don't correct ↵Nick Lewycky2014-06-235-9/+52
| | | | | | &qualified-id into &unqualified-id. Also make sure to set the naming class when we find the qualified-id in a different class than the nested name specifier specified so far. Fixes PR19681! llvm-svn: 211551
* Fix spelling. s/overloaed/overloaded/Jim Grosbach2014-06-231-2/+2
| | | | llvm-svn: 211530
* CodeGen: Remove a stray tab character (NFC)Justin Bogner2014-06-231-1/+1
| | | | llvm-svn: 211528
* Driver: correct behaviour of -fmsc-version=MAJORSaleem Abdulrasool2014-06-232-1/+11
| | | | | | | | | Ensure that we properly handle the case where just the major version component is provided by the user. Thanks to Alp Toker for pointing out that this was not handled correctly! llvm-svn: 211506
* MS ABI: Add an additional test for typeidDavid Majnemer2014-06-231-0/+7
| | | | | | | This tests typeid with polymorphic arguments which have an extendable virtual function table. llvm-svn: 211505
* Stop sharing the FileManager in ASTUnit::ParseBen Langmuir2014-06-231-1/+7
| | | | | | | | | | We were using old stat values for any files that had previously been looked up, leading to badness. There might be a more elegant solution in invalidating the cache for those file (since we already know which ones they are), but it seems too likely there are existing references to them hiding somewhere. llvm-svn: 211504
* [OPENMP] Reformatting and code improvement.Alexey Bataev2014-06-231-10/+7
| | | | llvm-svn: 211489
* clang-format: [proto] Add required space before absolute references.Daniel Jasper2014-06-232-0/+7
| | | | llvm-svn: 211488
* clang-format: Fix corner case in pointer/reference detection.Daniel Jasper2014-06-232-0/+4
| | | | llvm-svn: 211487
* Parse: Simplify construction of the clobber listDavid Majnemer2014-06-231-4/+1
| | | | | | | | This avoids going over the clobber list twice. No functionality change. llvm-svn: 211485
* StaticAnalyzer: Switch a loop to a range-based forDavid Majnemer2014-06-231-3/+2
| | | | | | Merely a code simplification, no functionality change. llvm-svn: 211484
* AST: Add ranges for AsmStmt's inputs and outputsDavid Majnemer2014-06-231-0/+16
| | | | | | No functionality change. llvm-svn: 211483
OpenPOWER on IntegriCloud