summaryrefslogtreecommitdiffstats
path: root/debian/uncrustify-trinity/uncrustify-trinity-0.78.1/tests/input/cpp/asm_block_pp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'debian/uncrustify-trinity/uncrustify-trinity-0.78.1/tests/input/cpp/asm_block_pp.cpp')
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.78.1/tests/input/cpp/asm_block_pp.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.78.1/tests/input/cpp/asm_block_pp.cpp b/debian/uncrustify-trinity/uncrustify-trinity-0.78.1/tests/input/cpp/asm_block_pp.cpp
new file mode 100644
index 00000000..e6816d9a
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.78.1/tests/input/cpp/asm_block_pp.cpp
@@ -0,0 +1,20 @@
+
+void add128( uint64_t & rlo, uint64_t & rhi, uint64_t addlo ) {
+#if defined(HAVE_X86_64_ASM)
+ __asm__ ("addq %2, %0\n"
+ "adcq $0, %1\n"
+#if defined(__clang__)
+ // clang cannot work properly with "g" and silently
+ // produces hardly-workging code, if "g" is specified;
+ : "+r" (rlo), "+r" (rhi)
+ : "m" (addlo)
+#else
+ : "+g" (rlo), "+g" (rhi)
+ : "g" (addlo)
+#endif
+ );
+#else
+ rlo += addlo;
+ rhi += (rlo < addlo);
+#endif
+}