| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 328040
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move the logic for determining the `wchar_t` type information into the
driver. Rather than passing the single bit of information of
`-fshort-wchar` indicate to the frontend the desired type of `wchar_t`
through a new `-cc1` option of `-fwchar-type` and indicate the
signedness through `-f{,no-}signed-wchar`. This replicates the current
logic which was spread throughout Basic into the
`RenderCharacterOptions`.
Most of the changes to the tests are to ensure that the frontend uses
the correct type. Add a new test set under `test/Driver/wchar_t.c` to
ensure that we calculate the proper types for the various cases.
llvm-svn: 315126
|
|
|
|
| |
llvm-svn: 255510
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
COFF doesn't have mergeable sections so LLVM/clang's normal tactics for
string deduplication will not have any effect.
To remedy this we place each string inside it's own section and mark
the section as IMAGE_COMDAT_SELECT_ANY. However, we can only do this if the
string has an external name that we can generate from it's contents.
To be compatible with MSVC, we must use their scheme. Otherwise identical
strings in translation units from clang may not be deduplicated with
translation units in MSVC.
This fixes PR18248.
N.B. We will not attempt to do anything with a string literal which is not of
type 'char' or 'wchar_t' because their compiler does not support unicode
string literals as of this date. Further, we avoid doing this if
either -fwritable-strings or -fsanitize=address are present.
This reverts commit r204596.
llvm-svn: 204675
|
|
|
|
| |
llvm-svn: 204596
|
|
|
|
|
|
|
|
|
| |
Use two check-prefix patterns per FileCheck invocation for these tests,
this cleanly removes redundant CHECK directives.
Thanks to Richard Smith for the idea!
llvm-svn: 204587
|
|
|
|
|
|
|
| |
r204562 unwittingly failed tests for some bots. Make those tests work
with both the Itanium and MS ABIs.
llvm-svn: 204566
|
|
|
|
| |
llvm-svn: 148392
|
|
|
|
|
|
|
|
|
|
| |
native representation of integers for the elements. This fixes a bunch of nastiness involving
treating wide strings as a series of bytes.
Patch by Seth Cantrell.
llvm-svn: 143417
|
|
|
|
|
|
|
|
|
| |
After talking with John making this the case for all of these is
the right way to go.
Fixes rdar://9804564 and PR10414
llvm-svn: 138418
|
|
|
|
|
|
| |
memcpy. (Spotted by looking at IR.)
llvm-svn: 132226
|
|
|
|
|
|
|
|
|
| |
static const char foo[] = "foo";
static const char *bar = "bar";
the global created to hold "bar" will have it, but foo will not.
llvm-svn: 123192
|
|
|
|
| |
llvm-svn: 116129
|
|
llvm-svn: 115743
|