ldc/tests/codegen
Martin Kinkelin 967947eb84 Emulate @weak functions on Windows and don't emit COMDATs for ELF anymore
Emulation for @weak global variables is still left out but should be
analogous.

The test adaptations are mostly a revert of 3893840f. The testcase has
shown that @weak hasn't worked properly for ELF (linker apparently
prefers the version in the 1st object file, independent of whether it's
weak or not), because the functions are emitted in COMDATs.
clang emits COMDATs for templates and inline functions only, not for
regular functions.
2020-05-16 20:42:57 +02:00
..
inputs Emulate @weak functions on Windows and don't emit COMDATs for ELF anymore 2020-05-16 20:42:57 +02:00
align.d Don't emit init symbol for zero-initialized structs (#3131) 2019-09-12 00:30:09 +02:00
align_class.d Fix alignment of scope-allocated class instances 2018-11-19 21:50:40 +01:00
array_alloc_gh3041.d Propagate well-known length of newly allocated arrays (#3042) 2019-04-06 00:41:59 +02:00
array_catassign_gh2588.d Fix cat-assign-element issue if rhs affects the lhs length (#2589) 2018-02-23 18:51:36 +01:00
array_equals_memcmp.d Adapt lit-tests to LLVM 9 2019-09-25 03:42:19 +02:00
array_equals_memcmp_2.d Implement optimization: compare slices using memcmp if valid (#2047) 2017-03-29 20:00:21 +02:00
array_equals_memcmp_dyn.d Try to use memcmp for (in)equality of non-mutable static arrays and mutable slices (#3401) 2020-04-17 22:09:55 +02:00
array_equals_memcmp_neverinvoke.d Implement optimization: compare slices using memcmp if valid (#2047) 2017-03-29 20:00:21 +02:00
array_equals_null.d Add IR test for optimized array (in)equality with null 2016-06-18 17:42:02 +02:00
array_literal_gh1924.d Fix ABI issue #1925 (#1938) 2016-12-22 18:04:01 +01:00
asm_constraints.d Add support for GCC/GDC-style inline asm syntax 2020-02-15 23:58:13 +01:00
asm_data_directives.d DMD-style asm: Support floating-point data directives too 2020-01-27 03:21:19 +01:00
asm_gcc.d Extend inline asm diagnostics by D source location 2020-02-25 02:31:58 +01:00
asm_labels.d Fix inline asm label naming issue in overloaded functions (#2694) 2018-05-10 21:17:34 +02:00
asm_output.d Try to test asm output in another way for more platform independence (#2634) (#2645) 2018-04-10 22:00:44 +02:00
assign_struct_init_without_stack.d Fixup lit-test codegen/assign_struct_init_without_stack.d 2019-05-24 18:56:13 +02:00
atomicrmw.d Extend llvm_atomic_cmp_xchg by isWeak and separate failure ordering 2019-11-14 23:59:35 +01:00
attr_allocsize.d Raise min LLVM version to 3.9 (#2872) 2018-10-15 22:31:59 +02:00
attr_allocsize_diag.d Revise all LDC-specific errors/warnings/deprecs and insert backticks 2017-08-03 22:53:49 +02:00
attr_assumeused.d Add the ldc.attributes.assumeUsed attribute corresponding to "attribute((used))” in GNU C. (#2457) 2017-12-28 16:29:46 +01:00
attr_fastmath.d Fix trivial test regressions (catch statements without type etc.) 2018-06-20 01:54:37 +02:00
attr_fastmath_x86.d Tests: use -mtriple= instead of without equals sign. 2016-05-27 23:49:56 +02:00
attr_llvmattr.d Add @ldc.attributes.llvmAttr. 2016-04-18 13:50:03 +02:00
attr_llvmFMF.d Fix lit-test tests/codegen/attr_llvmFMF.d 2018-02-24 14:41:20 +01:00
attr_llvmFMF_contract.d Implement @ldc.attributes.llvmFastMathFlag("contract") magic UDA. 2017-04-20 22:55:08 +02:00
attr_naked.d Add @naked UDA 2018-07-27 22:53:55 +02:00
attr_optstrat.d Adapt lit-tests to new FileCheck CHECK-DAG semantics 2018-09-26 17:21:35 +02:00
attr_param.d druntime: Add @restrict parameter UDA 2019-04-03 21:02:14 +02:00
attr_target_x86.d Adapt lit-tests to new mangling scheme 2017-11-05 21:58:12 +01:00
attr_targetoptions.d Use function attribute "frame-pointer" instead of "no-frame-pointer-elim"/"no-frame-pointer-elim-non-leaf" 2019-12-28 09:26:26 -08:00
attr_targetoptions_fp.d Drop support for LLVM < 3.7 2017-07-16 02:18:00 +02:00
attr_weak.d Emulate @weak functions on Windows and don't emit COMDATs for ELF anymore 2020-05-16 20:42:57 +02:00
attr_weak_external.d Test that @weak on declarations does not result in extern_weak linkage. (#2976) 2019-01-27 14:45:04 +01:00
attr_weak_lto.d Fix colliding object files for tests/codegen/attr_weak_lto.d 2020-03-15 22:19:52 +01:00
attributes.d Emulate @weak functions on Windows and don't emit COMDATs for ELF anymore 2020-05-16 20:42:57 +02:00
avr.d AVR: Add predefined version AVR and emit TLS globals as regular ones (#3420) 2020-05-08 22:47:10 +02:00
betterC_typeinfo.d Adapt lit-test tests/codegen/betterC_typeinfo.d 2018-02-24 14:20:28 +01:00
call_args_evalorder.d Fix issue #2450 for lvalues passed with byval attribute 2018-01-14 01:51:56 +01:00
checkaction_halt.d Add proper support for -checkaction=halt (#3431) 2020-05-16 01:17:21 +02:00
cmpxchg.d Extend llvm_atomic_cmp_xchg by isWeak and separate failure ordering 2019-11-14 23:59:35 +01:00
complex_identity_gh2918.d Fix identity comparisons of complex numbers (#2993) 2019-02-04 21:30:05 +01:00
complex_postexpr_gh1806.d Produce correct code for increment/decrement operations on complex types (#1809) 2016-10-05 23:17:32 +02:00
const_cond.d Disable dead code when an if/else if condition is constant (#3134) 2019-11-05 18:33:25 +01:00
const_cond_labels.d Disable dead code when an if/else if condition is constant (#3134) 2019-11-05 18:33:25 +01:00
const_struct.d Adapt lit-tests to new Win32 D mangling 2017-10-07 14:06:17 +02:00
const_struct_export.d Consider pointer literals as constant in isConstLiteral. 2016-11-16 17:57:53 +01:00
cpp_interface.d add testcase for issue 1481 2016-05-14 08:30:04 +02:00
ctor_initarray_gh2883.d Add testcase for ltsmaster PR #2883 (.init_array instead of .ctors for AArch64) (#2896) 2018-11-04 19:46:16 +01:00
dcompute_cl_addrspaces.d Revert "Disable dcompute lit-tests for now" 2019-03-22 21:31:41 +01:00
dcompute_cu_addrspaces.d Revert "Disable dcompute lit-tests for now" 2019-03-22 21:31:41 +01:00
dcompute_host_and_device.d Raise min LLVM version to 3.9 (#2872) 2018-10-15 22:31:59 +02:00
discard_value_names_gh1749.d Raise min LLVM version to 3.9 (#2872) 2018-10-15 22:31:59 +02:00
discard_value_names_ir2obj_cache.d Raise min LLVM version to 3.9 (#2872) 2018-10-15 22:31:59 +02:00
dmd_inline_asm_fp_types.d MSVC: Fix extended ptr semantics in DMD-style inline asm (#2653) 2018-04-15 18:57:53 +02:00
dmd_inline_asm_ip.d DMD-style inline asm: Add missing EIP register 2018-04-15 16:44:49 +01:00
exception_stack_trace.d Support LLVM 9 (trunk) (#2983) 2019-01-25 17:58:26 +01:00
export.d Windows: Map export to DLL storage classes for data too 2017-12-08 19:26:29 +00:00
export_aggregate_symbols.d Don't emit init symbol for zero-initialized structs (#3131) 2019-09-12 00:30:09 +02:00
export_crossModuleInlining.d Drop support for LLVM < 3.7 2017-07-16 02:18:00 +02:00
export_marked_symbols1.d -fvisibility=hidden: Hide init symbols, TypeInfos and vtables too if the associated aggregate isn't exported (#3129) 2019-08-20 01:41:26 +02:00
export_marked_symbols2.d -fvisibility=hidden: Hide init symbols, TypeInfos and vtables too if the associated aggregate isn't exported (#3129) 2019-08-20 01:41:26 +02:00
export_marked_symbols_thin_lto.d -fvisibility=hidden: Hide init symbols, TypeInfos and vtables too if the associated aggregate isn't exported (#3129) 2019-08-20 01:41:26 +02:00
export_naked_gh2648.d MSVC: Support exporting naked functions (#2651) 2018-04-13 20:35:49 +02:00
fence_pragma.d Fix LLVM 5.0 build. 2017-07-14 15:01:26 +02:00
fence_pragma2.d Fix LLVM 5.0 build. 2017-07-14 15:01:26 +02:00
ffastmath.d Implement -ffast-math. 2016-12-14 12:27:45 +01:00
frame_pointer_x86.d Add assembly tests for "frame-pointer" 2020-01-02 15:49:32 -08:00
func_contracts_gh1543.d Fix #1543. 2016-08-03 13:52:03 +02:00
funcliteral_defaultarg_gh1634.d Implement codegen of function literals passed as default argument. 2016-07-24 15:44:51 +02:00
gc2stack.d Fix gc2stack pass 2018-06-18 21:35:46 +03:00
gh1433.d Postpone the evaluation of a SliceExp's base pointer 2017-07-09 14:18:43 +02:00
gh1728.d Fix issue #1728 (nested this in constructors) (#2375) 2017-10-25 00:19:16 +02:00
gh1843.d Don't necessarily enforce file extension of .bc, .ll, .s files 2016-11-09 20:34:22 +01:00
gh1955.d Fix visibility issue in tests/codegen/gh1955.d 2019-04-24 21:59:33 +02:00
gh2131.d Zero-extend Boolean parameters and return values 2017-05-25 04:10:00 +02:00
gh2235.d Don't emit init symbol for zero-initialized structs (#3131) 2019-09-12 00:30:09 +02:00
gh2346.d Cherry-pick upstream fix for DMD issue 17857 (T.alignof) 2017-09-28 17:14:37 +01:00
gh2515.d Don't finalize scope objects without dtors and monitor (#2516) 2018-01-26 18:38:16 +01:00
gh2537.d Account for AST binop quirks (#2540) 2018-01-30 20:31:37 +01:00
gh2729.d Fix issue #2729 - dump static array inline-IR results to memory (#2732) 2018-06-08 15:55:48 +02:00
gh2865.d Fix issue #2865 (#2867) 2018-10-08 21:04:53 +02:00
gh3094.d Fix ICE when returning a void expression (#3095) 2019-07-01 20:35:39 +02:00
gh3208.d Fix equality/identity comparisons of vectors with length >= 32 (#3209) 2019-10-29 22:43:45 +01:00
gh3221.d Fix issue #3221 (@assumeUsed on global union) (#3222) 2019-11-11 20:56:33 +01:00
gh3346.d Revert to strong importedModules ModuleInfo refs (#3347) 2020-03-07 14:58:40 +01:00
hashed_mangling.d Win64: Use LLVM's vector calling convention for extern(D) (#2714) 2018-05-31 01:44:46 +02:00
in_place_construct.d Fix Lit tests for alignment attribute on parameters of memory intrinsics (LLVM 7) (#2684) 2018-05-07 19:55:26 +02:00
in_place_construct_asm.d Use opaque [N x i8*] for vtables 2016-11-21 21:54:53 +01:00
in_place_construct_temporaries.d Posix x86: Pass non-POD arguments indirectly by value, not just for extern(C++) 2019-10-26 16:43:20 +02:00
inbounds.d Make all DtoGEP helpers use implicit inbounds 2019-09-10 22:36:25 +02:00
indirect_byval_rewrite.d Try to elide bitcopy for IndirectByvalRewrite 2018-05-30 21:46:39 +02:00
inferred_outputname.d Lit: stop using %T and use %t-dir instead. (#2277) 2017-08-17 21:38:35 +02:00
inline_ir.d Add __ir to ldc.llvmasm and deprecate ldc.simd.inlineIR. (#2931) 2018-12-14 21:21:07 +01:00
inlineIR_math.d Add __ir to ldc.llvmasm and deprecate ldc.simd.inlineIR. (#2931) 2018-12-14 21:21:07 +01:00
inlining_disablecross.d Drop support for LLVM < 3.7 2017-07-16 02:18:00 +02:00
inlining_imports.d Drop support for LLVM < 3.7 2017-07-16 02:18:00 +02:00
inlining_imports_pragma.d Re-enable cross-module-inlining for pragma(inline, true) 2019-03-06 23:05:52 +01:00
inlining_invariants_gh1678.d Disable cross-module inlining of __invariant. 2016-08-14 00:31:09 +02:00
inlining_leakdefinitions.d Adapt lit-tests to new Win32 D mangling 2017-10-07 14:06:17 +02:00
inlining_leakdefinitions_asm.d Drop support for LLVM < 3.7 2017-07-16 02:18:00 +02:00
inlining_pragma.d Implement same-module pragma(inline, {true|false}). 2016-07-02 17:08:47 +02:00
inlining_staticvar.d Drop support for LLVM < 3.7 2017-07-16 02:18:00 +02:00
inlining_stdlib.d Re-enable cross-module-inlining for pragma(inline, true) 2019-03-06 23:05:52 +01:00
inlining_templates.d Adapt lit-tests to new FileCheck CHECK-DAG semantics 2018-09-26 17:21:35 +02:00
linker_directives_linux.d Embed linker directives in ELF and Mach-O object files (#3259) 2020-01-14 23:12:55 +01:00
linker_directives_mac.d Embed linker directives in ELF and Mach-O object files (#3259) 2020-01-14 23:12:55 +01:00
linker_directives_win.d Embed linker directives in ELF and Mach-O object files (#3259) 2020-01-14 23:12:55 +01:00
llvm_used_1.d Work around Mac issue wrt. discarding llvm.global_{c,d}tors 2018-10-15 22:36:47 +02:00
mangling.d Add new mangling lit-test 2017-10-07 14:06:17 +02:00
mangling_gh1519.d Windows: Move the prepending of 0x1 to C++ mangled functions from frontend to the backend. 2016-05-30 10:18:39 +02:00
mangling_real_real.d Fix C++ mangling of real for MSVC targets (#2974) 2019-01-20 14:50:51 +01:00
nested_gh2960.d Fix context of some nested aggregates (#2969) 2019-01-20 22:18:55 +01:00
nested_lazy_gh2302.d Fix storage of captured lazy parameters (depending on ABI) (#2330) 2017-09-24 19:46:52 +02:00
no_init_symbols_for_zeroinit_structs.d Don't emit init symbol for zero-initialized structs (#3131) 2019-09-12 00:30:09 +02:00
nothrow.d Restrict nothrow invokes to try blocks catching non-Exceptions 2016-08-06 00:10:22 +02:00
output_s_affect_codegen.d Clone module if we are writing both assembly and object (#2847) 2018-09-09 18:47:47 +03:00
pragma_LDC_extern_weak.d Enable pragma(LDC_extern_weak) on function declarations. (#2984) 2019-01-27 14:44:31 +01:00
pragma_no_typeinfo.d Extend pragma(LDC_no_typeinfo) to classes and interfaces 2019-05-04 20:56:03 +02:00
ptr_16_bit.d Add support for MSP430 / 16-bit targets (#2194) 2017-07-14 16:55:09 +02:00
return_statement.d Fix return statements: Don't access memory from destructed temporaries (#3426) 2020-05-09 21:26:26 +02:00
simd_alignment.d Don't emit init symbol for zero-initialized structs (#3131) 2019-09-12 00:30:09 +02:00
simd_unaligned.d SIMD: Fix loadUnaligned for newer LLVM types and add storeUnaligned. 2016-05-28 01:01:48 +02:00
sret_thunk_gh3329.d Fix tail calls in thunks by applying the callee function attributes to the call instruction 2020-02-22 02:30:10 +01:00
static_array_huge.d Adapt lit-tests to new Win32 D mangling 2017-10-07 14:06:17 +02:00
static_array_init.d Fix Lit tests for alignment attribute on parameters of memory intrinsics (LLVM 7) (#2684) 2018-05-07 19:55:26 +02:00
static_typeid_gh1540.d Get rid of special 'typeid(...)' LL types for TypeInfos 2017-10-25 00:38:05 +02:00
switch_ICE_gh1638.d Simplify testcase for issue #1638. 2016-07-29 11:23:01 +02:00
union.d Adapt lit-tests to new mangling scheme 2017-11-05 21:58:12 +01:00
unknown_critical_section_size.d Do not fallback to host for critical section size of unknown targets (#3389) 2020-03-30 21:26:51 +02:00
varargs.d Only non-typesafe variadics need to take LLVM varargs (#2127) 2017-05-22 15:37:05 +08:00
variadic_thunk_gh2613.d Make interface thunks forward variadic args (#2630) 2018-04-10 22:01:55 +02:00
vastart_vaend_gh1744.d Raise min LLVM version to 3.9 (#2872) 2018-10-15 22:31:59 +02:00
vector_abi_x86.d Win64: Use LLVM's vector calling convention for extern(D) (#2714) 2018-05-31 01:44:46 +02:00
vector_init.d Fix casting (static and dynamic) arrays to vectors (#3419) 2020-05-09 21:23:27 +02:00
vector_intrinsics_gh2962.d Support templated LLVM intrinsics with vector arguments (#2971) 2019-01-21 22:22:36 +01:00
vector_ops.d Disallow some vector ops and fix integral vector identity comparisons 2019-05-26 05:11:16 +02:00
wasi.d WebAssembly: Switch from legacy linked-list ModuleInfo registry to __minfo section (#3348) 2020-03-07 22:57:56 +01:00
zerolengtharray_gh1611.d Fix naming in testcase. 2016-07-10 11:00:36 +02:00