Commit Graph

1288 Commits

Author SHA1 Message Date
Alexey Bataev 186b28a8cf [OPENMP] Added option -fopenmp=libiomp5|libgomp
llvm-svn: 203081
2014-03-06 05:43:53 +00:00
Benjamin Kramer 9299637dc0 Pass llvm::Triple objects by const reference.
Copying isn't cheap as it contains a std::string.

llvm-svn: 202880
2014-03-04 19:31:42 +00:00
Argyrios Kyrtzidis 1594c15500 Introduce '-fmodules-user-build-path' which accepts the "canonical" path to a user workspace build.
This is used to avoid conflicts with user modules with the same name from different workspaces.

rdar://16042513

llvm-svn: 202683
2014-03-03 08:12:05 +00:00
Rafael Espindola cc126271f8 Add support for OpenBSD SPARC assembler.
Patch by Brad Smith.

llvm-svn: 202462
2014-02-28 01:55:21 +00:00
Roman Divacky 9f77940fdc Pass the sparc architecture variant to the assembler.
llvm-svn: 202179
2014-02-25 18:45:49 +00:00
Hans Wennborg 7b0dcef072 clang-cl: use -fno-rtti by default
Generating RTTI in the MS ABI is currently not supported, and the failures
are confusing to users, so let's disable it by default for now.

llvm-svn: 202178
2014-02-25 18:36:22 +00:00
Roman Divacky b1ae3d4937 Give sparcv9 the ability to set the target cpu. Change it from accepting
-march which doesnt exist on sparc gcc to -mcpu. While here adjust a
few tests to not write an unused temporary file.

llvm-svn: 202177
2014-02-25 18:35:30 +00:00
Christian Pirker 9b019ae899 Add AArch64 big endian Target (aarch64_be)
llvm-svn: 202151
2014-02-25 13:51:00 +00:00
Alexey Samsonov e65ceb9f16 Respect ToolChain::isPIEDefault() in constructing link job on Linux and FreeBSD.
Partially based on http://llvm-reviews.chandlerc.com/D2644 by Viktor Kutuzov.

llvm-svn: 202150
2014-02-25 13:26:03 +00:00
Alexey Samsonov ce8ab107ac Factor adding sanitizer linker flags into a separate function and make it less OS-specific
llvm-svn: 202148
2014-02-25 12:43:43 +00:00
Richard Barton c9b5f35ec1 Implement -fno-short-wchar
llvm-svn: 202058
2014-02-24 18:43:28 +00:00
Saleem Abdulrasool cfeb90d7a8 clang: add -f{no-,}integrate-as as consistent parameters
The integrated assembler is a feature.  This makes the new flags the default
option, and the previous versions aliases.  Ideally, at some point the aliases
would be entirely removed.

llvm-svn: 201963
2014-02-23 00:40:30 +00:00
Saleem Abdulrasool 42e4b5997a clang: forward -no-integrated-as from the driver
Forward the -no-integrated-as option to -cc1 rather than simply invoking the
appropriate tool.  This is useful since this option has been overloaded to
permit disabling of parsing inline assembly at the MC layer.

This re-applies the previous version of the patch with a renaming of the driver
option to the public name rather than the internal name (-target vs -triple).
The actual failure is fixed separately of an overly aggressive negative pattern
match in the MIPS driver tests.  It also fixes the incorrect test for targets
that have the integrated assembler disabled by default.

llvm-svn: 201960
2014-02-22 23:37:58 +00:00
Saleem Abdulrasool 59106827c4 Revert "clang: forward -no-integrated-as from the driver"
This seems to break a MIPS test.  Revert until I figure out the root cause.

llvm-svn: 201954
2014-02-22 22:24:00 +00:00
Saleem Abdulrasool 87a7fda237 clang: forward -no-integrated-as from the driver
Forward the -no-integrated-as option to -cc1 rather than simply invoking the
appropriate tool.  This is useful since this option has been overloaded to
permit disabling of parsing inline assembly at the MC layer.

llvm-svn: 201952
2014-02-22 21:50:09 +00:00
Joerg Sonnenberger 695fdb3bc2 Default to ARMv5e for NetBSD/EABI, ARMv4 for APCS.
llvm-svn: 201894
2014-02-21 21:53:33 +00:00
Oliver Stannard 96601cad2f Add support for FPv4-SP to the clang driver
Added two new options for -mfpu when targetting ARM:
* fpv4-sp-d16
* fp4-sp-d16

The first is the same spelling as gcc.

The lack of a leading `v' is correct, this is consistent with ARM's
documentation and gcc's spelling of the option.

llvm-svn: 201846
2014-02-21 10:39:15 +00:00
Alexey Samsonov 7811d19515 Get rid of obsolete addProfileRT(), generalize the relevant addProfileRTLinux() to all OS
llvm-svn: 201789
2014-02-20 13:57:37 +00:00
Joerg Sonnenberger ed3f0693cb Hook up NetBSD/sparc and NetBSD/sparc64 as and ld invocations.
llvm-svn: 201730
2014-02-19 22:40:18 +00:00
Joerg Sonnenberger bcee91805e GC now unused variable.
llvm-svn: 201728
2014-02-19 22:17:01 +00:00
Joerg Sonnenberger 25e1817787 Use a switch for the architecture specific logic in
netbsd::Assemble::ConstructJob.

llvm-svn: 201725
2014-02-19 22:16:19 +00:00
Reid Kleckner c688dafe31 clang-cl: Pass /Z7 when we fallback to cl with debug info enabled
Clang itself only emits CodeView line tables, so it seems more
consistent to ask cl.exe for the same format.

llvm-svn: 201721
2014-02-19 22:05:59 +00:00
Joerg Sonnenberger c151b024dc Refactor -KPIC handling for as invocation.
llvm-svn: 201719
2014-02-19 21:58:52 +00:00
Renato Golin f4421f7e28 Add FreeBSD ARM EABI hard-float support
Patch by Andrew Turner.

llvm-svn: 201662
2014-02-19 10:44:07 +00:00
Adrian Prantl 549c514799 Revert "Debug info: Make DWARF4 the default for Darwin, too."
I'm holding this change to give maintainers of Darwin buildbots more time
to update their toolchains.

This reverts commit r201375.

llvm-svn: 201520
2014-02-17 17:40:52 +00:00
Evgeniy Stepanov 7429c5941b Enable generation of unwind tables when building with sanitizers.
llvm-svn: 201391
2014-02-14 08:56:25 +00:00
Jiangning Liu b19c5b652e Enable AArch64 NEON by default.
llvm-svn: 201384
2014-02-14 04:37:46 +00:00
Eric Christopher 0d403d22b0 Add a command line option -gdwarf-aranges that will turn on emitting
the dwarf .debug_aranges section.

llvm-svn: 201379
2014-02-14 01:27:03 +00:00
Adrian Prantl 27edf47bc0 Debug info: Make DWARF4 the default for Darwin, too.
llvm-svn: 201375
2014-02-14 00:29:33 +00:00
Robert Lytton 9e8c1a4b57 XCore target pass -v flag to assembler & linker
llvm-svn: 201312
2014-02-13 10:40:12 +00:00
Robert Lytton 694f884f35 add comment explaining previous commit
see 'XCore target -fexceptions flag handling'

llvm-svn: 201311
2014-02-13 10:38:56 +00:00
Robert Lytton f7e03c1cff XCore target -fexceptions flag handling
XCore target has -fno-exception as the default option
Pass on "-fexceptions" flag to xcc (linker)

llvm-svn: 201310
2014-02-13 10:34:44 +00:00
Renato Golin 03d671c733 Remove spurious default case to silent sanitizer
llvm-svn: 201309
2014-02-13 10:26:33 +00:00
Renato Golin c4b4924a13 Add EXPERIMENTAL --rtlib=compiler-rt to GNU Clang
This commit is not strictly correct nor accounts for all uses (shared
objects, for example), but it allows one to test the compiler-rt library
on GNU targets.

Using this patch to run the test-suite has already shown me problems
on ARM. Since this is a Darwin-only flag, nobody is using it, so it
shouldn't be a problem.

I will need extension to deal with the shared cases, but since we're
not compiling libclang_rt.so, that's not yet applicable. Many other
problems will have to be fixed first in compiler-rt (such as removing
the 'arch' name from it and making it trully multi-arch, moving it to
the default lib directory, make both .a and .so variants, etc).

llvm-svn: 201307
2014-02-13 10:01:16 +00:00
Reid Kleckner c0dca6ded7 MS ABI: Implement #pragma vtordisp() and clang-cl /vdN
These features are new in VS 2013 and are necessary in order to layout
std::ostream correctly.  Currently we have an ABI incompatibility when
self-hosting with the 2013 stdlib in our convertible_fwd_ostream wrapper
in gtest.

This change adds another implicit attribute, MSVtorDispAttr, because
implicit attributes are currently the best way to make sure the
information stays on class templates through instantiation.

Reviewers: majnemer

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

llvm-svn: 201274
2014-02-12 23:50:26 +00:00
Dmitri Gribenko f430da4de6 Add an option to allow Clang verify source files for a module only once during
the build

When Clang loads the module, it verifies the user source files that the module
was built from.  If any file was changed, the module is rebuilt.  There are two
problems with this:
1. correctness: we don't verify system files (there are too many of them, and
   stat'ing all of them would take a lot of time);
2. performance: the same module file is verified again and again during a
   single build.

This change allows the build system to optimize source file verification.  The
idea is based on the fact that while the project is being built, the source
files don't change.  This allows us to verify the module only once during a
single build session.  The build system passes a flag,
-fbuild-session-timestamp=, to inform Clang of the time when the build started.
The build system also requests to enable this feature by passing
-fmodules-validate-once-per-build-session.  If these flags are not passed, the
behavior is not changed.  When Clang verifies the module the first time, it
writes out a timestamp file.  Then, when Clang loads the module the second
time, it finds a timestamp file, so it can compare the verification timestamp
of the module with the time when the build started.  If the verification
timestamp is too old, the module is verified again, and the timestamp file is
updated.

llvm-svn: 201224
2014-02-12 10:33:14 +00:00
Amara Emerson ecbe18e01d [ARM] Fix NEON wrongly being enabled with soft-float when targeting armv8/Cortex-A53/A57.
This was caused by r200708 which enabled the crypto feature for these cores.

llvm-svn: 201223
2014-02-12 10:22:35 +00:00
Jonathan Roelofs 2cea1bea87 Add Multilib selection machinery
This patch improves the support for picking Multilibs from gcc installations.
It also provides a better approximation for the flags '-print-multi-directory'
and '-print-multi-lib'.

This reverts r201203 (i.e. re-applying r201202 with small fixes in
unittests/CMakeLists.txtto make the build bots happy).

review: http://llvm-reviews.chandlerc.com/D2538
llvm-svn: 201205
2014-02-12 03:21:20 +00:00
Jonathan Roelofs 3fa96d8378 Revert 201202
Breaks cmake configure of new unit tests directory

llvm-svn: 201203
2014-02-12 01:36:51 +00:00
Jonathan Roelofs 0e7ec60b74 Add Multilib selection machinery
This patch improves the support for picking Multilibs from gcc installations.
It also provides a better approximation for the flags '-print-multi-directory'
and '-print-multi-lib'.

review: http://llvm-reviews.chandlerc.com/D2538
llvm-svn: 201202
2014-02-12 01:29:25 +00:00
David Majnemer 86c318f496 MS ABI: Add support for the -vm{b,g,s,m,v} flags
These flags control the inheritance model initially used by the
translation unit.

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

llvm-svn: 201175
2014-02-11 21:05:00 +00:00
Robert Lytton 8e95d4e075 XCore target: Pass through "-fverbose-asm" flag to xcc assembler.
llvm-svn: 201141
2014-02-11 10:34:45 +00:00
Josh Magee e0fc1a80cb [stackprotector] Add command line option -fstack-protector-strong
This option has the following effects:
 * It adds the sspstrong IR attribute to each function within the CU.
 * It defines the macro __SSP_STRONG__ with the value of 2.

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

llvm-svn: 201120
2014-02-11 01:35:14 +00:00
Argyrios Kyrtzidis 25f2afdee0 Revert r194097: "With this patch -Wwrite-strings is still implemented with the terrible
hack of passing -fconst-strings to -cc1"

Passing or not a language option based on diagnostic settings is a bad idea, it breaks
using a PCH that was compiled with different diagnostic settings.

Also add a test case to make sure we don't regress.

llvm-svn: 200964
2014-02-07 08:33:28 +00:00
Joerg Sonnenberger 83a33c0cd7 Use correct ld emulation for EABI hardware float triple on NetBSD.
llvm-svn: 200946
2014-02-06 21:04:32 +00:00
Ben Langmuir 9b9a8d330c Move -verify-pch to use VerifyJobAction
Use the verify hook rather than the compile hook to represent the
-verify-pch action, and move the exising --verify-debug-info action
into its own subclass of VerifyJobAction.  Incidentally change the name
printed by -ccc-print-phases for --verify-debug-info.

llvm-svn: 200938
2014-02-06 18:53:25 +00:00
Ben Langmuir 2cb4a78f93 Add a CC1 option -verify-pch
This option will:
- load the given pch file
- verify it is not out of date by stat'ing dependencies, and
- return 0 on success and non-zero on error

llvm-svn: 200884
2014-02-05 22:21:15 +00:00
Evgeniy Stepanov 9e7cb33b17 Fix handling of -fno-function-sections, -fno-data-sections in clang driver.
llvm-svn: 200685
2014-02-03 11:11:37 +00:00
Joerg Sonnenberger e7f9759fd9 Handle O32/N64 ABIs for NetBSD/MIPS64. From Matt Thomas.
llvm-svn: 200668
2014-02-02 22:59:16 +00:00
Joerg Sonnenberger 6cd7deb9fe Use a switch for the emulation handling.
llvm-svn: 200666
2014-02-02 22:50:34 +00:00