summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* Suggest adding 'constexpr' if the GNU extension for in-class initializers ↵Richard Smith2011-09-301-0/+4
| | | | | | for static const float members is used in C++11 mode. llvm-svn: 140828
* Mark the ExtWarn for in-class initialization of static const float members ↵Richard Smith2011-09-291-7/+8
| | | | | | as a GNU extension. Don't extend the scope of this extension to all literal types in C++0x mode. llvm-svn: 140820
* Minor refactoring. Enumerators may inherit the deprecated/unavailable Fariborz Jahanian2011-09-291-35/+42
| | | | | | | attributes from the enumeration type. // rdar://10201690 llvm-svn: 140818
* PR11040: CheckICE should not allow an lvalue bitcast as part of an integer ↵Eli Friedman2011-09-291-4/+10
| | | | | | constant expression. llvm-svn: 140812
* In C++0x, static const volatile data members cannot be initialized in-class.Richard Smith2011-09-291-4/+5
| | | | llvm-svn: 140809
* PR11000: Fix crash on invalid.Richard Smith2011-09-291-1/+1
| | | | llvm-svn: 140802
* constexpr: semantic checking for constexpr variables.Richard Smith2011-09-292-35/+111
| | | | | | We had an extension which allowed const static class members of floating-point type to have in-class initializers, 'as a C++0x extension'. However, C++0x does not allow this. The extension has been kept, and extended to all literal types in C++0x mode (with a fixit to add the 'constexpr' specifier). llvm-svn: 140801
* c - Enumerators may inherit the deprecated/unavailable Fariborz Jahanian2011-09-291-5/+15
| | | | | | | attributes from the enumeration type. // rdar://10201690 llvm-svn: 140800
* Add support for alignment-specifiers in C1X and C++11, removePeter Collingbourne2011-09-296-44/+107
| | | | | | | support for the C++0x draft [[align]] attribute and add the C1X standard header file stdalign.h llvm-svn: 140796
* Add support for parsing an attribute-specifier-seq containing multiplePeter Collingbourne2011-09-291-8/+22
| | | | | | attribute-specifiers llvm-svn: 140794
* Add support for parsing the optional attribute-specifier-seq at thePeter Collingbourne2011-09-291-0/+3
| | | | | | end of a decl-specifier-seq llvm-svn: 140793
* Driver: use correct search paths for multilibPeter Collingbourne2011-09-291-2/+2
| | | | llvm-svn: 140782
* Add an ns_bridged attribute, used to specify that a John McCall2011-09-292-0/+35
| | | | | | | | | | | | | | pointer to the annotated struct type can be used as an Objective-C object pointer. If an argument is given, the type is actually "toll-free bridged" to the specific type named there, rather than just to 'id'. For now, we cannot rely on all types being so annotated, and we'll always have to have exceptions for things like CFTypeRef (aka const void*), but this is clearly a good foundation for improving toolage in this area. llvm-svn: 140779
* Like IBOutletCollection, it only makes sense to apply the IBOutlet ↵Ted Kremenek2011-09-291-25/+31
| | | | | | annotation to Objective-C object types. Fixes <rdar://problem/10142685>. llvm-svn: 140778
* Do not warn about empty format strings when there are no data arguments. ↵Ted Kremenek2011-09-291-7/+6
| | | | | | Fixes <rdar://problem/9473155>. llvm-svn: 140777
* Unnecessary elseDavid Blaikie2011-09-291-2/+1
| | | | llvm-svn: 140775
* Basic/Diagnostic: Kill off a few unnecessary functions now that refactoring ↵Daniel Dunbar2011-09-292-8/+6
| | | | | | is done, and add a note that the new setDiagnosticGroup{...} methods only operate on the current diagnostic state. llvm-svn: 140771
* Basic/Diagnostics: Rewrite DiagnosticIDs::getDiagnosticLevel completely to ↵Daniel Dunbar2011-09-292-69/+55
| | | | | | | | be straighter line code, use the new DiagnosticMappingInfo flags, and eliminate the odd MAP_WARNING_NO_WERROR and friend mappings. - This fixes a host of obscure bugs with regards to how warning mapping options composed with one another, and I believe makes the code substantially easier to read and reason about. llvm-svn: 140770
* Basic/Diagnostics: Add three explicit bits to DiagnosticMappingInfo to track ↵Daniel Dunbar2011-09-292-21/+66
| | | | | | | | "no-warning-as-error", "no-error-as-fatal", and "show-in-system-header", and update DiagnosticsEngine::setDiagnosticGroup{WarningAsError,ErrorAsFatal} and GetDefaultDiagMappingInfo to set them appropriately. - No actual functionality change for now, we still also use the diag::Mapping::{MAP_WARNING_NO_ERROR,MAP_ERROR_NO_FATAL,MAP_WARNING_SHOW_IN_SYSTEM_HEADER} for a little while longer. llvm-svn: 140768
* Basic/Diagnostics: Add a DiagnosticIDs::getDiagnosticsInGroup method, and useDaniel Dunbar2011-09-292-39/+42
| | | | | | | that in DiagnosticEngine instead of the convoluted calling into DiagnosticIDs which then calls back into the DiagnosticsEngine. llvm-svn: 140766
* Basic/Diagnostic: Add a DiagSate::getOrAddMappingInfo method.Daniel Dunbar2011-09-292-8/+23
| | | | | | - Also, spell const_iterator as const_iterator. llvm-svn: 140765
* Basic/Diagnostics: Move setDiagnosticMapping() to using DiagnosticMappingInfoDaniel Dunbar2011-09-291-5/+7
| | | | | | and eliminate setDiagnosticMappingInternal. llvm-svn: 140763
* Basic/Diagnostics: Add a DiagnosticMappingInfo helper class, and switch toDaniel Dunbar2011-09-292-14/+14
| | | | | | | storing mappings with that instead of straying some magic constants about the source. llvm-svn: 140760
* Basic/Diagnostics: Eliminate getDiagnosticMappingInfo method, which wasn't ↵Daniel Dunbar2011-09-291-2/+1
| | | | | | worth methodizing. llvm-svn: 140759
* Basic/Diagnostic: Eliminate the extra "mapping" out-parameter now that I ↵Daniel Dunbar2011-09-291-8/+3
| | | | | | killed the sole client. llvm-svn: 140756
* Basic/Diagnostics: Add an isDefaultMappingAsError method, and switch ↵Daniel Dunbar2011-09-292-9/+20
| | | | | | | | TextDiagnosticPrinter to use that instead of extracting the current mapping via getDiagnosticLevel, which fixes one class of corner cases w.r.t. printing the "-Werror" diagnostic option marker. - The TextDiagnosticPrinter code is still fragile as it is just "reverse engineering" what the diagnostic engine is doing. Not my current priority to fix though. llvm-svn: 140752
* Basic/Diagnostic: Factor outDaniel Dunbar2011-09-292-14/+34
| | | | | | | | | DiagnosticsEngine::setDiagnosticGroup{ErrorAsFatal,WarningAsError} methods which more accurately model the correct API -- no internal change to the diagnostics engine yet though. - Also, stop honoring -Werror=everything (etc.) as a valid (but oddly behaved) option. llvm-svn: 140747
* Introduce an opt-in warning when a module is being implicitly builtDouglas Gregor2011-09-291-0/+2
| | | | | | from sources. llvm-svn: 140746
* Introduce a pure virtual clone() method to DiagnosticConsumer, so thatDouglas Gregor2011-09-299-25/+54
| | | | | | | | | we have the ability to create a new, distict diagnostic consumer when we go off and build a module. This avoids the currently horribleness where the same diagnostic consumer sees diagnostics for multiple translation units (and multiple SourceManagers!) causing all sorts of havok. llvm-svn: 140743
* Basic/Diagnostics: Split out the default warning "no-Werror" andDaniel Dunbar2011-09-291-6/+26
| | | | | | | "show-in-system-header" bits, which is part of teasing them apart from the diagnostic mapping kind. llvm-svn: 140742
* Change "Regions" to be "LexicalBlocks" since that's what theyEric Christopher2011-09-294-53/+54
| | | | | | correspond to. llvm-svn: 140740
* Rename EmitStopPoint in CGDebugInfo to EmitLocation. "stop points" don'tEric Christopher2011-09-295-8/+10
| | | | | | exist anymore. llvm-svn: 140739
* Reorder functions in the file.Eric Christopher2011-09-291-31/+30
| | | | llvm-svn: 140738
* Call UpdateLineDirectiveRegion every time we want to emit a stopEric Christopher2011-09-294-6/+8
| | | | | | | point in the code. Ensures that we don't miss any places and the check is reasonably cheap. llvm-svn: 140737
* Update comment.Eric Christopher2011-09-291-1/+2
| | | | llvm-svn: 140736
* [driver] Add basic support for escaping XML characters in CC_LOG_DIAGNOSTICSChad Rosier2011-09-281-5/+30
| | | | | | | strings. rdar://9696709 llvm-svn: 140732
* objc arc: Diagnose block pointer type mismatch whenFariborz Jahanian2011-09-282-16/+29
| | | | | | | | some arguments types are ns_consumed and some otherwise matching types are not. This is objc side of // rdar://10187884 llvm-svn: 140729
* Check for empty predecessors for walking them.Ted Kremenek2011-09-281-1/+1
| | | | llvm-svn: 140725
* objc++ arc: Diagnose block pointer type mismatch whenFariborz Jahanian2011-09-281-0/+17
| | | | | | | | some arguments types are ns_consumed and some otherwise matching types are not. This fixes the objc++ side only *auch*. // rdar://10187884 llvm-svn: 140717
* Tweak -Wobjc-missing-super-calls to not warning about missing [super ↵Ted Kremenek2011-09-281-2/+3
| | | | | | dealloc] when in GC-only mode, and to not warning about missing [super finalize] when not using GC. llvm-svn: 140713
* For __weak/__strong/etc. ownership attributes, don't macro expand them in ↵Argyrios Kyrtzidis2011-09-281-7/+11
| | | | | | diagnostics. llvm-svn: 140711
* Fix a typo spotted by Jonathan Sauer.Chandler Carruth2011-09-281-1/+1
| | | | llvm-svn: 140708
* Attempt to silence the GCC -Wreturn-type warning...Chandler Carruth2011-09-281-0/+1
| | | | llvm-svn: 140693
* Generate tests for all of the x86 SIMD instruction feature setChandler Carruth2011-09-281-4/+6
| | | | | | | | | | | | | | predefines based on the output of GCC as well as the CPU predefines. Invert tests for __AVX__, Clang's AVX feature is hard coded off still. Switch Atom from 'SSE3' to 'SSSE3'. This matches GCC's behavior, Intel's documentation, and ICC's documentation (such as I could dig up). Switch Athlon and Geode to enable 3dnowa rather than just 3dnow and nothing (resp.). llvm-svn: 140692
* Fix a think-o on my part that got enshrined in a FIXME by setting up theChandler Carruth2011-09-281-1/+3
| | | | | | __tune_...__ define as well. llvm-svn: 140690
* Move some of the defines down to more natural locations, consolidatingChandler Carruth2011-09-281-10/+10
| | | | | | the target identifying macros at the top, including subtarget macros. llvm-svn: 140689
* Teach Clang to reject 32-bit only CPUs when compiling in 64-bit mode.Chandler Carruth2011-09-281-2/+59
| | | | | | Add 64-bit preprocessor macro tests. llvm-svn: 140688
* Simplify the control flow for predefined macro selection by usingChandler Carruth2011-09-281-27/+26
| | | | | | | | | fallthrough now that we're working with a switch. Also remove a dubious "feature" regarding k6 processors and 3dnow and leave a fixme... Not that anyone is likely to care about correct tuning for k6 processors with and w/o 3dnow... llvm-svn: 140687
* Switch the X86TargetInfo object from a string representation of theChandler Carruth2011-09-281-57/+179
| | | | | | | | | | | | | | | | | | selected CPU model to the enumeration. This parses the string representation once using a StringSwitch on SetCPU. It returns an error for strings which are not recognized (yay!). Finally it replaces ridiculous if-chains with switches that cover all enumerators. The last change required adding several missing entries to the features function. These were obvious on inspection. Yay for a pattern that gives warnings when we miss one. No new test cases yet, as I want to get the 64-bit errors working first. I'll then start fleshing out the testing more. Currently I'm primarily testing on Linux, but I'm hoping check whether there are interesting differences on darwin before long... llvm-svn: 140685
* Introduce an enumeration for the x86 CPUs recognized by Clang. I'veChandler Carruth2011-09-281-0/+124
| | | | | | | tried to give these nice doxyments, but if I've gotten any of my history wrong, please chime in. llvm-svn: 140684
OpenPOWER on IntegriCloud