Write test case for libstdc++ with C source
Sebastian Huber
sebastian.huber@embedded-brains.de
Mon Jun 9 09:32:00 GMT 2014
On 04/27/2014 03:01 PM, Sebastian Huber wrote:
> Hallo,
>
> I would like to add a test case to the libstdc++ tests to test for
> C/C++ compatibility of the atomic operations. A straight forward
> approach like in the attached patch doesn't work since the
> "dg-additional-sources" is not supported:
>
> ERROR: 29_atomics/atomic/pr60932-c++.cc: unknown dg option:
> dg-additional-sources 3 pr60932-c.c for " dg-additional-sources 3
> "pr60932-c.c" "
> UNRESOLVED: 29_atomics/atomic/pr60932-c++.cc: unknown dg option:
> dg-additional-sources 3 pr60932-c.c for " dg-additional-sources 3
> "pr60932-c.c" "
>
> Since I am not an expert in the GCC test suite scripts, is it possible
> to add such a test case at all with a moderate amount of work?
>
Since this patch
2014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
* testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
I am one step further. The dg-additional-sources is recognized in the
attached test case, but it seems to have no effect:
Executing on host: /home/sh/git-build/b-gcc-devel-linux/./gcc/xg++
-shared-libgcc -B/home/sh/git-build/b-gcc-devel-linux/./gcc -nostdinc++
-L/home/sh/git-build/b-gcc-devel-linux/x86_64-unknown-linux-gnu/libstdc++-v3/src
-L/home/sh/git-build/b-gcc-devel-linux/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs
-L/home/sh/git-build/b-gcc-devel-linux/x86_64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs
-B/scratch/install-gcc-devel/x86_64-unknown-linux-gnu/bin/
-B/scratch/install-gcc-devel/x86_64-unknown-linux-gnu/lib/ -isystem
/scratch/install-gcc-devel/x86_64-unknown-linux-gnu/include -isystem
/scratch/install-gcc-devel/x86_64-unknown-linux-gnu/sys-include
-B/home/sh/git-build/b-gcc-devel-linux/x86_64-unknown-linux-gnu/./libstdc++-v3/src/.libs
-fdiagnostics-color=never -D_GLIBCXX_ASSERT -fmessage-length=0
-ffunction-sections -fdata-sections -g -O2 -DLOCALEDIR="." -nostdinc++
-I/home/sh/git-build/b-gcc-devel-linux/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu
-I/home/sh/git-build/b-gcc-devel-linux/x86_64-unknown-linux-gnu/libstdc++-v3/include
-I/home/sh/archive/gcc-devel/libstdc++-v3/libsupc++
-I/home/sh/archive/gcc-devel/libstdc++-v3/include/backward
-I/home/sh/archive/gcc-devel/libstdc++-v3/testsuite/util
/home/sh/archive/gcc-devel/libstdc++-v3/testsuite/29_atomics/atomic/pr60932-c++.cc
-std=c++11 ./libtestc++.a -Wl,--gc-sections -lm -o
./pr60932-c++.exe (timeout = 600)
spawn /home/sh/git-build/b-gcc-devel-linux/./gcc/xg++ -shared-libgcc
-B/home/sh/git-build/b-gcc-devel-linux/./gcc -nostdinc++
-L/home/sh/git-build/b-gcc-devel-linux/x86_64-unknown-linux-gnu/libstdc++-v3/src
-L/home/sh/git-build/b-gcc-devel-linux/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs
-L/home/sh/git-build/b-gcc-devel-linux/x86_64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs
-B/scratch/install-gcc-devel/x86_64-unknown-linux-gnu/bin/
-B/scratch/install-gcc-devel/x86_64-unknown-linux-gnu/lib/ -isystem
/scratch/install-gcc-devel/x86_64-unknown-linux-gnu/include -isystem
/scratch/install-gcc-devel/x86_64-unknown-linux-gnu/sys-include
-B/home/sh/git-build/b-gcc-devel-linux/x86_64-unknown-linux-gnu/./libstdc++-v3/src/.libs
-fdiagnostics-color=never -D_GLIBCXX_ASSERT -fmessage-length=0
-ffunction-sections -fdata-sections -g -O2 -DLOCALEDIR="." -nostdinc++
-I/home/sh/git-build/b-gcc-devel-linux/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu
-I/home/sh/git-build/b-gcc-devel-linux/x86_64-unknown-linux-gnu/libstdc++-v3/include
-I/home/sh/archive/gcc-devel/libstdc++-v3/libsupc++
-I/home/sh/archive/gcc-devel/libstdc++-v3/include/backward
-I/home/sh/archive/gcc-devel/libstdc++-v3/testsuite/util
/home/sh/archive/gcc-devel/libstdc++-v3/testsuite/29_atomics/atomic/pr60932-c++.cc
-std=c++11 ./libtestc++.a -Wl,--gc-sections -lm -o ./pr60932-c++.exe
/tmp/ccN0vuIk.o: In function `main':
/home/sh/archive/gcc-devel/libstdc++-v3/testsuite/29_atomics/atomic/pr60932-c++.cc:12:
undefined reference to `i'
collect2: error: ld returned 1 exit status
compiler exited with status 1
output is:
/tmp/ccN0vuIk.o: In function `main':
/home/sh/archive/gcc-devel/libstdc++-v3/testsuite/29_atomics/atomic/pr60932-c++.cc:12:
undefined reference to `i'
collect2: error: ld returned 1 exit status
FAIL: 29_atomics/atomic/pr60932-c++.cc (test for excess errors)
Excess errors:
/home/sh/archive/gcc-devel/libstdc++-v3/testsuite/29_atomics/atomic/pr60932-c++.cc:12:
undefined reference to `i'
collect2: error: ld returned 1 exit status
extra_tool_flags are:
-x c -std=c11
compiling and executing as C, not C++
Executing on host: /home/sh/git-build/b-gcc-devel-linux/./gcc/xgcc
-B/home/sh/git-build/b-gcc-devel-linux/./gcc/
-B/scratch/install-gcc-devel/x86_64-unknown-linux-gnu/bin/
-B/scratch/install-gcc-devel/x86_64-unknown-linux-gnu/lib/ -isystem
/scratch/install-gcc-devel/x86_64-unknown-linux-gnu/include -isystem
/scratch/install-gcc-devel/x86_64-unknown-linux-gnu/sys-include
-B/home/sh/git-build/b-gcc-devel-linux/x86_64-unknown-linux-gnu/./libstdc++-v3/src/.libs
-fdiagnostics-color=never -D_GLIBCXX_ASSERT -fmessage-length=0
-ffunction-sections -fdata-sections -g -O2 -DLOCALEDIR="."
-I/home/sh/git-build/b-gcc-devel-linux/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu
-I/home/sh/git-build/b-gcc-devel-linux/x86_64-unknown-linux-gnu/libstdc++-v3/include
-I/home/sh/archive/gcc-devel/libstdc++-v3/libsupc++
-I/home/sh/archive/gcc-devel/libstdc++-v3/include/backward
-I/home/sh/archive/gcc-devel/libstdc++-v3/testsuite/util
-L/home/sh/git-build/b-gcc-devel-linux/x86_64-unknown-linux-gnu/./libstdc++-v3/libsupc++/.libs
-L/home/sh/git-build/b-gcc-devel-linux/x86_64-unknown-linux-gnu/./libstdc++-v3/src/.libs
/home/sh/archive/gcc-devel/libstdc++-v3/testsuite/29_atomics/atomic/pr60932-c.c
-std=c11 -S -o pr60932-c.s (timeout = 600)
spawn /home/sh/git-build/b-gcc-devel-linux/./gcc/xgcc
-B/home/sh/git-build/b-gcc-devel-linux/./gcc/
-B/scratch/install-gcc-devel/x86_64-unknown-linux-gnu/bin/
-B/scratch/install-gcc-devel/x86_64-unknown-linux-gnu/lib/ -isystem
/scratch/install-gcc-devel/x86_64-unknown-linux-gnu/include -isystem
/scratch/install-gcc-devel/x86_64-unknown-linux-gnu/sys-include
-B/home/sh/git-build/b-gcc-devel-linux/x86_64-unknown-linux-gnu/./libstdc++-v3/src/.libs
-fdiagnostics-color=never -D_GLIBCXX_ASSERT -fmessage-length=0
-ffunction-sections -fdata-sections -g -O2 -DLOCALEDIR="."
-I/home/sh/git-build/b-gcc-devel-linux/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu
-I/home/sh/git-build/b-gcc-devel-linux/x86_64-unknown-linux-gnu/libstdc++-v3/include
-I/home/sh/archive/gcc-devel/libstdc++-v3/libsupc++
-I/home/sh/archive/gcc-devel/libstdc++-v3/include/backward
-I/home/sh/archive/gcc-devel/libstdc++-v3/testsuite/util
-L/home/sh/git-build/b-gcc-devel-linux/x86_64-unknown-linux-gnu/./libstdc++-v3/libsupc++/.libs
-L/home/sh/git-build/b-gcc-devel-linux/x86_64-unknown-linux-gnu/./libstdc++-v3/src/.libs
/home/sh/archive/gcc-devel/libstdc++-v3/testsuite/29_atomics/atomic/pr60932-c.c
-std=c11 -S -o pr60932-c.s
PASS: 29_atomics/atomic/pr60932-c.c (test for excess errors)
--
Sebastian Huber, embedded brains GmbH
Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.huber@embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-PR60932-test-case.patch
Type: text/x-patch
Size: 2388 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc/attachments/20140609/c44885d7/attachment.bin>
More information about the Gcc
mailing list