summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
...
* Move ChainedIncludesSource into the implementationAlp Toker2014-07-074-84/+60
| | | | | | This doesn't need to be in the headers. llvm-svn: 212451
* ChainedIncludesSource: avoid copying n*(n+1)/2 file contents into memoryAlp Toker2014-07-071-12/+6
| | | | | | Just reference the data instead with shallow MemoryBuffer instances. llvm-svn: 212450
* PointerLoc does not exist anymore. Yaron Keren2014-07-071-2/+1
| | | | | | SourceLocation is available from TypeLoc member functions. llvm-svn: 212447
* Revert "Add lib/Codgen/[CGRTTI|MicrosoftRTTI].cpp to CMakeLists.txt (r212445)"Tobias Grosser2014-07-071-2/+0
| | | | | | | | | I misidentified the problem and did not test suffifiently. The files had correctly been removed, but for some reason they still remained in my git checkout. Not adding the files back to CMakeLists.txt, but rather removing the stale files was the solution. Sorry for the unnecessary noise. llvm-svn: 212446
* Add lib/Codgen/[CGRTTI|MicrosoftRTTI].cpp to CMakeLists.txtTobias Grosser2014-07-071-0/+2
| | | | | | This fixes the cmake builds. llvm-svn: 212445
* Switch over a few uses of param_begin() to parameters()Alp Toker2014-07-076-32/+32
| | | | llvm-svn: 212442
* Remove unused sys/stat.h includesAlp Toker2014-07-078-12/+0
| | | | | | The facility was abstracted to LLVM in r187364. llvm-svn: 212441
* CodeGen: Cleanup MS ABI RTTI LLVM IRDavid Majnemer2014-07-075-410/+413
| | | | | | | | | | | | | The MS ABI RTTI emission code would choose names for IR types like %"MSRTTITypeDescriptor\02". This name is undesirable because it requires escaping; the underlying reason for this is that the name is unprintable. Fix this by naming it %rtti.TypeDescriptor2. While here, stop trying to do lookups in the LLVM Module's type table. Instead, store the IR types in MicrosoftCXXABI. Lookups by name aren't particularly fast. llvm-svn: 212439
* Peel away old-style file remapping typedefs and cruftAlp Toker2014-07-074-119/+44
| | | | llvm-svn: 212438
* Fix an iterator invalidation issue: deserializing a key function can write toRichard Smith2014-07-073-7/+118
| | | | | | | the key functions table. Don't hold references to anything within that table across such an access. llvm-svn: 212437
* StaticAnalyzer: Silence a warningDavid Majnemer2014-07-071-0/+1
| | | | | | | ExprEngine wasn't ready for SEHLeaveStmtClass. Handle it like all the other SEH constructs by aborting. llvm-svn: 212436
* CodeGen: Refactor RTTI emissionDavid Majnemer2014-07-079-1599/+1560
| | | | | | | | | | | | | | | | | | | | | | | Let's not expose ABI specific minutia inside of CodeGenModule and Type. Instead, let's abstract it through CXXABI. This gets rid of: CodeGenModule::getCompleteObjectLocator, CodeGenModule::EmitFundamentalTypeDescriptor{s,}, CodeGenModule::getMSTypeDescriptor, CodeGenModule::getMSCompleteObjectLocator, CGCXXABI::shouldRTTIBeUnique, CGCXXABI::classifyRTTIUniqueness. CGRTTI was *almost* entirely centered around providing Itanium-style RTTI information. Instead of providing interfaces that only it consumes, move it to the ItaniumCXXABI implementation file. This allows it to have access to Itanium-specific implementation details without providing useless expansion points for the Microsoft ABI side. Differential Revision: http://reviews.llvm.org/D4261 llvm-svn: 212435
* Fix layering of file remapping and header search initializationAlp Toker2014-07-073-73/+67
| | | | | | | | These two functions initialize the source manager and header search objects and shouldn't be in InitPreprocessor which is concerned with priming the preprocessor itself and predefining macros. llvm-svn: 212434
* Add an explicit diagnostic for the case where an expression is not a constantRichard Smith2014-07-073-2/+24
| | | | | | expression because it uses 'this'. Inspired by PR20219 comment#2. llvm-svn: 212433
* Cleanup. No functionality change intended.Richard Smith2014-07-071-5/+4
| | | | llvm-svn: 212432
* libclang: refactor handling of unsaved_filesAlp Toker2014-07-074-86/+83
| | | | | | | Consolidate CXUnsavedFile argument handling in API functions to support a wider cleanup of various file remapping schemes in the frontend. llvm-svn: 212427
* Update internals manual on how to add AST nodes.Nico Weber2014-07-071-3/+4
| | | | | | | | StmtDumper.cpp is called ASTDumper.cpp these days, and usually works well for new AST nodes without changes. There's now DataRecursiveASTVisitor in addition to RecursiveASTVisitor, and serialization wasn't mentioned. llvm-svn: 212426
* Add an AST node for __leave statements, hook it up.Nico Weber2014-07-0720-11/+83
| | | | | | | Codegen is still missing (and I won't work on that), but __leave is now as implemented as __try and friends. llvm-svn: 212425
* Sema: Check that __leave is contained in a __try block.Nico Weber2014-07-067-11/+25
| | | | | | | | | Give scope a SEHTryScope bit, set that in ParseSEHTry(), and let Sema walk the scope chain to find the SEHTry parent on __leave statements. (They are rare enough that it seems better to do the walk instead of giving Scope a SEHTryParent pointer -- this is similar to AtCatchScope.) llvm-svn: 212422
* Add parser support for __leave (sema and onward still missing).Nico Weber2014-07-067-5/+62
| | | | llvm-svn: 212421
* Giving this test a triple to satisfy the build bots.Aaron Ballman2014-07-061-1/+1
| | | | llvm-svn: 212418
* The MicrosoftExtensions.c test file should not rely on -x objective-c++. ↵Aaron Ballman2014-07-062-66/+53
| | | | | | Removed that from the RUN line, fixed obvious C++isms in the code, and moved some C++ tests into MicrosoftExtensions.cpp instead. As a drive-by, changed the line endings for MicrosoftExtensions.c to be LF instead of CRLF. llvm-svn: 212417
* This test case does not require -Wno-missing-declarations or -x objective-c++.Aaron Ballman2014-07-061-1/+1
| | | | llvm-svn: 212416
* Move InterlockedBitTestAndSet into its own test fileEhsan Akhgari2014-07-062-11/+13
| | | | | | | | | | | | | | Summary: This gives us back the test coverage we lost when I made MicrosoftExtensions.c x86-only. Reviewers: majnemer Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D4401 llvm-svn: 212414
* Update for llvm api change.Rafael Espindola2014-07-0614-53/+79
| | | | llvm-svn: 212408
* Fix typo in comment.Nick Lewycky2014-07-061-1/+1
| | | | llvm-svn: 212404
* PlistSupport.h: avoid gcc 'defined but not used' warningAlp Toker2014-07-063-10/+11
| | | | llvm-svn: 212396
* libclang: make darwin pthread hacks conditional on LLVM_ENABLE_THREADSAlp Toker2014-07-061-5/+8
| | | | | | | | Although these aren't strictly related to LLVM's core threading, it's reasonable to avoid pthread usage in clang when building with LLVM_ENABLE_THREADS disabled. llvm-svn: 212395
* Modernize a couple of loopsAlp Toker2014-07-062-10/+4
| | | | llvm-svn: 212394
* Fix the MicrosoftExtensions.c targetEhsan Akhgari2014-07-061-0/+1
| | | | llvm-svn: 212393
* Enable the InterlockedBitTestAndSet testEhsan Akhgari2014-07-061-3/+0
| | | | llvm-svn: 212392
* Add support for nested blocks in Microsoft inline assemblyEhsan Akhgari2014-07-065-21/+80
| | | | | | This fixes http://llvm.org/PR20204. llvm-svn: 212389
* Use non-intrusive refcounting for TargetOptionsAlp Toker2014-07-0612-53/+45
| | | | llvm-svn: 212388
* Use non-intrusive refcounting for LangOptionsAlp Toker2014-07-064-8/+6
| | | | | | | This type is only refcounted in a couple of places so making ownership explicit improves clarity. llvm-svn: 212387
* Constify a read-only parameter and give function a better nameAlp Toker2014-07-064-9/+9
| | | | | | | This makes it clear that TargetInfo doesn't capture the LangOptions object, rather uses it to apply adjustments. llvm-svn: 212386
* writeARCDiagsToPlist(): make sure all diag levels get handledAlp Toker2014-07-061-6/+17
| | | | | | | Handle 'remark' level diagnostics as warnings instead of supplemental notes, and use a covered switch to ensure the mapping is kept up to date. llvm-svn: 212385
* Use PlistSupport in a few more placesAlp Toker2014-07-064-85/+81
| | | | | | Switch over LogDiagnosticPrinter and introduce an integer helper. llvm-svn: 212384
* clang-cl: /showIncludes output should go to stdout, not stderr. Fixes PR20217.Nico Weber2014-07-063-6/+6
| | | | llvm-svn: 212383
* Remove leftovers of '-arcmt-modify-in-memory' from r133315Alp Toker2014-07-052-18/+0
| | | | llvm-svn: 212381
* CodeGen: add support for a few MSVC ARM intrinsicsSaleem Abdulrasool2014-07-053-4/+87
| | | | | | | | This adds support for simple MSVC compatibility mode intrinsics. These intrinsics are simple in that they are either directly passed through to the annotated MSBuiltin intrinsic or they mirror existing GCC builtins. llvm-svn: 212378
* Add a test case for the tilde operator in Microsoft inline assemblyEhsan Akhgari2014-07-051-0/+2
| | | | llvm-svn: 212373
* Track IntrusiveRefCntPtr::get() changes from LLVM r212366Alp Toker2014-07-0529-103/+103
| | | | llvm-svn: 212369
* CodeGen: add support for MSBuiltin aliasesSaleem Abdulrasool2014-07-041-1/+7
| | | | | | | | | | | | | | | | | | This completes the infrastructure for the new MSBuiltin aliases in the instruction definitions. These behave similar to the GCCBuiltin in that they can be implicitly constructed without special handling unless needed. With this change it is possible to annotate an LLVM intrinsic in the backend instruction definitions and indicate it as a builtin in the Builtin*.def files in clang via LANGBUILTIN. That will automatically pass through the instruction much as a GCCBuiltin. Note that there is no need for the special handling for ensuring that the compatibility flag is enabled since the filtering on the LANGBUILTIN will automatically prevent the intrinsic from bleeding into non-MS compatible compiler invocations. llvm-svn: 212359
* Prune some ignored warning optionsAlp Toker2014-07-041-4/+2
| | | | | | | These are forms that have either slipped in without being requested for compatibility or that GCC doesn't support in the first place. llvm-svn: 212358
* Fix up the test that expects the failure fixed in r212352Ehsan Akhgari2014-07-041-2/+0
| | | | llvm-svn: 212353
* [Driver][Mips] Support one more MIPS CPU name - octeon.Simon Atanasyan2014-07-044-2/+18
| | | | llvm-svn: 212339
* [Driver][Mips] Support more MIPS CPU names: mips1 - mips5.Simon Atanasyan2014-07-044-0/+75
| | | | llvm-svn: 212338
* gcc comptability: silent -fdefer-pop & -fno-defer-pop Sylvestre Ledru2014-07-042-0/+3
| | | | | | | | | | | | Reviewers: rafael, rnk Reviewed By: rnk Subscribers: rnk, cfe-commits Differential Revision: http://reviews.llvm.org/D4357 llvm-svn: 212327
* Let test/Unit/lit.cfg add config.shlibdir to $PATH on DLL platforms like ↵NAKAMURA Takumi2014-07-041-0/+5
| | | | | | | | cygming. This makes unittests run with BUILD_SHARED_LIBS on DLL platforms. llvm-svn: 212316
* Trailing linefeedNAKAMURA Takumi2014-07-041-1/+0
| | | | llvm-svn: 212312
OpenPOWER on IntegriCloud