summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Fixed test CodeGen/captured-statements.c for powerpc64-linux.Alexey Bataev2014-07-041-2/+2
| | | | llvm-svn: 212311
* Make a small crash preventing change.Fariborz Jahanian2014-07-031-2/+2
| | | | llvm-svn: 212291
* Restore global static array in test caseGerolf Hoflehner2014-07-031-1/+1
| | | | llvm-svn: 212285
* The RTTI fallback is no more. Remove outdated diagnostic.Benjamin Kramer2014-07-031-3/+0
| | | | llvm-svn: 212281
* [ARM] Implement ISB memory barrier intrinsicYi Kong2014-07-034-3/+12
| | | | | | | Adds support for __builtin_arm_isb. Also corrects DSB and ISB instructions modelling by adding has-side-effects property. llvm-svn: 212277
* Add the __qdbl intrinsic to the arm_acle.h headerRenato Golin2014-07-032-0/+14
| | | | | | Patch by: Moritz Roth llvm-svn: 212264
* Move the calling of emitTargetMD() later.Robert Lytton2014-07-033-46/+66
| | | | | | | | | | | | | | | | Summary: Because a global created by GetOrCreateLLVMGlobal() is not finalised until later viz: extern char a[]; char f(){ return a[5];} char a[10]; Change MangledDeclNames to use a MapVector rather than a DenseMap so that the Metadata is output in order of original declaration, so to make deterministic and improve human readablity. Differential Revision: http://reviews.llvm.org/D4176 llvm-svn: 212263
* refactor for-loop as range-loop before making changes.Robert Lytton2014-07-031-10/+6
| | | | | | Differential Revision: http://reviews.llvm.org/D4176 llvm-svn: 212262
* ARMEB: Fix function result return for composite typesChristian Pirker2014-07-032-0/+41
| | | | | | Reviewed at http://reviews.llvm.org/D4364 llvm-svn: 212261
* [Driver][Mips] Check MIPS CPU name provided to the Clang driver.Simon Atanasyan2014-07-032-1/+20
| | | | llvm-svn: 212260
* MS ABI: Get linkage of RTTI data correctDavid Majnemer2014-07-032-2/+30
| | | | | | | | | | | | | | | | | The Itanium rules are not appropriate for the MS ABI. RTTI data is _never_ imported and thus is never available_externally. It is either internal (if the type's linkage is internal) or linkonce_odr. This also means that classes which inherit from dllimport'd bases force their translation unit to duplicate the entirety of the RTTI data of that base. Interestingly, the complete object locator can never be referenced by translation units which import the class. This fixes PR20106. llvm-svn: 212256
* ARM: rename ARM builtins to use __builtin_arm prefixSaleem Abdulrasool2014-07-033-15/+15
| | | | | | | | | This corrects SVN r212196's naming change to use the proper prefix of `__builtin_arm_` instead of `__builtin_`. Thanks to Yi Kong for pointing out the incorrect naming! llvm-svn: 212253
* Address review feedback for r212238.Nico Weber2014-07-031-2/+1
| | | | | | | Also, forgot to say in the commit message of r212238: Library authors will see a warning about this issue if they build with -Wsystem-headers. llvm-svn: 212243
* Enable clang to continue to parse libstdc++4.6 and stlport after r210091.Nico Weber2014-07-023-2/+80
| | | | | | | | | | r210091 made initialization checking more strict in c++11 mode. LWG2193 is about changing standard libraries to still be valid under these new rules, but older libstdc++ (e.g. libstdc++4.6 in -D_GLIBCXX_DEBUG=1 mode, or stlport) do not implement that yet. So fall back to the C++03 semantics for container classes in system headers below the std namespace. llvm-svn: 212238
* Update the MSVC compatibilty document for class template parsingReid Kleckner2014-07-021-16/+35
| | | | llvm-svn: 212237
OpenPOWER on IntegriCloud