aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-09-30Some fixes for MS-style asm parsing: specifically, add some error checking, ↵Eli Friedman
and handle asm comments using semicolons correctly. (The comments are actually surprisingly tricky.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140837 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-30constexpr functions are implicitly const. More tests to follow.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140831 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-30Fix typo.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140829 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-30Suggest adding 'constexpr' if the GNU extension for in-class initializers ↵Richard Smith
for static const float members is used in C++11 mode. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140828 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Mark the ExtWarn for in-class initialization of static const float members ↵Richard Smith
as a GNU extension. Don't extend the scope of this extension to all literal types in C++0x mode. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140820 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Minor refactoring. Enumerators may inherit the deprecated/unavailable Fariborz Jahanian
attributes from the enumeration type. // rdar://10201690 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140818 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29PR11040: CheckICE should not allow an lvalue bitcast as part of an integer ↵Eli Friedman
constant expression. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140812 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29In C++0x, static const volatile data members cannot be initialized in-class.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140809 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29PR11000: Fix crash on invalid.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140802 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29constexpr: semantic checking for constexpr variables.Richard Smith
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). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140801 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29c - Enumerators may inherit the deprecated/unavailable Fariborz Jahanian
attributes from the enumeration type. // rdar://10201690 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140800 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Add more comments to several checker callback functions.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140797 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Add support for alignment-specifiers in C1X and C++11, removePeter Collingbourne
support for the C++0x draft [[align]] attribute and add the C1X standard header file stdalign.h git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140796 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Add a warning group for warnings about using C1X features as extensionsPeter Collingbourne
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140795 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Add support for parsing an attribute-specifier-seq containing multiplePeter Collingbourne
attribute-specifiers git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140794 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Add support for parsing the optional attribute-specifier-seq at thePeter Collingbourne
end of a decl-specifier-seq git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140793 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Driver: use correct search paths for multilibPeter Collingbourne
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140782 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Add an ns_bridged attribute, used to specify that a John McCall
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140779 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Like IBOutletCollection, it only makes sense to apply the IBOutlet ↵Ted Kremenek
annotation to Objective-C object types. Fixes <rdar://problem/10142685>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140778 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Do not warn about empty format strings when there are no data arguments. ↵Ted Kremenek
Fixes <rdar://problem/9473155>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140777 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Unnecessary elseDavid Blaikie
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140775 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Basic/Diagnostic: Kill off a few unnecessary functions now that refactoring ↵Daniel Dunbar
is done, and add a note that the new setDiagnosticGroup{...} methods only operate on the current diagnostic state. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140771 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Basic/Diagnostics: Rewrite DiagnosticIDs::getDiagnosticLevel completely to ↵Daniel Dunbar
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140770 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Basic/Diagnostics: Add three explicit bits to DiagnosticMappingInfo to track ↵Daniel Dunbar
"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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140768 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Basic/Diagnostics: Add a DiagnosticIDs::getDiagnosticsInGroup method, and useDaniel Dunbar
that in DiagnosticEngine instead of the convoluted calling into DiagnosticIDs which then calls back into the DiagnosticsEngine. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140766 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Basic/Diagnostic: Add a DiagSate::getOrAddMappingInfo method.Daniel Dunbar
- Also, spell const_iterator as const_iterator. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140765 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29tests: Add some more tests for warning mappings.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140764 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Basic/Diagnostics: Move setDiagnosticMapping() to using DiagnosticMappingInfoDaniel Dunbar
and eliminate setDiagnosticMappingInternal. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140763 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Basic/Diagnostics: Add a DiagnosticMappingInfo helper class, and switch toDaniel Dunbar
storing mappings with that instead of straying some magic constants about the source. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140760 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Basic/Diagnostics: Eliminate getDiagnosticMappingInfo method, which wasn't ↵Daniel Dunbar
worth methodizing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140759 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Basic/Diagnostic: Eliminate the extra "mapping" out-parameter now that I ↵Daniel Dunbar
killed the sole client. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140756 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Basic/Diagnostics: Add an isDefaultMappingAsError method, and switch ↵Daniel Dunbar
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140752 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Fix 80-col viola.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140749 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Attempt to fix unit testsDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140748 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Basic/Diagnostic: Factor outDaniel Dunbar
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140747 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Introduce an opt-in warning when a module is being implicitly builtDouglas Gregor
from sources. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140746 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Introduce a pure virtual clone() method to DiagnosticConsumer, so thatDouglas Gregor
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140743 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Basic/Diagnostics: Split out the default warning "no-Werror" andDaniel Dunbar
"show-in-system-header" bits, which is part of teasing them apart from the diagnostic mapping kind. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140742 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Change "Regions" to be "LexicalBlocks" since that's what theyEric Christopher
correspond to. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140740 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Rename EmitStopPoint in CGDebugInfo to EmitLocation. "stop points" don'tEric Christopher
exist anymore. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140739 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Reorder functions in the file.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140738 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Call UpdateLineDirectiveRegion every time we want to emit a stopEric Christopher
point in the code. Ensures that we don't miss any places and the check is reasonably cheap. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140737 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Update comment.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140736 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-28[driver] Add basic support for escaping XML characters in CC_LOG_DIAGNOSTICSChad Rosier
strings. rdar://9696709 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140732 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-28objc arc: Diagnose block pointer type mismatch whenFariborz Jahanian
some arguments types are ns_consumed and some otherwise matching types are not. This is objc side of // rdar://10187884 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140729 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-28Check for empty predecessors for walking them.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140725 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-28objc++ arc: Diagnose block pointer type mismatch whenFariborz Jahanian
some arguments types are ns_consumed and some otherwise matching types are not. This fixes the objc++ side only *auch*. // rdar://10187884 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140717 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-28Fix typo. string-convervion -> string-conversionRichard Trieu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140716 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-28Tweak -Wobjc-missing-super-calls to not warning about missing [super ↵Ted Kremenek
dealloc] when in GC-only mode, and to not warning about missing [super finalize] when not using GC. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140713 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-28For __weak/__strong/etc. ownership attributes, don't macro expand them in ↵Argyrios Kyrtzidis
diagnostics. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140711 91177308-0d34-0410-b5e6-96231b3b80d8