History log of /external/clang/include/clang/Basic/TargetInfo.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
ef8225444452a1486bd721f3285301fe84643b00 21-Jul-2014 Stephen Hines <srhines@google.com> Update Clang for rebase to r212749.

This also fixes a small issue with arm_neon.h not being generated always.

Includes a cherry-pick of:
r213450 - fixes mac-specific header issue
r213126 - removes a default -Bsymbolic on Android

Change-Id: I2a790a0f5d3b2aab11de596fc3a74e7cbc99081d
/external/clang/include/clang/Basic/TargetInfo.h
6bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89 29-May-2014 Stephen Hines <srhines@google.com> Update Clang for 3.5 rebase (r209713).

Change-Id: I8c9133b0f8f776dc915f270b60f94962e771bc83
/external/clang/include/clang/Basic/TargetInfo.h
651f13cea278ec967336033dd032faef0e9fc2ec 24-Apr-2014 Stephen Hines <srhines@google.com> Updated to Clang 3.5a.

Change-Id: I8127eb568f674c2e72635b639a3295381fe8af82
/external/clang/include/clang/Basic/TargetInfo.h
3d11cedeb5ed610dbfb0da733d65d8e95ed217da 16-Oct-2013 Eric Christopher <echristo@gmail.com> Rename HandleTargetFeatures->handleTargetFeatures to match
everything else in the class.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192851 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
1eef85246b411b55c493098266746d0d83c241ea 13-Sep-2013 David Tweed <david.tweed@arm.com> Certain multi-platform languages, such as OpenCL, have the concept of
address spaces which is both (1) a "semantic" concept and
(2) possibly a hardware level restriction. It is desirable to
be able to discard/merge the LLVM-level address spaces on arguments for which
there is no difference to the current backend while keeping
track of the semantic address spaces in a funciton prototype. To do this
enable addition of the address space into the name-mangling process. Add
some tests to document this behaviour against inadvertent changes.

Patch by Michele Scandale!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@190684 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
8bc56022db2d9b16aab25ce3b6fccda9dd8991fc 09-Sep-2013 David Tweed <david.tweed@arm.com> The OpenCL standard specifies the sizes and alignments of various types than other C-family
languages, as well as specifying errno is not set by the math functions. Make the
clang front-end set those appropriately when the OpenCL language option is set.

Patch by Erik Schnetter!



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@190296 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
7b7bef1ec355fb46643349d77c266b913f36b656 05-Sep-2013 Stepan Dyatkovskiy <stpworld@narod.ru> Add new methods for TargetInfo:
getRealTypeByWidth and getIntTypeByWidth
for ASTContext names are almost same(invokes new methods from TargetInfo):
getIntTypeForBitwidth and getRealTypeForBitwidth.

As first commit for PR16752 fix: 'mode' attribute for unusual targets doesn't work properly
Description:
Troubles could be happened due to some assumptions in handleModeAttr function (see SemaDeclAttr.cpp).
For example, it assumes that 32 bit integer is 'int', while it could be 16 bit only.
Instead of asking target: 'which type do you want to use for int32_t ?' it just hardcodes general opinion. That doesn't looks pretty correct.
Please consider the next solution:
1. In Basic/TargetInfo add getIntTypeByWidth and getRealTypeByWidth virtual methods. By default current behaviour could be implemented here.
2. Fix handleModeAttr according to new methods in TargetInfo.
This approach is implemented in the patch attached to this post.

Fixes:
1st Commit (Current): Add new methods for TargetInfo:
getRealTypeByWidth and getIntTypeByWidth
for ASTContext names are almost same(invokes new methods from TargetInfo):
getIntTypeForBitwidth and getRealTypeForBitwidth

2nd Commit (Next): Fix SemaDeclAttr, handleModeAttr function.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@190044 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
ef072033876e295ec5d3402f8730a3ae358ad815 28-Aug-2013 Reid Kleckner <reid@kleckner.net> Delete CC_Default and use the target default CC everywhere

Summary:
Makes functions with implicit calling convention compatible with
function types with a matching explicit calling convention. This fixes
things like calls to qsort(), which has an explicit __cdecl attribute on
the comparator in Windows headers.

Clang will now infer the calling convention from the declarator. There
are two cases when the CC must be adjusted during redeclaration:
1. When defining a non-inline static method.
2. When redeclaring a function with an implicit or mismatched
convention.

Fixes PR13457, and allows clang to compile CommandLine.cpp for the
Microsoft C++ ABI.

Excellent test cases provided by Alexander Zinenko!

Reviewers: rsmith

Differential Revision: http://llvm-reviews.chandlerc.com/D1231

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189412 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
5389b84a780ac17b63c10ad97cd5e3aaa41595b7 21-Aug-2013 Rafael Espindola <rafael.espindola@gmail.com> Move -mfpmath handling to -cc1 and implement it for x86.

The original idea was to implement it all on the driver, but to do that the
driver needs to know the sse level and to do that it has to know the default
features of a cpu.

Benjamin Kramer pointed out that if one day we decide to implement support for
' __attribute__ ((__target__ ("arch=core2")))', then the frontend needs to
keep its knowledge of default features of a cpu.

To avoid duplicating which part of clang handles default cpu features,
it is probably better to handle -mfpmath in the frontend.

For ARM this patch is just a small improvement. Instead of a cpu list, we
check if neon is enabled, which allows us to reject things like

-mcpu=cortex-a9 -mfpu=vfp -mfpmath=neon

For X86, since LLVM doesn't support an independent ssefp feature, we just
make sure the selected -mfpmath matches the sse level.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188939 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
ade7cd45d5bf510c8599b805691e6402edb0d203 20-Aug-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove duplicated error checking.

The driver validates its options, so we don't need to redo the work in
"clang -cc1".

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188806 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
9df0823a4b82794f573e333115ad4dfff3ab0a34 29-Jun-2013 Benjamin Kramer <benny.kra@googlemail.com> Driver: Push triple objects around instead of going to std::string all the time.

No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@185261 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
b8409215523e5478b8b0aa9cdcd10038cf7651fe 06-May-2013 Ulrich Weigand <ulrich.weigand@de.ibm.com> Add SystemZ support

This patch then adds all the usual platform-specific pieces for SystemZ:
driver support, basic target info, register names and constraints,
ABI info and vararg support. It also adds new tests to verify pre-defined
macros and inline asm, and updates a test for the minimum alignment change.

This version of the patch incorporates feedback from reviews by
Eric Christopher and John McCall. Thanks to all reviewers!

Patch by Richard Sandiford.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181211 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
6b20351a1d6178addfaa86716aaba36f2e9ea188 06-May-2013 Ulrich Weigand <ulrich.weigand@de.ibm.com> Allow targets to define minimum alignment for global variables

This patch adds a new common code feature that allows platform code to
request minimum alignment of global symbols. The background for this is
that on SystemZ, the most efficient way to load addresses of global symbol
is the LOAD ADDRESS RELATIVE LONG (LARL) instruction. This instruction
provides PC-relative addressing, but only to *even* addresses. For this
reason, existing compilers will guarantee that global symbols are always
aligned to at least 2. [ Since symbols would otherwise already use a
default alignment based on their type, this will usually only affect global
objects of character type or character arrays. ] GCC also allows creating
symbols without that extra alignment by using explicit "aligned" attributes
(which then need to be used on both definition and each use of the symbol).

To enable support for this with Clang, this patch adds a
TargetInfo::MinGlobalAlign variable that provides a global minimum for the
alignment of every global object (unless overridden via explicit alignment
attribute), and adds code to respect this setting. Within this patch, no
platform actually sets the value to anything but the default 1, resulting
in no change in behaviour on any existing target.

This version of the patch incorporates feedback from reviews by
Eric Christopher and John McCall. Thanks to all reviewers!

Patch by Richard Sandiford.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181210 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
6c82fc65e45c668a36b06536e66563fe937a3096 26-Mar-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove useGlobalsForAutomaticVariables.

It is unused since pic support went away.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178055 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
7728cddd7866fadd07f1191eee40985e3cdbc6bf 23-Feb-2013 Peter Collingbourne <peter@pcc.me.uk> Revert r175912, "Add support for coldcc to clang" at John's request.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175936 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
4c67aa96401b67b5200e701cff87485067ab0792 22-Feb-2013 Peter Collingbourne <peter@pcc.me.uk> Add support for coldcc to clang

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175912 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
c264e16a42b3f6c36521857a29ea0949d9781c22 31-Jan-2013 Tim Northover <Tim.Northover@arm.com> Add support for AArch64 target.

In cooperation with the LLVM patch, this should implement all scalar front-end
parts of the C and C++ ABIs for AArch64.

This patch excludes the NEON support also reviewed due to an outbreak of
batshit insanity in our legal department. That will be committed soon bringing
the changes to precisely what has been approved.

Further reviews would be gratefully received.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174055 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
b8b2c9da87e7d70a1679db026f40548b3192b705 25-Jan-2013 John McCall <rjmccall@apple.com> First pass at abstracting out a class for the target C++ ABI.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173514 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
cfa88f893915ceb8ae4ce2f17c46c24a4d67502f 12-Jan-2013 Dmitri Gribenko <gribozavr@gmail.com> Remove useless 'llvm::' qualifier from names like StringRef and others that are
brought into 'clang' namespace by clang/Basic/LLVM.h


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
7266cf6464bc3ec65044c5783df739cfe7b6cd61 10-Jan-2013 Guy Benyei <guy.benyei@intel.com> Enable intel_ocl_bicc for x86_64 target only. Remove fix from 171969 that enabled this extension for multiple targets.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172052 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
35eb8c3e12cac22f91d1cd4c74ae092ebc94fc40 09-Jan-2013 Guy Benyei <guy.benyei@intel.com> Enable intel_ocl_bicc for x86_64 target. This was missed in r171056.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171969 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
8e721b714a92de803000c65fb8a57a1d8a810322 07-Jan-2013 Rafael Espindola <rafael.espindola@gmail.com> Add support for attribute((mode(unwind_word))).
Patch by Nick Lewycky. Fixes pr8703.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171781 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
fff3248e69c478cfb4d1a1ffdefb808d5885535b 09-Dec-2012 Aaron Ballman <aaron@aaronballman.com> Virtual method overrides can no longer have mismatched calling conventions. This fixes PR14339.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169705 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
30a2e16f6c27f888dd11eba6bbbae1e980078fcb 04-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Sort #include lines for all files under include/...

This is a simpler sort, entirely automatic with the help of
llvm/utils/sort_includes.py -- no manual edits here.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169238 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
84268904947ada7e251932a6f5b0f4364df7a2c7 29-Nov-2012 Richard Smith <richard-llvm@metafoo.co.uk> Reject uses of __int128 on platforms that don't support it. Also move the ugly
'getPointerWidth(0) >= 64' test to be a method on TargetInfo, ready to be
properly cleaned up.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168856 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
6902e4146d426998ff6a94b16776c1b3f805a048 27-Nov-2012 Eli Friedman <eli.friedman@gmail.com> Fix the definition of the vfork() builtin on Haiku. PR14378.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168674 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
49a87549f4dc95ecb3d8a593b71df7c167a51f85 16-Nov-2012 Douglas Gregor <dgregor@apple.com> Since CreateTargetInfo is taking ownership of the target options, pass
it as a pointer.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168136 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
68fd608c2c0866064e974c3d43778c47c1cbb080 12-Nov-2012 Bill Wendling <isanbard@gmail.com> Check that the input size is correct for the given constraint.

The 'a', 'c', and 'd' constraints on i386 mean a 32-bit register. We cannot
place a 64-bit value into the 32-bit register. Error out instead of causing the
compiler to spew general badness.
<rdar://problem/12415959>


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167717 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
50d46caf00c743312e0ea1f87a693d504b12ef51 26-Oct-2012 Bill Wendling <isanbard@gmail.com> Recommit Eric's code to validate ASM string's constraints and modifiers.

This code checks the ASM string to see if the output size is able to fit within
the variable specified as the output. For instance, scalar-to-vector conversions
may not really work. It's on by default, but can be turned off with a flag if
you think you know what you're doing.

This is placed under a flag ('-Wasm-operand-widths') and flag group ('-Wasm').

<rdar://problem/12284092>


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166737 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
c6cd9afd15f0f83ee07844e592d2a698416f33ca 25-Oct-2012 Bill Wendling <isanbard@gmail.com> Revert r166647 to rethink the patch...


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166655 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
a0b9ce03880b7dbab766ec80817eb17a20eba508 25-Oct-2012 Bill Wendling <isanbard@gmail.com> Add some support for diagnosing possibly mismatched constraint, type size and
modifiers. (From an idea by Eric...)
<rdar://problem/12284092>


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166647 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
57016dda61498294120b1a881d9e6606337b29d9 17-Oct-2012 Douglas Gregor <dgregor@apple.com> Serialize TargetOptions into an AST file, and make sure that we keep
target options around so they can be accessed at any point (rather
than keeping them transient).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166072 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
9a022bb007a3e77e1ac1330f955a239cfb1dd0fb 15-Oct-2012 Douglas Gregor <dgregor@apple.com> Teach TargetInfo to hold on to the TargetOptions with which it was
created.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165943 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
eae5a820bced67465c8517793a1602dfaeed8a06 10-Oct-2012 Logan Chien <tzuhsiang.chien@gmail.com> Fix PR 11709: Change the definition of va_list to meet AAPCS requirement

AAPCS ABI Section 7.1.4 [1] specifies that va_list
should be defined as struct __va_list { void *__ap;};
And in C++, it is defined in namespace std.

[1] http://infocenter.arm.com/help/topic
/com.arm.doc.ihi0042d/IHI0042D_aapcs.pdf

Patch by Weiming Zhao.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165609 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
82bfa19fe3be324b13fdbcda46304b52c500f0d4 02-Oct-2012 Aaron Ballman <aaron@aaronballman.com> Allowing individual targets to determine whether a given calling convention is allowed or ignored with warning. This allows for correct name mangling for x64 targets on Windows, which in turn allows for linking against the Win32 APIs.

Fixes PR13782

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165015 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
f9e9af7df0cea6e997ac04131c7af6ca4384b0cc 14-Jul-2012 Chad Rosier <mcrosier@apple.com> Add a per target max vector alignment field (e.g., 32-byte alignment for x86 due to
AVX). Currently, if no aligned attribute is specified the alignment of a vector is
inferred from its size. Thus, very large vectors will be over-aligned with no
benefit. Target owners should set this target max.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160209 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
af50aab0c317462129d73ae8000c6394c718598d 03-Jul-2012 James Dennett <jdennett@google.com> Documentation cleanup:
* Primarily, added \brief to most of include/clang/Basic, instead of prefixing
the comments with "DeclaredName - ";
* Made some brief summaries significantly briefer;
* Fixed up some erroneous uses of \see and \arg;
* Fixed up some extraneous backslashes in \code...\endcode blocks;
* Fixed up some typos/spelling errors.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159616 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
2f7f5b1f5ff023cb8c4008ae53a12b09e3ea2622 02-Jul-2012 James Dennett <jdennett@google.com> Documentation cleanup: reformatting/fixing up file comments so that they have
\file and \brief markup and appear in Doxygen's summaries (and eventually at
http://clang.llvm.org/doxygen/files.html). Fixed up another couple of minor
glitches in the docs at the same time.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159517 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
11db92c2721da09e8ffc2f58994ed3bb5d23d8b9 17-Jun-2012 James Dennett <jdennett@google.com> Documentation cleanup: escaping # characters and adding \brief markup

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158627 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
c5613b26a24a33d7450e3d0bf315c6ccc920ce7b 16-Jun-2012 Meador Inge <meadori@codesourcery.com> Explicitly build __builtin_va_list.

The target specific __builtin_va_list types are now explicitly built instead
of injecting strings into the preprocessor input.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158592 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
48d798ce32447607144db70a484cdb99c1180663 02-Jun-2012 Benjamin Kramer <benny.kra@googlemail.com> Fix typos found by http://github.com/lyda/misspell-check

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157886 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
93a49944e0e68e32bc22d45d44ee136b34beffb3 16-Apr-2012 Fariborz Jahanian <fjahanian@apple.com> objective-c modern translator: buildit objc bool
type for rewriter project will be BoolTy.
// rdar://11231426.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154861 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
713575afdac1f31de39b4a730143b8d96eeadb6d 05-Mar-2012 Benjamin Kramer <benny.kra@googlemail.com> TargetInfo: create less temporary strings.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152029 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
c93dc7889644293e318e19d82830ea2acc45b678 20-Feb-2012 Dylan Noblesmith <nobled@dreamwidth.org> Basic: import IntrusiveRefCntPtr<> into clang namespace

The class name is long enough without the llvm:: added.
Also bring in RefCountedBase and RefCountedBaseVPTR.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150958 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
e727d21d3fd5f6f68d9e7a260bbf84dc2fc8ae3a 30-Jan-2012 Douglas Gregor <dgregor@apple.com> Introduce TargetInfo::hasFeature() to query various feature names in
each of the targets. Use this for module requirements, so that we can
pin the availability of certain modules to certain target features,
e.g., provide a module for xmmintrin.h only when SSE support is
available.

Use these feature names to provide a nearly-complete module map for
Clang's built-in headers. Only mm_alloc.h and unwind.h are missing,
and those two are fairly specialized at the moment. Finishes
<rdar://problem/10710060>.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149227 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
4188760f6bb20f91c6883dffd89204419f852dee 29-Jan-2012 John McCall <rjmccall@apple.com> Complain about attempts to use 'protected' visibility on targets
like Darwin that don't support it. We should also complain about
invalid -fvisibility=protected, but that information doesn't seem
to exist at the most appropriate time, so I've left a FIXME behind.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149186 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
8b30a9379f730875ba8fb2d0fe2d43611e0c20ff 26-Jan-2012 Bob Wilson <bob.wilson@apple.com> Make clz/ctz builtins defined for zero on ARM targets. rdar://10732455

ARM supports clz and ctz directly and both operations have well-defined
results for zero. There is no disadvantage in performance to using the
defined-at-zero versions of llvm.ctlz/cttz intrinsics. We're running into
ARM-specific code written with the assumption that __builtin_clz(0) == 32,
even though that value is technically undefined. The code is failing now
because of llvm optimizations that are taking advantage of the undef
behavior (specifically svn r147255). There's nothing wrong with that
optimization on x86 where any incorrect assumptions about __builtin_clz(0)
will quickly be exposed. For ARM, though, optimizations based on that undef
behavior are likely to cause subtle bugs. Other targets with defined-at-zero
clz/ctz support may want to override the default behavior as well.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149086 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
b406669fea7c8db83a377f368f1689c848296974 28-Dec-2011 Benjamin Kramer <benny.kra@googlemail.com> Add a target hook for FLT_EVAL_METHOD and use it to set the value on x86 with sse disabled.

x87 math evaluates everything with 80 bits precision, so we have to set FLT_EVAL_METHOD
to "2".

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147311 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
e6a24e83e71f361c7b7de82cf24ee6f5ddc7f1c2 22-Dec-2011 Eli Friedman <eli.friedman@gmail.com> Add support for bitcasts to vector type in Evaluate.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
7ec59c78f1e19157767648cbe3f0e3630ca1afe7 16-Dec-2011 Nick Lewycky <nicholas@mxc.ca> Add the value of "suitably aligned" from the C++11 standard to Basic/TargetInfo.
This is equal to alignof(std::max_align_t) on the platform and equal to the
alignment provided by malloc. (Platform owners please double-check your
platform's value.)


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146762 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
eea64802558cc398571938b1f28cda1d4fa79ec3 31-Oct-2011 Anders Carlsson <andersca@mac.com> In x86_64, when calling an Objective-C method that returns a _Complex long double, make sure to use the objc_msgSend_fp2ret function which ensures that the return value will be {0, 0} if the receiver is nil.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143350 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
aa4a99b4a62615db243f7a5c433169f2fc704420 15-Oct-2011 Anton Korobeynikov <asl@math.spbu.ru> Provide half floating point support as a storage only type.
Lack of half FP was a regression compared to llvm-gcc.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142016 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
2be460723940f8184ec36529b6f6ddf59c04e411 14-Oct-2011 Eli Friedman <eli.friedman@gmail.com> Misc fixes for atomics. Biggest fix is doing alignment correctly for _Atomic types.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142002 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
c3a2e654f1e1c5cf956d0666d9c4c2f60a66f112 28-Sep-2011 Chandler Carruth <chandlerc@gmail.com> Clean up a bit of the uses of CPU in the TargetInfo classes. This makes
it an error if a CPU is provided for a target that doesn't implement
logic handling CPU settings, to match the ABI settings. It also removes
the CPU parameter from the getDefaultFeatures method. This parameter was
always filled in with the same value as setCPU was called with, and at
this point every single target implementation that referenced the CPU
within this function has needed to store the CPU via setCPU anyways in
order to implement other interface points.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140683 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
d6471f7c1921c7802804ce3ff6fe9768310f72b9 26-Sep-2011 David Blaikie <dblaikie@gmail.com> Rename Diagnostic to DiagnosticsEngine as per issue 5397


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140478 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
6e43f3f0e2fa7a4b50d2497de94a40437cd26003 04-Aug-2011 Chad Rosier <mcrosier@apple.com> Additional comments and whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136892 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
70529099e60c0bb53fdf0f31b387f487807b3d99 04-Aug-2011 Chad Rosier <mcrosier@apple.com> Add documentation for useBitFieldTypeAlignment.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136859 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
61a62216a0bb33fb668ab653d9f9a704e43d2fc6 04-Aug-2011 Chad Rosier <mcrosier@apple.com> Add partial support for using anonymous bitfields (e.g., int : 0) to enforce
alignment. This fixes cases where the anonymous bitfield is followed by a
non-bitfield member. E.g.,

struct t4
{
int foo : 1;
long : 0;
char bar;
};

Part of rdar://9859156

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136858 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
9f1210c3280104417a4ad30f0a00825ac8fa718a 26-Jul-2011 Chad Rosier <mcrosier@apple.com> After further discussion it has been determined that alignof should report
the preferred alignment. Thus, revert r135934, r135935, and r135940.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136062 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
822f54a7ba3eca643104623e8048be20a3391b19 25-Jul-2011 Chad Rosier <mcrosier@apple.com> Allow target to specify about using minimum alignment vs preferred. Takes care of
FIXME: Override "preferred align" for double and long long for ARM apcs-gnu ABI.
Also part of rdar://9802874

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135940 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
686775deca8b8685eb90801495880e3abdd844c2 20-Jul-2011 Chris Lattner <sabre@nondot.org> now that we have a centralized place to do so, add some using declarations for
some common llvm types: stringref and smallvector. This cleans up the codebase
quite a bit.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135576 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
de31fd7eeebdc64fb043463e7f515dab8eccac8d 28-Jun-2011 Eric Christopher <echristo@apple.com> Split out logic for valid clobbers and valid inline asm registers.

Fixes rdar://9281377


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134016 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
7e47e1e7e6a2b83d903c97129f27e92f584c3dc2 27-Jun-2011 Douglas Gregor <dgregor@apple.com> Reduce the size of the ExtInfo bitfield in FunctionType from 9 bits
down to 8 by restricting the maximum allowed regparm value to 6
(previously it was 7). I need the extra bit in Type to handle
instantiation-dependence.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133924 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
08737c49bd98f73b50fe90fd19f97c41cd29e3d1 21-Jun-2011 Daniel Dunbar <daniel@zuster.org> Basic: Add TargetInfo::getRegisterWidth hook.
- For clarity only, currently just assumes register width == long width.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133531 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
cfd323d0d4476dd4ff64097c91b114067ecaa82b 21-Jun-2011 Eric Christopher <echristo@apple.com> Move additional register names to their own lookup, separate from
register aliases. Fixes unnecessary renames of clobbers.

Fixes part of rdar://9425559


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133485 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
6ce33d67e2ed4f8c9395a807bebd25be04580c0f 08-Jun-2011 Stuart Hastings <stuart@apple.com> Followup to 132737; make two-character string explicit, add some
comments. rdar://problem/9037836


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132752 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
002333f8b2cf1a8614e532f6ce366b21af85142c 08-Jun-2011 Stuart Hastings <stuart@apple.com> Clang support for ARM Uv/Uy/Uq inline-asm constraints.
rdar://problem/9037836


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132737 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
0a0d2b179085a52c10402feebeb6db8b4d96a140 23-Mar-2011 Douglas Gregor <dgregor@apple.com> Implement a new 'availability' attribute, that allows one to specify
which versions of an OS provide a certain facility. For example,

void foo()
__attribute__((availability(macosx,introduced=10.2,deprecated=10.4,obsoleted=10.6)));

says that the function "foo" was introduced in 10.2, deprecated in
10.4, and completely obsoleted in 10.6. This attribute ties in with
the deployment targets (e.g., -mmacosx-version-min=10.1 specifies that
we want to deploy back to Mac OS X 10.1). There are several concrete
behaviors that this attribute enables, as illustrated with the
function foo() above:

- If we choose a deployment target >= Mac OS X 10.4, uses of "foo"
will result in a deprecation warning, as if we had placed
attribute((deprecated)) on it (but with a better diagnostic)
- If we choose a deployment target >= Mac OS X 10.6, uses of "foo"
will result in an "unavailable" warning (in C)/error (in C++), as
if we had placed attribute((unavailable)) on it
- If we choose a deployment target prior to 10.2, foo() is
weak-imported (if it is a kind of entity that can be weak
imported), as if we had placed the weak_import attribute on it.

Naturally, there can be multiple availability attributes on a
declaration, for different platforms; only the current platform
matters when checking availability attributes.

The only platforms this attribute currently works for are "ios" and
"macosx", since we already have -mxxxx-version-min flags for them and we
have experience there with macro tricks translating down to the
deprecated/unavailable/weak_import attributes. The end goal is to open
this up to other platforms, and even extension to other "platforms"
that are really libraries (say, through a #pragma clang
define_system), but that hasn't yet been designed and we may want to
shake out more issues with this narrower problem first.

Addresses <rdar://problem/6690412>.

As a drive-by bug-fix, if an entity is both deprecated and
unavailable, we only emit the "unavailable" diagnostic.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128127 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
4f32786ac45210143654390177105eb749b614e9 21-Mar-2011 Ted Kremenek <kremenek@apple.com> Improve crash recovery cleanup to recovery CompilerInstances during crash recovery. This was a huge resource "root" during crashes.

This change requires making a bunch of fundamental Clang structures (optionally) reference counted to allow correct
ownership semantics of these objects (e.g., ASTContext) to play out between an active ASTUnit and CompilerInstance
object.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128011 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
207f4d8543529221932af82836016a2ef066c917 18-Mar-2011 Peter Collingbourne <peter@pcc.me.uk> Add support for language-specific address spaces. On top of that,
add support for the OpenCL __private, __local, __constant and
__global address spaces, as well as the __read_only, _read_write and
__write_only image access specifiers. Patch originally by ARM;
language-specific address space support by myself.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127915 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
9c6082fe89c61af697f017aa80937581cc2128d8 02-Mar-2011 Tilmann Scheller <tilmann.scheller@googlemail.com> Revert "Add CC_Win64ThisCall and set it in the necessary places."

This reverts commit 126863.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126886 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
88d117c2eedd7c5bec57ac983a98d5e12bdd2cc6 02-Mar-2011 Tilmann Scheller <tilmann.scheller@googlemail.com> Add CC_Win64ThisCall and set it in the necessary places.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126863 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
4b93d660c6326ec79b5e369317d1051cf826c2f3 20-Feb-2011 Peter Collingbourne <peter@pcc.me.uk> Re-instate r125819 and r125820 with no functionality change

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126060 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
96b1d4b4eb6b18dd6df7a2c0833332b45840580f 19-Feb-2011 Rafael Espindola <rafael.espindola@gmail.com> Revert 125820 and 125819 to fix PR9266.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126050 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
ef9a1d0e13662162aa8cdae8732c33b5d751d80c 18-Feb-2011 Peter Collingbourne <peter@pcc.me.uk> Move TargetInfo::adjustInlineAsmType to TargetCodeGenInfo

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125819 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
be4c8705e499b55548467eb7adaa23cbc6edfef9 10-Feb-2011 Roman Divacky <rdivacky@freebsd.org> Implement mcount profiling, enabled via -pg.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125282 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
c81f2a2c7f83e64b3ef2b77030536290d0e2b350 06-Jan-2011 Roman Divacky <rdivacky@freebsd.org> PowerPC fixes.

Fix the width and align of bool type on Darwin to be 32bits
while keeping it 8 everywhere else.

Change the definition of va_list to default to SV4 ABI one
and let darwin subtarget override this.

Both changes submitted by Nathan Whitehorn and reviewed
by Rafael Espindola.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122956 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
3f59c975aa5d047f7edd1b900b5e885c38af0ef7 26-Dec-2010 Chris Lattner <sabre@nondot.org> The -fshort-wchar option causes wchar_t to become unsigned, in addition to being
16-bits in size. Implement this by splitting WChar into two enums, like we have
for char. This fixes a miscompmilation of XULRunner, PR8856.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122558 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
03013fa9a0bf1ef4b907f5fec006c8f4000fdd21 29-Nov-2010 Michael J. Spencer <bigcheesegs@gmail.com> Merge System into Support.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120297 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
1e592cba6bc1930e7a01dde8370e5345cef05723 30-Oct-2010 Dale Johannesen <dalej@apple.com> Handle Type.h a better way.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117743 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
f6e2c2039f76fa58799f6d155892d54fc95755e1 30-Oct-2010 Dale Johannesen <dalej@apple.com> Generate bitcasts going in and out of MMX parameters
in asm's. PR 8501, 8602988.
I don't like including Type.h where it is; the idea was
to get references to X86_MMXTy out of the common code.
Maybe there's a better way?



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117736 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
cee55018570c0c46262c6e4ef7beaa707c93fc86 22-Oct-2010 Dale Johannesen <dalej@apple.com> Change handling of inline asm 'p' constraint to match llvm-gcc.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117149 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
237cf582b89bbcc22640cea15426ddc7ada8412b 18-Oct-2010 Michael J. Spencer <bigcheesegs@gmail.com> Fix Whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116699 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
ee79a4c30e5d1c5285551c9a25b8ec6d45d46aa7 22-Aug-2010 John McCall <rjmccall@apple.com> The ARM C++ ABI is sufficiently different from the Itanium C++ ABI that
it deserves its own enumerator. Obviously the implementations should
closely follow the Itanium ABI except in cases of divergence.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111749 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
20cf717034ba1f20fc47c025ecb72ed9b631ad13 19-Aug-2010 Charles Davis <cdavis@mines.edu> Add some enum goodness as requested by Chris. Now instead of storing the
active C++ ABI as a raw string, we store it as an enum. This should improve
performance somewhat.

And yes, this time, I started from a clean build directory, and
all the tests passed. :)


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111507 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
dacf9dda17346c628fdd8c5df53c681738db0dc5 15-Jul-2010 Daniel Dunbar <daniel@zuster.org> CodeGen/ObjC/NeXT: Fix Obj-C message send to match llvm-gcc when choosing
whether to use objc_msgSend_fpret; the choice is target dependent, not Obj-C ABI
dependent.
- <rdar://problem/8139758> arm objc _objc_msgSend_fpret bug

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
98b7c5c496dfccb39287b8f7d8f1444594936d10 11-Jun-2010 Charles Davis <cdavis@mines.edu> Add an option to specify the target C++ ABI to the frontend. Use it to
select either the default Itanium ABI or the new, experimental Microsoft ABI.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105804 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
18af368c080b9d60e34e670cd01f7d2d3ad2ba48 09-Jun-2010 Anders Carlsson <andersca@mac.com> On Darwin, initialization and destruction functions should go into the __StaticInit section.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105650 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
6deecb0d46bcfd048e651d2db7c4fb0d6407da96 05-Jun-2010 Rafael Espindola <rafael.espindola@gmail.com> Correctly align large arrays in x86-64. This fixes PR5599.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105500 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
613fd67e575ff1c038535b18dafebca070f3ed91 27-May-2010 Daniel Dunbar <daniel@zuster.org> Sema: Reject '#pragma options align=mac68k' everywhere except i386-apple-darwin.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104789 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
ec951e0c2fc0db00c36bc60c900331dde32c1b43 24-Apr-2010 Fariborz Jahanian <fjahanian@apple.com> More -fno-constant-cfstrings API work.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102219 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
2bb5ddaff86ee73d2cea7ec1835978afc88a83f0 23-Apr-2010 Fariborz Jahanian <fjahanian@apple.com> More work toward implementing
NeXt's -fno-constant-cfstrings - wip.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102189 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
37de281ac149a5c5f14e4935a3738d87370da3ed 23-Apr-2010 Chris Lattner <sabre@nondot.org> fix typo


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102183 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
9bffb0701d02a10e77e1ac0f196074eed6466ed0 23-Apr-2010 Chris Lattner <sabre@nondot.org> david conrad points out that {|} in inline assembly on arm are not asm
variants. This fixes neon inline asm which my patch for PR6780 broke.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102181 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
b6830d616a068971f13e1e213e06a945c8c93cea 15-Apr-2010 Daniel Dunbar <daniel@zuster.org> Tweak spelling (Bitfield -> BitField)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101369 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
b6a169395c1b30c76daffebcbd2164b6247a5d21 15-Apr-2010 Daniel Dunbar <daniel@zuster.org> Add TargetInfo::useBitfieldTypeAlignment().
- Used to determine whether the alignment of the type in a bit-field is
respected when laying out structures. The default is true, targets can
override this as needed.

- This is designed to correspond to the PCC_BITFIELD_TYPE_MATTERS macro in
gcc. The AST/Sema implementation only affects one line, unless I have
forgotten something. I'd appreciate further review.

- IRgen still needs to be updated to fully support this (which is effectively
PR5591).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101356 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
b9f709665a6fe9da5c67d0431de2e63c55dd5322 01-Feb-2010 Chris Lattner <sabre@nondot.org> Don't explicitly force utf strings into the __TEXT,__ustring
by setting the section of the generated global. This is an
optimization done by the code generator, and the code being
removed didn't handle the case when the string contained an
embedded nul (which the code generator does correctly
handle). This is rdar://7589850



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95003 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
83c021c6d33aa173cf1a6e3bc61006dabb042703 30-Jan-2010 Anders Carlsson <andersca@mac.com> Yay for more StringRefs.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94917 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
f959fb5fb82ae2cbdf8635d734613a01818fb7bf 30-Jan-2010 Anders Carlsson <andersca@mac.com> StringRef-ize the TargetInfo::ConstraintInfo constructor.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94916 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
103b71c37a3c3a3da7128c1d0232a89b1e8d0d90 20-Jan-2010 Chandler Carruth <chandlerc@gmail.com> Move the MacroBuilder utilitiy to its own header. Update references.

Comments and/or improvements to the documentation are welcome.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93982 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
8a32907d540be6deef8e6c2efd29bbe2da05eac2 20-Jan-2010 Chandler Carruth <chandlerc@gmail.com> Fix a layering issue between Basic and FE by moving a utility class into Basic.

This isn't entirely satisfactory, as it seems an implementation detail, and
with nothing to do with TargetInfo. Suggestions on where to put this are
welcome.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93974 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
a99927774d07af9c6f0e1945531eadc910592945 09-Jan-2010 Benjamin Kramer <benny.kra@googlemail.com> Use MacroBuilder for TargetDefines instead of std::vector.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93058 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
b93292ab7f2b3d43a9e0ad6421f572d1f5a323b4 19-Dec-2009 Daniel Dunbar <daniel@zuster.org> Targets: Allow CreateTargetInfo to mutate the target features.
- In particular, it can claim features for itself instead of always passing them on to LLVM.
- This allows using the target features as a generic mechanism for passing target specific options to the TargetInfo instance, which may need them for initializing preprocessor defines, etc.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91753 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
eac7c53f16bc12bcd9baac756b6f9bb77b74b0ad 18-Dec-2009 Daniel Dunbar <daniel@zuster.org> ARM: Fix predefines (__ARM_ARCH_..., __REGISTER_PREFIX).
- This should be done leveraging the backend, but I'm a little refactored
out. I'll fix it one day, I promise.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91700 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
9cf910efc4fb7001a6d276ed2eabf01f0f0efaaa 21-Nov-2009 Edward O'Callaghan <eocallaghan@auroraux.org> Add SigAtomicType to TargetInfo, Needed for MSP and PIC Targets, Credit to Ken Dyck.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89520 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
2fc430d5483545b47a5a22f45338ff54f5362e34 17-Nov-2009 Daniel Dunbar <daniel@zuster.org> Eliminate TargetInfo::getDefaultLangOptions, this kind of logic is better done
in the driver.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89073 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
d58c03f42ebb4e548c2b53fa25b1cfe02ebb9ac0 15-Nov-2009 Daniel Dunbar <daniel@zuster.org> Add TargetOptions and use it when constructing targets.
- This ended up being hard to factor, sorry for the large diff.

- Some post-commit cleanup to come.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88833 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
9184646509d015ea66e796113a8c68598681374b 12-Nov-2009 Chris Lattner <sabre@nondot.org> do not store wchar/char16/char32/intmax width/alignment info
into TargetInfo, just derive this based on the underlying type.
This prevents them from getting out of synch, patch by Ken Dyck!



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86976 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
29a790ba422cfeeea9546b6e76777d98fa73cd67 11-Nov-2009 Daniel Dunbar <daniel@zuster.org> Simplifiy target feature handling by coalescing all the logic into
InitializeCompileOptions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86826 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
9099e7bcda3922cee0cffcdf21332ac4aa193cea 05-Nov-2009 Chris Lattner <sabre@nondot.org> clean up integer preprocessor type definitions, patch by Ken Dyck!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86177 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
a6fda124bf380479529d6a80b84b62cacd3cb707 05-Nov-2009 John Thompson <John.Thompson.JTSoftware@gmail.com> Adding -fshort-wchar option.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86167 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
9f8eb2032030482b1d3de86e9bee725d93564302 26-Oct-2009 Chandler Carruth <chandlerc@gmail.com> Update location of DataTypes.h to reflect move in LLVM with r85086.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85087 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
961f0708fb66375acf47f9e9bc1aecfb3f992aea 25-Oct-2009 Chris Lattner <sabre@nondot.org> rename getTypeSigned() -> isTypeSigned() per daniel's review.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85076 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
b304f77cb621a47221f2aa2d35acdb5c730421ff 21-Oct-2009 Chris Lattner <sabre@nondot.org> add helpful methods to TargetInfo for querying builtin integer type properties,
patch by Ken Dyck!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84746 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
e64ef80363c84f4f431e26b61db554c89beeddb6 21-Oct-2009 Chris Lattner <sabre@nondot.org> hookize wint_t's definition, patch by Edward O'Callaghan (from PR5233).



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84740 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
278b9f06933c385ffbccc15f8491787470cb4a1b 14-Oct-2009 Chris Lattner <sabre@nondot.org> fix some cfstring related issues:
1) -fwritable-string does affect the non-utf16 version of cfstrings
just not the utf16 ones.
2) utf16 strings should always be marked constant, as the __TEXT segment
is readonly.
3) The name of the global doesn't matter, remove it from TargetInfo.
4) Trust the asmprinter to drop cstrings into the right section, like llvmgcc does now.

This fixes rdar://7115750



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84077 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
21fb98ee003e992b0c4e204d98a19e0ef544cae3 23-Sep-2009 Chris Lattner <sabre@nondot.org> implement support for __builtin_eh_return_data_regno on x86-32 and x86-64.
This implements PR5034 and rdar://6836445.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82614 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
6a3bc6df36848188e9d0c1d978170c2b0918c6a3 23-Sep-2009 Chris Lattner <sabre@nondot.org> return a bool value as a bool


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82613 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
018ba5ab0671d9b6eefecaffc118c869bea151a1 14-Sep-2009 Daniel Dunbar <daniel@zuster.org> Add TargetInfo::getABI(), and base ARM APCS vs AAPCS choice on that.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81735 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
73b79596bac6f6169e5979d0c7241924259d2a76 14-Sep-2009 Daniel Dunbar <daniel@zuster.org> Add -target-abi clang-cc option, currently unused.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81731 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
1eb4433ac451dc16f4133a88af2d002ac26c58ef 09-Sep-2009 Mike Stump <mrs@apple.com> Remove tabs, and whitespace cleanups.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81346 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
55cc2ed722e041228670d26d548e5590e355aced 24-Aug-2009 Daniel Dunbar <daniel@zuster.org> Remove TargetInfo::getTargetPrefix().

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79907 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
1752ee4849f4c37f5e03193e658be92650b0e65a 24-Aug-2009 Daniel Dunbar <daniel@zuster.org> Switch TargetInfo to store an llvm::Triple.
- Primarily to discourage clients form making decisions based on the string.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79901 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
797c3c4f5dc4fda735e55c6b5d6270a54cf6d263 10-Aug-2009 Chris Lattner <sabre@nondot.org> fix a couple of problems with section attributes:

1. Passing something that isn't a string used to cause:
"argument to annotate attribute was not a string literal"
make it say "section attribute" instead.

2. Fix the location of the above message to point to the
bad argument instead of the section token.

3. Implement rdar://4341926, by diagnosing invalid section
specifiers in the frontend rather than letting them slip all
the way to the assembler (a QoI win).

An example of #3 is that we used to produce something like this:

/var/folders/n7/n7Yno9ihEm894640nJdSQU+++TI/-Tmp-//ccFPFGtT.s:2:Expected comma after segment-name
/var/folders/n7/n7Yno9ihEm894640nJdSQU+++TI/-Tmp-//ccFPFGtT.s:2:Rest of line ignored. 1st junk character valued 46 (.).

Daniel improved clang to use llvm_report_error, so now we got:

$ clang t.c -c
fatal error: error in backend: Global variable 'x' has an invalid section specifier 'sadf': mach-o section specifier
requires a segment and section separated by a comma.

with no loc info. Now we get:

$ clang t.c -fsyntax-only
t.c:4:30: error: argument to 'section' attribute is not valid for this target: mach-o section specifier requires a segment
and section separated by a comma
int x __attribute__((section("sadf")));
^

which is nice :)



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78586 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
95b851e55c328af4b69da7bfc1124bf258c0ffe5 16-Jul-2009 Chris Lattner <sabre@nondot.org> codegen string literals using private linkage now like llvm-gcc, eliminating
some target hooks.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75895 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
f5c209d23b20ada4a9b6235db50317239cbf6ae1 14-Jul-2009 Alisdair Meredith <public@alisdairm.net> Basic support for C++0x unicode types. Support for literals will follow in an incremental patch

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75622 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
3c7b6e46c5f9bdbe0676c52d80df98b68b02be99 01-Jul-2009 Eli Friedman <eli.friedman@gmail.com> Fix for PR4192: fix the definition of int64_t on x86_64 Linux.

Note that I'm guessing that *BSD and Solaris do the same thing as Linux
here, but it's quite possible I'm wrong; if the following testcase
gives an error on x86-64 with gcc for any of those operating systems, please
tell me:

#include <stdint.h>

int64_t x; long x;



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74583 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
15b91764d08e886391c865c4a444d7b51141c284 05-Jun-2009 Eli Friedman <eli.friedman@gmail.com> Move CharIsSigned from TargetInfo to LangOptions.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72928 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
17ca3638e852ba81f389e9f896ed0420b52ae606 06-May-2009 Daniel Dunbar <daniel@zuster.org> More x86 target feature support.
- Apologies for the extremely gross code duplication, I want to get
this working and then decide how to get this information out of the
back end.

- This replaces -m[no-]sse4[12] by -m[no-]sse4, it appears gcc
doesn't distinguish them?

- -msse, etc. now properly disable/enable related features.

- Don't always define __SSE3__...

- The main missing functionality bit here is that we don't initialize
the features based on the CPU for all -march options.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71117 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
868bd0aa9281929ef50d2e9a8c82a036906f53f5 06-May-2009 Daniel Dunbar <daniel@zuster.org> Improve handling of (X86) target features.
- This is a WIP...

- This adds -march= handling to the driver, and fixes the defaulting
of -mcpu on Darwin (which was using the wrong test).

Instead of handling -m{sse, ...} in the driver, pass them to clang-cc as
-target-feature [+-]name

In clang-cc, communicate with the (clang) target to discover the legal
features of a target, and the features which are enabled based on
-mcpu. This is currently hardcoded just enough to not be a feature
regression, we need to get this information from the backend's
TableGen information somehow.

This is used to construct the full list of features which are being
used, which is in turn used to initialize the predefines.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71061 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
fa780fc4a4983003633c9b560387266101839923 03-May-2009 Chris Lattner <sabre@nondot.org> add a flag to output asm constraints so that we efficiently know
if there is an input constraint that is tied to it.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70669 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
d68876176a0d2c19e3864e7d38f6036c4f72f0a3 26-Apr-2009 Chris Lattner <sabre@nondot.org> in a tied operand, don't copy over the name or constraint string, just the flags.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
2819fa85651526d59ade4fdc9da2cadd7b132973 26-Apr-2009 Chris Lattner <sabre@nondot.org> pull operands names "[foo]" into ConstraintInfo.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70136 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
432c86969eced2ce658b3f3f2aa7407c8864f21b 26-Apr-2009 Chris Lattner <sabre@nondot.org> pull the constraint string into the ConstraintInfo struct
instead of passing it around in addition to it.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70135 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
5414fbac5f1749c0e85a8c4eeb5dfece59c3e30a 26-Apr-2009 Torok Edwin <edwintorok@gmail.com> Add missing include. This fixes the build with gcc 4.3.3.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70115 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
44def070435a2b5d67f0534f7a3a85a7389d60f2 26-Apr-2009 Chris Lattner <sabre@nondot.org> change TargetInfo::ConstraintInfo to be a struct that contains
the enum along with some other data.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70114 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
b030f0272500c6c5602f587ac029ee0dc0e5a05c 19-Apr-2009 Eli Friedman <eli.friedman@gmail.com> Add target property for whether thread-local storage is supported.
Let me know if I messed up for some target. Note that for Windows, we
should be able to support it (MSVC supports "__declspec(thread)"), but
I'm pretty sure LLVM doesn't know how to generate the correct code.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69552 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
264a76cdf382c507f4d43e64c89f1503f003ac95 04-Apr-2009 Anton Korobeynikov <asl@math.spbu.ru> Provide sema proper values of maximal number of arguments passed in registers.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68413 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
6d7d8398e71a8bd121d3b46e250f1dbcfb9679d4 03-Apr-2009 Daniel Dunbar <daniel@zuster.org> Do we have fixit advice for comments yet?


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68372 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
23d16b3efb640f0d34d95557c51b82d037d08adc 03-Apr-2009 Daniel Dunbar <daniel@zuster.org> Fix comment.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
a9668e0b4c451a1021fe650c451b54dc98c2d18d 03-Apr-2009 Daniel Dunbar <daniel@zuster.org> Add target hook for setting symbol prefix and section of unicode
string literals.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68363 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
8e5c2b8072f4409c7c0004331d1db9652d5209c0 01-Apr-2009 Daniel Dunbar <daniel@zuster.org> Add Target hooks for IRgen of [cf]string literals.
- 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
/external/clang/include/clang/Basic/TargetInfo.h
33328642a7a8a126918814ddcbcebf83c121ad54 20-Mar-2009 Chris Lattner <sabre@nondot.org> pass LangOptions into TargetInfo::getTargetDefines, so that targets
can have language-specific defines.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67375 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
6328cc316d7032517399da9230a197cd29f2664d 03-Mar-2009 Chris Lattner <sabre@nondot.org> implement support for propagating *features* down to the code generator
and defining target-specific macros based on them (like __SSE3__ and
friends). After extensive discussion with Daniel, this work will need
driver support, which will translate things like -msse3 into a -mattr
feature. Until this work is done, the code in clang.cpp is disabled and
the X86TargetInfo ctor still defaults to SSE2. With these two things
changed, this code will work. PR3634


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65966 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
16167a6e3f7dfb7ed0babc5e0baab9fd140e959d 02-Mar-2009 Chris Lattner <sabre@nondot.org> start wiring up support for target-specific -mfoo options like -msse


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65881 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
066d2ea7521896efc05cce7aa46fdd3a7ba96c28 28-Feb-2009 Anders Carlsson <andersca@mac.com> TargetInfo::validateAsmConstraint now takes a reference to the full constraints string. This will make it possible to support multi-character constraints. No functionality change (for now).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65696 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
6ad474f82f0cf32e13128d89fa5ad3a37ae73530 13-Feb-2009 Chris Lattner <sabre@nondot.org> Give TargetInfo a new IntPtrType to hold the intptr_t type for
a target.

Make Preprocessor.cpp define a new __INTPTR_TYPE__ macro based on this.

On linux/32, set intptr_t to int, instead of long. This fixes PR3563.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64495 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
2b5abf515f9696912452f431c7738691cf97f4f1 06-Feb-2009 Chris Lattner <sabre@nondot.org> simplify and refactor a bunch of type definition code in Preprocessor
predefines buffer initialization.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63919 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
3fa8f7491a6a6c1445768ea23ec85d3554c3ba98 05-Feb-2009 Chris Lattner <sabre@nondot.org> privatize some stuff.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63847 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
03eb543cf7ebee463b33b5802b83ac92c21770cf 27-Jan-2009 Anders Carlsson <andersca@mac.com> If an input constraint refers to an output constraint, it should have the same constraint info as the output constraint. Fixes PR3417

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63127 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
42e1ee0702d8267d632df0fdb5c479a582877c6f 18-Jan-2009 Anders Carlsson <andersca@mac.com> Add sema support for symbolic names in inline asm statements.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62441 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
22b9d5a1fd9067785b62d9237bae6ee2a9b40afc 18-Jan-2009 Nate Begeman <natebegeman@mac.com> Allow targets to override IntMaxTWidth


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62434 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
45b050e72d058131e6f169fe54888bb91a003fb5 18-Jan-2009 Anders Carlsson <andersca@mac.com> Change TargetInfo::validateInputConstraint to take begin/end name iterators instead of the number of outputs. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62433 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
8fc4dfb30e8bd94ca2ea7adb6cbece04fb96cd99 04-Dec-2008 Chris Lattner <sabre@nondot.org> replace useNeXTRuntimeAsDefault with a generic hook that allows targets
to specify their default language options.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60561 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
31fc07df7f0fc89ebf83ca05a20b29de45a7598d 31-Oct-2008 Sanjiv Gupta <sanjiv.gupta@microchip.com> Made the mechanism of defining preprocessor defs for maxint, ptrdiff_t, wchar
etc more generic. For some targets, long may not be equal to pointer size. For
example: PIC16 has int as i16, ptr as i16 but long as i32.

Also fixed a few build warnings in assert() functions in CFRefCount.cpp,
CGDecl.cpp, SemaDeclCXX.cpp and ParseDeclCXX.cpp.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58501 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
0e5d4ef3155651af17a90fdc07d9f80b33935c0c 05-Oct-2008 Chris Lattner <sabre@nondot.org> move a bunch more integer sizing out of target-specific code into
target indep code.

Note that this changes functionality on PIC16: it defines __INT_MAX__
correctly for it, and it changes sizeof(long) to 16-bits (to match
the size of pointer).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57132 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
3fdf4678935b27c3d3fd4eb10bf9f5ab98dc0d99 05-Oct-2008 Chris Lattner <sabre@nondot.org> Implement PR2773, support for __USER_LABEL_PREFIX__


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57127 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
dcb4a1a6dd55fdf6c073d2761096f42e26be105a 23-Aug-2008 Daniel Dunbar <daniel@zuster.org> Add TargetInfo::useNeXTRuntimeAsDefault
- Used to autoselect runtime when neither -fnext-runtime nor
-fgnu-runtime is specified.
- Default impl is false, all darwin targets set it to true.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55231 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
77e8b53fe3ff630d8d1454db94e38bedda14d5ca 18-Aug-2008 Daniel Dunbar <daniel@zuster.org> Make TargetInfo::DescriptionString const (avoid compiler warnings)


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54928 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
364af81157a81cf34bb058a7d5b0185020e5164b 18-Aug-2008 Sanjiv Gupta <sanjiv.gupta@microchip.com> Allow targets to override description string.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54914 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
b7cfe88e88cb4f46308de89cf3f0c81bfe624128 30-Jun-2008 Chris Lattner <sabre@nondot.org> Make a few related changes:

1) add a new ASTContext::getFloatTypeSemantics method.
2) Use it from SemaExpr.cpp, CodeGenTypes.cpp and other places.
3) Change the TargetInfo.h get*Format methods to return their
fltSemantics byref instead of by pointer.
4) Change CodeGenFunction::EmitBuiltinExpr to allow builtins which
sometimes expand specially and othertimes fall back to libm.
5) Add support for __builtin_nan("") to codegen, cases that don't pass
in an empty string are currently lowered to libm calls.
6) Fix codegen of __builtin_infl.




git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52914 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
61538a7d1336f3ef3cb81e09f11a1cbb282bcf81 20-May-2008 Eli Friedman <eli.friedman@gmail.com> Some small changes to make the target info a bit more accurate.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51319 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
927686fe8c968ca786fa44d2353eebf59c4f5b8a 09-May-2008 Chris Lattner <sabre@nondot.org> parameterize pointer size/align better without doing virtual method calls in normal case.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50890 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
ec10f5886526124ba733fbd0ef8665d576285daa 09-May-2008 Chris Lattner <sabre@nondot.org> parameterize long long.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50887 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
8059e997ee05e4aa87f7e21fed630429a140ee53 09-May-2008 Chris Lattner <sabre@nondot.org> correctly parameterize long, patch by Nate.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50886 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
2621fd1d6d3c5eadcae246859f62738645df7540 08-May-2008 Chris Lattner <sabre@nondot.org> Add basic support for the pic-* target triples and add support for
targets that do not support recursion (and thus codegen stack variables
as globals).

Patch contributed by Alireza Moshtaghi!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50844 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
c8b1227fa8c17d9881815e40c04e19334be536f8 18-Apr-2008 Nate Begeman <natebegeman@mac.com> Allow targets to override double size, alignment, and semantics, and tie this
information into the IR type codegen. This allows a target to codegen the C
'double' type as either double or float.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49898 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
2b59a2cbfdb93fcf1a4a303e1ea7753ff1c7b319 14-Mar-2008 Nate Begeman <natebegeman@mac.com> Fix comment


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48347 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
9c4bea1fa7291035325575c02d33552a124d8ef3 08-Mar-2008 Chris Lattner <sabre@nondot.org> add some comments.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48053 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
cd4fc42896f926ffc081e1c4a8bf4cd647883c14 08-Mar-2008 Chris Lattner <sabre@nondot.org> make float format handling more regular.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48052 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
9e9b6dc3fd413f5341fab54b681420eeb21cd169 08-Mar-2008 Chris Lattner <sabre@nondot.org> simplify all the type info accessors in TargeTInfo to return scalars,
which is simpler to use and provide.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48051 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
f72a44330b9d9a4b2d93e9b91cfb8ab7bd4a0643 08-Mar-2008 Chris Lattner <sabre@nondot.org> Fix a fixme by allowing pointers in different address spaces to have
different widths. Start simplifying TargetInfo accessor methods.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48050 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
0eaed12e634dfd14f44620f63b8d3276fed028dd 08-Mar-2008 Chris Lattner <sabre@nondot.org> eliminate the TargetInfoImpl stuff, simplifying the target implementations.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48049 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
390161183919169c493916efac4c1e1b3828fea6 08-Mar-2008 Chris Lattner <sabre@nondot.org> eliminate ComputeWCharInfo.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48048 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
98be4943e8dc4f3905629a7102668960873cf863 05-Mar-2008 Chris Lattner <sabre@nondot.org> remove the source location arguments to various target query methods.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47954 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
42e6737f2efb113563140ad794c21c7709250402 05-Mar-2008 Chris Lattner <sabre@nondot.org> Remove the first layer of support for "portability" warnings. This is
theoretically useful, but not useful in practice. It adds a bunch of
complexity, and not much value. It's best to nuke it. One big advantage
is that it means the target interfaces will soon lose their SLoc arguments
and target queries can never emit diagnostics anymore (yay). Removing this
also simplifies some of the core preprocessor which should make it slightly
faster.

Ted, I didn't simplify TripleProcessor, which can now have at most one
triple, and can probably just be removed. Please poke at it when you have
time.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47930 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
fb79f7cc00f9c1e04f11ed636eefb36d246b0fb8 04-Mar-2008 Ted Kremenek <kremenek@apple.com> TargetInfo objects now own the TargetInfoImpl objects they refer to.
TargetInfo::AddSecondaryTarget is now private, as it is only used during
object construction.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47891 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
a5694b8b0096215137bf1c273764ec93ac4898fd 26-Feb-2008 Lauro Ramos Venancio <lauro.venancio@gmail.com> Convert x86 target specific inline asm constraints to LLVM.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47609 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
ef09d2b70a3b6f04c5d31c4c2bab2b7849f22561 05-Feb-2008 Anders Carlsson <andersca@mac.com> Use correct flag value.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46752 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
19009e6fe7e0f51d2e49f4c94928a048c11c5281 09-Jan-2008 Chris Lattner <sabre@nondot.org> implement proper support for _Bool in memory, which is usually i8, not i1.
This fixes a crash reported by Seo Sanghyeon


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45778 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
0bc735ffcfb223c0186419547abaa5c84482663e 29-Dec-2007 Chris Lattner <sabre@nondot.org> Don't attribute in file headers anymore. See llvmdev for the
discussion of this change.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45410 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
9c728dc4d8da89c73fcae74c9e72d7a83ffd7b6d 12-Dec-2007 Ted Kremenek <kremenek@apple.com> TargetInfo no longer includes a reference to SourceManager.

Moved all clients of Diagnostics to use FullSourceLoc instead of SourceLocation.
Added many utility methods to FullSourceLoc to provide shorthand for:

FullLoc.getManager().someMethod(FullLoc.getLocation());

instead we have:

FullLoc.someMethod();

Modified TextDiagnostics (and related classes) to use this short-hand.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44957 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
bbced580c92afa09cd4423a9bdc90ff61cb1e79a 12-Dec-2007 Ted Kremenek <kremenek@apple.com> Moved construction of TargetInfo objects out of the Driver
and into the "Basic" library. TargetInfo objects are now
constructed from triples by calling the static method
TargetInfo::CreateTargetInfo.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44940 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
7a9d49fd2bfac00e905b361ba76d26ab5b6c3b09 11-Dec-2007 Ted Kremenek <kremenek@apple.com> Mega-patch: ripped SourceManager out of Diagnostic/DiagnosticClient. Now
SourceManager is passed by reference, allowing the SourceManager to be
associated with a specific translation unit, and not the entire execution
of the driver.

Modified all users of Diagnostics to comply with this new interface.

Integrated SourceManager as a member variable of TargetInfo. TargetInfo will
eventually be associated with a single translation unit (just like
SourceManager).

Made the SourceManager reference in ASTContext private. Provided accessor
getSourceManager() for clients to use instead. Modified clients to comply with
new interface.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44878 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
44fe49c9ccf29b8e9b66ce1f2375be6ec591c03c 08-Dec-2007 Anders Carlsson <andersca@mac.com> Add getTargetPrefix to TargetInfo, to be used with target specific intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44712 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
ae3607684c5978dc2d877141015056c9d24f17ea 03-Dec-2007 Ted Kremenek <kremenek@apple.com> Implemented initial support for "-triple" option to the clang driver. This
replaces the functionality previously provided by just "-arch" (which is still
supported but has different semantics).

The new behavior is as follows:

(1) If the user does not specify -triple:

(a) If no -arch options are specified, the target triple used is the host
triple (in llvm/Config/config.h).

(b) If one or more -arch's are specified (and no -triple), then there is
one triple for each -arch, where the specified arch is substituted
for the arch in the host triple. Example:
host triple = i686-apple-darwin9
command: clang -arch ppc -arch ppc64 ...
triples used: ppc-apple-darwin9 ppc64-apple-darwin9

(2) The user does specify a -triple (only one allowed):

(a) If no -arch options are specified, the triple specified by -triple
is used. E.g clang -triple i686-apple-darwin9

(b) If one or more -arch options are specified, then the triple specified
by -triple is used as the primary target, and the arch's specified
by -arch are used to create secondary targets. For example:

clang -triple i686-apple-darwin9 -arch ppc -arch ppc64

has the following targets:
i686-apple-darwin9 (primary target)
ppc-apple-darwin9
ppc64-apple-darwin9


Other changes related to the changes to the driver:

- TargetInfoImpl now includes the triple string.

- TargetInfo::getTargetTriple returns the triple for its primary target.

- test case test/Parser/portability.c has been updated because "-arch linux" is
no longer valid ("linux" is an OS, not an arch); instead we use a bogus
architecture "bogusW16W16" where WCharWidth=16 and WCharAlign=16.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44551 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
d04c6e23f2e10eeb9936778d67f4a1c4a14cc4f6 27-Nov-2007 Anders Carlsson <andersca@mac.com> Add more semantic analysis for inline asm statements.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44349 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
6fa9086043b0338d895a4cdb0ec8542530af90d7 25-Nov-2007 Anders Carlsson <andersca@mac.com> Check that the clobber registers are valid.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44311 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
3346ae6bba10da0d08c8d548134ddab4e13d040f 25-Nov-2007 Anders Carlsson <andersca@mac.com> Add tables for GCC register names and aliases. This will be used for inline asm

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44308 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
7a4718e813e5e99d478567a482217c7eef8572c5 31-Oct-2007 Devang Patel <dpatel@apple.com> Take 2.

Make target info available to clang code generator. This is far from complete but this helps clang codegen module make progress.

At the moment target triplet and target description strings are hard coded in clang::TargetInfo


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43572 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
e03cd7b7c8dfcc2615fd6d53fffecd1c07c89fc6 31-Oct-2007 Chris Lattner <sabre@nondot.org> temporarily revert devang's patch to link in the llvm codegen etc.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43544 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
f767e218ee1a900475db90e8a44fff07f3ef3a09 31-Oct-2007 Devang Patel <dpatel@apple.com> Make target info available to clang code generator.
This is far from complete but this helps clang codegen module
make progress.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43536 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
fb5e5ba3c7708f3aef4db0ed30e8470b3ed4206a 13-Oct-2007 Anders Carlsson <andersca@mac.com> Add __builtin_va_list definitions for x86_64 and ppc64.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@42943 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
793680ed8104bf088d1b382b963a8badcb3f07de 13-Oct-2007 Anders Carlsson <andersca@mac.com> Generate code for va_start and va_end.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@42939 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
d19144b244f86227fcc2b0da794929fe83968dd5 10-Oct-2007 Chris Lattner <sabre@nondot.org> resolve a fixme, by moving __builtin_va_list to a more logical
place and making it correctly parameterized on the target.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@42830 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
d15fa82aebca0c26160805497bd88a4e61ebe011 06-Oct-2007 Chris Lattner <sabre@nondot.org> speed up clang startup another 28% by avoiding std::vector<std::string>
for holding builtin target-specific macros.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@42689 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
525a05093a4816af961fe2bc6b8a81c17e2e26c2 22-Sep-2007 Chris Lattner <sabre@nondot.org> Use APFloat for the representation of FP immediates, ask the target
for *which* apfloat to use for a particular type.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@42234 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
1ff4f0cc794561e9a71f984551894be0f8660ead 16-Sep-2007 Hartmut Kaiser <hartmut.kaiser@gmail.com> Updated VC++ build system.
Silenced a couple of VC++ warnings.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41994 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
b8128140956c6f8f0ab143818775a81f4b4aa477 03-Sep-2007 Chris Lattner <sabre@nondot.org> Eliminate some VC++ warnings, patch by Hartmut Kaiser!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41685 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
e00b18cfc3967a0349745055b49d0f3196d28f75 28-Aug-2007 Chris Lattner <sabre@nondot.org> Change EnumDecl to store its corresponding integer type
directly in it. Remove TargetInfo::getEnumPolicy, as there is only
one policy that we support right now.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41548 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
ac60968d4541aa4e80fa71f64c36adfe5aa586e4 28-Aug-2007 Chris Lattner <sabre@nondot.org> compute the required destination type for an enum, emitting various warnings.

TODO: update the types of the constants and the enum.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41532 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
6569ce02671c7b33995e7ff0ee8387020fca2459 27-Aug-2007 Chris Lattner <sabre@nondot.org> Add enum type conversion policies, patch by Keith Bauer


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41495 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
d2d2a11a91d7ddf468bfb70f66362d24806ed601 14-Jul-2007 Chris Lattner <sabre@nondot.org> A significant refactoring of the type size stuff to also
compute type alignment. This info is needed for struct layout.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39850 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
692233e90a99c3a81dd04879d36eb9688f137c44 14-Jul-2007 Chris Lattner <sabre@nondot.org> Use target info to decide the sizes of basic types.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39838 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h
5f016e2cb5d11daeb237544de1c5d59f20fe1a6e 11-Jul-2007 Reid Spencer <rspencer@reidspencer.com> Stage two of getting CFE top correct.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39734 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/TargetInfo.h