Commit Graph

17151 Commits

Author SHA1 Message Date
Zhongxing Xu 5f5c954329 fix 80-col.
llvm-svn: 85642
2009-10-31 03:36:08 +00:00
Douglas Gregor 326b2fa03e Fix a crazy canonical-types bug because canonicalizing a
dependently-sized array type with a given expression might end up
returning a non-canonical type; see through that non-canonical type to
the underlying canonical type. Yes, I have a test case; no, I can't
reduce it to the point where it's worth checking in :(

llvm-svn: 85633
2009-10-30 22:56:57 +00:00
Douglas Gregor 62b885d43c When looking for a copy-assignment operator to determine the cv-qualifiers on its argument type, ignore assignment operator templates
llvm-svn: 85629
2009-10-30 22:48:49 +00:00
Douglas Gregor bb3b46eb74 When a friend is declared in a dependent context, don't even try to
match it up with a declaration in the outer scope.

llvm-svn: 85628
2009-10-30 22:42:42 +00:00
Douglas Gregor 1d0015f8e1 Improved fix for PR3844, which recovers better for class template
partial specializations and explicit instantiations of non-templates.

llvm-svn: 85620
2009-10-30 22:09:44 +00:00
Ted Kremenek 5c2040b182 Tighten computation of ExprVal using ?: expression. No functionality change.
llvm-svn: 85618
2009-10-30 22:01:29 +00:00
Douglas Gregor 916462b2f7 Improve diagnostics when parsing something like
template<> struct foo<int> { ... };

where "foo" does not refer to a template. Fixes PR3844.

llvm-svn: 85616
2009-10-30 21:46:58 +00:00
Douglas Gregor 412e8bc56d Instantiate class template friends better; fixes PR5332.
llvm-svn: 85612
2009-10-30 21:07:27 +00:00
Daniel Dunbar f3355a61c4 Remove clang-cc code for handling -mmacosx-version-min and
-miphoneos-version-min.

llvm-svn: 85601
2009-10-30 18:12:31 +00:00
Daniel Dunbar 624c21b029 Change the driver to do the Darwin triple mangling itself instead of forwarding
-mmacosx-version-min and -miphoneos-version-min to clang-cc.

llvm-svn: 85600
2009-10-30 18:12:20 +00:00
John McCall edf97c4b02 Finally suppress a compiler warning from gcc on release-asserts. Also fixes
a crash on <vector> in same, which bears additional investigation.

llvm-svn: 85598
2009-10-30 17:53:18 +00:00
Ted Kremenek 6f2a705a24 Make checkers run in deterministic order.
llvm-svn: 85597
2009-10-30 17:47:32 +00:00
Ted Kremenek 89f5c189db Move NullDerefChecker.h instead a 'Checkers' subdirectory.
llvm-svn: 85596
2009-10-30 17:28:40 +00:00
Ted Kremenek f613e89617 Move all logic for the null dereference checker from GRExprEngineInternalChecks.cpp to a separate .cpp file.
llvm-svn: 85595
2009-10-30 17:24:47 +00:00
Douglas Gregor f329c7c3c0 Include macros in code-completion results
llvm-svn: 85594
2009-10-30 16:50:04 +00:00
Benjamin Kramer 53ba5f21ff Doug says this is medium done.
llvm-svn: 85592
2009-10-30 14:54:38 +00:00
Benjamin Kramer c1dea5dded cxx_status: fix some missing/wrong cells.
llvm-svn: 85591
2009-10-30 14:41:58 +00:00
John Thompson b535352681 Re-arranged some internal functions for coming __has_include changes.
llvm-svn: 85589
2009-10-30 13:49:06 +00:00
Benjamin Kramer 305f9f8fed Add C++ include paths for Exherbo. Patch by Daniel Mierswa!
llvm-svn: 85588
2009-10-30 12:57:13 +00:00
Zhongxing Xu b9eda67380 Fix PR5316: make assignment expressions can be visited as lvalue. Then we
can get the correct base lvalue.
Revert r85578.

llvm-svn: 85579
2009-10-30 07:19:39 +00:00
Ted Kremenek e96a30a531 Handle loading of field values from LazyCompoundVals in GRExprEngine::VisitMemberExpr().
This fixes the crash reported in PR 5316.

llvm-svn: 85578
2009-10-30 05:48:30 +00:00
Chris Lattner 252d36e74c warn about returning the address of a label.
llvm-svn: 85576
2009-10-30 04:01:58 +00:00
Anders Carlsson 32e1b1c169 Get throws limping along, still a bunch of FIXMEs. Too bad we don't support catching anything yet :)
llvm-svn: 85574
2009-10-30 02:27:02 +00:00
Anders Carlsson 958c9f8524 Fix thinko, mangleCXXRtti should obviously take a QualType!
llvm-svn: 85565
2009-10-30 01:52:02 +00:00
Anders Carlsson 4b08db7a62 Add CGException.cpp, to be used for exception related code generation.
llvm-svn: 85560
2009-10-30 01:42:31 +00:00
Anders Carlsson 430046321b mangleCXXRtti obviously needs to take a type, what was I thinking...
llvm-svn: 85555
2009-10-30 01:26:12 +00:00
Fariborz Jahanian 6c5a8e2555 This patch computes composite type of two objective-c expressions
used in a conditional expression by finding the most-derived common
super class of the two and qualifies the resulting type by the
intersection of the protocl qualifier list of the two objective-c
pointer types. ( this is continuation of radar 7334235).

llvm-svn: 85554
2009-10-30 01:13:23 +00:00
Anders Carlsson 3f0db2beb1 Add a CK_DerivedToBaseMemberPointer cast kind and use it in Sema (Still no codegen).
llvm-svn: 85552
2009-10-30 00:46:35 +00:00
John McCall 41b215eef6 Include pointee type information in the diagnostic for creating bad pointers or
arrays.

llvm-svn: 85550
2009-10-30 00:37:20 +00:00
John McCall 70dd5f6574 Report accurate source-location information when rebuilding types during
template instantiation.

llvm-svn: 85545
2009-10-30 00:06:24 +00:00
Mike Stump f3eb5ec2c0 Fix one more bug with __builtin_object_size.
llvm-svn: 85538
2009-10-29 23:34:20 +00:00
Mike Stump dc28a8b997 Add yet more testcases.
llvm-svn: 85535
2009-10-29 23:29:54 +00:00
Mike Stump eb5c92b399 Add some more testcases.
llvm-svn: 85534
2009-10-29 23:22:14 +00:00
John McCall 314681a338 Silence a gcc warning where it notices that default-constructing a class
doesn't initialize anything.

llvm-svn: 85533
2009-10-29 23:20:43 +00:00
Douglas Gregor e6fb91f2cb We may need to instantiate a class template specialization as part of a derived-to-base pointer case
llvm-svn: 85532
2009-10-29 23:08:22 +00:00
Douglas Gregor 07cc4ac606 Slightly improve source-location information during template instantiation
llvm-svn: 85529
2009-10-29 22:21:39 +00:00
Steve Naroff f406f4d99b - Add/tweak some comments.
- change ObjCCategoryImplDecl::getCategoryClass() to getCategoryDecl().

No functionality change.

llvm-svn: 85528
2009-10-29 21:11:04 +00:00
Daniel Dunbar 7ad807f248 Move some clang-cc errors to use diagnostics, and simplify.
llvm-svn: 85527
2009-10-29 21:05:18 +00:00
Mike Stump fa50290b49 Fix some issues Daniel pointed out.
llvm-svn: 85526
2009-10-29 20:48:09 +00:00
Sebastian Redl adba46edc2 Properly instantiate usage of overloaded operator []. Fixes PR5345.
llvm-svn: 85524
2009-10-29 20:17:01 +00:00
Steve Naroff a4aeed6958 clang_getDeclSpelling(): For category implementations, make sure we hand back the category name (not the class name). This fixes <rdar://problem/7297518>.
llvm-svn: 85521
2009-10-29 18:55:50 +00:00
John McCall 0d07eb32de A few TemplateArgumentLoc clean-ups. Try to remember the Expr for a declaration.
Provide an API for getting the SourceRange of a TAL and use it judiciously.

llvm-svn: 85520
2009-10-29 18:45:58 +00:00
Douglas Gregor ba91b89711 Yet more instantiation-location information. Fixes PR5336.
llvm-svn: 85516
2009-10-29 17:56:10 +00:00
Fariborz Jahanian c9076fecdf Patch for destruction of array of objects on block exit.
llvm-svn: 85512
2009-10-29 16:22:54 +00:00
Ted Kremenek a4bb75e486 Update checker build.
llvm-svn: 85511
2009-10-29 16:18:45 +00:00
Anders Carlsson 561f793890 Make sure to call CompleteConstructorCall for bases and members that are initialized implicitly in constructors so that default arguments etc are set correctly. Fixes PR5283.
llvm-svn: 85510
2009-10-29 15:46:07 +00:00
Douglas Gregor 2b09590321 Fix Release-Asserts build breakage
llvm-svn: 85509
2009-10-29 15:25:40 +00:00
Nuno Lopes 09bd8656c3 make clang emit undefs for padding of structs and unions instead of zeros. this enables constant compaction optimizations.
llvm-svn: 85504
2009-10-29 11:27:06 +00:00
John McCall 901668f306 Apparently when is now.
llvm-svn: 85501
2009-10-29 08:17:34 +00:00
John McCall 0ad166672f Track source information for template arguments and template specialization
types.  Preserve it through template instantiation.  Preserve it through PCH,
although TSTs themselves aren't serializable, so that's pretty much meaningless.

llvm-svn: 85500
2009-10-29 08:12:44 +00:00
John McCall 588d2d585d Extract TemplateArgument into a new header just for common template
classes.  Move its implementation into a new module.

This will seem marginally more justified in a bit.

llvm-svn: 85499
2009-10-29 07:48:15 +00:00
Zhongxing Xu aa4121d062 Add an assertion to ensure NullDerefChecker exists.
llvm-svn: 85497
2009-10-29 05:56:54 +00:00
Ted Kremenek 1dbdbcc04c Fix accidental use of CheckSVal instead of CheckLocation, and add a
small test case to show we handle dereferences of undefined values.

llvm-svn: 85492
2009-10-29 05:33:39 +00:00
Douglas Gregor 98261735b4 StringSwitch-ify attribute name mapping.
llvm-svn: 85491
2009-10-29 05:26:58 +00:00
Chris Lattner 08bb9ef7f7 make this interpretable.
llvm-svn: 85487
2009-10-29 05:25:27 +00:00
Ted Kremenek 1f0a56e4c9 Fix an insidious bug in RegionStore::RemoveDeadBindings() pointed out
by Zhongxing Xu.  RemoveDeadBindings() would falsely prune
SymbolicRegions from the store that wrapped derived symbols whose
liveness could only be determined after scanning the store.

llvm-svn: 85484
2009-10-29 05:14:17 +00:00
Chris Lattner e963d092d8 add two new and very exhaustive preprocessor tests, patch by
Ken Dyck!

llvm-svn: 85482
2009-10-29 04:55:36 +00:00
Chris Lattner d0952749f7 simplify intmax setup, patch by Ken Dyck!
llvm-svn: 85481
2009-10-29 04:54:24 +00:00
Daniel Dunbar 1a8a2e8e97 Remove some obsolete or unnecessary FIXMEs.
llvm-svn: 85475
2009-10-29 02:39:57 +00:00
Daniel Dunbar 945577ce93 PR5328: Allow duplicatic -pedantic (and -pedantic-errors) options.
- clang-cc doesn't care about their relative order with other -W options.

llvm-svn: 85473
2009-10-29 02:24:45 +00:00
Daniel Dunbar b0b18615e2 Kill off MakeFormattedString helper function.
llvm-svn: 85472
2009-10-29 02:24:37 +00:00
Zhongxing Xu 6b8bfb376b Move NullDeref and UndefDeref into their own checker.
Add a CheckLocation() interface to Checker.
Now ImplicitNullDeref nodes are cached in NullDerefChecker.
More cleanups follow.

llvm-svn: 85471
2009-10-29 02:09:30 +00:00
Daniel Dunbar 38b6279ce4 Reject -I- in driver instead of clang-cc.
llvm-svn: 85469
2009-10-29 01:53:44 +00:00
Daniel Dunbar 938eb27b25 Formatting fixes.
llvm-svn: 85468
2009-10-29 01:53:18 +00:00
Chris Lattner 29fb551a36 make this more interesting, test the static const array.
llvm-svn: 85464
2009-10-29 01:20:34 +00:00
Ted Kremenek 33335b1504 Add test case for <rdar://problem/7342806>.
llvm-svn: 85462
2009-10-29 00:49:46 +00:00
Douglas Gregor f7b87cb529 [llvm up]
Switch a few ugly switch-on-string-literal constructs to use the new
llvm::StringSwitch.

llvm-svn: 85461
2009-10-29 00:41:01 +00:00
Chris Lattner edc56ef41c optimize out some ifdefs.
llvm-svn: 85453
2009-10-29 00:22:00 +00:00
John Thompson e413e88f2e Fix some Window-isms to get these tests to pass on Windows.
llvm-svn: 85450
2009-10-29 00:10:42 +00:00
Douglas Gregor 21610380de Implement support for semantic checking and template instantiation of
class template partial specializations of member templates. Also,
fixes a silly little bug in the marking of "used" template parameters
in member templates. Fixes PR5236.

llvm-svn: 85447
2009-10-29 00:04:11 +00:00
Chris Lattner 6c4d255bf3 Implement clang support for indirect branch and address of label
using the new LLVM support for this.  This is temporarily hiding
behind horrible and ugly #ifdefs until the time when the optimizer
is stable (hopefully a week or so).  Until then, lets make it "opt in" :)

llvm-svn: 85446
2009-10-28 23:59:40 +00:00
Ted Kremenek 1c9401ec15 Unused ivars checker: also check methods in categories that are defined in the same translation unit. Fixes <rdar://problem/6260004>.
llvm-svn: 85442
2009-10-28 22:18:22 +00:00
Steve Naroff f0c8611d3f Fix <rdar://problem/7330784>. Avoid crashing on 'Class<p>' when generating meta-data for a class.
llvm-svn: 85440
2009-10-28 22:03:49 +00:00
Mike Stump 5179f308a2 Refine __builtin_object_size. Don't try and get a size for things
that don't have sizes.

llvm-svn: 85435
2009-10-28 21:22:24 +00:00
Fariborz Jahanian 29baa2b1ba Minor cleanup.
llvm-svn: 85434
2009-10-28 21:07:28 +00:00
Fariborz Jahanian f1639fffbc Code gen for array construction - WIP
llvm-svn: 85432
2009-10-28 20:55:41 +00:00
Steve Naroff 58bd62d190 Remove _clang_initCXLookupHint() and _clang_getCursorWithHint(). Related to <rdar://problem/7310688>.
Localize the optimization to ResolveLocationInAST(). The last valid AST location is now stored with ASTUnit. There still isn't optimal, however it's an improvement (with a much cleaner API). Having the client manage an "hint" is error prone and complex.

I wanted to land the major changes before finishing up the optimizations. 

llvm-svn: 85425
2009-10-28 20:44:47 +00:00
Mike Stump 476e2dfe19 Refactor a bit.
llvm-svn: 85424
2009-10-28 20:44:03 +00:00
Ted Kremenek faba9fe5e4 Pull ivar scanning logic into another utility function. This refactoring will enable scanning
categories as well (WIP). No functionality change yet.

llvm-svn: 85423
2009-10-28 20:37:47 +00:00
Chris Lattner a0c0d88ba8 factor a creation of Int32Ty.
llvm-svn: 85422
2009-10-28 20:36:47 +00:00
Fariborz Jahanian d264ee0cba Use array's base element type in getting to its
constructor. WIP.

llvm-svn: 85420
2009-10-28 19:04:36 +00:00
Fariborz Jahanian 57277c5cae Removed an unnecessary arguement passed to InitializeVarWithConstructor
which should come from the variable and wasn't correct for arrays in any case.
No change in functionality.

llvm-svn: 85415
2009-10-28 18:41:06 +00:00
Fariborz Jahanian 370606afee Restored note on pointer to members with a pointer
to issue involved.

llvm-svn: 85409
2009-10-28 18:06:53 +00:00
Chris Lattner ab5e0af8bc random tidying
llvm-svn: 85408
2009-10-28 17:39:19 +00:00
Fariborz Jahanian 7e4e44f5fa Removed a Note related to pointer to member functions which
does not seem to exist any longer.

llvm-svn: 85405
2009-10-28 17:25:01 +00:00
Fariborz Jahanian 42f666342c Diagnose use of data pointer member in a function call
expression instead of crashing.

llvm-svn: 85401
2009-10-28 16:49:46 +00:00
Douglas Gregor 05925031f7 Mangle based on the declaration we're given, not the canonical
declaration, since attributes that affect mangling may have been added
to subsequent declarations. However, to determine the linkage of the
declaration, we need to look at the canonical declaration. Fixes PR4412.

llvm-svn: 85400
2009-10-28 16:31:34 +00:00
Edward O'Callaghan 5c5214626c Fix for PR4887, Credit to Jonathan Gray.
llvm-svn: 85392
2009-10-28 15:13:08 +00:00
Zhongxing Xu cb131542f1 make CallGraph more flexible by letting it accept ASTContext instead of ASTUnit.
Patch by Simone Pellegrini.

llvm-svn: 85386
2009-10-28 12:23:03 +00:00
Chris Lattner 5e71d43155 adjust for a pending LLVM change.
llvm-svn: 85373
2009-10-28 05:12:07 +00:00
Mike Stump 82d25e4e5e Add mangling for VTTs.
llvm-svn: 85363
2009-10-28 01:51:46 +00:00
Mike Stump 375faa8dd7 Finish off pure virtual function handling.
llvm-svn: 85354
2009-10-28 00:35:46 +00:00
Douglas Gregor 3da3c06578 Slightly improve source location information during template instantiation
llvm-svn: 85353
2009-10-28 00:29:27 +00:00
Douglas Gregor 19f3d70149 Test
explicit-instantiation-declaration-after-explicit-instantiation-definition
errors. This wraps up explicit template instantiation for now.

llvm-svn: 85347
2009-10-27 23:55:05 +00:00
Mike Stump bb9ff05778 Prep work for putting ___cxa_pure_virtual in the vtables for pure functions.
llvm-svn: 85345
2009-10-27 23:46:47 +00:00
Mike Stump 18e8b477e8 Refactor code a little.
llvm-svn: 85343
2009-10-27 23:36:26 +00:00
Douglas Gregor b7e5c847c4 Implement proper linkage for explicit instantiation declarations of
inlined functions. For example, given

  template<typename T>
  class string {
    unsigned Len;

  public:
    unsigned size() const { return Len; }
  };

  extern template class string<char>;

we now give the instantiation of string<char>::size
available_externally linkage (if it is ever instantiated!), as
permitted by the C++0x standard.
      

llvm-svn: 85340
2009-10-27 23:26:40 +00:00
Fariborz Jahanian ef8b8ce207 Type of a conditional expression with two distinct objective-c
class pointer is the most derived common class of the two.
This is <rdar://problem/7334235>.

llvm-svn: 85337
2009-10-27 23:02:38 +00:00
Mike Stump 876387ba4f __builtin_object_size refinements. Ensure we handle expressions with
side-effects up front, as when we switch to the llvm intrinsic call
for __builtin_object_size later, it will have two evaluations.

We also finish off the intrinsic version of the code so we can just
turn it on once llvm has the intrinsic.

llvm-svn: 85324
2009-10-27 22:09:17 +00:00
Oscar Fuentes 843c828ed5 CMake: Respect LLVM_LIBDIR_SUFFIX for clang-specific headers under
${libdir}/clang

Patch by Ingmar Vanhassel!

llvm-svn: 85308
2009-10-27 21:15:21 +00:00
Douglas Gregor 583dcafce4 Introduce FunctionDecl::isInlined() to tell whether a function should
be inlined.

llvm-svn: 85307
2009-10-27 21:11:48 +00:00
Douglas Gregor 35b5753e17 Rename FunctionDecl::isInline/setInline to
FunctionDecl::isInlineSpecified/setInlineSpecified.

llvm-svn: 85305
2009-10-27 21:01:01 +00:00
Douglas Gregor afca3b4a5c Explicit instantiation suppresses the instantiation of non-inline
function template specializations and member functions of class
template specializations.

llvm-svn: 85300
2009-10-27 20:53:28 +00:00
Oscar Fuentes e814afd7b0 Rather than excluding quite some things, and still installing
CMakeLists.txt, Makefiles, ... it's better to whitelist what we really
want to install.

Patch by Ingmar Vanhassel!

llvm-svn: 85283
2009-10-27 19:59:34 +00:00
Daniel Dunbar c369d73405 Set OptimizeForSize LLVM function attribute with -Os.
llvm-svn: 85278
2009-10-27 19:48:08 +00:00
Daniel Dunbar 59ca7f1a1e Convert test to FileCheck.
llvm-svn: 85277
2009-10-27 19:48:00 +00:00
Oscar Fuentes e6fc25321f CMake: Append LLVM_LIBDIR_SUFFIX to library destination.
Based on a patch by Ingmar Vanhassel.

llvm-svn: 85276
2009-10-27 19:42:21 +00:00
Daniel Dunbar c14753b781 Fix crash when synthesizing property setters when the property type and ivar
type have mismatched Objective-C types.
  - <rdar://problem/7336352> [irgen] crash in synthesized property construction

llvm-svn: 85275
2009-10-27 19:21:30 +00:00
Douglas Gregor 1d957a336f An explicit instantiation definition only instantiations those class
members that have a definition. Also, use
CheckSpecializationInstantiationRedecl as part of this instantiation
to make sure that we diagnose the various kinds of problems that can
occur with explicit instantiations.

llvm-svn: 85270
2009-10-27 18:42:08 +00:00
Fariborz Jahanian 115654873d Generate constructor for value-initialization cases, even if the
implementation technique doesn't call the constructor at that point.
DR302. Fixes pr5296.

llvm-svn: 85249
2009-10-27 16:51:19 +00:00
Douglas Gregor 04a0a6c461 Test for interaction between explicit instantiations and specializations
llvm-svn: 85244
2009-10-27 15:36:37 +00:00
Douglas Gregor 969c2a238c Test various aspects of explicit instantiation that were already implemented.
llvm-svn: 85243
2009-10-27 15:00:12 +00:00
John Thompson 995c845e5c Disabling some MS extensions which cause this test to fail
llvm-svn: 85242
2009-10-27 14:58:27 +00:00
Rafael Espindola 177f1d979d Split AddDefaultSystemIncludePaths into C, C++ and framework specific functions.
The user visible changes are:

*) Frameworks are only searched on OS X
*) The Cygwin c++ headers are now marked as c++ aware. I am almost
sure that not marking them was a bug.

llvm-svn: 85240
2009-10-27 14:47:31 +00:00
Steve Naroff 6231f18793 Add support for 'CXFile' (<rdar://problem/7303360>).
- 4 new functions (clang_getCursorSourceFile, clang_getDeclSourceFile, clang_getFileName, clang_getFileTime).

- Should remove clang_getDeclSource() and clang_getCursorSource(). For now, just put 'deprecate' comment in header. 

- Also changed CXX style comment to C style (to eliminate warning).

llvm-svn: 85238
2009-10-27 14:35:18 +00:00
Anders Carlsson 29295bff61 Add a PrettyStackTraceDecl in CodeGenModule::EmitGlobalDefinition.
llvm-svn: 85237
2009-10-27 14:32:27 +00:00
John Thompson ec87bb5c46 Disabling some MS extensions which cause these tests to fail
llvm-svn: 85236
2009-10-27 14:31:53 +00:00
John Thompson de258b5ab9 Changes for building as a Windows DLL
llvm-svn: 85234
2009-10-27 13:42:56 +00:00
Benjamin Kramer 59b7cf6a6d Make test independent of darwin system headers.
llvm-svn: 85232
2009-10-27 12:19:13 +00:00
Sebastian Redl 4461507151 Implement Chris's suggestions for the precendence warnings. Reformat the code a bit. Test the fixits.
llvm-svn: 85231
2009-10-27 12:10:02 +00:00
Nuno Lopes 0e86b8675f fix tests
llvm-svn: 85223
2009-10-27 10:09:29 +00:00
Douglas Gregor ef6ab417c1 Only set the point of instantiation for an implicit or explicit
instantiation once we have committed to performing the
instantiation. As part of this, make our makeshift
template-instantiation location information suck slightly less.

Fixes PR5264.

llvm-svn: 85209
2009-10-27 06:26:26 +00:00
Edward O'Callaghan 6d9350b73b Typo in revision 85201.
llvm-svn: 85202
2009-10-27 03:59:44 +00:00
Edward O'Callaghan 7cd5c818da Convert Preprocessor Clang tests to FileCheck in regards to PR5307.
llvm-svn: 85201
2009-10-27 03:47:36 +00:00
Edward O'Callaghan 576a03fed2 Fix a broken test in rev. 85199.
llvm-svn: 85200
2009-10-27 03:14:56 +00:00
Edward O'Callaghan f78edf52de Convert Preprocessor Clang tests to FileCheck in regards to PR5307.
llvm-svn: 85199
2009-10-27 02:36:32 +00:00
Mike Stump 989dc73c48 Almost missed this one... Doc update for last change.
llvm-svn: 85196
2009-10-27 02:07:23 +00:00
Mike Stump ab8b2e08c3 Refine noreturn handling. Fixes -Wmissing-noreturn so that it doesn't
complain that functions that have a return statement should be
declared noreturn.  Fixed PR5286.

llvm-svn: 85195
2009-10-27 01:59:05 +00:00
Edward O'Callaghan 60c143eff0 Preprocessor tests are whitespace sensitive, as per Revision: 85170 review.
llvm-svn: 85194
2009-10-27 01:45:51 +00:00
Ted Kremenek f3afe1e900 Use a pred_iterator instead of a succ_iterator (wrong typedef).
llvm-svn: 85193
2009-10-27 01:07:53 +00:00
Ted Kremenek 64fd20d243 Add test cases for <rdar://problem/7332673>.
llvm-svn: 85191
2009-10-27 01:05:20 +00:00
Rafael Espindola bb85c2644a Document -nobuiltininc
llvm-svn: 85188
2009-10-27 00:29:40 +00:00
Mike Stump 7a484dd6a9 Prep for future __builtin_object_size refinements. The theory is that
someone will add an llvm intrinsic for us to use, so the optimizer can
figure out the hard cases.  WIP.

For those that want to help, double check with Eric before starting.
He has a bit of code this will plug into.

llvm-svn: 85175
2009-10-26 23:39:48 +00:00
Mike Stump 5183a14bfb __builtin_object_size refinements. Also handle stack based objects. WIP.
llvm-svn: 85174
2009-10-26 23:05:19 +00:00
Edward O'Callaghan 0e2f7930fb Convert a few tests to FileCheck for PR5307.
llvm-svn: 85170
2009-10-26 22:51:02 +00:00
Ted Kremenek 12e678d550 Unify Unix and Windows code paths when executing 'clang'.
llvm-svn: 85163
2009-10-26 22:14:08 +00:00
Ted Kremenek bf0690c99f Remove unnecessary calls to 'flush()'.
llvm-svn: 85162
2009-10-26 22:08:39 +00:00
Fariborz Jahanian 038374f887 Add Code gen support for '->*' operator which fell
through the crack.

llvm-svn: 85160
2009-10-26 21:58:25 +00:00
Mike Stump 10bd7e1c5b __builtin_object_size refinements. When we run out of object, be sure
to clamp at 0 bytes left.  WIP.

llvm-svn: 85157
2009-10-26 21:38:39 +00:00
Edward O'Callaghan 72af806797 Convert a few tests to FileCheck for PR5307.
llvm-svn: 85154
2009-10-26 20:49:20 +00:00
Fariborz Jahanian 59f64202d6 Add 'fixit' hint on mis-use of pointer-to-member
binary operators.

llvm-svn: 85153
2009-10-26 20:45:27 +00:00
Steve Naroff a4a347f0b9 Add some missing header files to the Xcode project.
llvm-svn: 85152
2009-10-26 20:36:31 +00:00
Mike Stump 99f11f769e Be sure to zero-extend. And refactor.
llvm-svn: 85140
2009-10-26 18:57:47 +00:00
Mike Stump 722cedfb0d __builtin_object_size refinements. WIP.
llvm-svn: 85136
2009-10-26 18:35:08 +00:00
Sebastian Redl c6a9254f01 Convert some driver checks to FileCheck.
llvm-svn: 85133
2009-10-26 18:07:30 +00:00
Daniel Dunbar 431895f748 clang-cc: Allow building for x86_64 with -mmacosx-version-min=10.4.
llvm-svn: 85132
2009-10-26 17:52:49 +00:00
Chandler Carruth 6e0df53865 Switch vtable to linkeonce_odr. Patch by nlewycky.
llvm-svn: 85131
2009-10-26 17:14:14 +00:00
Sebastian Redl 4afb7c58a4 Add fixit hint to bitwise precedence warning.
llvm-svn: 85129
2009-10-26 17:01:32 +00:00
Douglas Gregor e0105ad38b assert -> llvm_unreachable
llvm-svn: 85125
2009-10-26 16:27:58 +00:00
Sebastian Redl 4302824fe2 Implement a warning for mixing bitwise logical with comparison ops. Fixes PR5297.
llvm-svn: 85117
2009-10-26 15:24:15 +00:00