summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic
Commit message (Collapse)AuthorAgeFilesLines
* Basic: correct the va_list type on Windows on ARMSaleem Abdulrasool2014-06-291-0/+3
| | | | | | | | | Windows on ARM defines va_list as a typedef for char *. Although the semantics of argument passing for variadic functions matches AAPCS VFP, the wrapped struct __va_list type is unused. This makes the intrinsic definition for va_list match that of Visual Studio. llvm-svn: 212004
* Basic: fix handling for Windows Itanium environmentSaleem Abdulrasool2014-06-281-0/+1
| | | | | | | This corrects the handling for i686-windows-itanium. This environment is nearly identical to Windows MSVC, except it uses the itanium ABI for C++. llvm-svn: 211991
* Basic: whitespace cleanupSaleem Abdulrasool2014-06-281-3/+0
| | | | | | Remove unnecessary separation of anonymous namespace. NFC. llvm-svn: 211990
* [Driver][Mips] Fix else-after-return.Simon Atanasyan2014-06-281-4/+6
| | | | | | No functional changes. llvm-svn: 211984
* [Driver][Mips] Remove redundant brackets.Simon Atanasyan2014-06-281-1/+1
| | | | | | No functional changes. llvm-svn: 211983
* [Driver][Mips] Remove redundant abstract/override function.Simon Atanasyan2014-06-281-1/+0
| | | | | | No functional changes. llvm-svn: 211982
* Introduce arm_acle.h supporting existing LLVM builtin intrinsicsYi Kong2014-06-271-0/+3
| | | | | | | | | | | | | | Summary: This patch introduces ACLE header file, implementing extensions that can be directly mapped to existing Clang intrinsics. It implements for both AArch32 and AArch64. Reviewers: t.p.northover, compnerd, rengolin Reviewed By: compnerd, rengolin Subscribers: rnk, echristo, compnerd, aemerson, mroth, cfe-commits Differential Revision: http://reviews.llvm.org/D4296 llvm-svn: 211962
* Remove 'const' from MemoryBuffers used through the SourceManagerDavid Blaikie2014-06-271-26/+21
| | | | | | | | | | | | | | This removes a const_cast added in r211884 that occurred due to an inconsistency in how MemoryBuffers are handled between some parts of clang and LLVM. MemoryBuffers are immutable and the general convention in the LLVM project is to omit const from immutable types as it's simply redundant/verbose (see llvm::Type, for example). While this change doesn't remove "const" from /every/ MemoryBuffer, it at least makes this chain of ownership/usage consistent. llvm-svn: 211915
* [OPENMP] Parsing and sema analysis for 'copyprivate' clause.Alexey Bataev2014-06-271-2/+4
| | | | llvm-svn: 211886
* ARM: Correctly identify cortex-m4 as v7em.Jim Grosbach2014-06-261-1/+2
| | | | | | | | | | | Get the predefined macro for the architecture correct. cortex-m4: __ARM_ARCH_7EM__ cortex-m3: __ARM_ARCH_7M__ cortex-m0: __ARM_ARCH_6M__ rdar://17420090 llvm-svn: 211792
* Add ppc64/power8 as a targetWill Schmidt2014-06-261-4/+16
| | | | llvm-svn: 211778
* [OPENMP] Initial parsing and sema analysis for 'single' directive.Alexey Bataev2014-06-261-2/+12
| | | | llvm-svn: 211774
* [OPENMP] Initial parsing and sema analysis for 'section' directive.Alexey Bataev2014-06-261-2/+3
| | | | llvm-svn: 211767
* Add vfs::recursive_directory_iteratorBen Langmuir2014-06-251-0/+35
| | | | | | | | | For now, this is only used by its unit tests. It is similar to the API in llvm::sys::fs::recursive_directory_iterator, but without some of the more complex features like requesting that the iterator not recurse into the next directory, for example. llvm-svn: 211732
* [OPENMP] Initial support for 'sections' directive.Alexey Bataev2014-06-251-1/+12
| | | | llvm-svn: 211685
* Implement predefined stdint macrosJF Bastien2014-06-251-0/+15
| | | | | | | | | | | | 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
* Add R600 builtin codegen.Matt Arsenault2014-06-241-3/+10
| | | | llvm-svn: 211631
* Add directory_iterator for (non-recursive) iteration of VFS directoriesBen Langmuir2014-06-241-7/+191
| | | | | | | | 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
* DiagnosticIDs: use diagnostic severities to simplify extension handlingAlp Toker2014-06-223-21/+6
| | | | llvm-svn: 211479
* TextDiagnosticPrinter: use the mapped level for remark flag computationAlp Toker2014-06-221-5/+0
| | | | | | | | | Custom diagnostics don't have a builtin class so this wouldn't have worked. Reduces surface area of remark-related changes. No test coverage. llvm-svn: 211462
* Driver: enhance MSC version compatibilitySaleem Abdulrasool2014-06-201-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | The version information for Visual Studio is spread over multiple variables. The newer Windows SDK has started making use of some of the extended versioning variables that were previously undefined. Enhance our compatibility definitions for these cases. _MSC_VER is defined to be the Major * 100 + Minor. _MSC_FULL_VER is defined to be Major * 10000000 + Minor * 100000 + Build. And _MSC_BUILD is the build revision of the compiler. Extend the -fmsc-version option in a compatible manner. If the value is the previous form of MMmm, then we assume that the build number is 0. Otherwise, a specific build number may be passed by using the form MMmmbbbbb. Due to bitwidth limitations of the option, it is currently not possible to define a revision value. The version information can be passed as either the decimal encoded value (_MSC_FULL_VER or _MSC_VER) or as a dot-delimited value. The change to the TextDiagnostic is to deal with the updated encoding of the version information. llvm-svn: 211420
* [OPENMP] Initial support for 'nowait' clause.Alexey Bataev2014-06-201-0/+2
| | | | llvm-svn: 211352
* [OPENMP] Initial support for 'ordered' clause.Alexey Bataev2014-06-201-0/+2
| | | | llvm-svn: 211347
* [OPENMP] Initial support for 'schedule' clause.Alexey Bataev2014-06-201-0/+15
| | | | llvm-svn: 211342
* Avoid invalidating successfully loaded module filesBen Langmuir2014-06-201-2/+5
| | | | | | | | | | | | | | | | | Successfully loaded module files may be referenced in other ModuleManagers, so don't invalidate them. Two related things are fixed: 1) I thought the last module in the manager was always the one that failed, but it isn't. So check explicitly against the list of vetted modules from ReadASTCore. 2) We now keep the file descriptor of pcm file open, which avoids the possibility of having two different pcms for the same module loaded when building in parallel with headers being modified during a build. <rdar://problem/16835846> llvm-svn: 211330
* [OPENMP] Reformatting and code improvement.Alexey Bataev2014-06-181-26/+29
| | | | llvm-svn: 211147
* [OPENMP] Initial support for '#pragma omp for' (fixed incompatibility with ↵Alexey Bataev2014-06-181-0/+37
| | | | | | MSVC). llvm-svn: 211140
* Revert "[OPENMP] Initial support for '#pragma omp for'."Rafael Espindola2014-06-171-37/+0
| | | | | | | | This reverts commit r211096. Looks like it broke the msvc build: SemaOpenMP.cpp(140) : error C4519: default template arguments are only allowed on a class template llvm-svn: 211113
* [OPENMP] Initial support for '#pragma omp for'.Alexey Bataev2014-06-171-0/+37
| | | | llvm-svn: 211096
* Use the ShowInSystemHeader bit consistently for all diagnosticsAlp Toker2014-06-161-7/+7
| | | | | | | | | | | | By describing system header suppressions directly in tablegen we eliminate special cases in getDiagnosticSeverity(). Dropping the reliance on builtin diagnostic classes when mapping also gets us closer to the goal of reusing the diagnostic machinery for custom diagnostics. No change in functionality. llvm-svn: 211023
* [OPENMP] Initial support of 'reduction' clauseAlexey Bataev2014-06-161-0/+2
| | | | llvm-svn: 211007
* Preprocessor: improve ACLE 6.4.1, 6.4.2 supportSaleem Abdulrasool2014-06-151-7/+42
| | | | | | | | | | | | | | | | | | This improves conformance with ACLE 6.4.1. Define additional macros that indicate support for the ARM and Thumb instruction set architecture. This includes the following set of macros: __ARM_ARCH __ARM_ARCH_ISA_ARM __ARM_ARCH_ISA_THUMB __ARM_32BIT_STATE These help identify the environment that the code is intended to execute on. Adjust the handling for ACLE 6.4.2 to be more correct. We would define the profile as a free-standing token rather than a quoted single character. llvm-svn: 210991
* Update for llvm api change.Rafael Espindola2014-06-131-12/+13
| | | | llvm-svn: 210921
* Refer to error_code with the std prefix.Rafael Espindola2014-06-121-39/+41
| | | | llvm-svn: 210817
* Permit -Wswitch coverage for enumerations.Saleem Abdulrasool2014-06-121-1/+1
| | | | | | | | Thanks to David Blakie and Richard Smith for pointing out that we can retain the -Wswitch coverage while avoiding the warning from GCC by pushing the unreachable outside of the switch! llvm-svn: 210812
* Basic: fix warnings from GCCSaleem Abdulrasool2014-06-121-0/+1
| | | | | | | | | | | | tools/clang/lib/Basic/DiagnosticIDs.cpp: In function ‘clang::DiagnosticIDs::Level toLevel(clang::diag::Severity)’: tools/clang/lib/Basic/DiagnosticIDs.cpp:382:1: warning: control reaches end of non-void function [-Wreturn-type] tools/clang/lib/Format/Format.cpp: In member function ‘virtual std::string clang::format::ParseErrorCategory::message(int) const’: tools/clang/lib/Format/Format.cpp:282:1: warning: control reaches end of non-void function [-Wreturn-type] Add a default cases that asserts that we handle the severity, parse error. llvm-svn: 210804
* Include system_error directly.Rafael Espindola2014-06-121-1/+1
| | | | llvm-svn: 210802
* Replace llvm::error_code with std::error_code.Rafael Espindola2014-06-122-3/+3
| | | | llvm-svn: 210780
* DiagnosticsEngine: update severity setters to new terminologyAlp Toker2014-06-122-14/+12
| | | | llvm-svn: 210764
* Complete the switch from mappings to declarative diagnostic severitiesAlp Toker2014-06-123-58/+62
| | | | | | | | | This begins to address cognitive dissonance caused by treating the Note diagnostic level as a severity in the diagnostic engine. No change in functionality. llvm-svn: 210758
* Use StringRef to simplify code. No functional change.Craig Topper2014-06-121-10/+9
| | | | llvm-svn: 210751
* Use ArrayRef in some function parameters instead of a pointer and count. No ↵Craig Topper2014-06-121-14/+12
| | | | | | functional change. llvm-svn: 210750
* Add a std:: prefix in cases where ADL would have failed on windows.Rafael Espindola2014-06-121-8/+8
| | | | | | This is in preparation for removing make_error_code from the llvm namespace. llvm-svn: 210745
* Use generic_category from the std namespace.Rafael Espindola2014-06-121-1/+1
| | | | llvm-svn: 210736
* Errno should use generic_category.Rafael Espindola2014-06-121-1/+1
| | | | | | Sorry, no testcase, just noticed while trying to remove llvm's system_error.h llvm-svn: 210727
* Use std::error_code instead of llvm::error_code.Rafael Espindola2014-06-111-12/+12
| | | | | | This is an update for a llvm api change. llvm-svn: 210688
* [AArch64] Add default features for CPUs on AArch64 target.Kevin Qin2014-06-111-0/+20
| | | | | | | | | | For ARM target, we can use CRYPTO and CRC features if we select cortex-a57 by '-mcpu', but for AArch64 target, it doesn't work unless adding with '-mfpu=crypto-neon-fp-armv8'. To keep consistency between front-end and back-end and get end-users more easier to use, we'd better add default feature for CPUs on AArch64 target as well. llvm-svn: 210625
* Improve diagnostic mapping terminologyAlp Toker2014-06-103-56/+55
| | | | | | | | | | | | Diagnostic mappings are used to calculate the final severity of diagnostic instances. Detangle the implementation to reflect the terminology used in documentation and bindings. No change in functionality. llvm-svn: 210518
* Show -Wdate-time in system headersAlp Toker2014-06-101-13/+6
| | | | | | | | | | Anyone enabling this warning would expect to hear about all occurrences including those in system headers that can cause non-reproducible builds. To achieve this, rework ShowInSystemHeader to remove broken unused mapping code that didn't make sense with a simpler and correct scheme. llvm-svn: 210512
* StringRefize TargetInfo::getABI()Alp Toker2014-06-071-4/+4
| | | | llvm-svn: 210402
OpenPOWER on IntegriCloud