aboutsummaryrefslogtreecommitdiff
path: root/include/clang/Basic
AgeCommit message (Collapse)Author
2009-04-08Set __PIC__ (more) correctly.Daniel Dunbar
- Add -pic-level clang-cc option to specify the value for the define, updated driver to pass this. - Added __pic__ - Added OBJC_ZEROCOST_EXCEPTIONS define while I was here (to match gcc). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68584 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-07Diagnose uses of function specifiers on declarations which don't declareEli Friedman
functions. Fixes PR3941. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68541 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-07Driver: Explicitly warn that -pg isn't supported (even though weDaniel Dunbar
aren't failing the compilation). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68540 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-06Warn instead of error on duplicate protocol definitions.Fariborz Jahanian
Be kind to so many projects which are doing this (and be like gcc). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68474 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-06Make casting 'super' a deprecated warning (instead of a hard error).Steve Naroff
This will simplify clang adoption, and is probably better "etiquette" (since gcc has always accepted this idiom without warning). Once we are over the adoption hurdle, we can turn this into an error. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68468 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-06Define __OPTIMIZE__ and __OPTIMIZE_SIZE__ if the -O[12] and -Os flags are ↵Anders Carlsson
passed to the compiler. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68450 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-06Daniel convinced me that accepting "const va_list" arguments to va_arg isChris Lattner
a really really bad idea. Now that we emit an error about the unpromoted type, users should be able to understand what is going on. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68447 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-05Add a warning for questionable va_args usage.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68435 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-03Provide sema proper values of maximal number of arguments passed in registers.Anton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68413 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-03improve the string literal comparison warning to not call @encode's "string ↵Chris Lattner
literals". git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68407 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-03initialize an ivar.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68387 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-03Do we have fixit advice for comments yet?Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68372 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-03Fix comment.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68370 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-03Implement -fvisibility.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68369 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-03Add target hook for setting symbol prefix and section of unicodeDaniel Dunbar
string literals. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68363 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-02Remove -ftrapu.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68330 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-02Provide FIX-IT notes to describe what fix-it is doing behind theDouglas Gregor
scenes, using the underlying diagnostic client to format the messages. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68324 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-02When calling a function without a prototype for which we have aDouglas Gregor
definition, warn if there are too many/too few function call arguments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68318 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-02Fixup -ftrapv to be more gcc compatible. -ftrapu (for want of aMike Stump
better name) is the option that SmallTalk can use to intercept all overflows, including unsigned. I added some testcases so we don't break anything. Also included is another patch from David for += and friends. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68267 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-01Add some more code modification hintsDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68261 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-01Add code modification hints to various parsing-related diagnostics.Douglas Gregor
Plus, reword a extension warnings to avoid talking about "ISO C" when the extension might also be available in C++ or C++0x. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68257 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-01CodeGenModule::GetAddrOfConstantCFString():Steve Naroff
- Finish up support for converting UTF8->UTF16 to support ObjC @"string" constants. Remove warning from CheckObjCString. As the FIXME in the test case indicates, I still have a bug to work out (apparently with \u handling). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68245 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-01Add -ftrapv support, patch from David Chisnall; well all except theMike Stump
clang option code that is and two bug fixes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68240 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-01Revert r68221, -ftrapv support, which causes several regressions inDouglas Gregor
Clang's test suite. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68230 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-01Add -ftrapv support, patch from David Chisnall; well all except theMike Stump
clang option code that is. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68221 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-01Add ConvertUTF module from http://www.unicode.org/Public/PROGRAMS/CVTUTF.Steve Naroff
#ifdef'd out the 5 conversion routines that we don't currently need. Still need a bit more work in GetAddrOfConstantCFString(). Added a FIXME to indicate this. Expect to remove the FIXME today... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68208 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-01Follow gcc's example and warn by default on unknown escapes. Inspired Eli Friedman
by mailing list message about "\phello" style strings. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68180 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-01Flip diagnostic from Warning to ExtWarn so that it's an error Eli Friedman
with -pedantic-errors. This fixes the C99 part of PR3919. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68178 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-01Parsing, semantic analysis, and template instantiation for typenameDouglas Gregor
specifiers that terminate in a simple-template-id, e.g., typename MetaFun::template apply<T1, T2> Also, implement template instantiation for dependent nested-name-specifiers that involve unresolved identifiers, e.g., typename T::type::type git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68166 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-31Add Target hooks for IRgen of [cf]string literals.Daniel Dunbar
- Notably, set section on cfstring literal string data (for now, this is done everywhere because it matches what we were already doing for the CFString data itself) - <rdar://problem/6599098> [irgen] linker requires objc string data to go into cstring git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68160 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-31Implement template instantiation for template names, including bothDouglas Gregor
template template parameters and dependent template names. For example, the oft-mentioned typename MetaFun::template apply<T1, T2>::type can now be instantiated, with the appropriate name lookup for "apply". git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68128 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-31Implement -Wmissing-prototypes. Fixes PR3911.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68110 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-31Codegen sometimes crashes on comparisons that aren't legal, justChris Lattner
disable this feature for now, to err on the side of rejecting instead of sometimes crashing. rdar://6326239 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68088 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-31Parsing and AST representation for dependent template names that occurDouglas Gregor
within nested-name-specifiers, e.g., for the "apply" in typename MetaFun::template apply<T1, T2>::type At present, we can't instantiate these nested-name-specifiers, so our testing is sketchy. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68081 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-30Implement UCN support for C string literals (C99 6.4.3) and add some very ↵Steve Naroff
basic tests. Chris Goller has graciously offered to write some test to help validate UCN support. From a front-end perspective, I believe this code should work for ObjC @-strings. At the moment, I believe we need to tweak the code generation for @-strings (which doesn't appear to handle them). Will be investigating. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68076 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-29Fix typo in diagnostic.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68017 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-29hoist checks for ; and in out of ParseInitDeclaratorListAfterFirstDeclaratorChris Lattner
into ParseSimpleDeclaration, and improve a diagnostic. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68009 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-28Add comparison operators for SourceRange.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67946 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-28move StatListener out to top level.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67886 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-28Make our diagnostics about the obsolete GNU designated-initializerDouglas Gregor
syntax into extension warnings, and provide code-modification hints showing how to fix the problem. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67885 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-27Initial implementation of parsing, semantic analysis, and templateDouglas Gregor
instantiation for C++ typename-specifiers such as typename T::type The parsing of typename-specifiers is relatively easy thanks to annotation tokens. When we see the "typename", we parse the typename-specifier and produce a typename annotation token. There are only a few places where we need to handle this. We currently parse the typename-specifier form that terminates in an identifier, but not the simple-template-id form, e.g., typename T::template apply<U, V> Parsing of nested-name-specifiers has a similar problem, since at this point we don't have any representation of a class template specialization whose template-name is unknown. Semantic analysis is only partially complete, with some support for template instantiation that works for simple examples. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67875 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-27Finish off semantic analysis for regparm, and remove the warning. Also Eli Friedman
remove a redundant error in CodeGen. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67868 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-27Implement checking for base class access. Right now it's overly conservative ↵Anders Carlsson
but that will change. (Also, protected isn't implemented right now). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67827 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-27If the user is trying to apply the -> or . member reference operatorDouglas Gregor
to a function or function pointer, it's probably because the user forgot to put in parentheses () to call the function. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67826 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-27Fix rdar://6719156 - clang should emit a better error when blocks are ↵Chris Lattner
disabled but are used anyway by changing blocks from being disabled in the parser to being disabled in Sema. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67816 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-26I said _fix_ the build, don't break it.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67797 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-26Fix build.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67796 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-26AddAnders Carlsson
const DiagnosticBuilder &operator<<(const DiagnosticBuilder &DB, AccessSpecifier AS); so we can easily add access specifiers to diagnostics. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67795 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-26Driver: Add darwin::Link tool.Daniel Dunbar
- <rdar://problem/6717381> [driver] implement ld argument translation in new driver git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67760 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-26Check that the access specifier of a member redeclaration is the same as the ↵Anders Carlsson
original declaration. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67722 91177308-0d34-0410-b5e6-96231b3b80d8